From 1e9fa82cb2fe2c15f46bd1dd73f5c878c74b83b8 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 04 八月 2022 15:35:50 +0800
Subject: [PATCH] 1.系统多账号登录问题2.采购订单页面样式修改及数据渲染

---
 src/views/zzmx/chda.vue |  255 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 161 insertions(+), 94 deletions(-)

diff --git a/src/views/zzmx/chda.vue b/src/views/zzmx/chda.vue
index 51ff850..b144adf 100644
--- a/src/views/zzmx/chda.vue
+++ b/src/views/zzmx/chda.vue
@@ -80,7 +80,25 @@
       <el-divider />
       <div style="margin-left: 10px;display: flex">
         <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>
+        <!--        <el-button type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>-->
+        <el-button
+          type="primary"
+          icon="el-icon-refresh-right"
+          @click="syncSeaveSearchUnit"
+        >鍚屾璁¢噺鍗曚綅
+        </el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-refresh-right"
+          @click="syncInventoryFileSelect"
+        >鍚屾瀛樿揣妗f
+        </el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-refresh-right"
+          @click="syncStockTypeSelect"
+        >鍚屾瀛樿揣绫诲瀷
+        </el-button>
         <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
       <el-divider />
@@ -104,14 +122,17 @@
             prop="RowNum"
             width="50"
             label="搴忓彿"
+            fixed
           />
           <el-table-column
             prop="partcode"
             label="鐗╂枡缂栫爜"
+            min-width="160"
             sortable="custom"
           />
           <el-table-column
             prop="partname"
+            min-width="160"
             label="鐗╂枡鍚嶇О"
             sortable="custom"
           />
@@ -131,6 +152,7 @@
             prop="stocktypename"
             label="瀛樿揣绫诲瀷"
             sortable="custom"
+            min-width="110"
           />
           <!--          <el-table-column-->
           <!--            prop="materialtypename"-->
@@ -141,6 +163,7 @@
             prop="stck_name"
             label="浠撳簱鍚嶇О"
             sortable="custom"
+            min-width="110"
           />
           <el-table-column
             prop="maxqty"
@@ -174,12 +197,13 @@
             <template slot-scope="{row}">
               <div class="operationClass">
                 <i v-if="row.proute_id==='Y'" class="el-icon-share" @click="routeClick(row)" />
-                <i v-if="row.proute_id==='N'" style="color: #E4E7ED" class="el-icon-share" @click="routeClick(row)" />
+                <i v-if="row.proute_id==='N'" style="color:rgb(180 ,181, 185)" class="el-icon-share" @click="routeClick(row)" />
               </div>
             </template>
           </el-table-column>
           <el-table-column
             label="鎿嶄綔"
+            fixed="right"
           >
             <template slot-scope="{row}">
               <div class="operationClass">
@@ -472,6 +496,26 @@
           <!--            onClick="event.cancelBubble = true"-->
         </div>
       </div>
+
+      <el-divider />
+      <div>
+        <i class="el-icon-s-operation" style="color:#42b983;" /> 榛樿宸ヨ壓璺嚎
+      </div>
+      <div style="margin-top: 20px">
+        <el-select
+          v-model="defaultroute_code"
+          filterable
+          style="width: 200px"
+          placeholder="璇烽�夋嫨"
+        >
+          <el-option
+            v-for="item in defaultroute_codeArr"
+            :key="item.code"
+            :label="item.name"
+            :value="item.code"
+          />
+        </el-select>
+      </div>
       <el-divider />
       <div style="margin-bottom: 10px">
         <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ュ簭鍒楄〃
@@ -480,7 +524,7 @@
         <el-table
           :data="projectTableData"
           border
-          height="400"
+          height="300"
           highlight-current-row
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
@@ -516,16 +560,12 @@
         </div>
       </span>
     </el-dialog>
+
   </div>
 </template>
 
 <script>
 import Pagination from '@/components/Pagination'
-import {
-  AddUpdateOrganization,
-  DeleteOrganization
-} from '@/api/jcsz'
-import { getCookie } from '@/utils/auth'
 import { WareHouseSelect } from '@/api/wlgl'
 import {
   AddUpdateInventoryFile, DeleteInventoryFile, InventoryFileAssociationRoute,
@@ -537,6 +577,7 @@
   UomSearch, UomSelect
 } from '@/api/zzmx'
 import $ from 'jquery'
+import { SeaveSearchInventory, SeaveSearchInventoryClass, SeaveSearchUnit } from '@/api/ErpSyncMes'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -646,23 +687,104 @@
         routeOperationArr: [] // 宸ヨ壓璺嚎闆嗗悎
         // routeOperationSelectedArr: [] // 宸ヨ壓璺嚎閫変腑闆嗗悎鏁扮粍
       },
+      defaultroute_code: '', // 榛樿宸ヨ壓璺嚎閫変腑鍊�
+      defaultroute_codeArr: '', // 榛樿宸ヨ壓璺嚎鏁扮粍
       projectTableData: []// 璁惧鍒楄〃
     }
   },
   created() {
-    this.getInventoryFileSelect()
-    this.getStockTypeSelect()
-    this.getWareHouseSelect()
+    this.handleRequest()
   },
   mounted() {
     window.addEventListener('resize', this.getHeight)
     this.getHeight()
   },
   methods: {
+    handleRequest() {
+      this.getInventoryFileSelect().then(res => {
+        if (res.code === '200') {
+          this.getStockTypeSelect()
+          this.getWareHouseSelect()
+        }
+      })
+    },
+
+    // 鍚屾璁¢噺鍗曚綅
+    async syncSeaveSearchUnit() {
+      const loading = this.$loading({
+        lock: true,
+        text: '姝e湪鍚屾璁¢噺鍗曚綅锛岃绋嶇瓑...',
+        spinner: 'el-icon-loading',
+        customClass: 'osloading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      const res = await SeaveSearchUnit()
+      if (res.code === '200') {
+        setTimeout(() => {
+          // this.getInventoryFileSelect()
+          this.officeTableData = res.data
+          console.log(this.officeTableData, 9)
+          loading.close()
+          this.$message.success('鍚屾鎴愬姛锛�')
+        }, 2000)
+      } else {
+        setTimeout(() => {
+          loading.close()
+          this.$message.error('鍚屾澶辫触锛�')
+        }, 10000)
+      }
+    },
+    // 鍚屾瀛樿揣妗f
+    async  syncInventoryFileSelect() {
+      const loading = this.$loading({
+        lock: true,
+        text: '姝e湪鍚屾瀛樿揣妗f锛岃绋嶇瓑...',
+        spinner: 'el-icon-loading',
+        customClass: 'osloading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      const res = await SeaveSearchInventory()
+      if (res.code === '200') {
+        setTimeout(() => {
+          this.getInventoryFileSelect()
+          loading.close()
+          this.$message.success('鍚屾鎴愬姛锛�')
+        }, 2000)
+      } else {
+        setTimeout(() => {
+          loading.close()
+          this.$message.error('鍚屾澶辫触锛�')
+        }, 10000)
+      }
+    },
+    // 鍚屾瀛樿揣绫诲瀷
+    async syncStockTypeSelect() {
+      const loading = this.$loading({
+        lock: true,
+        text: '姝e湪鍚屾瀛樿揣绫诲瀷锛岃绋嶇瓑...',
+        spinner: 'el-icon-loading',
+        customClass: 'osloading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      const res = await SeaveSearchInventoryClass()
+      if (res.code === '200') {
+        setTimeout(() => {
+          this.getStockTypeSelect()
+          loading.close()
+          this.$message.success('鍚屾鎴愬姛锛�')
+        }, 2000)
+      } else {
+        setTimeout(() => {
+          loading.close()
+          this.$message.error('鍚屾澶辫触锛�')
+        }, 10000)
+      }
+    },
     async getInventoryFileSelect() {
       const res = await InventoryFileSelect(this.form)
       this.tableData = res.data
       this.total = res.count
+      return { code: res.code }
     },
     async getStockTypeSelect() {
       const { data: res } = await StockTypeSelect()
@@ -780,6 +902,10 @@
     },
     // 瀵硅瘽妗嗙‘璁�
     dialogVisibleConfirm() {
+      if (this.defaultroute_codeArr.length > 0 && this.defaultroute_code === '') {
+        return this.$message.info('榛樿宸ヨ壓璺嚎涓嶈兘涓虹┖锛�')
+      }
+
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
           const data = {
@@ -822,94 +948,13 @@
     // 宸ヨ壓璺嚎鐐瑰嚮
     async routeClick(row) {
       console.log(row)
+      this.defaultroute_code = row.default_route
       this.dialogFormRoute.projectCode = row.partcode
       this.dialogFormRoute.projectName = row.partname
       this.dialogVisibleRoute = true
       const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
       this.dialogFormRoute.routeOperationArr = res
       // let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
-      this.dialogFormRoute.routeOperationArrTest = [
-        {
-          'flag': 'Y', code: '001', name: '娴嬭瘯1 ',
-          'Data': [
-            {
-              'seq': 1,
-              'stepcode': 'Step01',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'Y'
-            }, {
-              'seq': 2,
-              'stepcode': 'Step02',
-              'stepname': '娴嬭瘯宸ュ簭浜�',
-              'enable': 'Y'
-            }, {
-              'seq': 3,
-              'stepcode': 'Step03',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'N'
-            }
-          ]
-        },
-        {
-          'flag': 'Y', code: '002', name: '娴嬭瘯2 ',
-          'Data': [
-            {
-              'seq': 1,
-              'stepcode': 'Step01',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'Y'
-            }, {
-              'seq': 2,
-              'stepcode': 'Step02',
-              'stepname': '娴嬭瘯宸ュ簭浜�',
-              'enable': 'Y'
-            }, {
-              'seq': 3,
-              'stepcode': 'Step03',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'N'
-            }, {
-              'seq': 4,
-              'stepcode': 'Step02',
-              'stepname': '娴嬭瘯宸ュ簭浜�',
-              'enable': 'Y'
-            }, {
-              'seq': 5,
-              'stepcode': 'Step03',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'N'
-            }
-          ]
-        },
-        {
-          'flag': 'N', code: '003', name: '娴嬭瘯3 ',
-          'Data': [
-            {
-              'seq': 1,
-              'stepcode': 'Step01',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'Y'
-            }
-          ]
-
-        },
-        {
-          'flag': 'Y', code: '004', name: '娴嬭瘯4 ',
-          'Data': [
-            {
-              'seq': 1,
-              'stepcode': 'Step01',
-              'stepname': '娴嬭瘯宸ュ簭涓�',
-              'enable': 'Y'
-            }, {
-              'seq': 2,
-              'stepcode': 'Step02',
-              'stepname': '娴嬭瘯宸ュ簭浜�',
-              'enable': 'Y'
-            }
-          ]
-        }
-      ]
 
       this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
         item.isSelected1 = false
@@ -937,10 +982,15 @@
           // }, 100)
         }
       })
+
+      this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.flag === 'Y')
+
+      console.log(this.defaultroute_codeArr, 123)
     },
     // 瀵硅瘽妗嗗叧闂�
     handleCloseRoute() {
       this.dialogFormRoute.routeOperationArr = []
+      this.defaultroute_codeArr = []
     },
     // 鍙栨秷
     routeDialogVisibleCancel() {
@@ -948,13 +998,20 @@
     },
     // 纭畾
     async routeDialogVisibleConfirm() {
+      const temp = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
+      if (this.defaultroute_code === '' && temp.length > 0) {
+        return this.$message.info('榛樿宸ヨ壓璺嚎涓嶈兘涓虹┖锛�')
+      }
+
+      // 鎻愪氦鏍煎紡
       const data = []
       this.dialogFormRoute.routeOperationArr.forEach(item => {
         if (item.isSelected2) {
           data.push({ code: item.code, name: item.name })
         }
       })
-      const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, data)
+
+      const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, this.defaultroute_code, data)
       if (res.code === '200') {
         this.$message.success('淇濆瓨鎴愬姛锛�')
         await this.getInventoryFileSelect()
@@ -974,6 +1031,16 @@
     myCheckboxInputClick(val) {
       console.log(val, 2)
       val.isSelected2 = !val.isSelected2
+
+      this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
+        if (val.code === item.code) {
+          item.flag = !item.flag
+        }
+      })
+      if (val.code === this.defaultroute_code) {
+        this.defaultroute_code = ''
+      }
+      this.defaultroute_codeArr = this.dialogFormRoute.routeOperationArr.filter(item => item.isSelected2)
     },
     /* 鍗曚綅妯″潡*/
     // 鍗曚綅鎸夐挳鐐瑰嚮浜嬩欢

--
Gitblit v1.9.3