From 0f1443d33d4099564f84e1a3f4f1572841a370ff Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 03 一月 2024 11:26:04 +0800
Subject: [PATCH] Mr.Shi

---
 admin/src/components/business/OperaInternalCompanyWindow.vue |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue
index 5d0b5fd..082e5d2 100644
--- a/admin/src/components/business/OperaInternalCompanyWindow.vue
+++ b/admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -6,8 +6,11 @@
         @confirm="confirm"
     >
         <el-form :model="form" ref="form" :rules="rules">
-            <el-form-item label="鍚嶇О" prop="name">
-                <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+            <el-form-item label="涓婄骇缁勭粐" prop="parentId">
+                <companySelect v-if="visible" v-model="form.parentId" placeholder="璇烽�夋嫨涓婄骇鑿滃崟" clearable :inline="false"/>
+            </el-form-item>
+            <el-form-item label="缁勭粐鍚嶇О" prop="name">
+                <el-input v-model="form.name" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" v-trim/>
             </el-form-item>
         </el-form>
     </GlobalWindow>
@@ -16,20 +19,32 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
+import companySelect from '@/components/common/companySelect'
 export default {
   name: 'OperaInternalCompanyWindow',
   extends: BaseOpera,
-  components: { GlobalWindow },
+  components: { GlobalWindow, companySelect },
   data () {
     return {
+      options: [],
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
-        name: ''
+        name: '',
+        parentId: [],
+        disable: false
       },
       // 楠岃瘉瑙勫垯
       rules: {
+        name: [
+          { required: true, message: '璇疯緭鍏ョ粍缁囧悕绉�' }
+        ]
       }
+    }
+  },
+  props: {
+    list: {
+      type: Array
     }
   },
   created () {
@@ -37,6 +52,54 @@
       api: '/business/company',
       'field.id': 'id'
     })
+  },
+  methods: {
+    // 纭鏂板缓/淇敼
+    confirm () {
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        // 璋冪敤鏂板缓鎺ュ彛
+        this.isWorking = true
+        if (this.form.id == null || this.form.id === '') {
+          this.api.create({
+            parentId: this.form.parentId,
+            name: this.form.name,
+            type: 1
+          })
+            .then(() => {
+              this.visible = false
+              this.$tip.apiSuccess('鏂板缓鎴愬姛')
+              this.$emit('success')
+            })
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.isWorking = false
+            })
+        } else {
+          this.api.updateById({
+            id: this.form.id,
+            parentId: this.form.parentId,
+            name: this.form.name,
+            type: 1
+          })
+            .then(() => {
+              this.visible = false
+              this.$tip.apiSuccess('淇敼鎴愬姛')
+              this.$emit('success')
+            })
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.isWorking = false
+            })
+        }
+      })
+    }
   }
 }
 </script>

--
Gitblit v1.9.3