From 1477a1353e96b5620a29c78e2b08647a1a2bc5b7 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 15 十月 2024 19:07:25 +0800
Subject: [PATCH] ll
---
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