From f5851974b861a20182c06d6f891fd427b1414209 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 15:21:19 +0800
Subject: [PATCH] 优化
---
PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx | 693 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 400 insertions(+), 293 deletions(-)
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx
index 1b66ffb..a43d578 100644
--- a/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx
+++ b/PipeLineLems/pipelinelems_web/src/widgets/CallMaterialOrder/Controllers/CallMaterialOrderQueryDrawer.tsx
@@ -1,293 +1,400 @@
-import {
- ref,
- onMounted,
- reactive,
- computed,
- Ref,
- watch,
- SetupContext,
- h,
-} from 'vue'
-import { injectModel } from '@/libs/Provider/Provider'
-import { CallMaterialOrderDrawer } from '../Models/CallMaterialOrderDrawer'
-import { ElMessage } from 'element-plus'
-import isEqual from 'lodash/isEqual'
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
-import { cloneDeep } from 'lodash'
-
-export const useCallMaterialOrderQueryDrawer = (props: any, ctx?: any) => {
- const callMaterialOrderDrawer = injectModel<CallMaterialOrderDrawer>('CallMaterialOrderDrawer')
- /**
- * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
- */
- const initiateData: Ref<Record<string, any>> = ref({})
- const formData = ref<Record<string, any>>({})
- // ref
- const formRef = ref()
-
- const disabled = ref(false)
-
- const current = computed(() => {
- return props.row || null
- })
-
- const inputNumber = (attrs) => {
- return (
- <el-input-number
- min="1"
- step="1"
- precision="0"
- {...attrs}
- ></el-input-number>
- )
- }
-
- const datePickerRange = (attrs) => {
- return (
- <el-date-picker
- type="daterange"
- value-format="YYYY-MM-DD HH:mm:ss"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- {...attrs}
- ></el-date-picker>
- )
- }
-
- const dateTimePickerRange = (attrs) => {
- return (
- <el-date-picker
- type="datetimerange"
- value-format="YYYY-MM-DD HH:mm:ss"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- {...attrs}
- ></el-date-picker>
- )
- }
-
- const visible = computed({
- get() {
- return props.modelValue
- },
- set(val) {
- ctx.emit('update:modelValue', val)
- },
- })
- /**
- * 楂樼骇鏌ヨ鐨刦orm瀛楁
- */
- const formItems = reactive([
- {
- label: '鍘熸枡鏍囪瘑',
- prop: 'dataIdentifier',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ師鏂欐爣璇�',
- },
- {
- label: '鍘熸枡鍨嬪彿',
- prop: 'materialMode',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�',
- },
- {
- label: '鍙枡鐘舵��',
- prop: 'callMaterialStatus',
- el: 'select',
- clearable:true,
- option: [],
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�',
- },
- {
- label: '鍙枡鏁伴噺',
- prop: 'quantity',
- el: (props: any, { attrs }: SetupContext) => {
- return h(inputNumber, {
- ...props,
- clearable: true,
- ...attrs,
- })
- },
- width: '100%',
- step: 1,
- precision: 0,
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ彨鏂欐暟閲�',
- },
- {
- label: 'WMS杩斿洖缁撴灉',
- prop: 'wmsRetResult',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏MS杩斿洖缁撴灉',
- },
- {
- label: 'WMS浠诲姟鍙�',
- prop: 'wmsTaskNo',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏MS浠诲姟鍙�',
- },
- {
- label: '鍒涘缓鏃堕棿',
- prop: 'creationTime',
- el: (props: any, { attrs }: SetupContext) => {
- return h(dateTimePickerRange, {
- ...props,
- clearable: true,
- ...attrs,
- })
- },
- width: '100%',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ垱寤烘椂闂�',
- },
- {
- label: '淇敼鏃堕棿',
- prop: 'lastModificationTime',
- el: (props: any, { attrs }: SetupContext) => {
- return h(dateTimePickerRange, {
- ...props,
- clearable: true,
- ...attrs,
- })
- },
- width: '100%',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�',
- },
- {
- label: '鍒涘缓浜�',
- prop: 'creatorName',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ垱寤轰汉',
- },
- {
- label: '淇敼浜�',
- prop: 'lastModifierName',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ慨鏀逛汉',
- },
- {
- label: '澶囨敞',
- prop: 'remark',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ娉�',
- },
- ])
- /**
- * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
- */
- const checkIsEqualObject = () => {
- const data = {
- formData: formData.value,
- }
- const check = isEqual(initiateData.value, data)
- return check
- }
- const commonGetFormData=()=>{
- const data = {
- dataIdentifier: formData.value.dataIdentifier || '',
-materialMode: formData.value.materialMode || '',
-callMaterialStatus: formData.value.callMaterialStatus || '',
-quantity: formData.value.quantity || '',
-wmsRetResult: formData.value.wmsRetResult || '',
-wmsTaskNo: formData.value.wmsTaskNo || '',
-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();
- ctx.emit('close', data)
- }
- }
- /**
- * 纭鏌ヨ
- */
- const onConfirmQuery = async () => {
- const data =commonGetFormData();
- ctx.emit('confirmQuery', data)
- }
- /**
- * 閲嶇疆鏌ヨ
- */
- const onReset = async () => {
- formData.value = {}
- formData.value.dataIdentifier = ''
-formData.value.materialMode = ''
-formData.value.callMaterialStatus = ''
-formData.value.quantity = ''
-formData.value.wmsRetResult = ''
-formData.value.wmsTaskNo = ''
-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 updateCheckData = () => {
- initiateData.value = {
- formData: {
- ...formData.value,
- },
- }
- }
- const updateFormItemOptions = (propName: string, enumData: any[]) => {
- const item = formItems.find((item) => item.prop === propName)
- if (item && enumData) {
- item.options = enumData.map((item) => ({
- label: item.description,
- value: item.value,
- }))
- }
- }
- /**
- * 閫氱敤鏌ヨ鏋氫妇
- */
- const commonQueryEnumForFrom = async () => {
- const callMaterialStatusEnumEnum = await callMaterialOrderDrawer.getWmsEnumData({
- EnumName: 'CallMaterialStatusEnum',
-})
-updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum)
-
- }
- commonQueryEnumForFrom()
- /**
- * 寮圭獥鎵撳紑鑾峰彇璇︽儏
- */
- const onOpen = async () => {
- disabled.value = false
- updateCheckData()
- }
-
- watch(() => current.value, onOpen)
-
- return {
- formItems,
- formData,
- visible,
- formRef,
- onOpen,
- onClose,
- onConfirmQuery,
- onReset,
- }
-}
+import {
+ ref,
+ onMounted,
+ reactive,
+ computed,
+ Ref,
+ watch,
+ SetupContext,
+ h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { CallMaterialOrderDrawer } from '../Models/CallMaterialOrderDrawer'
+import { ElMessage } from 'element-plus'
+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 { BOOLEAN_OPTIONS } from '@/utils/commonOptionConstants'
+
+export const useCallMaterialOrderQueryDrawer = (props: any, ctx?: any) => {
+ const callMaterialOrderDrawer = injectModel<CallMaterialOrderDrawer>(
+ 'CallMaterialOrderDrawer'
+ )
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ const initiateData: Ref<Record<string, any>> = ref({})
+ const formData = ref<Record<string, any>>({})
+ // ref
+ const formRef = ref()
+
+ const disabled = ref(false)
+
+ const current = computed(() => {
+ return props.row || null
+ })
+
+ const inputNumber = (attrs) => {
+ return (
+ <el-input-number
+ min="1"
+ step="1"
+ precision="0"
+ {...attrs}
+ ></el-input-number>
+ )
+ }
+
+ const datePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="daterange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const dateTimePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="datetimerange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 楂樼骇鏌ヨ鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '鍘熸枡鏍囪瘑',
+ prop: 'dataIdentifier',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欐爣璇�',
+ highSelectAttrs: {
+ prop: 'dataIdentifier_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: '鍘熸枡鍨嬪彿',
+ prop: 'materialMode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�',
+ highSelectAttrs: {
+ prop: 'materialMode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: '鍘熸枡鎵规',
+ prop: 'materialBatch',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欐壒娆�',
+ highSelectAttrs: {
+ prop: 'materialBatch_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: '鍙枡鐘舵��',
+ prop: 'callMaterialStatus',
+ el: 'select',
+ clearable: true,
+ option: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�',
+ highSelectAttrs: {
+ prop: 'callMaterialStatus_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_BOOL,
+ },
+ },
+ {
+ label: '鍙枡鏁伴噺',
+ prop: 'quantity',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 1,
+ precision: 0,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彨鏂欐暟閲�',
+ highSelectAttrs: {
+ prop: 'quantity_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_NUM,
+ },
+ },
+ {
+ label: 'WMS杩斿洖缁撴灉',
+ prop: 'wmsRetResult',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏MS杩斿洖缁撴灉',
+ highSelectAttrs: {
+ prop: 'wmsRetResult_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: 'WMS浠诲姟鍙�',
+ prop: 'wmsTaskNo',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏MS浠诲姟鍙�',
+ highSelectAttrs: {
+ prop: 'wmsTaskNo_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: '鍒涘缓鏃堕棿',
+ prop: 'creationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤烘椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '淇敼鏃堕棿',
+ prop: 'lastModificationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '鍒涘缓浜�',
+ prop: 'creatorName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤轰汉',
+ highSelectAttrs: {
+ prop: 'creatorName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: '淇敼浜�',
+ prop: 'lastModifierName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ慨鏀逛汉',
+ highSelectAttrs: {
+ prop: 'lastModifierName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ娉�',
+ highSelectAttrs: {
+ prop: 'remark_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options: FILTER_MODE_OPTIONS_STRING,
+ },
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ const checkIsEqualObject = () => {
+ const data = {
+ formData: formData.value,
+ }
+ const check = isEqual(initiateData.value, data)
+ return check
+ }
+ const commonGetFormData = () => {
+ const data = {
+ dataIdentifier: formData.value.dataIdentifier || '',
+ dataIdentifier_FilterMode: formData.value.dataIdentifier_FilterMode || '',
+ materialMode: formData.value.materialMode || '',
+ materialMode_FilterMode: formData.value.materialMode_FilterMode || '',
+ materialBatch: formData.value.materialBatch || '',
+ materialBatch_FilterMode: formData.value.materialBatch_FilterMode || '',
+ callMaterialStatus: formData.value.callMaterialStatus || '',
+ callMaterialStatus_FilterMode:
+ formData.value.callMaterialStatus_FilterMode || '',
+ quantity: formData.value.quantity || '',
+ quantity_FilterMode: formData.value.quantity_FilterMode || '',
+ wmsRetResult: formData.value.wmsRetResult || '',
+ wmsRetResult_FilterMode: formData.value.wmsRetResult_FilterMode || '',
+ wmsTaskNo: formData.value.wmsTaskNo || '',
+ wmsTaskNo_FilterMode: formData.value.wmsTaskNo_FilterMode || '',
+ creationTime: formData.value.creationTime || '',
+ lastModificationTime: formData.value.lastModificationTime || '',
+ creatorName: formData.value.creatorName || '',
+ creatorName_FilterMode: formData.value.creatorName_FilterMode || '',
+ lastModifierName: formData.value.lastModifierName || '',
+ lastModifierName_FilterMode:
+ formData.value.lastModifierName_FilterMode || '',
+ remark: formData.value.remark || '',
+ remark_FilterMode: formData.value.remark_FilterMode || '',
+ }
+ return data
+ }
+ const onClose = (done: () => void) => {
+ if (visible.value) {
+ visible.value = false
+ const data = commonGetFormData()
+ ctx.emit('close', data)
+ }
+ }
+ /**
+ * 纭鏌ヨ
+ */
+ const onConfirmQuery = async () => {
+ const data = commonGetFormData()
+ ctx.emit('confirmQuery', data)
+ }
+ /**
+ * 閲嶇疆鍏叡select鏌ヨ
+ */
+ const onResetForHighSelect = async () => {
+ formData.value.dataIdentifier_FilterMode = 1
+ formData.value.materialMode_FilterMode = 1
+ formData.value.materialBatch_FilterMode = 1
+ formData.value.callMaterialStatus_FilterMode = 2
+ formData.value.quantity_FilterMode = 2
+ formData.value.wmsRetResult_FilterMode = 1
+ formData.value.wmsTaskNo_FilterMode = 1
+ formData.value.creatorName_FilterMode = 1
+ formData.value.lastModifierName_FilterMode = 1
+ formData.value.remark_FilterMode = 1
+ }
+ /**
+ * 閲嶇疆鏌ヨ
+ */
+ const onReset = async () => {
+ formData.value = {}
+ onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+ formData.value.dataIdentifier = ''
+ formData.value.materialMode = ''
+ formData.value.materialBatch = ''
+ formData.value.callMaterialStatus = ''
+ formData.value.quantity = ''
+ formData.value.wmsRetResult = ''
+ formData.value.wmsTaskNo = ''
+ formData.value.creationTime = ''
+ formData.value.lastModificationTime = ''
+ formData.value.creatorName = ''
+ formData.value.lastModifierName = ''
+ formData.value.remark = ''
+ //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+ ctx.emit('restQuery')
+ }
+
+ const updateCheckData = () => {
+ initiateData.value = {
+ formData: {
+ ...formData.value,
+ },
+ }
+ }
+ const updateFormItemOptions = (propName: string, enumData: any[]) => {
+ const item = formItems.find((item) => item.prop === propName)
+ if (item && enumData) {
+ item.options = enumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ }
+ }
+ /**
+ * 閫氱敤鏌ヨ鏋氫妇
+ */
+ const commonQueryEnumForFrom = async () => {
+ const callMaterialStatusEnumEnum =
+ await callMaterialOrderDrawer.getWmsEnumData({
+ EnumName: 'CallMaterialStatusEnum',
+ })
+ updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum)
+ }
+ commonQueryEnumForFrom()
+ onResetForHighSelect() //閲嶇疆鍏叡select鏌ヨ
+ /**
+ * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+ */
+ const onOpen = async () => {
+ disabled.value = false
+ updateCheckData()
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirmQuery,
+ onReset,
+ }
+}
--
Gitblit v1.9.3