From 8099042b51891d1e58d6066f0247ba423f4457bd Mon Sep 17 00:00:00 2001 From: yyg1378265336 <1378265336@qq.com> Date: 星期四, 27 二月 2025 09:27:17 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/BS/TigerAdmin_2024 --- src/views/tigerprojects/mes/prod/biz_mes_wo/WoDrawer.vue | 167 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 107 insertions(+), 60 deletions(-) diff --git a/src/views/tigerprojects/mes/prod/biz_mes_wo/WoDrawer.vue b/src/views/tigerprojects/mes/prod/biz_mes_wo/WoDrawer.vue index 0f7a854..7ad50a9 100644 --- a/src/views/tigerprojects/mes/prod/biz_mes_wo/WoDrawer.vue +++ b/src/views/tigerprojects/mes/prod/biz_mes_wo/WoDrawer.vue @@ -4,74 +4,121 @@ @register="registerDrawer" showFooter :title="getTitle" - width="600px" + width="400px" @ok="handleSubmit" > - <BasicForm @register="registerForm" /> + <BasicForm @register="registerForm"> + <template #addItem="{ field }"> + <a-button + v-if="field" + class="mt-1 ml-1" + size="small" + @click="handleSelectItem" + preIcon="search|svg" + /> + <GeneralModal @register="registerItemAdd" @success="handleItemSuccess" /> + </template> + </BasicForm> </BasicDrawer> </template> -<script lang="ts"> - import { defineComponent, ref, computed, unref } from 'vue'; +<script lang="ts" setup> + import { ref, computed, unref } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; import { formSchema } from './biz_mes_wo.data'; import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; + import { SaveEntity } from '/@/api/tigerapi/system'; + import { useUserStore } from '/@/store/modules/user'; + import { useI18n } from '/@/hooks/web/useI18n'; + import GeneralModal from '/@/views/components/GeneralModal.vue'; + import { useModal } from '/@/components/Modal'; - import { SaveMesWo } from '/@/api/tigerapi/mes/wo'; - - export default defineComponent({ - name: 'ToolDrawer', - components: { BasicDrawer, BasicForm }, - emits: ['success', 'register'], - setup(_, { emit }) { - const isUpdate = ref(true); - const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { - resetFields(); - setDrawerProps({ confirmLoading: false }); - isUpdate.value = !!data?.isUpdate; - if (unref(isUpdate)) { - setFieldsValue({ - ...data.record, - }); - } + const { t } = useI18n(); + const emit = defineEmits(['success', 'register']); + const isUpdate = ref(true); + const [registerItemAdd, { openModal: openItemModal }] = useModal(); + const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { + resetFields(); + setDrawerProps({ confirmLoading: false }); + isUpdate.value = !!data?.isUpdate; + if (unref(isUpdate)) { + setFieldsValue({ + ...data.record, }); - const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({ - labelWidth: 120, - schemas: formSchema, - actionColOptions: { - span: 24, - }, - showActionButtonGroup: false, - }); - - const getTitle = computed(() => (!unref(isUpdate) ? '鏂板宸ュ崟' : '缂栬緫宸ュ崟')); - - async function handleSubmit() { - try { - const values = await validate(); - setDrawerProps({ confirmLoading: true }); - // TODO custom api - //淇濆瓨宸ュ崟 - if (!unref(isUpdate)) { - values.STATUS = 0; - } - const apiAction = SaveMesWo(values); - apiAction.then((action) => { - if (action.IsSuccessed) { - closeDrawer(); - emit('success'); - } - }); - } finally { - setDrawerProps({ confirmLoading: false }); - } - } - - return { - registerDrawer, - registerForm, - getTitle, - handleSubmit, - }; - }, + } }); + const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({ + labelWidth: 120, + schemas: formSchema, + actionColOptions: { + span: 24, + }, + showActionButtonGroup: false, + }); + + const getTitle = computed(() => (!unref(isUpdate) ? '鏂板宸ュ崟' : '缂栬緫宸ュ崟')); + + async function handleSubmit() { + try { + const values = await validate(); + setDrawerProps({ confirmLoading: true }); + // TODO custom api + //淇濆瓨宸ュ崟 + if (!unref(isUpdate)) { + values.STATUS = 0; + } + values.AUTH_PROD = useUserStore().getUserInfo.prodCode; + values.FACTORY = useUserStore().getUserInfo.prodCode; + const apiAction = SaveEntity(values, unref(isUpdate), 'BIZ_MES_WO'); + apiAction.then((action) => { + if (action.IsSuccessed) { + closeDrawer(); + emit('success'); + } + }); + } finally { + setDrawerProps({ confirmLoading: false }); + } + } + + //鐐瑰嚮鎵撳紑鐗╂枡鍒楄〃妗� + function handleSelectItem() { + openItemModal(true, { + title: '鐗╂枡鍒楄〃', + schemas: [ + { + field: 'ITEM_CODE', + component: 'Input', + label: '鐗╂枡缂栫爜', + colProps: { + span: 12, + }, + }, + ], + ItemColumns: [ + { + title: t('鐗╂枡缂栫爜'), + dataIndex: 'ITEM_CODE', + resizable: true, + sorter: true, + width: 200, + }, + { + title: t('鐗╂枡鍚嶇О'), + dataIndex: 'ITEM_NAME', + resizable: true, + sorter: true, + width: 180, + }, + ], + tableName: 'BAS_ITEM', + rowKey: 'ITEM_CODE', + searchInfo: {TABLE_NAME: 'BAS_ITEM'} + }); + } + + function handleItemSuccess(d, u) { + setFieldsValue({ + ITEM_CODE: d.values['val'], + }); + } </script> -- Gitblit v1.9.3