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