From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示
---
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue | 179 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 127 insertions(+), 52 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue b/north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue
index eef7dc4..7a76dfc 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue
@@ -7,8 +7,8 @@
import deepClone from "@/utils/deepClone";
import {Search} from "@element-plus/icons-vue";
import useUserInfoStore from "@/stores/userInfo";
-import {changeFilterEvent,filterChanged} from "@/hook"
import { useI18n } from 'vue-i18n'
+import footSum from "@/hook/footSum";
//璇█鑾峰彇
const { t } = useI18n()
@@ -39,11 +39,9 @@
break
}
case 'delete': {
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
break
}
case 'setType': {
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鎺掔増鐘舵��')
break
}
}
@@ -52,7 +50,7 @@
let total = reactive({
pageTotal : 0,
dataTotal : 0,
- pageSize : 10
+ pageSize : 100
})
let selectDate = ref(["",""])
@@ -82,14 +80,43 @@
}
})
-//琛ㄥ熬姹傚拰
-const sumNum = (list, field) => {
- let count = 0
- list.forEach(item => {
- count += Number(item[field])
- })
- return count.toFixed(2)
+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
+ }
+ request.post(`/rework/SelectRework/1/${total.pageSize}/${selectDate.value}`,filterData.value).then((res) => {
+
+ if(res.code==200){
+ total.dataTotal = res.data.total.total*1
+ total.pageTotal= res.data.total.pageTotal
+
+ selectDate.value = res.data.selectDate
+ pageNum.value=1
+
+ produceList = deepClone(res.data.data)
+ xGrid.value.loadData(produceList)
+ gridOptions.loading=false
+ }else{
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+}
+
//瀛愮粍浠舵帴鏀跺弬鏁�
const xGrid = ref()
@@ -99,7 +126,7 @@
align: 'center',//鏂囧瓧灞呬腑
stripe: true,//鏂戦┈绾�
rowConfig: {isCurrent: true, isHover: true, height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'CustomerList',
+ id: 'SelectRework',
showFooter: true,//鏄剧ず鑴�
printConfig: {},
importConfig: {},
@@ -111,7 +138,7 @@
useKey: true
},
filterConfig: { //绛涢�夐厤缃」
- // remote: true
+ remote: true
},
customConfig: {
storage: true
@@ -125,38 +152,47 @@
{type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
{type:'checkbox',title: t('basicData.check'), width: 80,fixed:"left"},
{type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
- {field: 'review_status',title: t('basicData.review'), width: 40, slots: { default: 'state' }},
- {field: 'rework_id', width: 120, title: t('rework.reworkNumber'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'rework_team', width: 120, title: t('rework.reworkTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'order_id', width: 120, title: t('order.orderId'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'process_id', width: 120, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'batch', width: 80, title: t('order.batch'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'order_sort', width: 80, title: t('order.OrderNum'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'product_name', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'technology_number', width: 80, title: t('replenish.mark'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'glass_address', width: 90, title: t('replenish.sliceMarking'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'rework_num', width: 80, title: t('productStock.reworkQuantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'width', width: 80, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'height', width: 80, title: t('order.height'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'shape', width: 80, title: t('order.shape'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'rework_type', width: 100, title: t('rework.reworkType'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'rework_reason', width: 120, title: t('rework.reasonForRework'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'responsible_equipment', width: 120, title: t('reportingWorks.responsibleEquipment'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'responsible_team', width: 120, title: t('reportingWorks.responsibleTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'rework_area', width: 120, title: t('rework.reworkArea'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'rework_processes', width: 120, title: t('rework.reworkProcess'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'quality_inspector', width: 100, title: t('reportingWorks.qualityInspector'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'reviewer', width: 100, title: t('productStock.reviewed'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
- {field: 'create_time', width: 100, title: t('productStock.productionDate')},
- {field: 'update_time', width: 120, title: t('productStock.approvedDate')}
+ {field: 'reviewStatus',title: t('basicData.review'), width: 40, slots: { default: 'state' }},
+ {field: 'reworkId', width: 120, title: t('rework.reworkNumber'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reworkTeam', width: 120, title: t('rework.reworkTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'orderId', width: 120, title: t('order.orderId'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'processId', width: 140, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'batch', width: 80, title: t('order.batch'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'glassNumber', width: 100, title: t('reportingWorks.glassNumber')},
+ {field: 'orderSort', width: 80, title: t('order.OrderNum'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'technologyNumber', width: 80, title: t('replenish.mark'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reworkType', width: 100, title: t('rework.reworkType'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reworkReason', width: 120, title: t('rework.reasonForRework'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'responsibleTeam', width: 120, title: t('reportingWorks.responsibleTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reworkProcesses', width: 120, title: t('rework.reworkProcess'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'glassAddress', width: 90, title: t('replenish.sliceMarking'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reworkNum', width: 80, title: t('productStock.reworkQuantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reworkArea', width: 120, title: t('rework.reworkArea'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'width', width: 80, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'height', width: 80, title: t('order.height'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'shape', width: 80, title: t('order.shape'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'qualityInspector', width: 100, title: t('reportingWorks.qualityInspector'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reviewer', width: 100, title: t('productStock.reviewed'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'createTime', width: 100, title: t('productStock.productionDate')},
+ {field: 'updateTime', width: 120, title: t('productStock.approvedDate')},
+ {field: 'productName', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+ {field: 'reportingWorkId', width: 100,title: t('reportingWorks.reportingWorkId'),filters: [{data: ''}], slots: {filter: 'num1_filter'}},
+
],//琛ㄥご鎸夐挳
toolbarConfig: {
- buttons: [{
- 'name': t('basicData.review'),status: 'primary',
- 'code':'add'
- }],
+ buttons: [
+ {
+ 'name': t('basicData.review'),status: 'primary',
+ 'code':'add'
+ },
+ {
+ 'name': t('basicData.delete'),status: 'primary',
+ 'code':'delete'
+ }
+ ],
/*import: false,
export: true,
print: true,*/
@@ -172,7 +208,7 @@
return t('basicData.total')
}
if (footList.includes(column.field)) {
- return sumNum(data, column.field)
+ return footSum(data, column.field)
}
return ''
})
@@ -203,20 +239,50 @@
})
request.post("/rework/updateRework",flowData.value).then((res) => {
- if(res.code==200){
+ if(res.code==200 && res.data===true){
ElMessage.success(t('basicData.msg.ReviewSuccess'))
router.push({path:'/main/rework/SelectRework',query:{random:Math.random()}})
}else{
- ElMessage.warning(res.msg)
+ ElMessage.warning(t('basicData.msg.reviewFail'))
router.push("/login")
}
+ }).catch((err)=>{
+ ElMessage.error(t('basicData.msg.ServerConnectionError'))
+ router.push("/login")
})
}
return;
}
+ case 'delete': {
+ const $table = xGrid.value
+ if ($table) {
+ const selectRecords = $table.getCheckboxRecords()
+ if (selectRecords.length === 0) {
+ ElMessage.warning(t('productStock.unselectedData'))
+ return
+ }
+ let flowData = ref({
+ userId:userid,
+ userName:username,
+ rework:selectRecords
+ })
+ request.post("/rework/deleteRework",flowData.value).then((res) => {
+ if(res.code==200 && res.data===true){
+ ElMessage.success(t('basicData.msg.deleteSuccess'))
+ router.push({path:'/main/rework/SelectRework',query:{random:Math.random()}})
+
+ }else{
+ ElMessage.warning(t('basicData.msg.deleteFail'))
+ router.push("/login")
+ }
+ })
+ }
+ return
+
+ }
}
}
@@ -278,8 +344,8 @@
<el-date-picker
v-model="selectDate"
type="daterange"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
+ :start-placeholder="$t('basicData.startDate')"
+ :end-placeholder="$t('basicData.endDate')"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
@@ -289,11 +355,11 @@
<vxe-grid
- max-height="100%"
+ @filter-change="filterChanged"
+ height="100%"
class="mytable-scrollbar"
ref="xGrid"
v-bind="gridOptions"
- @scroll="scrollEvnt"
v-on="gridEvents"
:checkbox-config="checkBoxConfig"
@@ -313,13 +379,22 @@
<template #num1_filter="{ column, $panel }">
<div>
<div v-for="(option, index) in column.filters" :key="index">
- <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ <input type="type" v-model="option.data"
+ @keyup.enter.native="$panel.confirmFilter()"
+ @input="changeFilterEvent($event, option, $panel)"/>
</div>
</div>
</template>
<template #state="{ row,column}">
- <el-checkbox @click.native.prevent :checked="row[column.field]===1"/>
+ <el-checkbox
+ v-if="row[column.field] === 1"
+ @click.native.prevent
+ :checked="true"/>
+ <el-checkbox
+ v-else
+ @click.native.prevent
+ :checked="false"/>
</template>
<template #pager>
@@ -347,7 +422,7 @@
<style scoped>
.main-div-customer {
width: 99%;
- height: 98%;
+ height: 95%;
}
:deep(.el-col div) {
--
Gitblit v1.8.0