From a3a2b238a2626ef8744e7a135f9ca2e2fbb5184c Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 21 5月 2025 10:17:36 +0800 Subject: [PATCH] 优化 --- PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx | 438 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 312 insertions(+), 126 deletions(-) diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx index 99cc7c7..0b8f33a 100644 --- a/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx +++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx @@ -14,6 +14,17 @@ import isEqual from 'lodash/isEqual' import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' import { cloneDeep } from 'lodash' +// 寮曞叆鍏叡閫夐」閰嶇疆 +import { + FILTER_MODE_OPTIONS_STRING, + FILTER_MODE_OPTIONS_NUM, + FILTER_MODE_OPTIONS_BOOL +} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'; +// 寮曞叆鍏叡琛ㄥ崟宸ュ叿鏂囦欢 +import { collectFormDataForHighQuery,onResetForHighSelect,onResetForHighQuery } from '@/utils/myformUtils'; +import { + BOOLEAN_OPTIONS +} from '@/utils/commonOptionConstants'; export const useWorkPlanQueryDrawer = (props: any, ctx?: any) => { const workPlanDrawer = injectModel<WorkPlanDrawer>('WorkPlanDrawer') @@ -84,6 +95,90 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ヤ换鍔$紪鐮�', + highSelectAttrs:{ + prop: 'taskCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } + }, + { + label: '绠℃缂栫爜', + prop: 'pipeSpecCode', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ娈电紪鐮�', + highSelectAttrs:{ + prop: 'pipeSpecCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } + }, + { + label: '绠℃鍚嶇О', + prop: 'pipeSectionName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ娈靛悕绉�', + highSelectAttrs:{ + prop: 'pipeSectionName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } + }, + { + label: '绠℃鍨嬪彿', + prop: 'pipeSpecMode', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ョ娈靛瀷鍙�', + highSelectAttrs:{ + prop: 'pipeSpecMode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } + }, + { + label: '宸ュ簭鍚嶇О', + prop: 'processName', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ伐搴忓悕绉�', + highSelectAttrs:{ + prop: 'processName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } + }, + { + label: '鑸瑰彿', + prop: 'shipNumber', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ埞鍙�', + highSelectAttrs:{ + prop: 'shipNumber_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } + }, + { + label: '椤圭洰鍙�', + prop: 'projectNumber', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ラ」鐩彿', + highSelectAttrs:{ + prop: 'projectNumber_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '璁″垝鐘舵��', @@ -93,6 +188,12 @@ option: [], //disabled: disabled, placeholder: '璇疯緭鍏ヨ鍒掔姸鎬�', + highSelectAttrs:{ + prop: 'workPlanStatus_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_BOOL + } }, { label: '鍙枡鐘舵��', @@ -102,6 +203,25 @@ option: [], //disabled: disabled, placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�', + highSelectAttrs:{ + prop: 'callMaterialStatus_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_BOOL + } + }, + { + label: '宸ヨ壓娴佸悜缂栧彿', + prop: 'processRouteNumber', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ伐鑹烘祦鍚戠紪鍙�', + highSelectAttrs:{ + prop: 'processRouteNumber_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '鍘熸枡鏍囪瘑', @@ -109,6 +229,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ュ師鏂欐爣璇�', + highSelectAttrs:{ + prop: 'dataIdentifier_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '鍘熸枡鍨嬪彿', @@ -116,6 +242,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�', + highSelectAttrs:{ + prop: 'materialMode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '闀垮害(mm)', @@ -132,6 +264,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ラ暱搴�(mm)', + highSelectAttrs:{ + prop: 'length_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '鎵撶爜鍐呭', @@ -139,6 +277,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ユ墦鐮佸唴瀹�', + highSelectAttrs:{ + prop: 'markingContent_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '鎵撶爜浣嶇疆', @@ -155,6 +299,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ユ墦鐮佷綅缃�', + highSelectAttrs:{ + prop: 'markingPosition_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '鍒囧壊浣嶇疆', @@ -171,6 +321,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ュ垏鍓蹭綅缃�', + highSelectAttrs:{ + prop: 'cuttingPosition_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '绠℃鏁伴噺', @@ -187,6 +343,12 @@ precision: 0, //disabled: disabled, placeholder: '璇疯緭鍏ョ娈垫暟閲�', + highSelectAttrs:{ + prop: 'quantity_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '娉曞叞鍘氬害(mm)', @@ -203,6 +365,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ユ硶鍏板帤搴�(mm)', + highSelectAttrs:{ + prop: 'flangeThickness_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '娉曞叞鐩村緞(mm)', @@ -219,6 +387,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ユ硶鍏扮洿寰�(mm)', + highSelectAttrs:{ + prop: 'flangeInnerDiameter_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '娉曞叞鍏О鍘嬪姏', @@ -226,6 +400,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ユ硶鍏板叕绉板帇鍔�', + highSelectAttrs:{ + prop: 'weldingHeatInput_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '娉曞叞鍐茬爜鍐呭', @@ -233,6 +413,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ユ硶鍏板啿鐮佸唴瀹�', + highSelectAttrs:{ + prop: 'pipeAllowableStress_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '濂楃闀垮害(mm)', @@ -249,6 +435,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ュ绠¢暱搴�(mm)', + highSelectAttrs:{ + prop: 'pipeDiameter_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '濂楃鐩村緞(mm)', @@ -265,6 +457,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ュ绠$洿寰�(mm)', + highSelectAttrs:{ + prop: 'pipeWallThickness_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '宸ュ巶浠g爜', @@ -272,6 +470,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ュ伐鍘備唬鐮�', + highSelectAttrs:{ + prop: 'factoryCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '浜у搧浠g爜', @@ -279,6 +483,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ヤ骇鍝佷唬鐮�', + highSelectAttrs:{ + prop: 'productCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '宸ヤ綅浠g爜', @@ -286,6 +496,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ュ伐浣嶄唬鐮�', + highSelectAttrs:{ + prop: 'workstationCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '璁惧浠g爜', @@ -293,20 +509,25 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ヨ澶囦唬鐮�', + highSelectAttrs:{ + prop: 'equipmentCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { - label: '宸ヤ欢鍚嶇О', - prop: 'workpieceName', + label: '浜х嚎缂栫爜', + prop: 'prodLineCode', el: 'input', //disabled: disabled, - placeholder: '璇疯緭鍏ュ伐浠跺悕绉�', - }, - { - label: '宸ュ簭鍚嶇О', - prop: 'processName', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ伐搴忓悕绉�', + placeholder: '璇疯緭鍏ヤ骇绾跨紪鐮�', + highSelectAttrs:{ + prop: 'prodLineCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '绠′欢缂栫爜', @@ -314,6 +535,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ョ浠剁紪鐮�', + highSelectAttrs:{ + prop: 'pipeFittingCode_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '椤哄簭鍙�', @@ -321,20 +548,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ラ『搴忓彿', - }, - { - label: '绠℃缂栫爜', - prop: 'pipeSpecCode', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ョ娈电紪鐮�', - }, - { - label: '绠℃鍚嶇О', - prop: 'pipeSectionName', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ョ娈靛悕绉�', + highSelectAttrs:{ + prop: 'preSerialNumber_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '澶栧緞(mm)', @@ -351,6 +570,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ュ寰�(mm)', + highSelectAttrs:{ + prop: 'outerDiameter_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '澹佸帤(mm)', @@ -367,6 +592,12 @@ precision: 2, //disabled: disabled, placeholder: '璇疯緭鍏ュ鍘�(mm)', + highSelectAttrs:{ + prop: 'thickness_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_NUM + } }, { label: '鏉愯川', @@ -374,13 +605,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ユ潗璐�', - }, - { - label: '宸ヨ壓娴佸悜缂栧彿', - prop: 'processRouteNumber', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ伐鑹烘祦鍚戠紪鍙�', + highSelectAttrs:{ + prop: 'material_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '璁″垝寮�濮嬫椂闂�', @@ -395,6 +625,7 @@ width: '100%', //disabled: disabled, placeholder: '璇疯緭鍏ヨ鍒掑紑濮嬫椂闂�', + isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� }, { label: '璁″垝瀹屾垚鏃堕棿', @@ -409,6 +640,7 @@ width: '100%', //disabled: disabled, placeholder: '璇疯緭鍏ヨ鍒掑畬鎴愭椂闂�', + isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� }, { label: '鐝粍淇℃伅', @@ -416,6 +648,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ョ彮缁勪俊鎭�', + highSelectAttrs:{ + prop: 'teamInfo_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '鏃堕棿鎴�', @@ -423,6 +661,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ユ椂闂存埑', + highSelectAttrs:{ + prop: 'timestamp_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '鍒涘缓鏃堕棿', @@ -437,6 +681,7 @@ width: '100%', //disabled: disabled, placeholder: '璇疯緭鍏ュ垱寤烘椂闂�', + isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� }, { label: '淇敼鏃堕棿', @@ -451,6 +696,7 @@ width: '100%', //disabled: disabled, placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�', + isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠� }, { label: '鍒涘缓浜�', @@ -458,6 +704,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ュ垱寤轰汉', + highSelectAttrs:{ + prop: 'creatorName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '淇敼浜�', @@ -465,6 +717,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ヤ慨鏀逛汉', + highSelectAttrs:{ + prop: 'lastModifierName_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, { label: '澶囨敞', @@ -472,6 +730,12 @@ el: 'input', //disabled: disabled, placeholder: '璇疯緭鍏ュ娉�', + highSelectAttrs:{ + prop: 'remark_FilterMode', + el: 'select', + placeholder: '璇烽�夋嫨', + options:FILTER_MODE_OPTIONS_STRING + } }, ]) /** @@ -484,54 +748,11 @@ const check = isEqual(initiateData.value, data) return check } - const commonGetFormData=()=>{ - const data = { - taskCode: formData.value.taskCode || '', -workPlanStatus: formData.value.workPlanStatus || '', -callMaterialStatus: formData.value.callMaterialStatus || '', -dataIdentifier: formData.value.dataIdentifier || '', -materialMode: formData.value.materialMode || '', -length: formData.value.length || '', -markingContent: formData.value.markingContent || '', -markingPosition: formData.value.markingPosition || '', -cuttingPosition: formData.value.cuttingPosition || '', -quantity: formData.value.quantity || '', -flangeThickness: formData.value.flangeThickness || '', -flangeInnerDiameter: formData.value.flangeInnerDiameter || '', -weldingHeatInput: formData.value.weldingHeatInput || '', -pipeAllowableStress: formData.value.pipeAllowableStress || '', -pipeDiameter: formData.value.pipeDiameter || '', -pipeWallThickness: formData.value.pipeWallThickness || '', -factoryCode: formData.value.factoryCode || '', -productCode: formData.value.productCode || '', -workstationCode: formData.value.workstationCode || '', -equipmentCode: formData.value.equipmentCode || '', -workpieceName: formData.value.workpieceName || '', -processName: formData.value.processName || '', -pipeFittingCode: formData.value.pipeFittingCode || '', -preSerialNumber: formData.value.preSerialNumber || '', -pipeSpecCode: formData.value.pipeSpecCode || '', -pipeSectionName: formData.value.pipeSectionName || '', -outerDiameter: formData.value.outerDiameter || '', -thickness: formData.value.thickness || '', -material: formData.value.material || '', -processRouteNumber: formData.value.processRouteNumber || '', -plannedStartTime: formData.value.plannedStartTime || '', -plannedEndTime: formData.value.plannedEndTime || '', -teamInfo: formData.value.teamInfo || '', -timestamp: formData.value.timestamp || '', -creationTime: formData.value.creationTime || '', -lastModificationTime: formData.value.lastModificationTime || '', -creatorName: formData.value.creatorName || '', -lastModifierName: formData.value.lastModifierName || '', -remark: formData.value.remark || '', - } - return data; - } + const onClose = (done: () => void) => { if (visible.value) { visible.value = false - const data =commonGetFormData(); + const data =collectFormDataForHighQuery(formItems,formData); ctx.emit('close', data) } } @@ -539,58 +760,22 @@ * 纭鏌ヨ */ const onConfirmQuery = async () => { - const data =commonGetFormData(); + const data =collectFormDataForHighQuery(formItems,formData); ctx.emit('confirmQuery', data) } - /** - * 閲嶇疆鏌ヨ - */ - const onReset = async () => { - formData.value = {} - formData.value.taskCode = '' -formData.value.workPlanStatus = '' -formData.value.callMaterialStatus = '' -formData.value.dataIdentifier = '' -formData.value.materialMode = '' -formData.value.length = '' -formData.value.markingContent = '' -formData.value.markingPosition = '' -formData.value.cuttingPosition = '' -formData.value.quantity = '' -formData.value.flangeThickness = '' -formData.value.flangeInnerDiameter = '' -formData.value.weldingHeatInput = '' -formData.value.pipeAllowableStress = '' -formData.value.pipeDiameter = '' -formData.value.pipeWallThickness = '' -formData.value.factoryCode = '' -formData.value.productCode = '' -formData.value.workstationCode = '' -formData.value.equipmentCode = '' -formData.value.workpieceName = '' -formData.value.processName = '' -formData.value.pipeFittingCode = '' -formData.value.preSerialNumber = '' -formData.value.pipeSpecCode = '' -formData.value.pipeSectionName = '' -formData.value.outerDiameter = '' -formData.value.thickness = '' -formData.value.material = '' -formData.value.processRouteNumber = '' -formData.value.plannedStartTime = '' -formData.value.plannedEndTime = '' -formData.value.teamInfo = '' -formData.value.timestamp = '' -formData.value.deletionTime = '' -formData.value.operationRemark = '' -formData.value.deleteRemark = '' -formData.value.remark = '' -formData.value.extraField1 = '' -formData.value.extraField2 = '' -formData.value.extraField3 = '' - //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 - ctx.emit('restQuery'); - } + /** + * 閲嶇疆鏌ヨ - 浼樺寲鐗� + */ + const onReset = async () => { + // 1. 娓呯┖鎵�鏈夊熀纭�瀛楁锛堜笉鍖呭惈杩囨护妯″紡瀛楁锛�,搴旂敤鍩虹瀛楁鍒濆鍊� + onResetForHighQuery(formItems,formData); + + // 2. 浣跨敤鍘熸湁鏂规硶閲嶇疆杩囨护妯″紡瀛楁 + onResetForHighSelect(formItems,formData); + + // 3. 鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 + ctx.emit('restQuery'); + } const updateCheckData = () => { initiateData.value = { @@ -623,6 +808,7 @@ } commonQueryEnumForFrom() + onResetForHighSelect(formItems,formData);//閲嶇疆鍏叡select鏌ヨ /** * 寮圭獥鎵撳紑鑾峰彇璇︽儏 */ -- Gitblit v1.9.3