From 8f24fea6ef79a68bbda4991bd9bd7a60402ad033 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期四, 09 十一月 2023 18:16:03 +0800
Subject: [PATCH] 采购单,物品分类

---
 admin-web/src/views/foundation/classification/edit.vue |  174 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 93 insertions(+), 81 deletions(-)

diff --git a/admin-web/src/views/foundation/classification/edit.vue b/admin-web/src/views/foundation/classification/edit.vue
index f0f9077..808e3f7 100644
--- a/admin-web/src/views/foundation/classification/edit.vue
+++ b/admin-web/src/views/foundation/classification/edit.vue
@@ -1,25 +1,34 @@
 <template>
   <win-sm :title="setting.title" @close="close" :width="'800px'">
     <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
-      <el-form-item label="涓婄骇鍒嗙被" prop="fatherCategoryId">
-        <el-input v-model="formData.fatherCategoryId" clearable maxlength="20" show-word-limit style="width: 100%"/>
+      <el-form-item label="涓婄骇鍒嗙被" prop="fatherCategoryName" :key="key">
+        <el-input
+          v-model="formData.fatherCategoryName"
+          clearable
+          maxlength="20"
+          show-word-limit
+          style="width: 100%"
+          disabled
+        />
       </el-form-item>
       <el-form-item label="鍒嗙被鍚嶇О" prop="categoryName">
-        <el-input v-model="formData.categoryName" clearable maxlength="20" show-word-limit style="width: 100%"/>
+        <el-input v-model="formData.categoryName" clearable maxlength="20" show-word-limit style="width: 100%" />
       </el-form-item>
-      <el-form-item label="绫诲埆" prop="classification">
-        <!-- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/> -->
+      <!-- 鍙湁绗笁绾у垎绫讳俊鎭淮鎶ゆ椂闇�瑕侀�夌被鍒� -->
+      <el-form-item label="绫诲埆" prop="classification" v-if="plevels==2">
         <el-select v-model="formData.classification" placeholder="" clearable style="width: 100%">
-          <el-option
-            v-for="item in options"
-            :key="item.code"
-            :label="item.label"
-            :value="item.code">
-          </el-option>
+          <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="椤哄簭" prop="orderNumber">
-        <el-input v-model="formData.orderNumber" clearable maxlength="20" show-word-limit style="width: 100%"/>
+        <el-input
+          type="number"
+          v-model="formData.orderNumber"
+          clearable
+          maxlength="20"
+          show-word-limit
+          style="width: 100%"
+        />
       </el-form-item>
       <el-form-item label="鐘舵��" prop="states">
         <el-radio-group v-model="formData.states">
@@ -29,105 +38,108 @@
       </el-form-item>
     </el-form>
     <div slot="footer" align="center" class="dialog-footer">
-      <my-button name="鍙栨秷" site="form" @click="close"/>
-      <my-button name="淇濆瓨" site="form" @click="save"/>
+      <my-button name="鍙栨秷" site="form" @click="close" />
+      <my-button name="淇濆瓨" site="form" @click="save" />
     </div>
   </win-sm>
 </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 { getDicts } from '@/api/system/dict/data';
+import { getCategoryDetail } from '@/api/foudation/classification';
 export default {
-  components: {winSm, myButton},
+  components: { winSm, myButton },
   props: {
     setting: {
       type: Object,
-      default: () => {
-      }
-    }
+      default: () => {},
+    },
   },
   data() {
     return {
       checkAll: false,
       checkedList: [],
-      options:[
-        {
-          code: 'A',
-          label:'A'
-        },
-        {
-          code: "B",
-          label:'B'
-        },
-        {
-          code: 'c',
-          label:'C'
-        }
-      ],
+      options: [], // 绫诲埆鍒楄〃
       formData: {
-        code: '',
-        name: '',
-        states: '',
-        summary: '',
-        planTypeCode:''
+        fatherCategoryId: '', // 涓婄骇鍒嗙被
+        fatherCategoryName: '',
+        categoryName: '', //鍒嗙被鍚嶇О
+        classification: '', //绫诲埆
+        orderNumber: '', // 椤哄簭
+        states: 1, // 鐘舵��
       },
       rules: {
-        fatherCategoryId: [
-          {required: true, message: '璇疯緭鍏�', trigger: 'blur'}
-        ],
-        categoryName: [
-          {required: true, message: '璇疯緭鍏�', trigger: 'blur'}
-        ]
-      }
-    }
+        fatherCategoryName: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }],
+        categoryName: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }],
+        classification: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+        orderNumber: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }],
+      },
+      key: Math.random(),
+      plevels:1
+    };
   },
   created() {
-    if(this.setting.info){
-      this.formData = Object.assign({},JSON.parse(this.setting.info))
+    if (this.setting.title == '缂栬緫') {
+      this.formData = Object.assign({}, JSON.parse(this.setting.info));
+    } else {
+      this.formData.fatherCategoryId = this.setting.pid;
     }
+    this.getCategoryName();
+    getDicts('GOODS_PRICE').then((res) => {
+      this.options = res.map((v) => {
+        v.label = v.dict_label;
+        v.value = v.dict_value;
+        return v;
+      });
+    });
   },
   methods: {
-    getEditInfo(id){
-
+    getEditInfo(id) {},
+    // 鍒嗙被鍚嶇О鑾峰彇
+    getCategoryName() {
+      getCategoryDetail({ id: this.formData.fatherCategoryId }).then((res) => {
+        this.formData.fatherCategoryName = res.categoryName;
+        this.key = Math.random();
+        this.plevels = res.levels
+      });
     },
     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.setting.id) {
+            debugger;
             // 缂栬緫鎺ュ彛
-            finsystenant.edit(params).then(res => {
-              if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�')
-                this.close()
-                this.$emit('search')
-              } else {
-                this.$message.error('淇濆瓨澶辫触')
-              }
-            })
-          }else{
-            params.orgId = this.setting.orgId
-            finsystenant.add(params).then(res => {
-              if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�')
-                this.close()
-                this.$emit('search')
-              } else {
-                this.$message.error('淇濆瓨澶辫触')
-              }
-            })
+            finsystenant.edit(params).then((res) => {
+              this.$message.success('淇濆瓨鎴愬姛锛�');
+              this.close();
+              this.$emit('search');
+            });
+          } else {
+            params.orgId = this.setting.orgId;
+            console.log(params);
+            finsystenant
+              .add(params)
+              .then((res) => {
+                this.$message.success('淇濆瓨鎴愬姛锛�');
+                this.close();
+                this.$emit('search');
+              })
+              .catch((err) => {
+                console.log('err', err);
+              });
           }
         } else {
-          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+          this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
         }
-      })
-    }
-  }
-}
+      });
+    },
+  },
+};
 </script>

--
Gitblit v1.9.1