From 086e8d457fb6480f126aedbd2677c7e97bdac193 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周三, 07 5月 2025 15:49:09 +0800 Subject: [PATCH] 任务管理修改 --- HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx | 837 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 425 insertions(+), 412 deletions(-) diff --git a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx index 3a39278..0f6562d 100644 --- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx +++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx @@ -1,412 +1,425 @@ -import { - ref, - onMounted, - reactive, - computed, - Ref, - watch, - SetupContext, - h, -} from 'vue' -import { injectModel } from '@/libs/Provider/Provider' -import { WmsTaskDrawer } from '../Models/WmsTaskDrawer' -import { ElMessage } from 'element-plus' -import isEqual from 'lodash/isEqual' -import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' -import { cloneDeep } from 'lodash' - -export const useWmsTaskDrawer = (props: any, ctx?: any) => { - const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer') - /** - * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 - */ - 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 datePicker = (attrs) => { - return ( - <el-date-picker - type="datetime" - format="YYYY-MM-DD" - {...attrs} - ></el-date-picker> - ) - } - - const dateTimePicker = (attrs) => { - return ( - <el-date-picker - type="datetime" - format="YYYY-MM-DD HH:mm:ss" - {...attrs} - ></el-date-picker> - ) - } - - const visible = computed({ - get() { - return props.modelValue - }, - set(val) { - ctx.emit('update:modelValue', val) - }, - }) - /** - * 娣诲姞鐨刦orm瀛楁 - */ - const formItems = reactive([ - { - label: '浠诲姟鍙�', - prop: 'taskNo', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ换鍔″彿', - rules: [{required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }], - }, - { - label: '浠诲姟绫诲瀷', - prop: 'taskType', - el: 'select', - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ换鍔$被鍨�', - rules: [{required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], - }, - { - label: '浠诲姟绛夌骇', - prop: 'taskLevel', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�', - rules: [{required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }], - }, - { - label: '浠诲姟鐘舵��', - prop: 'taskStatus', - el: 'select', - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�', - rules: [{required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], - }, - { - label: '鎵樼洏缂栧彿', - prop: 'containerNo', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', - }, - { - label: '璧峰搴撲綅', - prop: 'sourcePlace', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', - }, - { - label: '鐩爣搴撲綅', - prop: 'toPlace', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', - }, - { - label: '宸烽亾', - prop: 'aisle', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ュ贩閬�', - }, - { - label: '鍫嗗灈鏈篒D', - prop: 'dodeviceId', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ュ爢鍨涙満ID', - }, - { - label: '璁惧绫诲瀷', - prop: 'dodevicetype', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ヨ澶囩被鍨�', - rules: [{required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], - }, - { - label: '璁惧浠诲姟鐘舵��', - prop: 'taskDodeviceStatus', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�', - rules: [{required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], - }, - { - label: 'WCS鏄惁鍙互璇诲彇', - prop: 'isRead', - el: 'select', - //disabled: disabled, - placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇', - rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }], - options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] - }, - { - label: '瀛愪换鍔$被鍨�', - prop: 'sonTaskType', - el: 'select', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷', - }, - { - label: '鏉ユ簮鍗曟嵁鍙�', - prop: 'sourceOrderNo', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿', - }, - { - label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛', - prop: 'isNextTask', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, - width: '100%', - step: 1, - precision: 0, - //disabled: disabled, - placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�', - }, - { - label: '鍙彉鍙橀噺1', - prop: 'mutableParam1', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1', - }, - { - label: '鍙彉鍙橀噺2', - prop: 'mutableParam2', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2', - }, - { - label: '鍙彉鍙橀噺3', - prop: 'mutableParam3', - el: 'input', - //disabled: disabled, - placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3', - }, - ]) - /** - * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� - */ - const checkIsEqualObject = () => { - const data = { - formData: formData.value, - } - const check = isEqual(initiateData.value, data) - return check - } - - const onClose = (done: () => void) => { - if (visible.value) { - if (checkIsEqualObject()) { - visible.value = false - done && done() - } else { - ConfirmBox('鏄惁淇濆瓨璁剧疆锛�') - .then(() => { - onConfirm() - }) - .catch(() => { - visible.value = false - done && done() - }) - } - } - } - /** - * 淇濆瓨 - */ - const onConfirm = async () => { - await formRef.value?.validate() - const data = { - taskNo: formData.value.taskNo, -taskType: formData.value.taskType, -taskLevel: formData.value.taskLevel, -taskStatus: formData.value.taskStatus, -containerNo: formData.value.containerNo, -sourcePlace: formData.value.sourcePlace, -toPlace: formData.value.toPlace, -aisle: formData.value.aisle, -dodeviceId: formData.value.dodeviceId, -dodevicetype: formData.value.dodevicetype, -taskDodeviceStatus: formData.value.taskDodeviceStatus, -isRead: formData.value.isRead, -sonTaskType: formData.value.sonTaskType, -sourceOrderNo: formData.value.sourceOrderNo, -isNextTask: formData.value.isNextTask, -mutableParam1: formData.value.mutableParam1, -mutableParam2: formData.value.mutableParam2, -mutableParam3: formData.value.mutableParam3, - } - if (!current.value) { - await wmsTaskDrawer.addWmsTask(data) - } else { - const id = current.value.id - await wmsTaskDrawer.updateWmsTask(id, data) - } - ElMessage.success('淇濆瓨鎴愬姛') - ctx.emit('confirm') - } - - 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 taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ - EnumName: 'TaskTypeEnum', -}) -updateFormItemOptions('taskType', taskTypeEnumEnum) -const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({ - EnumName: 'WmsTaskStatus', -}) -updateFormItemOptions('taskStatus', wmsTaskStatusEnum) -const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ - EnumName: 'SonTaskTypeEnum', -}) -updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum) - - } - commonQueryEnumForFrom() - /** - * 寮圭獥鎵撳紑鑾峰彇璇︽儏 - */ - const onOpen = async () => { - if (current.value) { - const res = await wmsTaskDrawer.getWmsTaskDetail(current.value) - - formData.value = { - taskNo: res.taskNo, -taskType: res.taskType, -taskLevel: res.taskLevel, -taskStatus: res.taskStatus, -containerNo: res.containerNo, -sourcePlace: res.sourcePlace, -toPlace: res.toPlace, -aisle: res.aisle, -dodeviceId: res.dodeviceId, -dodevicetype: res.dodevicetype, -taskDodeviceStatus: res.taskDodeviceStatus, -isRead: res.isRead, -sonTaskType: res.sonTaskType, -sourceOrderNo: res.sourceOrderNo, -isNextTask: res.isNextTask, -mutableParam1: res.mutableParam1, -mutableParam2: res.mutableParam2, -mutableParam3: res.mutableParam3, - id: res.id, - } - disabled.value = true - updateCheckData() - } else { - formData.value = {} - - disabled.value = false - updateCheckData() - } - } - - watch(() => current.value, onOpen) - - return { - formItems, - formData, - visible, - formRef, - onOpen, - onClose, - onConfirm, - } -} +import { + ref, + onMounted, + reactive, + computed, + Ref, + watch, + SetupContext, + h, +} from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsTaskDrawer } from '../Models/WmsTaskDrawer' +import { ElMessage } from 'element-plus' +import isEqual from 'lodash/isEqual' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { cloneDeep } from 'lodash' + +export const useWmsTaskDrawer = (props: any, ctx?: any) => { + const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer') + /** + * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 + */ + 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 datePicker = (attrs) => { + return ( + <el-date-picker + type="datetime" + format="YYYY-MM-DD" + {...attrs} + ></el-date-picker> + ) + } + + const dateTimePicker = (attrs) => { + return ( + <el-date-picker + type="datetime" + format="YYYY-MM-DD HH:mm:ss" + {...attrs} + ></el-date-picker> + ) + } + + const visible = computed({ + get() { + return props.modelValue + }, + set(val) { + ctx.emit('update:modelValue', val) + }, + }) + /** + * 娣诲姞鐨刦orm瀛楁 + */ + const formItems = reactive([ + { + label: '浠诲姟鍙�', + prop: 'taskNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ换鍔″彿', + rules: [{ required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }], + }, + { + label: '浠诲姟绫诲瀷', + prop: 'taskType', + el: 'select', + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ换鍔$被鍨�', + rules: [{ required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], + }, + { + label: '瀛愪换鍔$被鍨�', + prop: 'sonTaskType', + el: 'select', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷', + }, + { + label: '浠诲姟绛夌骇', + prop: 'taskLevel', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�', + rules: [{ required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }], + }, + { + label: '浠诲姟鐘舵��', + prop: 'taskStatus', + el: 'select', + options: [], + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�', + rules: [{ required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], + }, + { + label: '鎵樼洏缂栧彿', + prop: 'containerNo', + el: 'input', + rules: [{ required: true, message: '鎵樼洏缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }], + //disabled: disabled, + placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', + }, + { + label: '璧峰搴撲綅', + prop: 'sourcePlace', + el: 'input', + //disabled: disabled, + rules: [{ required: true, message: '璧峰搴撲綅涓嶈兘涓虹┖', trigger: 'blur' }], + placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', + }, + { + label: '鐩爣搴撲綅', + prop: 'toPlace', + el: 'input', + //disabled: disabled, + rules: [{ required: true, message: '鐩爣搴撲綅涓嶈兘涓虹┖', trigger: 'blur' }], + placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', + }, + { + label: '宸烽亾', + prop: 'aisle', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + rules: [{ required: true, message: '宸烽亾涓嶈兘涓虹┖', trigger: 'blur' }], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ贩閬�', + }, + { + label: '鍫嗗灈鏈篒D', + prop: 'dodeviceId', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + rules: [{ required: true, message: '鍫嗗灈鏈篒D涓嶈兘涓虹┖', trigger: 'blur' }], + //disabled: disabled, + placeholder: '璇疯緭鍏ュ爢鍨涙満ID', + }, + { + label: '璁惧绫诲瀷', + prop: 'dodevicetype', + el: 'select', + options: [], + width: '100%', + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ澶囩被鍨�', + rules: [{ required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], + }, + { + label: '璁惧浠诲姟鐘舵��', + prop: 'taskDodeviceStatus', + el: 'select', + options: [], + width: '100%', + //disabled: disabled, + placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�', + rules: [ + { required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }, + ], + }, + { + label: 'WCS鏄惁鍙互璇诲彇', + prop: 'isRead', + el: 'select', + //disabled: disabled, + placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇', + rules: [ + { required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }, + ], + options: [ + { label: '鏄�', value: true }, + { label: '鍚�', value: false }, + ], + }, + { + label: '鏉ユ簮鍗曟嵁鍙�', + prop: 'sourceOrderNo', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿', + }, + { + label: '涓嬩釜浠诲姟鏄惁鐢熸垚', + prop: 'isNextTask', + el: (props: any, { attrs }: SetupContext) => { + return h(inputNumber, { + ...props, + clearable: true, + ...attrs, + }) + }, + width: '100%', + step: 1, + precision: 0, + //disabled: disabled, + placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�', + }, + { + label: '鍙彉鍙橀噺1', + prop: 'mutableParam1', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1', + }, + { + label: '鍙彉鍙橀噺2', + prop: 'mutableParam2', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2', + }, + { + label: '鍙彉鍙橀噺3', + prop: 'mutableParam3', + el: 'input', + //disabled: disabled, + placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3', + }, + ]) + /** + * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� + */ + const checkIsEqualObject = () => { + const data = { + formData: formData.value, + } + const check = isEqual(initiateData.value, data) + return check + } + + const onClose = (done: () => void) => { + if (visible.value) { + if (checkIsEqualObject()) { + visible.value = false + done && done() + } else { + ConfirmBox('鏄惁淇濆瓨璁剧疆锛�') + .then(() => { + onConfirm() + }) + .catch(() => { + visible.value = false + done && done() + }) + } + } + } + /** + * 淇濆瓨 + */ + const onConfirm = async () => { + await formRef.value?.validate() + const data = { + taskNo: formData.value.taskNo, + taskType: formData.value.taskType, + taskLevel: formData.value.taskLevel, + taskStatus: formData.value.taskStatus, + containerNo: formData.value.containerNo, + sourcePlace: formData.value.sourcePlace, + toPlace: formData.value.toPlace, + aisle: formData.value.aisle, + dodeviceId: formData.value.dodeviceId, + dodevicetype: formData.value.dodevicetype, + taskDodeviceStatus: formData.value.taskDodeviceStatus, + isRead: formData.value.isRead, + sonTaskType: formData.value.sonTaskType, + sourceOrderNo: formData.value.sourceOrderNo, + isNextTask: formData.value.isNextTask, + mutableParam1: formData.value.mutableParam1, + mutableParam2: formData.value.mutableParam2, + mutableParam3: formData.value.mutableParam3, + } + if (!current.value) { + await wmsTaskDrawer.addWmsTask(data) + } else { + const id = current.value.id + await wmsTaskDrawer.updateWmsTask(id, data) + } + ElMessage.success('淇濆瓨鎴愬姛') + ctx.emit('confirm') + } + + 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 taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ + EnumName: 'TaskTypeEnum', + }) + updateFormItemOptions('taskType', taskTypeEnumEnum) + const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({ + EnumName: 'WmsTaskStatus', + }) + updateFormItemOptions('taskStatus', wmsTaskStatusEnum) + const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ + EnumName: 'SonTaskTypeEnum', + }) + updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum) + + const dodevicetypeEnum = await wmsTaskDrawer.getWmsEnumData({ + EnumName: 'DodevicetypeEnum', + }) + updateFormItemOptions('dodevicetype', dodevicetypeEnum) + + const taskDodeviceStatus = await wmsTaskDrawer.getWmsEnumData({ + EnumName: 'TaskDodeviceStatus', + }) + updateFormItemOptions('taskDodeviceStatus', taskDodeviceStatus) + } + commonQueryEnumForFrom() + /** + * 寮圭獥鎵撳紑鑾峰彇璇︽儏 + */ + const onOpen = async () => { + if (current.value) { + const res = await wmsTaskDrawer.getWmsTaskDetail(current.value) + + formData.value = { + taskNo: res.taskNo, + taskType: res.taskType, + taskLevel: res.taskLevel, + taskStatus: res.taskStatus, + containerNo: res.containerNo, + sourcePlace: res.sourcePlace, + toPlace: res.toPlace, + aisle: res.aisle, + dodeviceId: res.dodeviceId, + dodevicetype: res.dodevicetype, + taskDodeviceStatus: res.taskDodeviceStatus, + isRead: res.isRead, + sonTaskType: res.sonTaskType, + sourceOrderNo: res.sourceOrderNo, + isNextTask: res.isNextTask, + mutableParam1: res.mutableParam1, + mutableParam2: res.mutableParam2, + mutableParam3: res.mutableParam3, + id: res.id, + } + disabled.value = true + updateCheckData() + } else { + formData.value = { + taskDodeviceStatus: 1, + isRead: true, + isNextTask: 1, + taskStatus: 1, + } + + disabled.value = false + updateCheckData() + } + } + + watch(() => current.value, onOpen) + + return { + formItems, + formData, + visible, + formRef, + onOpen, + onClose, + onConfirm, + } +} -- Gitblit v1.9.3