From fe618973c04544c0bd169c2c4436ff5807b756f1 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期一, 20 十一月 2023 17:52:31 +0800
Subject: [PATCH] 库存预警设置,盘点删除

---
 admin-web/src/views/systemSetting/role/index.vue                    |   12 
 admin-web/src/views/stock/inventorycount/inventorytask/index.vue    |   43 ++++-
 admin-web/src/api/stock/inventory.js                                |    6 
 admin-web/src/views/mixins/listPage.js                              |    1 
 admin-web/src/views/stock/ledger/inventoryAlert/edit.vue            |  144 ++++++++++++++++-
 admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue |  247 +++++++++++-------------------
 6 files changed, 267 insertions(+), 186 deletions(-)

diff --git a/admin-web/src/api/stock/inventory.js b/admin-web/src/api/stock/inventory.js
index 804a57b..239c74c 100644
--- a/admin-web/src/api/stock/inventory.js
+++ b/admin-web/src/api/stock/inventory.js
@@ -24,11 +24,11 @@
 }
 
 // 鍒犻櫎
-export function inventoryDel(data) {
+export function inventoryDel(params) {
   return request({
     url: '/pc/l/wh/form/inventory/del',
-    method: 'post',
-    data,
+    method: 'delete',
+    params,
   });
 }
 
diff --git a/admin-web/src/views/mixins/listPage.js b/admin-web/src/views/mixins/listPage.js
index 2db0160..48fc6e0 100644
--- a/admin-web/src/views/mixins/listPage.js
+++ b/admin-web/src/views/mixins/listPage.js
@@ -30,7 +30,6 @@
       },
     },
     created() {
-      this.fetchData();
     },
     filters: {
       formatTime(time) {
diff --git a/admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue b/admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue
index 53c6390..27f95d1 100644
--- a/admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue
+++ b/admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue
@@ -10,31 +10,28 @@
           <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>
         </el-card>
       </el-container>
     </el-container>
-    <my-import
-      :import-setting="importSetting"
-      :dialog-show="importSetting.dialogShow"
-      :dialog-title="importSetting.dialogTitle"
-    />
   </div>
 </template>
 
 <script>
-import MyTableV2 from "@/components/myTable/myTableV2";
-import MyButton from "@/components/myButton/myButton";
+import MyTableV2 from '@/components/myTable/myTableV2';
+import MyButton from '@/components/myButton/myButton';
 import SettingIplatform from '@/utils/settingIplatform';
-import * as finsystenant from '@/api/baseSetting/finsystenant'
-import myImport from '@/views/components/myImport'
-import {getBaseUrl} from '@/utils/base';
+import * as finsystenant from '@/api/baseSetting/finsystenant';
+import { getBaseUrl } from '@/utils/base';
+import { mapGetters } from 'vuex';
+import { selectTenantWarehouse,goodsModel } from '@/api/baseSetting/finsystenant';
+import { getDicts } from '@/api/system/dict/data';
 
 export default {
-  name: "index",
-  components: {MyButton, MyTableV2, myImport},
+  name: 'index',
+  components: { MyButton, MyTableV2 },
   data() {
     return {
       // 鎼滅储妗�
@@ -61,7 +58,7 @@
           dataIndex: 'name',
           label: '鐗╁搧鍚嶇О',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'select',
@@ -77,7 +74,16 @@
           label: '绫诲瀷',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
-          options: [],
+          options: [{
+            label:'鍏ㄩ儴',
+            value:''
+          },{
+            label:'鐩樼泩',
+            value:'1'
+          },{
+            label:'鐩樹簭',
+            value:'2'
+          }],
         },
         {
           type: 'select',
@@ -85,21 +91,30 @@
           label: '鍑哄叆搴撶被鍨�',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
-          options: [],
+          options: [{
+            label:'鍏ㄩ儴',
+            value:''
+          },{
+            label:'鐩樼泩鍏ュ簱',
+            value:'1'
+          },{
+            label:'鐩樹簭鍑哄簱',
+            value:'2'
+          }],
         },
         {
           type: 'text',
           dataIndex: 'name',
           label: '鍗曞彿',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'text',
           dataIndex: 'name',
           label: '鎿嶄綔浜�',
           placeholder: '璇疯緭鍏�',
-          defaultValue: ''
+          defaultValue: '',
         },
         {
           type: 'date-picker',
@@ -121,31 +136,7 @@
         tenantId: null,
         userName: null,
         userPhone: null,
-        status: 1
-      },
-      // 瀵煎叆
-      importSetting: {
-          dialogTitle: '瀵煎叆',
-          dialogShow: false,
-          fileSettings: {
-              data: {},
-              uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
-              accept: '.xls', // 鏍煎紡
-              type: 'text', // 鍥炴樉褰㈠紡
-              loading: false // 瀵煎叆鏁堟灉
-          },
-          /* 妯℃澘涓嬭浇 */
-          templateSettings: {
-              templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
-              templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
-          },
-          onSuccess: null
-      },
-      editSetting: {
-        title: '',
-        id: '',
-        orgId: '',
-        show: false,
+        status: 1,
       },
       // 琛ㄦ牸鏁版嵁
       table: {
@@ -154,31 +145,32 @@
         url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
         // 宸ュ叿鏉�
         tools: {
-          columnsCtrl: {// 鍒楁帶鍒舵寜閽�
-            show: false
+          columnsCtrl: {
+            // 鍒楁帶鍒舵寜閽�
+            show: false,
           },
-          generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
-            show: false
+          generalExport: {
+            // 閫氱敤瀵煎嚭鎸夐挳
+            show: false,
           },
           // 鑷畾涔夊伐鍏锋潯鎸夐挳
-          custom: [
-          ]
+          custom: [],
         },
         // 鍒椾俊鎭�
         columns: [
-          {title: '浠撳簱', field: 'name', align: 'left',},
-          {title: '鐗╁搧鍚嶇О', field: 'WAREHOUSE_NAME', 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: 'summary', align: 'left',},
-          {title: '鏈烘瀯', field: 'summary', align: 'left',},
-          {title: '鎿嶄綔浜�', field: 'summary', align: 'left',},
-          {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
-        ],   
+          { title: '浠撳簱', field: 'name', align: 'left' },
+          { title: '鐗╁搧鍚嶇О', field: 'WAREHOUSE_NAME', 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: 'summary', align: 'left' },
+          { title: '鏈烘瀯', field: 'summary', align: 'left' },
+          { title: '鎿嶄綔浜�', field: 'summary', align: 'left' },
+          { title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left' },
+        ],
         // 鎿嶄綔淇℃伅
         operation: {
           show: false, // 鏄剧ず鎿嶄綔鍒�
@@ -192,79 +184,44 @@
             small: false,
             pageNum: 1,
             pageSize: 10,
-            total: 0
-          }
-        }
+            total: 0,
+          },
+        },
       },
-    }
+    };
+  },
+
+  computed: {
+    ...mapGetters(['userInfo']),
   },
   created() {
-    // 鑾峰彇鏈烘瀯鏍�
-    this.initTreeData()
+    this.initQuery();
   },
   methods: {
-    //瀵煎叆
-    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()
-        }
-    },
-    // 宸︿晶鏍戝垵濮嬪寲
-    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()
+    initQuery() {
+      selectTenantWarehouse({ agencyId: this.userInfo.tenantId }).then((res) => {
+        this.items.forEach((v) => {
+          if (v.label == '鐩樼偣浠撳簱') {
+            v.options = res.map((item) => {
+              item.label = item.warehouseName;
+              item.value = item.id;
+              return item;
+            });
           }
-        })
-      })
-    },
-    del(row) {
-      this.$modal
-        .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
-        .then(function () {
-          finsystenant.del({id: row.id}).then((res) => {
-          });
-        })
-        .then((res) => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�');
-          this.search()
-        })
-        .catch(() => {
         });
-    },
-    showAdd() {
-      // if (!this.editSetting.orgId) {
-      //   this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
-      // } else {
-        this.editSetting.id = null;
-        this.editSetting.info = null;
-        this.editSetting.title = '鏂板';
-        this.editSetting.show = true;
-      // }
+      });
+      goodsModel().then((res) => {
+        this.items.forEach((v) => {
+          if (v.label == '瑙勬牸鍨嬪彿') {
+            v.options = res.map((item) => {
+              item.label = item.modelName;
+              item.value = item.id;
+              return item;
+            });
+          }
+        });
+      });
+
     },
     showAudit(row) {
       this.editSetting.id = row.id;
@@ -272,38 +229,20 @@
       this.editSetting.title = '缂栬緫';
       this.editSetting.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)
-    },
     // 鏌ヨtable鍒楄〃
     search(pageNum) {
       if (pageNum != undefined) {
-        this.$refs.myTable.search(pageNum)
+        this.$refs.myTable.search(pageNum);
       } else {
-        this.$refs.myTable.search()
+        this.$refs.myTable.search();
       }
     },
     fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params)
-      this.search(1)
-    }
-  }
-}
+      this.filterFrom = Object.assign(this.filterFrom, params);
+      this.search(1);
+    },
+  },
+};
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>
diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
index 411bdbd..6ffd187 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
@@ -42,8 +42,9 @@
 import myImport from '@/views/components/myImport';
 import { getBaseUrl } from '@/utils/base';
 import { selectTenantWarehouse } from '@/api/baseSetting/finsystenant';
-import { inventoryListApi } from '@/api/stock/inventory';
+import { inventoryListApi,inventoryDel } from '@/api/stock/inventory';
 import * as DateFormatter from '@/utils/DateFormatter';
+import {mapGetters} from 'vuex'
 
 export default {
   name: 'index',
@@ -154,9 +155,9 @@
         // 鍒椾俊鎭�
         columns: [
           { title: '鐩樼偣鍗曞彿', field: 'businessFormCode', align: 'left' },
-          { title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'center' },
-          { title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'center' },
-          { title: '鐩樼偣浜�', field: 'operatorName', align: 'center' },
+          { title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'left' },
+          { title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'left' },
+          { title: '鐩樼偣浜�', field: 'operatorName', align: 'left' },
           { title: '鐩戠洏浜�', field: 'operatorName2', align: 'left' },
           {
             title: '鐩樼偣鏃堕棿',
@@ -192,17 +193,38 @@
         // 鎿嶄綔淇℃伅
         operation: {
           show: true, // 鏄剧ず鎿嶄綔鍒�
-          width: '150', // 鍒楀
+          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',
+              hidden:(row)=>{
+                if(row.states!=0){
+                  return true
+                }
+              },
               events: (row) => {
                 this.showInventory(row);
               },
@@ -222,13 +244,16 @@
       },
     };
   },
+  computed:{
+    ...mapGetters(['userInfo'])
+  },
   created() {
-    selectTenantWarehouse().then((res) => {
+    selectTenantWarehouse({agencyId: this.userInfo.tenantId}).then((res) => {
       this.items.forEach((v) => {
         if (v.label == '鐩樼偣浠撳簱') {
           v.options = res.map((item) => {
             item.label = item.warehouseName;
-            item.vlaue = item.id;
+            item.value = item.id;
             return item;
           });
         }
@@ -251,9 +276,9 @@
     },
     del(row) {
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+        .confirm('鏄惁纭鍒犻櫎鍗曞彿涓猴細' + row.businessFormCode + ' 鐨勬暟鎹悧锛�')
         .then(() => {
-          finsystenant.del({ id: row.id }).then((res) => {
+          inventoryDel({ id: row.id }).then((res) => {
             this.$message.success('鍒犻櫎鎴愬姛锛�');
             this.search();
           });
diff --git a/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue b/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
index c700a5d..93fcd42 100644
--- a/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
+++ b/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
@@ -1,35 +1,56 @@
 <template>
-  <win-md :title="setting.title" @close="close" :width="'800px'">
+  <win-md :title="`${setting.title}棰勮璁剧疆`" @close="close" :width="'800px'">
     <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
       <el-row :gutter="24">
         <el-col :span="12">
-          <el-form-item label="鐗╁搧鍒嗙被" prop="code">
-            <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%" />
+          <el-form-item label="鐗╁搧鍒嗙被">
+            <el-cascader
+              v-model="formData.baseCategoryIds"
+              :options="categoryOptions"
+              :props="{ value: 'id' }"
+              style="width: 100%"
+            ></el-cascader>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="鐗╁搧鍚嶇О" prop="name">
-            <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%" />
+          <el-form-item label="鐗╁搧鍚嶇О">
+            <el-select
+              :value="formData.baseGoodsTemplateId"
+              placeholder="璇峰厛鎷╃墿鍝佸垎绫�"
+              filterable
+              style="width: 100%"
+            >
+              <el-option v-for="item in goodsTemplatelAll" :key="item.id" :label="item.goodsName" :value="item.id" />
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="24">
         <el-col :span="12">
           <el-form-item label="瑙勬牸鍨嬪彿">
-            <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%" />
+            <el-select
+              v-model="formData.modelsIds"
+              multiple
+              placeholder="璇峰厛鎷╃墿鍝佸悕绉�"
+              @change="modelChange($event)"
+              @remove-tag="modelRemoveTag($event)"
+              style="width: 100%"
+            >
+              <el-option v-for="item in goodsModelAll" :key="item.id" :label="item.modelName" :value="item.id" />
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-table :data="formData.models" :stripe="true">
         <el-table-column prop="baseGoodsModelsId" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
-        <el-table-column prop="baseGoodsModelsId" label="淇濆簳搴撳瓨" align="center">
+        <el-table-column prop="bdcount" label="淇濆簳搴撳瓨" align="center">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.baseGoodsModelsId"></el-input>
+            <el-input v-model="scope.row.bdcount"></el-input>
           </template>
         </el-table-column>
-        <el-table-column prop="baseGoodsModelsId" label="灏侀《搴撳瓨" align="center">
+        <el-table-column prop="count" label="灏侀《搴撳瓨" align="center">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.baseGoodsModelsId"></el-input>
+            <el-input v-model="scope.row.count"></el-input>
           </template>
         </el-table-column>
       </el-table>
@@ -45,6 +66,12 @@
 import winMd from '@/components/win/win-md';
 import myButton from '@/components/myButton/myButton';
 import * as finsystenant from '@/api/baseSetting/finsystenant';
+import {
+  getCategorySelectTree,
+  goodsModel,
+  warehouseSelectNumber,
+  goodsTemplate,
+} from '@/api/baseSetting/finsystenant';
 
 export default {
   components: { winMd, myButton },
@@ -56,14 +83,15 @@
   },
   data() {
     return {
-      checkAll: false,
-      checkedList: [],
+      agencyOptions: [], // 璋冩嫧鏈烘瀯
+      categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
+      modelList: [], //鍨嬪彿鍒楄〃
       formData: {
         baseCategoryIds: '', // 鍒嗙被缂栧彿鏁扮粍
         baseCategoryId: '', // 鍒嗙被缂栧彿
         baseGoodsTemplateId: '', // 鐗╁搧妯$増缂栧彿
         modelsIds: [], //瑙勬牸鍨嬪彿
-        models:[]
+        models: [],
       },
       modelsItem: {
         baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
@@ -81,8 +109,98 @@
     if (this.setting.info) {
       this.formData = Object.assign({}, JSON.parse(this.setting.info));
     }
+    this.init();
   },
   methods: {
+    async init() {
+      this.getCategoryTree();
+      this.getgoodsTemplate();
+      this.getgoodsModel();
+    },
+
+    async getCategoryTree() {
+      // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃
+      const treeRes = await getCategorySelectTree();
+      this.categoryOptions = this.removeEmptyChildren(treeRes);
+      console.log('categoryOptions', this.categoryOptions);
+    },
+
+    // 鑾峰彇鐗╁搧鍚嶇О鍒楄〃
+    getgoodsTemplate(id) {
+      goodsTemplate({ categoryId: id || '', agencyId: this.formData.outAgencyId }).then((res) => {
+        this.goodsTemplatelAll = res;
+      });
+    },
+
+    // 瑙勬牸鍨嬪彿
+    getgoodsModel(id) {
+      goodsModel({ goodsTemplatesId: id || '' }).then((res) => {
+        this.goodsModelAll = res;
+      });
+    },
+
+    // 鐗╁搧鍒嗙被閫夋嫨
+    categoryChange(e) {
+      this.formData.goodsOptions = [];
+      this.formData.baseGoodsTemplateId = '';
+      this.formData.goodsTemplateName = '';
+      this.formData.modelsOptions = [];
+      this.formData.modelsIds = [];
+      this.formData.models = [];
+
+      this.formData.transferGoods.baseCategoryId = e[e.length - 1];
+      // 鏍规嵁閫変腑鍒嗙被璇锋眰鐗╁搧鍚嶇О鍒楄〃
+      this.getgoodsTemplate(e[e.length - 1]);
+    },
+
+    // 鐗╁搧鍚嶇О鍒楄〃閫夋嫨
+    goodsTemplateChange(e, index) {
+      let temp = this.formData.transferGoods.find((v) => v.baseGoodsTemplateId == e);
+      if (temp) {
+        this.$message.warning('宸查�夎繃姝ょ墿鍝�');
+        return;
+      } else {
+        this.formData.transferGoods[index].baseGoodsTemplateId = e;
+      }
+      this.formData.transferGoods[index].modelsOptions = [];
+      this.formData.transferGoods[index].modelsIds = [];
+      this.formData.transferGoods[index].models = [];
+
+      this.formData.transferGoods[index].goodsTemplateName = this.getGoodsTemplateName(e);
+      // 鏍规嵁閫変腑鐗╁搧鍚嶇Оid鑾峰彇瑙勬牸鍨嬪彿鍒楄〃
+      this.getgoodsModel(e, index);
+    },
+
+    removeEmptyChildren(arr) {
+      arr.forEach((item) => {
+        if (!item.children || !item.children.length) {
+          delete item.children;
+        } else {
+          this.removeEmptyChildren(item.children);
+        }
+      });
+      return arr;
+    },
+
+    // 瑙勬牸鍨嬪彿閫夋嫨
+    modelChange(e) {
+      let arr = [...this.formData.models];
+      let str = JSON.stringify(arr);
+      e.forEach((item) => {
+        if (str.indexOf(item) == -1) {
+          arr.push({ baseGoodsModelsId: item, bdcount: null,count:null });
+        }
+      });
+      this.formData.models = arr;
+    },
+
+    // 瑙勬牸鍨嬪彿绉婚櫎
+    modelRemoveTag(e) {
+      let arr = this.formData.models;
+      let delIndex = arr.findIndex((v) => v.baseGoodsModelsId == e);
+      this.formData.models.splice(delIndex, 1);
+    },
+
     getEditInfo(id) {},
     close() {
       this.$emit('close');
diff --git a/admin-web/src/views/systemSetting/role/index.vue b/admin-web/src/views/systemSetting/role/index.vue
index 7795ade..8431088 100644
--- a/admin-web/src/views/systemSetting/role/index.vue
+++ b/admin-web/src/views/systemSetting/role/index.vue
@@ -286,12 +286,12 @@
         },
         // 鍒椾俊鎭�
         columns: [
-          {title: '瑙掕壊缂栧彿', field: 'role_id', align: 'center', width: '200px'},
-          {title: '瑙掕壊鍚嶇О', field: 'role_name', align: 'center', width: '260px'},
-          {title: '鏉冮檺瀛楃', field: 'role_key', align: 'center', width: '260px'},
-          {title: '椤哄簭鍙�', field: 'role_sort', align: 'center', width: '100px'},
+          {title: '瑙掕壊缂栧彿', field: 'role_id', align: 'center',},
+          {title: '瑙掕壊鍚嶇О', field: 'role_name', align: 'center',},
+          {title: '鏉冮檺瀛楃', field: 'role_key', align: 'center',},
+          {title: '椤哄簭鍙�', field: 'role_sort', align: 'center',},
           {
-            title: '鐘舵��', field: 'status', align: 'center', width: '100px',
+            title: '鐘舵��', field: 'status', align: 'center', 
             switch: row => {
               const result = {}
               if (row.status == 0) {
@@ -318,7 +318,7 @@
         ],
         // 鎿嶄綔淇℃伅
         operation: {
-          // width: 150,
+          width: 150,
           align: 'center',
           show: true, // 鏄剧ず鎿嶄綔鍒�
           attr: [

--
Gitblit v1.9.1