From 3c87c3ff67c2193ab5bfaa31f0fb1ad5a68cd5af Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期五, 15 三月 2024 09:09:10 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue | 376 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 253 insertions(+), 123 deletions(-) diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue index 0e752bb..465977e 100644 --- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue +++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue @@ -1,17 +1,34 @@ <script setup> -import {reactive} from "vue"; +import {reactive, ref} from "vue"; import {useRouter} from 'vue-router' +import request from "@/utils/request"; +import deepClone from "@/utils/deepClone"; +import {ElDatePicker, ElMessage} from "element-plus"; +import {Search} from "@element-plus/icons-vue"; +import { useI18n } from 'vue-i18n' +import SelectProduct from "@/views/sd/product/SelectProduct.vue"; +//璇█鑾峰彇 +const { t } = useI18n() let router=useRouter() const getTableRow = (row,type) =>{ switch (type) { case 'edit' :{ //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅') - router.push({path: '/main/reportingWorks/AddReportingWork', query: { id: row.id }}) + // router.push({path: '/main/reportingWorks/AddReportingWork', query: { id: row.id }}) break } case 'delete':{ - alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅') + request.post(`/reportingWork/deleteWork/${row.reportingWorkId}/${row.processId}/${row.thisProcess}`).then((res) => { + if (res.code == 200) { + ElMessage.success(t('workOrder.deleteOk')) + router.push({path: '/main/reportingWorks/SelectReportingWorks', query: {random:Math.random()}}) + } else { + + ElMessage.warning(res.msg) + + } + }) break } case 'setType':{ @@ -20,6 +37,17 @@ } } } + + +function padLeftZero(str) { + return ('00' + str).substr(str.length) +} + +//鎻愪氦鐨勮〃鍗� +const form = reactive({ + date1: '', + orderId: '' +}) //琛ㄥ熬姹傚拰 const sumNum = (list, field) => { @@ -30,14 +58,181 @@ return count.toFixed(2) } -//瀛愮粍浠舵帴鏀跺弬鏁� +//瀹氫箟婊氬姩鏉¢珮搴� +let scrollTop = ref(null) +let scrollHeight = ref(null) +let clientHeight = ref(null) +const scrollEvnt = (row) => { + // 鍐呭楂樺害 + scrollTop.value = row.$event.target.scrollTop + scrollHeight.value = row.$event.target.scrollHeight + clientHeight.value = row.$event.target.clientHeight +} +//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹� +let filterData = ref({ + order: { + project: '', + batch:'' + }, + orderGlassDetail: { + completedArea:'', + wornArea:'' + } +}) +//瀹氫箟椤甸潰鎬婚〉鏁� +let pageTotal = ref('') +//瀹氫箟鏁版嵁杩斿洖缁撴灉 +let produceList = ref([]) +//瀹氫箟褰撳墠椤垫暟 +let pageNum=ref(1) +let pageState = null + +//鑾峰彇涓冨ぉ鍓嶅埌褰撳墠鏃堕棿 +function getNowTime() { + const start = new Date(new Date().getTime()- 3600 * 1000 * 24 * 7) + .toISOString() + .replace('T', ' ') + .slice(0,10) //榛樿寮�濮嬫椂闂�7澶╁墠 + const end = new Date(new Date().getTime()+3600 * 1000 * 24) + .toISOString() + .replace('T', ' ') + .slice(0,10)//榛樿缁撴潫鏃堕棿褰撳墠鏃堕棿 + return [start, end] +} + + +//绗竴娆″姞杞借幏鍙栬繎涓冨ぉ鏃堕棿鍜岄粯璁ょ姸鎬� +form.date1=getNowTime() +let startTime = form.date1[0] +let endTime = form.date1[1] +let inputVal = form.orderId +if (inputVal == '') { + inputVal = null +} +let total = reactive({ + pageTotal : 0, + dataTotal : 0, + pageSize : 100 +}) +//绗竴娆″姞杞芥暟鎹� +request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { + + if (res.code == 200) { + console.log(res.data.data); + total.dataTotal = res.data.total.total*1 + total.pageTotal= res.data.total.pageTotal + pageTotal.value = res.data.total + produceList = produceList.value.concat(deepClone(res.data.data)) + xGrid.value.reloadData(produceList) + gridOptions.loading = false + } else { + ElMessage.warning(res.msg) + } +}) + +//椤佃剼缈婚〉鏌ヨ +const selectPageList = ()=>{ + let startTime = form.date1[0] + let endTime = form.date1[1] + let inputVal = form.orderId + if (inputVal == '') { + inputVal = null + } + request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`,filterData.value).then((res) => { + if(res.code==200){ + + + produceList = deepClone(res.data.data) + xGrid.value.reloadData(produceList) + }else{ + ElMessage.warning(res.msg) + } + }) +} + +//鐐瑰嚮鏌ヨ +const getWorkOrder = () => { + + let startTime = form.date1[0] + let endTime = form.date1[1] + let inputVal = form.orderId + if (inputVal == '') { + inputVal = null + } + request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { + if (res.code == 200) { + total.dataTotal = res.data.total.total*1 + total.pageTotal= res.data.total.pageTotal + pageTotal.value = res.data.total + xGrid.value.loadData(res.data.data) + gridOptions.loading = false + } else { + ElMessage.warning(res.msg) + } + }) +} + +//椤佃剼璺宠浆 +const handlePageChange = ({ currentPage, pageSize }) => { + pageNum.value=currentPage + total.pageTotal = pageSize + selectPageList() +} + +/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/ +const changeFilterEvent = (event, option, $panel,) => { + // 鎵嬪姩瑙﹀彂绛涢�� + $panel.changeOption(event, !!option.data, option) +} + +function filterChanged(column) { + gridOptions.loading = true + //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖� + let value = column.datas[0] != undefined ? column.datas[0] : '' + value = value.trim() + //鍒ゆ柇鏄惁瀛樺湪澶栭敭 + if (column.property.indexOf('.') > -1) { + const columnArr = column.property.split('.') + filterData.value[columnArr[0]] = { + [columnArr[1]]: value + } + } else { + filterData.value[column.property] = value + } + +//鑾峰彇閫変腑鏃堕棿 + let startTime = form.date1[0] + let endTime = form.date1[1] + + request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { + if(res.code==200){ + pageTotal.value=res.data.total + total.pageTotal=parseInt(res.data.total) + pageNum.value=1 + produceList = deepClone(res.data.data) + xGrid.value.loadData(produceList) + gridOptions.loading=false + }else{ + ElMessage.warning(res.msg) + } + }) +} + +/*鍚庣杩斿洖缁撴灉澶氬眰宓屽灞曠ず*/ +const hasDecimal = (value) => { + const regex = /\./; // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐� + return regex.test(value); // 杩斿洖true/false +} + +//瀛愮粍浠舵帴鏀跺弬鏁� +const xGrid = ref() const gridOptions = reactive({ border: "full",//琛ㄦ牸鍔犺竟妗� keepSource: true,//淇濇寔婧愭暟鎹� align: 'center',//鏂囧瓧灞呬腑 stripe:true,//鏂戦┈绾� - rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒 + rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒 id: 'CustomerList', showFooter: true,//鏄剧ず鑴� printConfig: {}, @@ -64,18 +259,22 @@ {type:'expand',fixed:"left",slots: { content:'content' },width: 50}, {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"}, { type: 'seq',fixed:"left", title: '鑷簭', width: 50 }, - {field: 'reportingWorkNo', width: 120, title: '鎶ュ伐缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, }, - {field: 'reportingWorkTime',width: 120, title: '鎶ュ伐鏃堕棿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'processCard', width: 130,title: '娴佺▼鍗″彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, - {field: 'entryName',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, - {field: 'batch', width: 100,title: '鎵规', sortable: true,showOverflow:"ellipsis"}, - {field: 'device', width: 100,title: '璁惧', sortable: true}, - {field: 'thisProcess',width: 100, title: '鏈伐搴�', sortable: true}, - {field: 'finishedNumber',width: 120, title: '鏈伐搴忓畬宸�', sortable: true,showOverflow:"ellipsis"}, - {field: 'finishedArea', width: 120,title: '瀹屽伐闈㈢Н', sortable: true}, - {field: 'wornNumber',width: 120, title: '鏈伐搴忔鐮�', sortable: true}, - {field: 'wornArea',width: 120, title: '娆$牬闈㈢Н', sortable: true}, - {field: 'teamName',width: 120, title: '鐝粍鍚嶇О', sortable: true} + {field: 'reportingWorkId', width: 120, title: '鎶ュ伐缂栧彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, }, + {field: 'reportingWorkTime',width: 120, title: '鎶ュ伐鏃堕棿' ,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'orderId', width: 130,title: '閿�鍞崟鍙�' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'processId', width: 130,title: '娴佺▼鍗″彿' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + {field: 'order.project',width: 120, title: '椤圭洰鍚嶇О',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, }, + {field: 'order.batch', width: 100,title: '鎵规' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, + + {field: 'thisProcess',width: 100, title: '鏈伐搴�',filters:[{ data: '' }],slots: { filter: 'num1_filter' } }, + {field: 'thisCompletedQuantity',width: 120, title: '鏈伐搴忓畬宸�' }, + {field: 'completedArea', width: 120,title: '瀹屽伐闈㈢Н', }, + {field: 'thisWornQuantity',width: 120, title: '鏈伐搴忔鐮�', }, + {field: 'wornArea',width: 120, title: '娆$牬闈㈢Н', }, + {field: 'deviceName', width: 100,title: '鎶ュ伐璁惧', }, + {field: 'teamsGroupsName',width: 120, title: '鎶ュ伐鐝粍', }, + {field: 'reviewedState',width: 120, title: '瀹℃牳鐘舵��', }, + ],//琛ㄥご鎸夐挳 toolbarConfig: { @@ -88,95 +287,10 @@ zoom: true, custom: true }, - data: [ - { - reportingWorkNo: 'BG2312080011', - reportingWorkTime: '2023-12-08 09:05:58', - processCard: 'NG23120801A01', - entryName: '淇″悎鏄ュぉ閲�', - batch: '鍥涙壒浜�', - device:'澶ф捣鍒╁畞', - thisProcess: '鍒囧壊', - finishedNumber: '13', - finishedArea: '44.22', - wornNumber: '', - wornArea: '', - teamName:'鍒囧壊涓�鐝�' - }, - { - reportingWorkNo: 'BG2312080013', - reportingWorkTime: '2023-12-08 09:05:58', - processCard: 'NG23120801A01', - entryName: '淇″悎鏄ュぉ閲�', - batch: '涓�鎵逛簩', - device:'澶ф捣鍒╁畞', - thisProcess: '鍒囧壊', - finishedNumber: '13', - finishedArea: '44.22', - wornNumber: '', - wornArea: '', - teamName:'鍒囧壊涓�鐝�' - }, - { - reportingWorkNo: 'BG2311080025', - reportingWorkTime: '2023-12-08 09:05:58', - processCard: 'NG23120801A01', - entryName: '淇″悎鏄ュぉ閲�', - batch: '涓�鎵逛簩', - device:'澶ф捣鍒╁畞', - thisProcess: '鍒囧壊', - finishedNumber: '13', - finishedArea: '44.22', - wornNumber: '', - wornArea: '', - teamName:'鍒囧壊涓�鐝�' - }, - { - reportingWorkNo: 'BG2303080025', - reportingWorkTime: '2023-12-08 09:05:58', - processCard: 'NG23120801A01', - entryName: '淇″悎鏄ュぉ閲�', - batch: '涓�鎵逛簩', - device:'澶ф捣鍒╁畞', - thisProcess: '鍒囧壊', - finishedNumber: '13', - finishedArea: '44.22', - wornNumber: '', - wornArea: '', - teamName:'鍒囧壊涓�鐝�' - }, - { - reportingWorkNo: 'BG2312080001', - reportingWorkTime: '2023-12-08 09:05:58', - processCard: 'NG23120801A01', - entryName: '淇″悎鏄ュぉ閲�', - batch: '涓�鎵逛簩', - device:'澶ф捣鍒╁畞', - thisProcess: '鍒囧壊', - finishedNumber: '13', - finishedArea: '44.22', - wornNumber: '', - wornArea: '', - teamName:'鍒囧壊涓�鐝�' - }, - { - reportingWorkNo: 'BG2312080015', - reportingWorkTime: '2023-12-08 09:05:58', - processCard: 'NG23120801A01', - entryName: '淇″悎鏄ュぉ閲�', - batch: '涓�鎵逛簩', - device:'澶ф捣鍒╁畞', - thisProcess: '鍒囧壊', - finishedNumber: '13', - finishedArea: '44.22', - wornNumber: '', - wornArea: '', - teamName:'鍒囧壊涓�鐝�' - }, - ],//table body瀹為檯鏁版嵁 + data: [],//table body瀹為檯鏁版嵁 //鑴氶儴姹傚拰 footerMethod ({ columns, data }) {//椤佃剼鍑芥暟 - let footList=['finishedNumber','finishedArea','wornNumber','wornArea'] + let footList=['','','',''] return[ columns.map((column, columnIndex) => { if (columnIndex === 0) { @@ -193,16 +307,6 @@ }) -const form = reactive({ - name: '', - region: '', - date1: '', - date2: '', - delivery: false, - type: [], - resource: '', - desc: '', -}) </script> <template> @@ -212,12 +316,22 @@ <el-date-picker v-model="form.date1" type="daterange" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" + format="YYYY/MM/DD" + value-format="YYYY-MM-DD" + :start-placeholder="$t('basicData.startDate')" + :end-placeholder="$t('basicData.endDate')" :default-time="defaultTime" + /> - <el-button type="primary">鏌ヨ</el-button> + <el-input v-model="form.orderId" clearable :placeholder="$t('order.orderId')" style="width: 130px"></el-input> + + <el-button + @click="getWorkOrder" + id="select" + type="primary" :icon="Search">{{$t('basicData.search')}} + + </el-button> </el-row> </div> @@ -233,9 +347,11 @@ <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�--> <template #content="{ row }"> <ul class="expand-wrapper"> - <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined "> - <span style="font-weight: bold">{{item.title+': '}}</span> - <span>{{ row[item.field] }}</span> + <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined "> + <span style="font-weight: bold">{{ item.title + ': ' }}</span> + <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span> + <span v-else>{{ row[item.field] }}</span> + </li> </ul> </template> @@ -243,7 +359,6 @@ <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�--> <template #button_slot="{ row }"> <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">缂栬緫</el-button> - <el-button @click="getTableRow(row,'setType')" link type="primary" size="small">鍙嶅</el-button> <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button> </template> @@ -254,9 +369,24 @@ </div> </div> </template> - + <template #pager> + <!--浣跨敤 pager 鎻掓Ы--> + <!-- 'PrevJump','NextJump', --> + <vxe-pager + @page-change="handlePageChange" + :layouts="[ 'PrevPage', 'Jump','PageCount', 'NextPage', 'Total']" + v-model:current-page="pageNum" + v-model:page-size="total.pageSize" + v-model:pager-count="total.pageTotal" + :total="total.dataTotal" + > + </vxe-pager> + </template> </vxe-grid> +<!-- <el-dialog v-model="updateWork" style="width: 80%;height:75% ">--> +<!-- <select-product :rowIndex="rowIndex" @getProductRow="getProductRow" style="width: 100%;height: 100%" />--> +<!-- </el-dialog>--> </div> </template> @@ -266,7 +396,7 @@ height: 100%; } #selectForm { - width: 40%; + width: 45%; text-align: center; } </style> \ No newline at end of file -- Gitblit v1.8.0