From 008245cbe95c63a80f9a255378a5ffbe25d15085 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期三, 16 七月 2025 21:16:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/system/modules/SysPositionModal.vue | 213 +++++++++++++++++++++-------------------------------- 1 files changed, 85 insertions(+), 128 deletions(-) diff --git a/src/views/system/modules/SysPositionModal.vue b/src/views/system/modules/SysPositionModal.vue index 770f444..ae26a34 100644 --- a/src/views/system/modules/SysPositionModal.vue +++ b/src/views/system/modules/SysPositionModal.vue @@ -16,158 +16,115 @@ :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code" - required - label="鑱屽姟缂栫爜"> - <a-input placeholder="璇疯緭鍏ヨ亴鍔$紪鐮�" v-model="model.code" :read-only="readOnly"/> + label="宀椾綅缂栫爜"> + <a-input placeholder="宀椾綅缂栫爜鑷姩鐢熸垚" v-model="model.code" disabled /> </a-form-model-item> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name" - required - label="鑱屽姟鍚嶇О"> - <a-input placeholder="璇疯緭鍏ヨ亴鍔″悕绉�" v-model="model.name"/> + label="宀椾綅鍚嶇О"> + <a-input placeholder="璇疯緭鍏ュ矖浣嶅悕绉�" v-model="model.name" /> </a-form-model-item> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" - prop="postRank" - required - label="鑱岀骇" - > - <j-dict-select-tag - placeholder="璇烽�夋嫨鑱岀骇" - dictCode="position_rank" - v-model="model.postRank" - /> + prop="remark" + label="澶囨敞"> + <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" /> </a-form-model-item> - </a-form-model> </a-spin> </a-modal> </template> <script> - import pick from 'lodash.pick' - import { httpAction } from '@/api/manage' - import { duplicateCheck } from '@/api/api' - import JDictSelectTag from '@/components/dict/JDictSelectTag' +import { httpAction } from '@/api/manage' - let validatorCodeTimer = null - - export default { - name: 'SysPositionModal', - components: { JDictSelectTag }, - data() { - return { - title: '鎿嶄綔', - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - code: [ - { required: true, message: '璇疯緭鍏ヨ亴鍔$紪鐮�' }, - { - validator: (rule, value, callback) => { - // 鍑芥暟娑堟姈鐨勭畝鍗曞疄鐜帮紝闃叉涓�娈垫椂闂村唴鍙戦�佸娆¤姹� - if (validatorCodeTimer) { - // 鍋滄涓婃寮�鍚殑瀹氭椂鍣� - clearTimeout(validatorCodeTimer) - } - validatorCodeTimer = setTimeout(() => { - duplicateCheck({ - tableName: 'sys_position', - fieldName: 'code', - fieldVal: value, - dataId: this.model.id - }).then((res) => { - if (res.success) { - callback() - } else { - callback(res.message) - } - }).catch(console.error) - }, 300) - } - } - ], - name: [{ required: true, message: '璇疯緭鍏ヨ亴鍔″悕绉�' }] , - postRank: [{ required: true, message: '璇烽�夋嫨鑱岀骇' }] , - }, - url: { - add: '/sys/position/add', - edit: '/sys/position/edit', - }, - readOnly:false +export default { + name: 'SysPositionModal', + data() { + return { + title: '鎿嶄綔', + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 } + }, + confirmLoading: false, + validatorRules: { + name: [{ required: true, message: '璇疯緭鍏ュ矖浣嶅悕绉�' }] + }, + url: { + add: '/sys/position/add', + edit: '/sys/position/edit' + }, + readOnly: false + } + }, + created() { + }, + methods: { + add() { + this.edit({}) + }, + edit(record) { + this.model = Object.assign({}, record) + this.visible = true + if (record.id) { + this.readOnly = true + } else { + this.readOnly = false } }, - created() { + close() { + this.$emit('close') + this.visible = false + this.$refs.form.resetFields() }, - methods: { - add() { - this.edit({}) - }, - edit(record) { - this.model = Object.assign({}, record) - this.visible = true - if(record.id){ - this.readOnly=true - }else{ - this.readOnly=false - } - }, - close() { - this.$emit('close') - this.visible = false - this.$refs.form.resetFields(); - }, - handleOk() { - const that = this - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = true - let httpurl = '' - let method = '' - if (!this.model.id) { - httpurl += this.url.add - method = 'post' - } else { - httpurl += this.url.edit - method = 'put' - } - - httpAction(httpurl, this.model, method).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.$emit('ok') - } else { - that.$message.warning(res.message) - } - }).finally(() => { - that.confirmLoading = false - that.close() - }) - }else{ - return false; + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true + let httpurl = '' + let method = '' + if (!this.model.id) { + httpurl += this.url.add + method = 'post' + } else { + httpurl += this.url.edit + method = 'put' } - }) - }, - handleCancel() { - this.close() - }, - + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('ok') + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + that.close() + }) + } else { + return false + } + }) + }, + handleCancel() { + this.close() } + } +} </script> <style lang="less" scoped> -- Gitblit v1.9.3