From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期一, 15 四月 2024 09:07:05 +0800
Subject: [PATCH] bug修改

---
 admin-web/src/views/stock/inventorycount/inventorytask/index.vue |  285 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 195 insertions(+), 90 deletions(-)

diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
index 97040e4..95a42e1 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
@@ -10,24 +10,26 @@
           <el-row style="margin-top: 15px">
             <el-col>
               <!--鍒楄〃-->
-              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
+              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
             </el-col>
           </el-row>
           <!--娣诲姞/缂栬緫寮圭獥-->
-          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search" />
+          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
           <inventory
-            v-if="inventorySetting.show"
-            :setting="inventorySetting"
-            @close="inventorySetting.show = false"
-            @search="search"
+              v-if="inventorySetting.show"
+              :setting="inventorySetting"
+              @close="inventorySetting.show = false"
+              @search="search"
           />
+          <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false"
+                  @search="search"/>
         </el-card>
       </el-container>
     </el-container>
     <my-import
-      :import-setting="importSetting"
-      :dialog-show="importSetting.dialogShow"
-      :dialog-title="importSetting.dialogTitle"
+        :import-setting="importSetting"
+        :dialog-show="importSetting.dialogShow"
+        :dialog-title="importSetting.dialogTitle"
     />
   </div>
 </template>
@@ -38,29 +40,69 @@
 import SettingIplatform from '@/utils/settingIplatform';
 import edit from './edit';
 import inventory from './inventory';
-import * as finsystenant from '@/api/baseSetting/finsystenant';
+import detail from './detail';
 import myImport from '@/views/components/myImport';
-import { getBaseUrl } from '@/utils/base';
+import {getBaseUrl} from '@/utils/base';
+import {inventoryDel, inventoryListApi,isAddInventory} from '@/api/stock/inventory';
+import * as DateFormatter from '@/utils/DateFormatter';
+import {mapGetters} from 'vuex';
+import listPage from '@/views/mixins/listPage';
 
 export default {
   name: 'index',
-  components: { MyButton, MyTableV2, edit, myImport, inventory },
+  mixins: [listPage],
+  components: {MyButton, MyTableV2, edit, myImport, inventory, detail},
   data() {
     return {
       // 鎼滅储妗�
       items: [
         {
           type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'businessFormCode',
           label: '鐩樼偣鍗曞彿',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
         },
         {
           type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'businessFormName',
           label: '浠诲姟鍚嶇О',
           placeholder: '璇疯緭鍏�',
+          defaultValue: '',
+        },
+        {
+          type: 'cascader',
+          dataIndex: 'agencyId',
+          label: '鏈烘瀯',
+          placeholder: '璇烽�夋嫨',
+          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
+          cascader: [{key:'warehouseId',queryKey: 'agencyId'}],
+          defaultValue: '',
+          options: [],
+        },
+        {
+          type: 'select',
+          dataIndex: 'warehouseId',
+          label: '浠撳簱',
+          placeholder: '璇烽�夋嫨',
+          defaultValue: '',
+          options: [],
+          optionsConfig: {
+            label: 'warehouseName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/warehouse/select/tenant_warehouse'
+          },
+        },
+        {
+          type: 'date-picker',
+          dataIndex: 'startTime',
+          label: '鐩樼偣鏃堕棿',
+          defaultValue: '',
+        },
+        {
+          type: 'date-picker',
+          dataIndex: 'endTime',
+          label: '鑷�',
           defaultValue: '',
         },
       ],
@@ -103,11 +145,17 @@
         orgId: '',
         show: false,
       },
+      inventoryDetail: {
+        title: '',
+        id: '',
+        orgId: '',
+        show: false,
+      },
       // 琛ㄦ牸鏁版嵁
       table: {
         showIndex: true, // 鏄惁鏄剧ず搴忓彿
         expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
-        url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+        url: SettingIplatform.apiBaseURL + inventoryListApi(), // 璇锋眰鍦板潃
         // 宸ュ叿鏉�
         tools: {
           columnsCtrl: {
@@ -130,31 +178,117 @@
         },
         // 鍒椾俊鎭�
         columns: [
-          { title: '鐩樼偣鍗曞彿', field: 'name', align: 'left' },
-          { title: '浠诲姟鍚嶇О', field: 'code', align: 'center' },
-          { title: '鐩樼偣浠撳簱', field: 'lv', align: 'center' },
-          { title: '鐩樼偣浜�', field: 'lv', align: 'center' },
-          { title: '鐩戠洏浜�', field: 'summary', align: 'left' },
-          { title: '鐩樼偣鏃堕棿', field: 'summary', align: 'left' },
-          { title: '鍒涘缓鏃堕棿', field: 'summary', align: 'left' },
-          { title: '鐘舵��', field: 'summary', align: 'left' },
+          {title: '鐩樼偣鍗曞彿', field: 'businessFormCode', align: 'center', width: 130},
+          {title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'left', minWidth: 140},
+          {title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'left', minWidth: 130},
+          {title: '鐩樼偣浜�', field: 'operatorName', align: 'center', width: 120},
+          {title: '鐩戠洏浜�', field: 'operatorName2', align: 'center', width: 120},
+          {
+            title: '鐩樼偣鏃堕棿',
+            field: 'inventoryDate',
+            align: 'center',
+            width: 160,
+            formatter: (row) => {
+              return {value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-'};
+            },
+          },
+          {
+            title: '鍒涘缓鏃堕棿',
+            field: 'createTime',
+            align: 'center',
+            width: 160,
+            formatter: (row) => {
+              return {value: DateFormatter.LongToDateTime(row.createTime)};
+            },
+          },
+          {
+            title: '鐘舵��',
+            field: 'states',
+            align: 'center',
+            width: 90,
+            type: 'primary',
+            formatter: (row) => {
+              return {
+                value: row.states == 0 ? '鏈紑濮�' : row.states == 1 ? '杩涜涓�' : '宸茬洏鐐�',
+                type: row.states == 0 ? 'danger' : row.states == 1 ? 'success' : 'primary',
+              };
+            },
+          },
         ],
         // 鎿嶄綔淇℃伅
         operation: {
           show: true, // 鏄剧ず鎿嶄綔鍒�
-          width: '150', // 鍒楀
+          align: 'left',
+          width: '220', // 鍒楀
           attr: [
             {
               title: '缂栬緫',
+              hidden: (row) => {
+                if (row.states != 0) {
+                  return true;
+                }
+              },
               events: (row) => {
                 this.showAudit(row);
               },
             },
             {
+              title: '鍒犻櫎',
+              hidden: (row) => {
+                if (row.states != 0) {
+                  return true;
+                }
+              },
+              events: (row) => {
+                this.del(row);
+              },
+            },
+            {
               title: '鐩樼偣',
-              type:'success',
+              type: 'success',
+              hidden: (row) => {
+                if (row.states != 0) {
+                  return true;
+                }
+              },
               events: (row) => {
                 this.showInventory(row);
+              },
+            },
+            {
+              title: '缁х画鐩樼偣',
+              type: 'success',
+              hidden: (row) => {
+                if (row.states != 1) {
+                  return true;
+                }
+              },
+              events: (row) => {
+                this.showInventory(row);
+              },
+            },
+            {
+              title: '鐩樼偣璇︽儏',
+              type: 'info',
+              hidden: (row) => {
+                if (row.states != 2) {
+                  return true;
+                }
+              },
+              events: (row) => {
+                this.showInventoryDetail(row);
+              },
+            },
+            {
+              title: '鐢熸垚鐩樼偣琛�',
+              type: 'primary',
+              hidden: (row) => {
+                if (row.states != 2) {
+                  return true;
+                }
+              },
+              events: (row) => {
+                this.handleExport('inventoryExport', `鐩樼偣琛�-${row.businessFormCode}`, {id: row.id});
               },
             },
           ],
@@ -172,9 +306,10 @@
       },
     };
   },
+  computed: {
+    ...mapGetters(['userInfo']),
+  },
   created() {
-    // 鑾峰彇鏈烘瀯鏍�
-    this.initTreeData();
   },
   methods: {
     //瀵煎叆
@@ -190,49 +325,35 @@
         callBack();
       };
     },
-    // 宸︿晶鏍戝垵濮嬪寲
-    initTreeData() {
-      finsystenant.getTree().then((res) => {
-        const content = res || [];
-        this.treeDataList.splice(0, this.treeDataList.length);
-        this.treeDataList = content;
-        if (content.length > 0) {
-          this.importSetting.fileSettings.data = { pid: content[0].id };
-        }
-      });
-    },
-    updState(row) {
-      let vm = this;
-      let text = row.status == 0 ? '鍚敤' : '绂佺敤';
-      vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
-        let params = Object.assign({}, row);
-        params.status = row.status == 1 ? 0 : 1;
-        finsystenant.edit(params).then((res) => {
-          if (res) {
-            row.status = row.status === 1 ? 0 : 1;
-            vm.$modal.msgSuccess(text + '鎴愬姛');
-            vm.search();
-          }
-        });
-      });
-    },
     del(row) {
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
-        .then(function () {
-          finsystenant.del({ id: row.id }).then((res) => {});
-        })
-        .then((res) => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�');
-          this.search();
-        })
-        .catch(() => {});
+          .confirm('鏄惁纭鍒犻櫎鍗曞彿涓猴細' + row.businessFormCode + ' 鐨勬暟鎹悧锛�')
+          .then(() => {
+            inventoryDel({id: row.id}).then((res) => {
+              this.$message.success('鍒犻櫎鎴愬姛锛�');
+              this.search();
+            });
+          })
+          .catch(() => {
+          });
     },
     showAdd() {
-      this.editSetting.id = null;
-      this.editSetting.info = null;
-      this.editSetting.title = '鏂板';
-      this.editSetting.show = true;
+      // 鍏堟煡璇㈡槸鍚﹁兘澧炲姞鏂扮殑鐩樼偣浠诲姟
+      // 缂栬緫鎺ュ彛
+      isAddInventory().then((res) => {
+        if(res == 0){
+          this.$message.warning('褰撳墠鏈夋湭瀹屾垚鐨勭洏鐐逛换鍔★紒');
+        }else if(res == -1){
+          this.$message.warning('褰撳墠浠撳簱鏃犵墿鍝侊紒');
+        }else{
+          this.editSetting.id = null;
+          this.editSetting.info = null;
+          this.editSetting.title = '鏂板';
+          this.editSetting.show = true;
+        }
+      }).catch(()=>{
+        //this.loading = false
+      });
     },
     showAudit(row) {
       this.editSetting.id = row.id;
@@ -240,42 +361,26 @@
       this.editSetting.title = '缂栬緫';
       this.editSetting.show = true;
     },
+    // 鐩樼偣
     showInventory(row) {
       this.inventorySetting.id = row.id;
       this.inventorySetting.info = JSON.stringify(row);
-      this.inventorySetting.title = '鐩樼偣';
+      this.inventorySetting.title = '鐩樼偣浠诲姟';
       this.inventorySetting.show = true;
     },
-    nodeClick(param) {
-      param = param || {};
-      this.p = Object.assign(
-        {},
-        {
-          id: param.id,
-          name: param.name,
-        },
-      );
-      if (this.p.id != undefined && this.p.id != null) {
-        this.filterFrom.tenantId = this.p.id;
-        this.editSetting.orgId = this.p.id;
-      } else {
-        this.filterFrom.tenantId = null;
-        this.editSetting.orgId = null;
-      }
-      this.importSetting.fileSettings.data = { pid: param.id };
-      this.search(1);
+    showInventoryDetail(row) {
+      this.inventoryDetail.id = row.id;
+      this.inventoryDetail.info = JSON.stringify(row);
+      this.inventoryDetail.title = '鐩樼偣璇︽儏';
+      this.inventoryDetail.show = true;
     },
     // 鏌ヨtable鍒楄〃
     search(pageNum) {
       if (pageNum != undefined) {
-        this.$refs.myTable.search(pageNum);
+        this.$refs.myTable.search({pageNum});
       } else {
         this.$refs.myTable.search();
       }
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      this.search(1);
     },
   },
 };

--
Gitblit v1.9.1