From 62f0e403c98fb76d39b8f1150d2bf2f026423b85 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 27 五月 2024 00:38:50 +0800
Subject: [PATCH] 工单管理

---
 src/views/tigerprojects/wms/inventory/CountMdtlModal.vue |  587 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 302 insertions(+), 285 deletions(-)

diff --git a/src/views/tigerprojects/wms/inventory/CountMdtlModal.vue b/src/views/tigerprojects/wms/inventory/CountMdtlModal.vue
index 2abb3f8..e998c2e 100644
--- a/src/views/tigerprojects/wms/inventory/CountMdtlModal.vue
+++ b/src/views/tigerprojects/wms/inventory/CountMdtlModal.vue
@@ -1,313 +1,330 @@
 <template>
-  <BasicModal width="1400px" :height=600 v-bind="$attrs" @register="register" :title="t('鐗╁搧鐩樼偣鏄庣粏鍒楄〃')" @ok="handleSubmit">
+  <BasicModal
+    width="1400px"
+    :height="600"
+    v-bind="$attrs"
+    @register="register"
+    :title="t('鐗╁搧鐩樼偣鏄庣粏鍒楄〃')"
+    @ok="handleSubmit"
+  >
     <!-- <div class="pt-3px pr-3px">
       <BasicForm @register="registerForm" :model="model" />
     </div> -->
     <div>
       <!-- <a-button type="primary" class="mr-4" @click="handleSelect"> {{ t('鎼滅储') }} </a-button> -->
-      <BasicTable @register="registerTable" ref="tableRef" :canResize="canResize"
-        :striped="striped" :loading="loading" :bordered="border" showTableSetting>
+      <BasicTable
+        @register="registerTable"
+        ref="tableRef"
+        :canResize="canResize"
+        :striped="striped"
+        :loading="loading"
+        :bordered="border"
+        showTableSetting
+      >
         <template #toolbar>
           <a-button ghost color="success" preIcon="OutR|svg" @click="aoaToExcel"> 瀵煎嚭 </a-button>
         </template>
       </BasicTable>
-
     </div>
   </BasicModal>
 </template>
 <script lang="ts">
-import { aoaToSheetXlsx } from '/@/components/Excel';
-import { defineComponent, ref, unref } from 'vue';
-import { BasicModal, useModalInner } from '/@/components/Modal';
-import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
-//import { getTreeList } from '/@/api/tigerapi/dept';
-import { BasicTable, TableAction, TableActionType, useTable } from '/@/components/Table';
-import { MdtlColumns } from './inventory.data';
-import { getMdtlListByPage, optionsListApiMdtlResult, optionsListApiMdtlStatus, getMdtlListByPageOut } from '/@/api/tigerapi/wms/inventory';
-import { iWMS_COUNT_MDTL } from '/@/api/tigerapi/model/warehoueseModel';
-import { useI18n } from '/@/hooks/web/useI18n';
-import { useLocale } from '/@/locales/useLocale';
-import { useMessage } from '/@/hooks/web/useMessage';
+  import { aoaToSheetXlsx } from '/@/components/Excel';
+  import { defineComponent, ref, unref } from 'vue';
+  import { BasicModal, useModalInner } from '/@/components/Modal';
+  import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
+  //import { getTreeList } from '/@/api/tigerapi/dept';
+  import { BasicTable, TableAction, TableActionType, useTable } from '/@/components/Table';
+  import { MdtlColumns } from './inventory.data';
+  import {
+    getMdtlListByPage,
+    optionsListApiMdtlResult,
+    optionsListApiMdtlStatus,
+    getMdtlListByPageOut,
+  } from '/@/api/tigerapi/wms/inventory';
+  import { iWMS_COUNT_MDTL } from '/@/api/tigerapi/model/warehoueseModel';
+  import { useI18n } from '/@/hooks/web/useI18n';
+  import { useLocale } from '/@/locales/useLocale';
+  import { useMessage } from '/@/hooks/web/useMessage';
 
-const { createMessage } = useMessage();
-const { getLocale } = useLocale();
-const { t } = useI18n('WMS.Count');
+  const { createMessage } = useMessage();
+  const { getLocale } = useLocale();
+  const { t } = useI18n('WMS.Count');
 
-const schemas: FormSchema[] = [
-  {
-    field: 'ITEM_CODE',
-    component: 'Input',
-    label: t('鐗╂枡缂栫爜'),
-    colProps: {
-      span: 12,
-    },
-  },
-  {
-    field: 'COUNT_NO',
-    component: 'Input',
-    label: t('鍗曟嵁缂栫爜'),
-    colProps: {
-      span: 12,
-    },
-    show: false,
-  },
-  {
-    field: 'STATUS',
-    label: t('鐘舵��'),
-    component: 'ApiSelect',
-    colProps: { span: 8 },
-    componentProps: {
-      api: optionsListApiMdtlStatus,
-      resultField: 'Data',
-      labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name',
-      valueField: 'Value',
-      // onChange: (e, v) => {
-      //   alert(e)
-      //   console.log('ApiSelect====>:', e, v);
-      // },
-    },
-  },
-  {
-    field: 'RESULT',
-    label: t('缁撴灉'),
-    component: 'ApiSelect',
-    colProps: { span: 8 },
-    componentProps: {
-      api: optionsListApiMdtlResult,
-      resultField: 'Data',
-      labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name',
-      valueField: 'Value',
-      // onChange: (e, v) => {
-      //   alert(e)
-      //   console.log('ApiSelect====>:', e, v);
-      // },
-    },
-  }
-];
-export default defineComponent({
-  components: { BasicModal, BasicForm, BasicTable, TableAction },
-  props: {
-    userData: { type: Object },
-  },
-  emit: ['success', 'register'],
-  setup(_, { emit }) {
-    const modelRef = ref({});
-    const tableRef = ref<Nullable<TableActionType>>(null);
-    const canResize = ref(false);
-    const loading = ref(true);
-    const striped = ref(true);
-    const border = ref(true);
-    //const pagination = ref<any>(false);
-    // const [
-    //   registerForm,
-    //   {
-    //     setFieldsValue,
-    //     validateFields
-    //     // setProps
-    //     //updateSchema,
-    //     //validate
-    //   },
-    // ] = useForm({
-    //   labelWidth: 120,
-    //   schemas,
-    //   showActionButtonGroup: false,
-    //   actionColOptions: {
-    //     span: 24,
-    //   },
-    // });
-    const checkedKeys = ref<Array<string | number>>([]);
-      let COUNT_NO = ref('');
-    const [registerTable, { reload, getForm }] = useTable({
-      title: t('鐗╂枡鍒楄〃'),
-      api: getMdtlListByPage,
-      columns: MdtlColumns,
-      formConfig: {
-        labelWidth: 120,
-        schemas: schemas,
+  const schemas: FormSchema[] = [
+    {
+      field: 'ITEM_CODE',
+      component: 'Input',
+      label: t('鐗╂枡缂栫爜'),
+      colProps: {
+        span: 12,
       },
-
-      useSearchForm: true,
-      showTableSetting: true,
-      bordered: true,
-      canResize: true,
-      showIndexColumn: false,
-      rowKey: 'ITEM_CODE',
-      searchInfo: { COUNT_NO },
-      rowSelection: {
-        selectedRowKeys: checkedKeys,
-
-        type: 'checkbox',
-        // getCheckboxProps(record: Recordable) {
-        //   // Demo: 绗竴琛岋紙id涓�0锛夌殑閫夋嫨妗嗙鐢�
-        //   if (record.id === '0') {
-        //     return { disabled: true };
-        //   } else {
-        //     return { disabled: false };
-        //   }
+    },
+    {
+      field: 'COUNT_NO',
+      component: 'Input',
+      label: t('鍗曟嵁缂栫爜'),
+      colProps: {
+        span: 12,
+      },
+      show: false,
+    },
+    {
+      field: 'STATUS',
+      label: t('鐘舵��'),
+      component: 'ApiSelect',
+      colProps: { span: 8 },
+      componentProps: {
+        api: optionsListApiMdtlStatus,
+        resultField: 'Data',
+        labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name',
+        valueField: 'Value',
+        // onChange: (e, v) => {
+        //   alert(e)
+        //   console.log('ApiSelect====>:', e, v);
         // },
-        onSelect: onSelect,
-        onSelectAll: onSelectAll,
-      }
-    });
-    const [register, { setModalProps, closeModal }] = useModalInner((data) => {
-      setModalProps({ confirmLoading: false });
-      data && onDataReceive(data);
-    });
-    //var Mdtl_Data = ref([] as iWMS_COUNT_MDTL[])
-   
-    async function onDataReceive(data) {
-      // pagination.value = { pageSize: 50 };
-      console.log('Data Received', data);
-      COUNT_NO.value = data.data.COUNT_NO
-      //鏂瑰紡1;
-      // setFieldsValue({
-      //   COUNT_NO: data.data.COUNT_NO,
+      },
+    },
+    {
+      field: 'RESULT',
+      label: t('缁撴灉'),
+      component: 'ApiSelect',
+      colProps: { span: 8 },
+      componentProps: {
+        api: optionsListApiMdtlResult,
+        resultField: 'Data',
+        labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name',
+        valueField: 'Value',
+        // onChange: (e, v) => {
+        //   alert(e)
+        //   console.log('ApiSelect====>:', e, v);
+        // },
+      },
+    },
+  ];
+  export default defineComponent({
+    components: { BasicModal, BasicForm, BasicTable, TableAction },
+    props: {
+      userData: { type: Object },
+    },
+    emit: ['success', 'register'],
+    setup(_, { emit }) {
+      const modelRef = ref({});
+      const tableRef = ref<Nullable<TableActionType>>(null);
+      const canResize = ref(false);
+      const loading = ref(true);
+      const striped = ref(true);
+      const border = ref(true);
+      //const pagination = ref<any>(false);
+      // const [
+      //   registerForm,
+      //   {
+      //     setFieldsValue,
+      //     validateFields
+      //     // setProps
+      //     //updateSchema,
+      //     //validate
+      //   },
+      // ] = useForm({
+      //   labelWidth: 120,
+      //   schemas,
+      //   showActionButtonGroup: false,
+      //   actionColOptions: {
+      //     span: 24,
+      //   },
       // });
-      //Mdtl_Data.value = await getMdtlListByPage(data.data.COUNT_NO)
-      // if (Mdtl_Data != null) {
-      //   loading.value = false
-      // }
-      // // 鏂瑰紡2
-      //modelRef.value = { field2: data.data, field1: data.info };
-      // const treeData = await getTreeList();
-      // updateSchema([
-      //   {
-      //     field: 'USER_PWD',
-      //     show: !unref(false),
-      //   },
-      //   {
-      //     field: 'ORG_CODE',
-      //     componentProps: { treeData },
-      //   },
-      // ]);
-      // setProps({
-      //   model:{ field2: data.data, field1: data.info }
-      // })
-    }
+      const checkedKeys = ref<Array<string | number>>([]);
+      let COUNT_NO = ref('');
+      const [registerTable, { reload, getForm }] = useTable({
+        title: t('鐗╂枡鍒楄〃'),
+        api: getMdtlListByPage,
+        columns: MdtlColumns,
+        formConfig: {
+          labelWidth: 120,
+          schemas: schemas,
+        },
 
-    // function handleVisibleChange(v) {
-    //   v && props.userData && nextTick(() => onDataReceive(props.userData));
-    // }
+        useSearchForm: true,
+        showTableSetting: true,
+        bordered: true,
+        canResize: true,
+        showIndexColumn: false,
+        rowKey: 'ITEM_CODE',
+        searchInfo: { COUNT_NO },
+        rowSelection: {
+          selectedRowKeys: checkedKeys,
 
-    async function handleSubmit() {
-      try {
-
-        // var values = '';
-        // values=checkedKeys.value.join(',')
-        closeModal();
-        emit('success', {
-          isUpdate: unref(false),
-          //values: { values, id: 0 },
-        });
-
-      } finally {
+          type: 'checkbox',
+          // getCheckboxProps(record: Recordable) {
+          //   // Demo: 绗竴琛岋紙id涓�0锛夌殑閫夋嫨妗嗙鐢�
+          //   if (record.id === '0') {
+          //     return { disabled: true };
+          //   } else {
+          //     return { disabled: false };
+          //   }
+          // },
+          onSelect: onSelect,
+          onSelectAll: onSelectAll,
+        },
+      });
+      const [register, { setModalProps, closeModal }] = useModalInner((data) => {
         setModalProps({ confirmLoading: false });
+        data && onDataReceive(data);
+      });
+      //var Mdtl_Data = ref([] as iWMS_COUNT_MDTL[])
+
+      async function onDataReceive(data) {
+        // pagination.value = { pageSize: 50 };
+        console.log('Data Received', data);
+        COUNT_NO.value = data.data.COUNT_NO;
+        //鏂瑰紡1;
+        // setFieldsValue({
+        //   COUNT_NO: data.data.COUNT_NO,
+        // });
+        //Mdtl_Data.value = await getMdtlListByPage(data.data.COUNT_NO)
+        // if (Mdtl_Data != null) {
+        //   loading.value = false
+        // }
+        // // 鏂瑰紡2
+        //modelRef.value = { field2: data.data, field1: data.info };
+        // const treeData = await getTreeList();
+        // updateSchema([
+        //   {
+        //     field: 'USER_PWD',
+        //     show: !unref(false),
+        //   },
+        //   {
+        //     field: 'ORG_CODE',
+        //     componentProps: { treeData },
+        //   },
+        // ]);
+        // setProps({
+        //   model:{ field2: data.data, field1: data.info }
+        // })
       }
-    }
-    function onSelect(record, selected) {
-      if (selected) {
-        checkedKeys.value = [...checkedKeys.value, record.ITEM_CODE];
-      } else {
-        checkedKeys.value = checkedKeys.value.filter((ITEM_CODE) => ITEM_CODE !== record.ITEM_CODE);
+
+      // function handleVisibleChange(v) {
+      //   v && props.userData && nextTick(() => onDataReceive(props.userData));
+      // }
+
+      async function handleSubmit() {
+        try {
+          // var values = '';
+          // values=checkedKeys.value.join(',')
+          closeModal();
+          emit('success', {
+            isUpdate: unref(false),
+            //values: { values, id: 0 },
+          });
+        } finally {
+          setModalProps({ confirmLoading: false });
+        }
       }
-    }
-    function onSelectAll(selected, selectedRows, changeRows) {
-      const changeIds = changeRows.map((item) => item.ITEM_CODE);
-      if (selected) {
-        checkedKeys.value = [...checkedKeys.value, ...changeIds];
-      } else {
-        checkedKeys.value = checkedKeys.value.filter((ITEM_CODE) => {
-          return !changeIds.includes(ITEM_CODE);
-        });
+      function onSelect(record, selected) {
+        if (selected) {
+          checkedKeys.value = [...checkedKeys.value, record.ITEM_CODE];
+        } else {
+          checkedKeys.value = checkedKeys.value.filter(
+            (ITEM_CODE) => ITEM_CODE !== record.ITEM_CODE,
+          );
+        }
       }
-    }
-    // async function handleSelect() {
-    //   var data = await validateFields();
-    //   Mdtl_Data.value = await getMdtlListByPage(data)
-    // }
-    let arr: any[] = [];
-    function aoaToExcel() {
-      arr = []
-      var col = getForm().getFieldsValue();
-      col.COUNT_NO = COUNT_NO.value;
-      getMdtlListByPageOut(col).then((res) => {
-        res.forEach(element => {
-          let start = ''
-          switch (element.STATUS) {
-            case 0:
-              start = '寰呯洏鐐�';
-              break;
-            case 1:
-              start = '宸茬洏鐐�';
-              break;
-            default:
-              break;
-          }
-          let result = ''
-          switch (element.RESULT) {
-            case 0:
-              result = '鏃犵粨鏋�';
-              break;
-            case 1:
-              result = '骞冲笎';
-              break;
-            case 2:
-              result = '鐩樼泩';
-              break;
-            case 3:
-              result = '鐩樹簭';
-              break;
-            default:
-              break;
-          }
-          arr.push({
-            '鐗╂枡缂栫爜': element.ITEM_CODE,
-            '鎿嶄綔鏃堕棿': element.UPDATE_TIME,
-            '鏉$爜': element.SN,
-            '鍌ㄤ綅浠g爜': element.LOCATION_CODE,
-            '鐗╂枡鍚嶇О': element.ITEM_NAME,
-            '鐘舵��': start,
-            '缁撴灉': result,
-            '搴撳瓨鏁伴噺': element.QTY,
-            '鐩樼偣鏁伴噺': element.ACT_QTY,
-            '鏈洏鐐规暟閲�': element.NOT_QTY,
+      function onSelectAll(selected, selectedRows, changeRows) {
+        const changeIds = changeRows.map((item) => item.ITEM_CODE);
+        if (selected) {
+          checkedKeys.value = [...checkedKeys.value, ...changeIds];
+        } else {
+          checkedKeys.value = checkedKeys.value.filter((ITEM_CODE) => {
+            return !changeIds.includes(ITEM_CODE);
+          });
+        }
+      }
+      // async function handleSelect() {
+      //   var data = await validateFields();
+      //   Mdtl_Data.value = await getMdtlListByPage(data)
+      // }
+      let arr: any[] = [];
+      function aoaToExcel() {
+        arr = [];
+        var col = getForm().getFieldsValue();
+        col.COUNT_NO = COUNT_NO.value;
+        getMdtlListByPageOut(col).then((res) => {
+          res.forEach((element) => {
+            let start = '';
+            switch (element.STATUS) {
+              case 0:
+                start = '寰呯洏鐐�';
+                break;
+              case 1:
+                start = '宸茬洏鐐�';
+                break;
+              default:
+                break;
+            }
+            let result = '';
+            switch (element.RESULT) {
+              case 0:
+                result = '鏃犵粨鏋�';
+                break;
+              case 1:
+                result = '骞冲笎';
+                break;
+              case 2:
+                result = '鐩樼泩';
+                break;
+              case 3:
+                result = '鐩樹簭';
+                break;
+              default:
+                break;
+            }
+            arr.push({
+              鐗╂枡缂栫爜: element.ITEM_CODE,
+              鎿嶄綔鏃堕棿: element.UPDATE_TIME,
+              鏉$爜: element.SN,
+              鍌ㄤ綅浠g爜: element.LOCATION_CODE,
+              鐗╂枡鍚嶇О: element.ITEM_NAME,
+              鐘舵��: start,
+              缁撴灉: result,
+              搴撳瓨鏁伴噺: element.QTY,
+              鐩樼偣鏁伴噺: element.ACT_QTY,
+              鏈洏鐐规暟閲�: element.NOT_QTY,
+            });
+          });
+          const arrHeader = MdtlColumns.map((column) => column.title);
+          const arrData = arr.map((item) => {
+            return Object.keys(item).map((key) => item[key]);
+          });
+          // 淇濊瘉data椤哄簭涓巋eader涓�鑷�
+          aoaToSheetXlsx({
+            data: arrData,
+            header: arrHeader,
+            filename: '鐩樼偣鐗╁搧鏄庣粏.xlsx',
           });
         });
-        const arrHeader = MdtlColumns.map((column) => column.title);
-        const arrData = arr.map((item) => {
-          return Object.keys(item).map((key) => item[key]);
-        });
-        // 淇濊瘉data椤哄簭涓巋eader涓�鑷�
-        aoaToSheetXlsx({
-          data: arrData,
-          header: arrHeader,
-          filename: '鐩樼偣鐗╁搧鏄庣粏.xlsx'
-        });
-      })
-
-    }
-    return {
-      register,
-      schemas,
-      //registerForm,
-      model: modelRef,
-      handleSubmit,
-      registerTable,
-      onSelect,
-      onSelectAll,
-      //setFieldsValue,
-      //handleSelect,
-      //validateFields,
-      //Mdtl_Data,
-      tableRef,
-      //pagination,
-      canResize,
-      loading,
-      striped,
-      border,
-      t,
-      aoaToExcel
-    };
-  },
-});
+      }
+      return {
+        register,
+        schemas,
+        //registerForm,
+        model: modelRef,
+        handleSubmit,
+        registerTable,
+        onSelect,
+        onSelectAll,
+        //setFieldsValue,
+        //handleSelect,
+        //validateFields,
+        //Mdtl_Data,
+        tableRef,
+        //pagination,
+        canResize,
+        loading,
+        striped,
+        border,
+        t,
+        aoaToExcel,
+      };
+    },
+  });
 </script>

--
Gitblit v1.9.3