From a1b85ef72062ca80db35546e4216dd564f3e0f57 Mon Sep 17 00:00:00 2001
From: WangHan <wwh_work@126,com>
Date: 星期四, 03 四月 2025 15:58:19 +0800
Subject: [PATCH] 问题与漏洞修改

---
 admin-web/src/views/foundation/store/edit.vue |  161 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 102 insertions(+), 59 deletions(-)

diff --git a/admin-web/src/views/foundation/store/edit.vue b/admin-web/src/views/foundation/store/edit.vue
index 1445921..404140c 100644
--- a/admin-web/src/views/foundation/store/edit.vue
+++ b/admin-web/src/views/foundation/store/edit.vue
@@ -1,19 +1,41 @@
 <template>
-  <win-sm :title="setting.title" @close="close" :width="'800px'">
+  <win-sm :title="setting.title" @close="close" :width="'800px'" :loading="loading">
     <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
-      <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>
+      <!--      <el-form-item label="缂栧彿" prop="warehouseCode">
+              <el-input disabled v-model="formData.warehouseCode" clearable maxlength="20" show-word-limit style="width: 100%" />
+            </el-form-item>-->
       <el-form-item label="浠撳簱鍚嶇О" prop="warehouseName">
-        <el-input v-model="formData.warehouseName" clearable maxlength="20" show-word-limit style="width: 100%"/>
+        <el-input v-model="formData.warehouseName" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" clearable maxlength="20" show-word-limit
+                  style="width: 100%"/>
       </el-form-item>
       <el-form-item label="浠撳簱绫诲瀷" prop="classificationCode">
-        <el-select v-model="formData.classificationCode" clearable placeholder="璇烽�夋嫨"  style="width: 100%">
-          <el-option v-for="item in classList" :key="item.dict_code" :label="item.dict_label" :value="item.dict_code"></el-option>
+        <el-select v-model="formData.classificationCode" clearable placeholder="璇烽�夋嫨浠撳簱绫诲瀷" style="width: 100%">
+          <el-option
+              v-for="item in classList"
+              :key="item.dict_code"
+              :label="item.dict_label"
+              :value="item.dict_code"
+          ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="鍦板潃" >
-        <el-input v-model="formData.adress" clearable maxlength="20" show-word-limit style="width: 100%"/>
+      <el-form-item label="鎵�灞炴満鏋�" prop="agencyId">
+        <el-cascader
+            v-model="formData.agencyId"
+            placeholder="璇烽�夋嫨鎵�灞炴満鏋�"
+            :options="treeList"
+            :props="{checkStrictly: true,emitPath: false,value:'id'}"
+            style="width: 100%"></el-cascader>
+      </el-form-item>
+      <el-form-item label="鍦板潃">
+        <el-input
+            style="width: 100%"
+            maxlength="200"
+            show-word-limit
+            type="textarea"
+            :rows="3"
+            placeholder="璇疯緭鍏ュ唴瀹�"
+            v-model="formData.adress"/>
+
       </el-form-item>
       <el-form-item label="鐘舵��" prop="states">
         <el-radio-group v-model="formData.states">
@@ -30,9 +52,10 @@
 </template>
 
 <script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as finsystenant from '@/api/baseSetting/finsystenant'
+import winSm from '@/components/win/win-sm';
+import myButton from '@/components/myButton/myButton';
+import * as finsystenant from '@/api/baseSetting/finsystenant';
+import {findParentIds} from '@/utils/index';
 
 export default {
   components: {winSm, myButton},
@@ -40,83 +63,103 @@
     setting: {
       type: Object,
       default: () => {
-      }
-    }
+      },
+    },
   },
   data() {
     return {
-      classList:[],
+      loading: true,
+      classList: [],
+      treeList: [],
       checkAll: false,
       checkedList: [],
       formData: {
+        warehouseCode: null,
         classificationId: null,
+        classificationCode: null,
+        states: 1,
+        agencyId: ''
       },
       rules: {
-        warehouseName: [
-          {required: true, message: '璇疯緭鍏�', trigger: 'blur'}
-        ],
-        name: [
-          {required: true, message: '璇疯緭鍏�', trigger: 'blur'}
-        ],
-        states: [
-          {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}
-        ]
-      }
-    }
+        warehouseName: [{required: true, message: '璇疯緭鍏�', trigger: 'blur'}],
+        classificationCode: [{required: true, message: '璇烽�夋嫨', trigger: 'blur'}],
+        agencyId: [{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}],
+        states: [{required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}],
+      },
+    };
   },
-  created() {
-    this.class_List()
-    if(this.setting.info){
-      this.formData = Object.assign({},JSON.parse(this.setting.info))
+  async created() {
+    await this.class_List();
+    await this.tree_List();
+    this.loading = false
+    if (this.setting.info) {
+      this.formData = Object.assign({}, JSON.parse(this.setting.info));
     }
   },
   methods: {
-    class_List (){
-      finsystenant.classList().then(res => {
+    async class_List() {
+      await finsystenant.classList().then((res) => {
         if (res) {
-          console.log(res,'res');
-          this.classList = res
+          res.map(item => {
+            item.dict_code = item.dict_code.toString()
+          })
+          this.classList = res;
         }
-      })
+      });
     },
-    getEditInfo(id){
-
+    async tree_List() {
+      await finsystenant.getTree().then((res) => {
+        if (res) {
+          this.treeList = res;
+          this.$set(this.formData, 'agencyIds', findParentIds(this.treeList, this.formData.agencyId))
+        }
+      });
+    },
+    getEditInfo(id) {
     },
     close() {
-      this.$emit('close')
+      this.$emit('close');
     },
     save() {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {
-          const params = Object.assign({}, this.formData)
-          if(this.setting.id){
+          const params = Object.assign({}, this.formData);
+          if (this.loading) return
+          this.loading = true
+          if (this.setting.id) {
             // 缂栬緫鎺ュ彛
-            finsystenant.editstore(params).then(res => {
+            finsystenant.editstore(params).then((res) => {
+              this.loading = false
               if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�')
-                this.close()
-                this.$emit('search')
+                this.$message.success('淇濆瓨鎴愬姛锛�');
+                this.close();
+                this.$emit('search');
               } else {
-                this.$message.error('淇濆瓨澶辫触')
+                this.$message.error('淇濆瓨澶辫触');
               }
-            })
-          }else{
-            params.orgId = this.setting.orgId
-            finsystenant.addstore(params).then(res => {
+            }).catch(()=>{
+              this.loading = false
+            });
+          } else {
+            params.orgId = this.setting.orgId;
+            finsystenant.addstore(params).then((res) => {
+              this.loading = false
               if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�')
-                this.close()
-                this.$emit('search')
+                this.$message.success('淇濆瓨鎴愬姛锛�');
+                this.close();
+                this.$emit('search');
               } else {
-                this.$message.error('淇濆瓨澶辫触')
+                this.$message.error('淇濆瓨澶辫触');
               }
-            })
+            }).catch(()=>{
+              this.loading = false
+            });
           }
         } else {
-          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
         }
-      })
-    }
-  }
-}
+      });
+    },
+  },
+};
 </script>

--
Gitblit v1.9.1