| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | 
							- <template>
 
-   <a-modal
 
-     :title="title"
 
-     :width="600"
 
-     :visible="visible"
 
-     :confirmLoading="confirmLoading"
 
-     @ok="handleOk"
 
-     @cancel="handleCancel"
 
-     cancelText="关闭"
 
-   >
 
-     <a-spin :spinning="confirmLoading">
 
-       <a-form-model ref="form" :model="model" :rules="validatorRules">
 
-         <a-form-model-item
 
-           :labelCol="labelCol"
 
-           :wrapperCol="wrapperCol"
 
-           prop="dictName"
 
-           required
 
-           label="字典名称">
 
-           <a-input placeholder="请输入字典名称" v-model="model.dictName"/>
 
-         </a-form-model-item>
 
-         <a-form-model-item
 
-           :labelCol="labelCol"
 
-           :wrapperCol="wrapperCol"
 
-           prop="dictCode"
 
-           required
 
-           label="字典编码">
 
-           <a-input placeholder="请输入字典编码" v-model="model.dictCode"/>
 
-         </a-form-model-item>
 
-         <a-form-model-item
 
-           :labelCol="labelCol"
 
-           :wrapperCol="wrapperCol"
 
-           label="描述">
 
-           <a-input v-model="model.description"/>
 
-         </a-form-model-item>
 
-       </a-form-model>
 
-     </a-spin>
 
-   </a-modal>
 
- </template>
 
- <script>
 
-   import pick from 'lodash.pick'
 
-   import { addDict, editDict, duplicateCheck } from '@/api/api'
 
-   export default {
 
-     name: 'DictModal',
 
-     data() {
 
-       return {
 
-         value: 1,
 
-         title: '操作',
 
-         visible: false,
 
-         model: {},
 
-         labelCol: {
 
-           xs: { span: 24 },
 
-           sm: { span: 5 }
 
-         },
 
-         wrapperCol: {
 
-           xs: { span: 24 },
 
-           sm: { span: 16 }
 
-         },
 
-         confirmLoading: false,
 
-         validatorRules: {
 
-           dictName: [{ required: true, message: '请输入字典名称!' }],
 
-           dictCode: [
 
-             { required: true, message: '请输入字典编码!' },
 
-             { validator: this.validateDictCode }]
 
-           }
 
-       }
 
-     },
 
-     created() {
 
-     },
 
-     methods: {
 
-       validateDictCode(rule, value, callback) {
 
-         // 重复校验
 
-         var params = {
 
-           tableName: 'sys_dict',
 
-           fieldName: 'dict_code',
 
-           fieldVal: value,
 
-           dataId: this.model.id
 
-         }
 
-         duplicateCheck(params).then((res) => {
 
-           if (res.success) {
 
-             callback()
 
-           } else {
 
-             callback(res.message)
 
-           }
 
-         })
 
-       },
 
-       handleChange(value) {
 
-         this.model.status = value
 
-       },
 
-       add() {
 
-         this.edit({})
 
-       },
 
-       edit(record) {
 
-         if (record.id) {
 
-           this.visiblekey = true
 
-         } else {
 
-           this.visiblekey = false
 
-         }
 
-         this.model = Object.assign({}, record)
 
-         this.visible = true
 
-       },
 
-       // 确定
 
-       handleOk() {
 
-         const that = this
 
-         // 触发表单验证
 
-         this.$refs.form.validate(valid => {
 
-           if (valid) {
 
-             that.confirmLoading = true
 
-             this.model.dictName = (this.model.dictName || '').trim()
 
-             this.model.dictCode = (this.model.dictCode || '').trim()
 
-             this.model.description = (this.model.description || '').trim()
 
-             let obj
 
-             if (!this.model.id) {
 
-               obj = addDict(this.model)
 
-             } else {
 
-               obj = editDict(this.model)
 
-             }
 
-             obj.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()
 
-       },
 
-       close() {
 
-         this.$emit('close')
 
-         this.visible = false
 
-         this.$refs.form.resetFields();
 
-       }
 
-     }
 
-   }
 
- </script>
 
 
  |