From 9f16bb0a53e68f9803ae807834d34a5b0d659c87 Mon Sep 17 00:00:00 2001 From: zelian_wu Date: Fri, 5 Jan 2024 14:12:42 +0800 Subject: [PATCH] 2024-1-5 --- .../com_projectInfo-add-or-update.vue | 246 ++++++++++-------- .../project/projectInfo/projectInfo.vue | 13 +- src/views/modules/sys/dict-data-select.vue | 8 +- src/views/modules/sys/dict-data.vue | 1 + 4 files changed, 146 insertions(+), 122 deletions(-) diff --git a/src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue b/src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue index 49e5cd1..2d2d545 100644 --- a/src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue +++ b/src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue @@ -2,57 +2,45 @@
- - + :visible.sync="visible" + @close="closeSaveDialog"> + + - - - + + + - - - + + - - - 项目类型 - + + - + 所属客户 - - - - + - - - + - - - + BU - - 项目来源 - + + - - - - + + - + - - 项目经理 @@ -71,18 +57,12 @@ 项目负责人 - - - + - - - + - - 项目权限 @@ -230,6 +210,16 @@ import Chooselist from '@/views/modules/common/Chooselist' import DictDataSelect from "../../sys/dict-data-select.vue"; export default { + model:{ + prop:'value', + event:'change', + }, + props:{ + value:{ + required:true, + type:Number, + } + }, components: { DictDataSelect, Chooselist @@ -279,7 +269,7 @@ { required: true, message: ' ', - trigger: 'change' + trigger: ['change','blur'] } ], projectType: [ @@ -289,18 +279,25 @@ trigger: 'change' } ], + projectTypeDb: [ + { + required: true, + message: ' ', + trigger: ['change','blur'] + } + ], customerName: [ { required: true, message: ' ', - trigger: 'change' + trigger: ['change','blur'] } ], projectName: [ { required: true, message: ' ', - trigger: 'change' + trigger: ['change','blur'] } ], buDesc: [ @@ -317,6 +314,13 @@ trigger: 'change' } ], + projectSource: [ + { + required: true, + message: ' ', + trigger: ['change','blur'] + } + ], priorityDesc: [ { required: true, @@ -324,11 +328,18 @@ trigger: 'change' } ], + priority: [ + { + required: true, + message: ' ', + trigger: ['change','blur'] + } + ], needDate: [ { required: true, message: ' ', - trigger: 'change' + trigger: ['change','blur'] } ], projectManagerName: [ @@ -644,77 +655,84 @@ }, // 表单提交 dataFormSubmit () { - if(this.dataForm.projectTypeDb==''||this.dataForm.projectTypeDb==null){ - this.$alert('请选择项目类型!', '错误', { - confirmButtonText: '确定' + this.$refs.saveForm.validate((validate)=>{ + if (validate){ + saveProjectInfo(this.dataForm).then(({data}) => { + if (data && data.code === 0) { + this.$message.success( '操作成功') + this.visible = false + this.$emit('refreshDataList') + } else { + this.$message.error(data.msg) + } }) - return false; - } - if(this.dataForm.customerId==''||this.dataForm.customerId==null){ - this.$alert('请选择所属客户!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.projectName==''||this.dataForm.projectName==null){ - this.$alert('请输入项目名称!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.projectSource==''||this.dataForm.projectSource==null){ - this.$alert('请选择项目来源!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.buDesc==''||this.dataForm.buDesc==null){ - this.$alert('请选择BU!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.priority==''||this.dataForm.priority==null){ - this.$alert('请选择优先级!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.needDate==''||this.dataForm.needDate==null){ - this.$alert('请选择要求日期!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.projectManagerName==''||this.dataForm.projectManagerName==null){ - this.$alert('请选择项目经理!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.projectOwnerName==''||this.dataForm.projectOwnerName==null){ - this.$alert('请选择项目负责人!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - if(this.dataForm.userRoleName==''||this.dataForm.userRoleName==null){ - this.$alert('请选择权限!', '错误', { - confirmButtonText: '确定' - }) - return false; - } - saveProjectInfo(this.dataForm).then(({data}) => { - if (data && data.code === 0) { - this.$message.success( '操作成功') - this.visible = false - this.$emit('refreshDataList') - } else { - this.$message.error(data.msg) + }else { + if(!this.dataForm.projectTypeDb){ + this.$alert('请选择项目类型!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.customerId){ + this.$alert('请选择所属客户!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.projectName){ + this.$alert('请输入项目名称!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.projectSource){ + this.$alert('请选择项目来源!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.buDesc){ + this.$alert('请选择BU!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.priority){ + this.$alert('请选择优先级!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.needDate){ + this.$alert('请选择要求日期!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.projectManagerName){ + this.$alert('请选择项目经理!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.projectOwnerName){ + this.$alert('请选择项目负责人!', '错误', { + confirmButtonText: '确定' + }) + return false; + } + if(!this.dataForm.userRoleName){ + this.$alert('请选择权限!', '错误', { + confirmButtonText: '确定' + }) + return false; + } } }) - }, + closeSaveDialog(){ + this.$refs.saveForm.resetFields(); + } }, } diff --git a/src/views/modules/project/projectInfo/projectInfo.vue b/src/views/modules/project/projectInfo/projectInfo.vue index a0ba80c..af57cc4 100644 --- a/src/views/modules/project/projectInfo/projectInfo.vue +++ b/src/views/modules/project/projectInfo/projectInfo.vue @@ -13,7 +13,7 @@ 查询 - 新增 + 新增 @@ -337,7 +338,7 @@ - +
@@ -387,6 +388,8 @@ name: "null", data() { return { + // addOrUpdate + addOrUpdate:0, //项目已选联系人 contactChooseList1:[], //客户可选联系人 @@ -1031,10 +1034,11 @@ } }, // 新增 / 修改 - addOrUpdateHandle (id) { + addOrUpdateHandle (id,row) { this.addOrUpdateVisible = true + this.addOrUpdate = id; this.$nextTick(() => { - this.$refs.addOrUpdate.init(id) + this.$refs.addOrUpdate.init() }) }, UpdateHandle (row) { @@ -1046,6 +1050,7 @@ getProjectUserRole(inData).then(({data}) => { if(this.$store.state.user.name=='admin'||data.row.updateFlag=='Y') { this.addOrUpdateVisible = true + this.addOrUpdate = 1; this.$nextTick(() => { this.$refs.addOrUpdate.init(row.id) }) diff --git a/src/views/modules/sys/dict-data-select.vue b/src/views/modules/sys/dict-data-select.vue index fca4585..039d700 100644 --- a/src/views/modules/sys/dict-data-select.vue +++ b/src/views/modules/sys/dict-data-select.vue @@ -27,9 +27,6 @@ export default { options: [] } }, - updated() { - this.dictDefaultValue() - }, created () { this.initOption() }, @@ -38,7 +35,9 @@ export default { // 当value值不存在 并且查询的下拉框存在默认值列,将value赋值为默认 if (!this.value && this.options.length > 0){ let find = this.options.find(item=>item.isDefault === 'Y'); - this.$emit("change",find.dictValue); + if (find){ + this.$emit("change",find.dictValue); + } } }, //初始化options @@ -54,6 +53,7 @@ export default { if (data && data.code === 0){ this.options = data.rows; } + this.dictDefaultValue(); }, // el-select @change事件,修改父组件值 changeDictData(val){ diff --git a/src/views/modules/sys/dict-data.vue b/src/views/modules/sys/dict-data.vue index a41c98a..8a31e9b 100644 --- a/src/views/modules/sys/dict-data.vue +++ b/src/views/modules/sys/dict-data.vue @@ -84,6 +84,7 @@ export default { closeSaveDataDialog(){ this.$refs.saveDataForm.resetFields(); this.saveData.remark = undefined; + this.saveData.isDefault = 'N'; }, openSaveDataDialog(){ this.saveData.dictType = this.searchData.dictType;