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