| | |
| | | import {Printer} from "@element-plus/icons-vue/global"; |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | | import {remove} from "xe-utils"; |
| | | import PrintProcess from "@/components/pp/PrintProcess.vue"; |
| | | import PrintProcessStraight from "@/components/pp/PrintProcessStraight.vue"; |
| | | import useOrderInfoStore from "@/stores/sd/order/orderInfo" |
| | | |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | | |
| | | let router = useRouter() |
| | | const dialogTableVisible = ref(false) |
| | | const dialogTableVisibleLabelXJTwo = ref(false) |
| | | const dialogTableVisibleStraight = ref(false) |
| | | let rowClickIndex = ref(null) |
| | | |
| | | const orderInfo = useOrderInfoStore() |
| | | |
| | | |
| | | //定义数据返回结果 |
| | | let produceList = ref([]) |
| | | let titleStyleVisible = ref(false) |
| | | let print = ref("1") |
| | | let printStyle = ref("1") |
| | | |
| | | //标签 |
| | | let labelRow = ref({ |
| | |
| | | const company = companyInfo() |
| | | let hidePrintLabels = company.printLabel.hideButton; |
| | | |
| | | //倒叙 |
| | | let flashback = ref(1) |
| | | //落架顺序 |
| | | let landingSequence= ref(1) |
| | | //合架打印 |
| | | let compound = ref(null) |
| | | |
| | | const form = reactive({ |
| | | date1: '', |
| | | orderId: '', |
| | | project: '' |
| | | }) |
| | | |
| | | //打印 |
| | | let printRow = ref({ |
| | | list: null, |
| | | printMergeVal: null, |
| | | like: null, |
| | | project:null, |
| | | merge: null, |
| | | flashback:null, |
| | | compound:null, |
| | | landingSequence:null, |
| | | }) |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | if(parseInt(print.value)==1){ |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1 }}) |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1,printStyle:parseInt(printStyle.value) }}) |
| | | }else{ |
| | | router.push({path: '/main/processCard/PrintCustomLabelSemi2', query: { projectNo: row.project_no,type:1 }}) |
| | | } |
| | |
| | | break |
| | | } |
| | | case 'edit1' :{ |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:2 }}) |
| | | if(parseInt(print.value)==1){ |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:2,printStyle:parseInt(printStyle.value) }}) |
| | | }else{ |
| | | router.push({path: '/main/processCard/PrintCustomLabelSemi2', query: { projectNo: row.project_no,type:2 }}) |
| | | } |
| | | break |
| | | } |
| | | case 'edit2' :{ |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:3 }}) |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:3,printStyle:parseInt(printStyle.value) }}) |
| | | break |
| | | } |
| | | case 'edit3' :{ |
| | | printRow.value.project=row.project_no |
| | | printRow.value.merge = company.flowCardMerge |
| | | printRow.value.flashback = flashback.value |
| | | printRow.value.compound = compound.value |
| | | printRow.value.landingSequence=landingSequence.value |
| | | if(company.companyName=='常州市吉利玻璃有限公司'){ |
| | | dialogTableVisibleStraight.value = true |
| | | }else{ |
| | | dialogTableVisible.value = true |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | //第一次加载获取近七天时间和默认状态 |
| | | form.date1 = getNowTime() |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | if (orderInfo.workOrderDate[0]=="" && orderInfo.workOrderDate[1]==""){ |
| | | orderInfo.workOrderDate=getNowTime() |
| | | } |
| | | let startTime = orderInfo.workOrderDate[0] |
| | | let endTime = orderInfo.workOrderDate[1] |
| | | let orderId=form.orderId |
| | | let project=form.project |
| | | |
| | | //第一次加载数据 |
| | | |
| | | request.post(`/processCard/selectPrintPrintProject/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | request.post(`/processCard/selectPrintPrintProject/${orderInfo.workOrderDate}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | if(hidePrintLabels=="true"){ |
| | | //删除下拉框 |
| | | remove(gridOptions.toolbarConfig.slots) |
| | | //remove(gridOptions.toolbarConfig.slots) |
| | | const button = {'code': 'printLabel', |
| | | status: 'primary', |
| | | 'name': t('processCard.finishedProductPrinting2')} |
| | |
| | | gridOptions.toolbarConfig.buttons.push(button2) |
| | | |
| | | } |
| | | orderInfo.workOrderDate = res.data.selectDate |
| | | produceList.value = deepClone(res.data.data) |
| | | xGrid.value.reloadData(produceList.value) |
| | | gridOptions.loading = false |
| | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | |
| | | request.post(`/processCard/selectPrintPrintProject/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | request.post(`/processCard/selectPrintPrintProject/${orderInfo.workOrderDate}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | orderInfo.workOrderDate = res.data.selectDate |
| | | xGrid.value.loadData(res.data.data) |
| | | gridOptions.loading = false |
| | | } else { |
| | |
| | | //表头参数 |
| | | columns: [ |
| | | {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | {title: t('basicData.operate'), width: 140, slots: { default: 'button_slot' },fixed:"left"}, |
| | | {title: t('basicData.operate'), width: 240, slots: { default: 'button_slot' },fixed:"left"}, |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | { |
| | | field: 'project_no', |
| | | title: t('ingredientsStock.projectNo'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | // { |
| | | // field: 'order_id', |
| | | // title: t('order.orderId'), |
| | | // filters: [{data: ''}], |
| | | // slots: {filter: 'num1_filter'}, |
| | | // filterMethod: filterChanged |
| | | // }, |
| | | { |
| | | field: 'glass_thickness', |
| | | title: t('order.totalThickness'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'glass_type', |
| | | title: t('ingredients.films'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'labelPrintNum', |
| | | title: t('processCard.numberLabelPrintingOperations') |
| | | }, |
| | | { |
| | | field: 'processPrintNum', |
| | | title: t('processCard.numberTimesProcessCardPrinted') |
| | | }, |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | ], |
| | | slots:{ |
| | | buttons: "toolbar_buttons" |
| | | buttons: "toolbar_buttons", |
| | | }, |
| | | zoom: true, |
| | | custom: true |
| | |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | const List = ["quantity",'area',] |
| | | const List = ["glass_total","glass_total_area","labelPrintNum",'processPrintNum',] |
| | | if (List.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | |
| | | } |
| | | }) |
| | | } |
| | | const printContent = ref({ |
| | | id: 'child', |
| | | |
| | | }) |
| | | const printCount = ()=>{ |
| | | request.post(`/processCard/updateProjectProcessPrintCount/${printRow.value.project}`).then((res) => { |
| | | if(res.code==='200'){ |
| | | ElMessage.info(t('order.printingNumber')+':'+res.data) |
| | | getWorkOrder() |
| | | } |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div style="width: 100%;height: 100%"> |
| | | <div class="head"> |
| | | <el-date-picker |
| | | v-model="form.date1" |
| | | v-model="orderInfo.workOrderDate" |
| | | :start-placeholder="$t('basicData.startDate')" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | format="YYYY/MM/DD" |
| | |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button> |
| | | <el-button @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button> |
| | | <el-button @click="getTableRow(row,'edit2')" link type="primary" size="small">{{$t('components.finishedProduct')}}</el-button> |
| | | <el-button @click="getTableRow(row,'edit3')" link type="primary" size="small">{{$t('流程卡')}}</el-button> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | |
| | | </div> |
| | | </template> |
| | | |
| | | <template #toolbar_buttons> |
| | | <template #toolbar_buttons="{ $grid }"> |
| | | <vxe-select @change="changeOrderType" v-model="printStyle" > |
| | | <vxe-option value="1" :label="t('processCard.print1')"></vxe-option> |
| | | <vxe-option value="2" :label="t('processCard.print2')"></vxe-option> |
| | | </vxe-select> |
| | | |
| | | <!-- <el-button |
| | | v-if="hidePrintLabels=='true'" |
| | | type="primary" |
| | | @click="$grid.dispatchEvent('toolbar-button-click', { code: 'printLabel' })" |
| | | > |
| | | {{ t('processCard.finishedProductPrinting2') }} |
| | | </el-button>--> |
| | | |
| | | <el-button |
| | | v-if="hidePrintLabels=='true'" |
| | | type="primary" |
| | | @click="$grid.dispatchEvent('toolbar-button-click', { code: 'detailPrinting' })" |
| | | > |
| | | {{ t('processCard.detailPrinting') }} |
| | | </el-button> |
| | | </template> |
| | | |
| | | <template #toolbar_button2> |
| | | <vxe-select @change="changeOrderType" v-model="print" > |
| | | <vxe-option value="1" label="EPSON LQ-82KF ESC/P2"></vxe-option> |
| | | <vxe-option value="2" label="TSC TTP-244Pro"></vxe-option> |
| | | </vxe-select> |
| | | </template> |
| | | |
| | | |
| | | |
| | | |
| | |
| | | destroy-on-close |
| | | style="width: 80%;height:75%;overflow: auto "> |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContentLabel" :icon="Printer" circle/> |
| | | <el-button |
| | | v-print="printContentLabel" |
| | | :icon="Printer" circle/> |
| | | </template> |
| | | <print-custom-label-x-j-two id="childLabel" |
| | | :faceOrientation="labelRow.faceOrientation" |
| | |
| | | :dataType="labelRow.dataType" |
| | | :projectNo="labelRow.projectNo" |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | id="sizePrintCalrd" |
| | | v-model="dialogTableVisible" |
| | | :title="$t('processCard.print')" |
| | | destroy-on-close |
| | | style="width: 75%;height:75% "> |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button |
| | | v-print="printContent" |
| | | @click="printCount" |
| | | :icon="Printer" circle /> |
| | | </template> |
| | | <print-process |
| | | id="child" |
| | | :printLike="printRow.like" |
| | | :printList="printRow.list" |
| | | :printMerge="printRow.printMergeVal" |
| | | :printProject="printRow.project" |
| | | :merges="printRow.merge" |
| | | :flashback = "printRow.flashback" |
| | | :compound = "printRow.compound" |
| | | :landingSequence = "printRow.landingSequence" |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | id="sizePrintCalrd" |
| | | v-model="dialogTableVisibleStraight" |
| | | :title="$t('processCard.print')" |
| | | destroy-on-close |
| | | style="width: 75%;height:75% "> |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContent" :icon="Printer" circle @click="printNumber"/> |
| | | </template> |
| | | <print-process-straight |
| | | id="child" |
| | | :printLike="printRow.like" |
| | | :printList="printRow.list" |
| | | :printMerge="printRow.printMergeVal" |
| | | :printProject="printRow.project" |
| | | :merges="printRow.merge" |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | width: 100%; |
| | | } |
| | | |
| | | :deep(#sizePrintCalrd .el-dialog__body) { |
| | | height: 85%; |
| | | width: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | |
| | | </style> |