From 73be6b08f5a94e71550fe788c5d74705daa91be0 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期五, 22 三月 2024 16:48:07 +0800 Subject: [PATCH] 订单首页右键查询流程卡进度 --- north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue | 127 +++++++++++++++++++++++------------------- 1 files changed, 69 insertions(+), 58 deletions(-) diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue index cb03764..dd7d1f9 100644 --- a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue +++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue @@ -1,40 +1,28 @@ <script setup> import request from "@/utils/request" -import deepClone from "@/utils/deepClone" import {ElDatePicker, ElMessage} from "element-plus" -import useProductGlassTypeStore from "@/stores/sd/product/productGlassType" import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue" import {Search} from "@element-plus/icons-vue" -import GlassType from "@/components/sd/product/GlassType.vue" import {useRouter} from 'vue-router' -import Sortable from 'sortablejs' -import BasicTable from '@/components/basic/BasicTable.vue' -import {VXETable} from "vxe-table"; -import useUserInfoStore from "@/stores/userInfo"; import {changeFilterEvent, filterChanged} from "@/hook" -import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove"; + import { useI18n } from 'vue-i18n' //璇█鑾峰彇 const { t } = useI18n() let router=useRouter() -const getTableRow = (row,type) =>{ - switch (type) { - case 'edit' :{ - //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅') - router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }}) - break - } - case 'delete':{ - alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅') - break - } - case 'setType':{ - alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��') - break - } + +let props = defineProps({ + orderId:null +}) +onMounted(()=>{ + if(props.orderId===null || props.orderId===undefined || props.orderId===''){ + return } -} + form.orderId = props.orderId + getWorkOrder() +}) + //琛ㄥ熬姹傚拰 const sumNum = (list, field) => { @@ -66,24 +54,57 @@ computeGrossArea: '', processingNote: '', } - }) - - +const columns = [ + {type:'expand',fixed:"left",slots: { content:'content' },width: 50}, + {field: 'product_name', width: 150, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, + {field: 'glass_child',width: 130, title: '鍗曠墖鍚嶇О' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, + {field: 'order_type', width: 120,title: '璁㈠崟绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, + {field: 'process_id',width: 110, title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, + {field: 'technology_number', width: 90,title: '鏍囪',showOverflow:"ellipsis"}, + {field: 'quantity', width: 90,title: '鏁伴噺'}, + {field: 'broken_num',width: 90, title: '娆$牬鏁伴噺'}, + {field: 'inventoryArea',width: 120, title: '鍏ュ簱闈㈢Н'}, +] +//闇�瑕佸悎骞剁殑鍒� +let column = [1,3,8] //鐐瑰嚮鏌ヨ const getWorkOrder = () => { - let inputVal = form.orderId - - request.post(`/processCard/flowCard/${inputVal}`, filterData.value).then((res) => { + request.post(`/report/processCardProgress/${form.orderId}`,column).then((res) => { if (res.code == 200) { - - pageTotal.value = res.data.total + if(res.data.data.length===0){ + ElMessage.warning('鏈煡璇㈠埌姝よ鍗曟祦绋嬪崱鏁版嵁') + return + } + gridOptions.columns = JSON.parse(JSON.stringify(columns)) + res.data.title.forEach(item =>{ + let column = {slots: { default: 'quantitySum' }, width: 90,title: item.process} + gridOptions.columns.push(column) + }) + res.data.data.forEach(item => { + item.reportWorkQuantity=JSON.parse(item.reportWorkQuantity) + item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount) + }) + mergeCells.value = res.data.mergeCells + console.log(res.data.mergeCells) xGrid.value.loadData(res.data.data) - gridOptions.loading = false } else { ElMessage.warning(res.msg) } }) +} +const quantitySum = ( row,column )=>{ + const reportWorkQuantity = row.reportWorkQuantity[column.title] || 0 + const reportWorkQuantityCount = row.reportWorkQuantityCount[column.title] || 0 + if(reportWorkQuantity===reportWorkQuantityCount){ + return reportWorkQuantity + } + + return (reportWorkQuantity + +'(' + +reportWorkQuantityCount + +')' ) + //return } @@ -93,7 +114,6 @@ return regex.test(value); // 杩斿洖true/false } -//瀛愮粍浠舵帴鏀跺弬鏁� const xGrid = ref() const gridOptions = reactive({ border: "full",//琛ㄦ牸鍔犺竟妗� @@ -123,29 +143,15 @@ mode: 'row', showStatus: true },//琛ㄥご鍙傛暟 - columns:[ - {type:'expand',fixed:"left",slots: { content:'content' },width: 50}, - {field: '1', width: 150, title: '浜у搧鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, - {field: '2',width: 130, title: '鍗曠墖鍚嶇О' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, - {field: '3', width: 120,title: '璁㈠崟绫诲瀷',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, - {field: '4',width: 110, title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, - {field: '5', width: 90,title: '鏍囪',showOverflow:"ellipsis"}, - {field: '6', width: 90,title: '鏁伴噺'}, - {field: '7',width: 90, title: '娆$牬鏁伴噺'}, - - {field: '8',width: 120, title: '鍒囧壊'}, - {field: '9',width: 120, title: '纾ㄨ竟'}, - {field: '10',width: 120, title: '閽㈠寲'}, - {field: '11',width: 120, title: '鍏ュ簱闈㈢Н'}, - ],//琛ㄥご鎸夐挳 + columns:[],//琛ㄥご鎸夐挳 toolbarConfig: { // buttons: [{ // // }], - import: false, - export: true, - print: true, + // import: false, + // export: true, + // print: true, zoom: true, custom: true }, @@ -177,11 +183,6 @@ }) const mergeCells = ref([ - { row: 0, col: 1, rowspan: 3, colspan: 0}, - { row: 3, col: 1, rowspan: 3, colspan: 0}, - - { row: 0, col: 6, rowspan: 3, colspan: 0}, - { row: 3, col: 6, rowspan: 3, colspan: 0}, ]) @@ -191,9 +192,15 @@ <div class="main-div-customer" > <div id="selectForm"> <el-row :gutter="0"> - <el-input v-model="form.orderId" clearable :placeholder="$t('order.orderId')" style="width: 130px"></el-input> + <el-input + v-model="form.orderId" + clearable + :disabled="props.orderId" + :placeholder="$t('order.orderId')" + style="width: 130px"></el-input> <el-button + :disabled="props.orderId" @click="getWorkOrder" id="select" type="primary" :icon="Search">{{$t('basicData.search')}} @@ -231,6 +238,10 @@ </div> </template> + <template #quantitySum="{ row,column }"> + <span>{{ quantitySum(row,column) }} </span> + </template> + </vxe-grid> </div> -- Gitblit v1.8.0