From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 九月 2025 18:43:14 +0800
Subject: [PATCH] 最新版本541200007

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

diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue
index 5d0b5fd..783f6b9 100644
--- a/admin/src/components/business/OperaInternalCompanyWindow.vue
+++ b/admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -6,9 +6,24 @@
         @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="sortnum">
+                <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+            </el-form-item>
+          <el-form-item label="缁勭粐绫诲瀷" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')">
+            <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))">
+              <el-radio :label="0">鐩稿叧鏂圭粍缁�</el-radio>
+              <el-radio :label="1">鍐呴儴缁勭粐</el-radio>
+            </el-radio-group>
+          </el-form-item>
         </el-form>
     </GlobalWindow>
 </template>
@@ -16,27 +31,141 @@
 <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: '',
+        sortnum: ''
       },
+      editType: '',
+      parentId: null,
       // 楠岃瘉瑙勫垯
       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, editType){
+      this.title = title
+      this.editType = editType
+      if (editType === 'edit') {
+        this.parentId = row.parentId
+      } else if (editType === 'add') {
+        this.parentId = target.parentId
+      }
+      this.visible = true
+      this.form = {
+        id: null,
+        type: 0,
+        name: '',
+        parentId: null,
+        disable: false,
+        parentName: '',
+        parentType: null,
+        sortnum: 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
+          this.form.type = target.type
+        })
+        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,
+            sortnum: this.form.sortnum
+          })
+            .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,
+            sortnum: this.form.sortnum
+          })
+            .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