From cf2389121671bc8d09f32175acae80b074e21fc3 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 10 十月 2024 01:23:08 +0800
Subject: [PATCH] 一些更改

---
 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