From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化

---
 admin/src/components/business/OperaInternalCompanyWindow.vue |  125 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 120 insertions(+), 5 deletions(-)

diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue
index 5d0b5fd..ad001b2 100644
--- a/admin/src/components/business/OperaInternalCompanyWindow.vue
+++ b/admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -6,9 +6,21 @@
         @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="涓婄骇缁勭粐"  >
+<!--
+                <companySelect v-if="!form.id " v-model="form.parentId" placeholder="璇烽�夋嫨涓婄骇鑿滃崟" clearable :inline="false"/>
+-->
+              <span>銆恵{form.parentName || '-'}}銆�</span>
             </el-form-item>
+            <el-form-item label="缁勭粐鍚嶇О" prop="name">
+                <el-input v-model="form.name" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" v-trim/>
+            </el-form-item>
+          <el-form-item label="缁勭粐绫诲瀷" prop="type">
+            <el-radio-group v-model="form.type" :disabled="form.parentType == 0">
+              <el-radio :label="0">鐩稿叧鏂圭粍缁�</el-radio>
+              <el-radio :label="1">鍐呴儴缁勭粐</el-radio>
+            </el-radio-group>
+          </el-form-item>
         </el-form>
     </GlobalWindow>
 </template>
@@ -16,27 +28,130 @@
 <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: ''
+        type: '0',
+        name: '',
+        parentId: null,
+        disable: false,
+        parentName: ''
       },
       // 楠岃瘉瑙勫垯
       rules: {
+        name: [
+          { required: true, message: '璇疯緭鍏ョ粍缁囧悕绉�' }
+        ],
+        type: [
+          { required: true, message: '璇烽�夋嫨缁勭粐绫诲瀷' }
+        ]
       }
+    }
+  },
+  props: {
+    list: {
+      type: Array
     }
   },
   created () {
     this.config({
-      api: '/business/company',
+      api: '/business/company.js',
       'field.id': 'id'
     })
+  },
+  methods: {
+    open(title,target,row){
+      this.title =title
+      this.visible =true
+      console.log(target)
+      this.form= {
+        id: null,
+        type: 0,
+        name: '',
+        parentId: null,
+        disable: false,
+        parentName: '',
+        parentType:null
+      }
+      if (target != null) {
+        this.form.parentId = target.id
+        this.form.parentType = target.type
+        this.form.parentName = target.companyNamePath
+
+      }
+      // 鏂板缓缁勭粐
+      if (row == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        this.originPermissionCode = target.code
+        for (const key in this.form) {
+          this.form[key] = row[key]
+        }
+        if(target.type == 0){
+          this.form.type = 0
+        }
+      })
+    },
+    // 纭鏂板缓/淇敼
+    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: this.form.type
+          })
+            .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: this.form.type
+          })
+            .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