From 55f9275785a2c1ff8cfb7b3ae3e5c0ac608bdff0 Mon Sep 17 00:00:00 2001 From: zhangyichen <5277314+zacty@user.noreply.gitee.com> Date: Thu, 7 Apr 2022 12:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E5=88=92=E9=83=A8=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creatProcess/zdrzbzORzchgxxmsc/step5.vue | 720 +++++++++++++++++- 1 file changed, 708 insertions(+), 12 deletions(-) diff --git a/src/pages/processCenter/pages/creatProcess/zdrzbzORzchgxxmsc/step5.vue b/src/pages/processCenter/pages/creatProcess/zdrzbzORzchgxxmsc/step5.vue index af9724566..883681366 100644 --- a/src/pages/processCenter/pages/creatProcess/zdrzbzORzchgxxmsc/step5.vue +++ b/src/pages/processCenter/pages/creatProcess/zdrzbzORzchgxxmsc/step5.vue @@ -144,12 +144,25 @@
+
+ + 新增 + + + 编辑 + + + 批量删除 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -318,6 +614,194 @@ :is-visible.sync="drawerModal" @checkedRole="checkedRole" > + +
+
+ +
+
+ +
@@ -332,6 +816,88 @@ export default { name: "zdrzbzORzchgxxmscStep5", data() { return { + ruleForm: { + multipleTableData: [], + }, + selectList: [], + multipleTableTitle: '', + multipleTableItemDialog: false, + multipleTableItemForm: { + id: '', + yewu: '', + pingtai: '', + xiangmu: '', + xiangmumiaoshu: '', + dangqianjiedian: '', + G0: '', + G1: '', + G2: '', + G3: '', + G4: '', + G5: '', + G6: '', + G7: '', + G8: '', + G9: '', + G10: '', + G11: '', + G12: '', + G13: '', + gainianzhuangtai: '', + gainianzhuangtaiDate: '', + gainianxiudingjihua: '', + qitashuoming: '' + }, + multipleTableItemData: { + yewu: '', + pingtai: '', + xiangmu: '', + xiangmumiaoshu: '', + dangqianjiedian: '', + G0: '', + G1: '', + G2: '', + G3: '', + G4: '', + G5: '', + G6: '', + G7: '', + G8: '', + G9: '', + G10: '', + G11: '', + G12: '', + G13: '', + gainianzhuangtai: '', + gainianzhuangtaiDate: '', + gainianxiudingjihua: '', + qitashuoming: '' + }, + multipleTableItemFormRules: { + yewu: { required: true, message: '请输入业务名称', trigger: 'blur' }, + pingtai: { required: true, message: '请输入业务名称', trigger: 'blur' }, + xiangmu: { required: true, message: '请输入业务名称', trigger: 'blur' }, + xiangmumiaoshu: { required: false, message: '请输入业务名称', trigger: 'blur' }, + dangqianjiedian: { required: false, message: '请输入业务名称', trigger: 'blur' }, + G0: { required: true, message: '请选择时间', trigger: 'change' }, + G1: { required: true, message: '请选择时间', trigger: 'change' }, + G2: { required: true, message: '请选择时间', trigger: 'change' }, + G3: { required: true, message: '请选择时间', trigger: 'change' }, + G4: { required: true, message: '请选择时间', trigger: 'change' }, + G5: { required: true, message: '请选择时间', trigger: 'change' }, + G6: { required: true, message: '请选择时间', trigger: 'change' }, + G7: { required: true, message: '请选择时间', trigger: 'change' }, + G8: { required: true, message: '请选择时间', trigger: 'change' }, + G9: { required: true, message: '请选择时间', trigger: 'change' }, + G10: { required: true, message: '请选择时间', trigger: 'change' }, + G11: { required: true, message: '请选择时间', trigger: 'change' }, + G12: { required: true, message: '请选择时间', trigger: 'change' }, + G13: { required: true, message: '请选择时间', trigger: 'change' }, + gainianzhuangtai: { required: true, message: '请输入业务名称', trigger: 'blur' }, + gainianzhuangtaiDate: { required: true, message: '请选择时间', trigger: 'change' }, + gainianxiudingjihua: { required: true, message: '请输入业务名称', trigger: 'blur' }, + qitashuoming: { required: false, message: '请输入业务名称', trigger: 'blur' } + }, infoTableDatas: [], //用来判断反馈情况的是哪个部门,1代表各事业部,2代表产品规划部,0代表其他部门 feedbackDept: "", @@ -372,6 +938,135 @@ export default { ProcessTitle }, methods: { + // 多选逻辑 + selectChange(data) { + this.selectList = []; + for (let i = 0; i < data.length; i++) { + this.selectList.push(data[i].id); + } + }, + // 表格新增 + cancelAdd() { + this.$refs.multipleTableItemRef.clearValidate() + this.multipleTableItemDialog = false + }, + addFormItem() { + this.$refs.multipleTableItemRef.validate(valid => { + if (valid) { + this.multipleTableItemForm.id = Date.parse(new Date()) + var dataItem = JSON.parse(JSON.stringify(this.multipleTableItemForm)) + this.ruleForm.multipleTableData.push(dataItem) + this.$message.success('新增成功') + this.$refs.multipleTableItemRef.clearValidate() + this.multipleTableItemDialog = false + } + }) + }, + committeeAdd() { + this.multipleTableItemForm = { + id: '', + yewu: '', + pingtai: '', + xiangmu: '', + xiangmumiaoshu: '', + dangqianjiedian: '', + G0: '', + G1: '', + G2: '', + G3: '', + G4: '', + G5: '', + G6: '', + G7: '', + G8: '', + G9: '', + G10: '', + G11: '', + G12: '', + G13: '', + gainianzhuangtai: '', + gainianzhuangtaiDate: '', + gainianxiudingjihua: '', + qitashuoming: '' + } + this.multipleTableItemFormRules = { + yewu: { required: true, message: '请输入业务名称', trigger: 'blur' }, + pingtai: { required: true, message: '请输入业务名称', trigger: 'blur' }, + xiangmu: { required: true, message: '请输入业务名称', trigger: 'blur' }, + xiangmumiaoshu: { required: false, message: '请输入业务名称', trigger: 'blur' }, + dangqianjiedian: { required: false, message: '请输入业务名称', trigger: 'blur' }, + G0: { required: true, message: '请选择时间', trigger: 'change' }, + G1: { required: true, message: '请选择时间', trigger: 'change' }, + G2: { required: true, message: '请选择时间', trigger: 'change' }, + G3: { required: true, message: '请选择时间', trigger: 'change' }, + G4: { required: true, message: '请选择时间', trigger: 'change' }, + G5: { required: true, message: '请选择时间', trigger: 'change' }, + G6: { required: true, message: '请选择时间', trigger: 'change' }, + G7: { required: true, message: '请选择时间', trigger: 'change' }, + G8: { required: true, message: '请选择时间', trigger: 'change' }, + G9: { required: true, message: '请选择时间', trigger: 'change' }, + G10: { required: true, message: '请选择时间', trigger: 'change' }, + G11: { required: true, message: '请选择时间', trigger: 'change' }, + G12: { required: true, message: '请选择时间', trigger: 'change' }, + G13: { required: true, message: '请选择时间', trigger: 'change' }, + gainianzhuangtai: { required: true, message: '请输入业务名称', trigger: 'blur' }, + gainianzhuangtaiDate: { required: true, message: '请选择时间', trigger: 'change' }, + gainianxiudingjihua: { required: true, message: '请输入业务名称', trigger: 'blur' }, + qitashuoming: { required: false, message: '请输入业务名称', trigger: 'blur' } + } + this.infoTableDatas.forEach((item, index) => { + this.multipleTableItemFormRules['infoTableData' + index] = { required: true, message: '请输入', trigger: 'blur' } + }) + this.multipleTableTitle = '添加标准' + this.multipleTableItemDialog = true + this.$nextTick(_ => { + this.$refs.multipleTableItemRef.clearValidate() + }) + }, + // 表格编辑 + editFormItem() { + this.$refs.multipleTableItemRef.validate(valid => { + if (valid) { + var dataItem = JSON.parse(JSON.stringify(this.multipleTableItemForm)) + this.ruleForm.multipleTableData.forEach((item, index) => { + if (item.id === dataItem.id) { + item = dataItem + } + }) + this.$message.success('编辑成功') + this.$refs.multipleTableItemRef.clearValidate() + this.multipleTableItemDialog = false + } + }) + }, + committeeEdit() { + if (this.selectList.length === 1) { + this.multipleTableTitle = '编辑标准' + this.ruleForm.multipleTableData.forEach((item, index) => { + if (item.id === this.selectList[0]) { + this.multipleTableItemForm = item + } + }) + this.multipleTableItemDialog = true + } else { + this.$message.warning('最多选择一条数据编辑') + } + }, + // 表格删除 + committeeDel() { + if (this.selectList.length > 0) { + this.selectList.forEach((item1, index1) => { + this.ruleForm.multipleTableData.forEach((item, index) => { + if (item.id === item1) { + this.ruleForm.multipleTableData.splice(index, 1) + } + }) + }) + this.$message.success('删除成功') + } else { + this.$message.warning('至少选择一条数据') + } + }, handleTransfer() { this.drawerModal = true }, @@ -517,7 +1212,9 @@ export default { this.getFormFieldList(processForm) } let data = JSON.parse(res.mesg) + console.log(data, 'data') this.infoTableDatas = JSON.parse(data.infoTableDatas) + console.log(this.infoTableDatas, 'infoTableDatas') this.form.cid = data.cid this.form.endTime = data.endTime this.form.cname = data.cname @@ -525,7 +1222,6 @@ export default { this.form.fjListId = data.fjListId this.json = data this.feedbackDept = this.json.feedbackDept - console.log('485',this.feedbackDept) }).catch(e => { }); }); @@ -536,7 +1232,7 @@ export default { getFormFieldList(item) { this.$nextTick(() => { this.form = JSON.parse(JSON.stringify(item)); - this.form.cid = item.form.cid + this.form.cid = item.cid }); }, }, @@ -597,7 +1293,7 @@ export default { flex-direction: column; justify-content: space-between; height: calc(~'100% - 103px'); - overflow: auto; + // overflow: auto; .tableTitle { margin-bottom: 10px;