| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue" |
| | | import {useRouter} from "vue-router" |
| | | import {computed, reactive, ref} from "vue" |
| | | import request from "@/utils/request" |
| | | import deepClone from "@/utils/deepClone" |
| | | import {ElMessage} from "element-plus" |
| | | import {Edit, VXETable} from "vxe-table" |
| | | import useUserInfoStore from '@/stores/userInfo' |
| | | import footSum from "@/hook/footSum" |
| | | import OrderDetail from "@/components/sd/order/OrderDetail.vue" |
| | | import OrderCraftDetail from "@/components/sd/order/OrderCraftDetail.vue" |
| | | import OrderProcess from "@/components/sd/order/OrderProcess.vue" |
| | | import PrintSheet1 from "@/components/sd/order/PrintSheet1.vue" |
| | | import PrintSheet2 from "@/components/sd/order/PrintSheet2.vue" |
| | | import {useI18n} from "vue-i18n" |
| | | import {Download, Printer} from "@element-plus/icons-vue/global" |
| | | import { saveAs } from "file-saver" |
| | | import {Check, Search} from "@element-plus/icons-vue" |
| | | import {useRouter} from "vue-router" |
| | | import {computed, onMounted, reactive, ref} from "vue" |
| | | import request from "@/utils/request" |
| | | import deepClone from "@/utils/deepClone" |
| | | import {ElMessage} from "element-plus" |
| | | import {Edit, VXETable} from "vxe-table" |
| | | import useUserInfoStore from '@/stores/userInfo' |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | | import footSum from "@/hook/footSum" |
| | | import OrderDetail from "@/components/sd/order/OrderDetail.vue" |
| | | import OrderCraftDetail from "@/components/sd/order/OrderCraftDetail.vue" |
| | | import OrderProcess from "@/components/sd/order/OrderProcess.vue" |
| | | import PrintSheet1 from "@/components/sd/order/PrintSheet1.vue" |
| | | import PrintSheet2 from "@/components/sd/order/PrintSheet2.vue" |
| | | import {useI18n} from "vue-i18n" |
| | | import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global" |
| | | import { saveAs } from "file-saver" |
| | | const { t } = useI18n() |
| | | const userStore = useUserInfoStore() |
| | | const company = companyInfo() |
| | | const tabsValue=ref('1') |
| | | const router = useRouter() |
| | | let rowClickIndex = ref(null) |
| | | let reviewDisabled = ref(true) |
| | | const dialogTableVisible = ref(false) |
| | | let sheetIndex = ref(-1) |
| | | let orderType = ref("2") |
| | |
| | | } |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=1 |
| | | if(rowClickIndex.value.processReview===2 && rowClickIndex.value.orderReview===0){ |
| | | reviewDisabled.value=false |
| | | } |
| | | break |
| | | } |
| | | case 'sheet2': { |
| | |
| | | } |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=2 |
| | | break |
| | | } |
| | | case 'sheet3': { |
| | | if(rowClickIndex.value===null){ |
| | | ElMessage.warning(t('searchOrder.msgList.checkOrder')) |
| | | return |
| | | if(rowClickIndex.value.processReview===2 && rowClickIndex.value.orderReview===0){ |
| | | reviewDisabled.value=false |
| | | } |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=3 |
| | | break |
| | | } |
| | | |
| | | case 'copy': { |
| | | if(rowClickIndex.value===null){ |
| | | ElMessage.warning(t('searchOrder.msgList.checkOrder')) |
| | |
| | | } |
| | | } |
| | | |
| | | //加载请求 |
| | | request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | | selectDate.value = res.data.selectDate |
| | | orderList.value = deepClone(res.data.data) |
| | | xGrid.value.loadData(orderList.value) |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | const getOrderList = () => { |
| | | //加载请求 |
| | | request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | | selectDate.value = res.data.selectDate |
| | | orderList.value = deepClone(res.data.data) |
| | | xGrid.value.loadData(orderList.value) |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | } |
| | | onMounted(() => { |
| | | getOrderList() |
| | | }) |
| | | |
| | | const changeFilterEvent = (event, option, $panel) => { |
| | |
| | | const html = document.getElementById("child").innerHTML // 获取需要导出的HTML内容 |
| | | const blob = new Blob([html], { type: 'application/vnd.ms-excel' }) // 创建Blob对象 |
| | | saveAs(blob, rowClickIndex.value.orderId+".xlsx"); |
| | | } |
| | | |
| | | |
| | | const reviewOrder = ()=>{ |
| | | reviewDisabled.value=true |
| | | request.post(`/order/reviewOrderById/${rowClickIndex.value.orderId}/${2}/${userStore.user.userId}/${userStore.user.userName}`).then(res =>{ |
| | | if(res.code==200){ |
| | | ElMessage.success(t('basicData.msg.ReviewSuccess') ) |
| | | selectOrderList() |
| | | }else{ |
| | | ElMessage.error(res.msg) |
| | | reviewDisabled.value=false |
| | | } |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContent" :icon="Printer" circle /> |
| | | <el-button @click="exportFile" :icon="Download" circle /> |
| | | <el-button v-if="company.selectOrderReviewShow" :disabled="reviewDisabled" @click="reviewOrder" :icon="CircleCheck" type="primary">{{$t('basicData.review')}}</el-button> |
| | | </template> |
| | | |
| | | <print-sheet1 id="child" v-if="sheetIndex===1" :orderId="rowClickIndex.orderId" /> |