From 33032d320cb75854def7391026b0401f1bfb8360 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期六, 11 五月 2024 17:26:02 +0800
Subject: [PATCH] 20240511修改: 分发单优化, 分类,物品,分发单明细,采购单明细数据导入

---
 admin-web/src/views/departmentitem/itemdis/distribution/index.vue |  182 +++++++++++++++++++++++++++++++--------------
 1 files changed, 124 insertions(+), 58 deletions(-)

diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
index 8e45fed..1e0fb27 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -10,9 +10,10 @@
           <el-col>
             <!--鍒楄〃-->
             <div class="table-tool-bar" style="margin-bottom: 15px">
-              <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
+              <my-button name="鏂板" @click="handleAdd" site="tools" size="medium"/>
+              <my-button name="瀵煎叆" @click="openImport()" site="tools" size="medium" />
             </div>
-            <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+            <div :style="{ 'overflow-y': 'auto', height: `calc(100vh - 320px)` }" v-loading="loading">
               <el-row v-if="list.length" class="card" :gutter="5">
                 <el-col v-for="(item, index) in list" :key="index" class="cm-item">
                   <el-card class="card-data">
@@ -21,21 +22,36 @@
                         <div class="card-header-left">
                           <span>鍒嗗彂鍗曞彿锛�</span>
                           <span class="value">{{ item.businessFormCode }}</span>
+
+<!--                          <span style="padding-left: 30px">鍒嗗彂鐘舵�侊細</span>-->
+<!--                          <span style="color: red" v-if="item.states === 0"  class="value">鏈垎鍙�</span>-->
+<!--                          <span v-if="item.states === 2"  class="value">宸插垎鍙�</span>-->
                         </div>
                         <div class="card-header-right">
-                          <el-button name="鏌ョ湅璇︽儏" site="form" type="primary" size="mini" @click="handleDetail(item)">鏌ョ湅璇︽儏</el-button>
+                          <!-- 瀵煎嚭鍗曞瓙 -->
+<!--                          <el-button v-if="item.states === 0" name="涓嬭浇" site="form" type="primary" size="mini" @click="handleDetail(item)">-->
+<!--                            涓嬭浇-->
+<!--                          </el-button>-->
+
+<!--                          <el-button v-if="item.states === 0" name="涓婁紶" site="form" type="primary" size="mini" @click="handleUploadPage(item)">-->
+<!--                            涓婁紶-->
+<!--                          </el-button>-->
+
+                          <el-button name="鏌ョ湅璇︽儏" site="form" type="primary" size="mini" @click="handleDetail(item)">
+                            鏌ョ湅璇︽儏
+                          </el-button>
                         </div>
                       </div>
                       <div class="one-hed">
-                        <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.agencyId }}</div>
-                        <div class="box"><span class="span-two">鍒嗗彂浜猴細</span>{{ item.buyerName }}</div>
+                        <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.inWarehouseName }}</div>
+                        <div class="box"><span class="span-two">鍒嗗彂浜猴細</span>{{ item.outOperatorName }}</div>
                         <div class="box">
-                          <span class="span-two">鍒嗗彂鏃堕棿锛�</span>{{ item.procureTime | formatTime }}
+                          <span class="span-two">鍒嗗彂鏃堕棿锛�</span>{{ item.createTime | formatTime }}
                         </div>
                       </div>
                       <div class="card-end">
-                        <div v-for="(just, index) in item.fromProcureTemplateInfoList" :key="index" class="item">
-                          <div class="name">{{ just.goodsTemplateName }}</div>
+                        <div v-for="(just, index) in item.fromTransferTemplateInfoList" :key="index" class="item">
+                          <div class="name">{{ just.goodsName }}</div>
                           <div class="value-box">
                             <div class="value-box-item">
                               <span class="label">鏁伴噺锛�</span>
@@ -49,58 +65,97 @@
                   </el-card>
                 </el-col>
               </el-row>
-              <div class="no-data" v-else>鏆傛棤鏁版嵁</div>
+              <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty>
             </div>
             <el-pagination
-              :small="false"
-              :current-page="pageNum"
-              :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
-              :page-size="pageSize"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
+                :small="false"
+                :current-page="pageNum"
+                :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+                :page-size="pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="total"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
             />
           </el-col>
         </el-row>
       </el-card>
     </el-container>
+
+    <!-- 涓婁紶鍒嗗彂鍗曟枃浠�-->
+    <uploadPage
+      v-if="uploadPageSetting.show"
+      :setting="uploadPageSetting"
+      ref="uploadRef"
+      @close="uploadPageSetting.show = false"
+      @search="refreshData"
+    ></uploadPage>
+
     <!--娣诲姞/缂栬緫寮圭獥-->
     <edit
-      v-if="editSetting.show"
-      :setting="editSetting"
-      ref="editRef"
-      @close="editSetting.show = false"
-      @search="refreshData"
+        v-if="editSetting.show"
+        :setting="editSetting"
+        ref="editRef"
+        @close="editSetting.show = false"
+        @search="refreshData"
     ></edit>
     <detail
-      v-if="detailSetting.show"
-      :setting="detailSetting"
-      @close="detailSetting.show = false"
-      ref="detailRef"
+        v-if="detailSetting.show"
+        :setting="detailSetting"
+        @close="detailSetting.show = false"
+        ref="detailRef"
     ></detail>
+
+    <my-import
+      :import-setting="importSetting"
+      :dialog-show="importSetting.dialogShow"
+      :dialog-title="importSetting.dialogTitle"
+    />
+
   </div>
 </template>
 
 <script>
-import { procureList, procureDel, procureIncome } from '@/api/stock/procure/purchaseOrder';
+import {transferList} from '@/api/stock/transfer';
 import MyButton from '@/components/myButton/myButton';
 import SettingIplatform from '@/utils/settingIplatform';
 import myImport from '@/views/components/myImport';
 import edit from './edit';
 import detail from './detail';
-import { getBaseUrl } from '@/utils/base';
-import listPage from '../../../mixins/listPage';
+import uploadPage from './uploadPage';
+import listPage from '@/views/mixins/listPage';
+import {getUserDetail} from "@/utils/auth";
+import {getBaseUrl} from '@/utils/base';
 
 export default {
   name: 'index',
   mixins: [listPage],
-  components: { MyButton, myImport, edit, detail },
+  components: {MyButton, myImport, edit, detail,uploadPage},
   data() {
     return {
       loading: false,
       adddialog: false,
       list: [],
+
+      // 瀵煎叆
+      importSetting: {
+        dialogTitle: '瀵煎叆',
+        dialogShow: false,
+        fileSettings: {
+          data: {},
+          uploadUrl: getBaseUrl() + '/pc/l/wh/form/transfer/import2', // 涓婁紶鍦板潃
+          accept: '.xls', // 鏍煎紡
+          type: 'text', // 鍥炴樉褰㈠紡
+          loading: true, // 瀵煎叆鏁堟灉
+        },
+        /* 妯℃澘涓嬭浇 */
+        templateSettings: {
+          templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+          templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate?type=distribute', // 涓嬭浇鍦板潃
+        },
+        onSuccess: null,
+      },
+
       // 鎼滅储妗�
       items: [
         {
@@ -112,6 +167,19 @@
         },
         {
           type: 'select',
+          dataIndex: 'departmentId',
+          label: '鍒嗗彂閮ㄩ棬',
+          placeholder: '璇烽�夋嫨',
+          optionsConfig: {
+            url: `/pc/fin/sys/tenant/department/list/all?tenantId=${getUserDetail().tenantId}`,
+            label: 'name',
+            value: 'id',
+          },
+          defaultValue: '',
+          options: [],
+        },
+        {
+          type: 'select',
           dataIndex: 'goodsTemplateId',
           label: '鐗╁搧鍚嶇О',
           placeholder: '璇疯緭鍏�',
@@ -120,34 +188,25 @@
           optionsConfig: {
             label: 'goodsName',
             value: 'id',
-            url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate',
+            url: SettingIplatform.apiBaseURL + `/pc/base/goods/template/query/goodsTemplate?tenantId=${getUserDetail().tenantId}`,
           },
         },
         {
-          type: 'cascader',
-          dataIndex: 'agencyId',
-          label: '鍒嗗彂閮ㄩ棬',
-          placeholder: '璇烽�夋嫨',
-          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
-          defaultValue: '',
-          options: [],
-        },
-        {
           type: 'text',
-          dataIndex: 'createName',
-          label: '鍒嗗彂浜�',
+          dataIndex: 'operatorName',
+          label: '棰嗗彇浜�',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'incomeTimeStart',
-          label: '鍒嗗彂鏃堕棿',
+          dataIndex: 'startTime',
+          label: '棰嗗彇鏃堕棿',
           defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'incomeTimeEnd',
+          dataIndex: 'endTime',
           label: '鑷�',
           defaultValue: '',
         },
@@ -156,37 +215,44 @@
       treeDataList: []
     };
   },
-  created(){
+  created() {
     this.fetchData()
   },
   methods: {
     fetchData() {
       this.loading = true;
-      procureList({
+      transferList({
+        qryType: 1,
         pageNum: this.pageNum,
         pageSize: this.pageSize,
+        outAgencyId: this.userInfo.tenantId,
         ...this.filterFrom,
       }).then((res) => {
         this.list = res.datas;
         this.total = res.totalRows;
         this.loading = false;
-        console.log(this.list);
       });
     },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      if (this.filterFrom.incomeTimeStart) {
-        this.filterFrom.incomeTimeStart = this.filterFrom.incomeTimeStart.replace(/\-/g, '');
-      }
-      if (this.filterFrom.incomeTimeEnd) {
-        this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, '');
-      }
-      this.search(1);
+    openImport(){
+      this.importOrg();
+    },
+    //瀵煎叆
+    importOrg() {
+      this.importSetting.dialogShow = true;
+      this.importSetting.onSuccess = (response, callBack) => {
+        if (response.code === 1) {
+          this.$message.success(response.msg);
+          this.search(1);
+        } else {
+          this.$message.warning(response.msg);
+        }
+        callBack();
+      };
     },
   },
 };
 </script>
 
 <style scoped lang="scss">
-  //@import url(../../../../styles/index.scss);
+//@import url(../../../../styles/index.scss);
 </style>

--
Gitblit v1.9.1