对接重点认证标准/政策合规性项目审查流程

This commit is contained in:
范强强
2023-10-25 15:02:25 +08:00
parent 792c2c4e1c
commit 6c289e436e
5 changed files with 191 additions and 92 deletions
@@ -14,17 +14,17 @@
<el-form :model="multipleTableItemForm" inline class="label-input-form"
:rules="multipleTableItemFormRules" label-width="180px"
ref="multipleTableItemRef">
<el-form-item prop="yewu" label="业务" style="width: 100%; margin-right:10px"
<el-form-item prop="yewu" label="业务名称" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input v-model="multipleTableItemForm.yewu" style="width: 400px;"
placeholder="请输入业务名称"/>
</el-form-item>
<el-form-item prop="pingtai" label="平台" style="width: 100%; margin-right:10px"
<el-form-item prop="pingtai" label="平台名称" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input v-model="multipleTableItemForm.pingtai" style="width: 400px;"
placeholder="请输入平台名称"/>
</el-form-item>
<el-form-item prop="xiangmu" label="项目" style="width: 100%; margin-right:10px"
<el-form-item prop="xiangmu" label="项目名称" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input v-model="multipleTableItemForm.xiangmu" style="width: 400px;"
placeholder="请输入项目名称"/>
@@ -204,12 +204,12 @@
<el-form-item prop="gainianxiudingjihua" label="概念修订计划"
style="width: 100%; margin-right:10px" class="add-form-item">
<el-input v-model="multipleTableItemForm.gainianxiudingjihua"
style="width: 400px;" placeholder="请输入当前节点"/>
style="width: 400px;" placeholder="请输入概念修订计划"/>
</el-form-item>
<el-form-item prop="qitashuoming" label="其他说明"
style="width: 100%; margin-right:10px" class="add-form-item">
<el-input v-model="multipleTableItemForm.qitashuoming" style="width: 400px;"
placeholder="请输入当前节点"/>
placeholder="请输入其他说明"/>
</el-form-item>
</el-form>
</el-col>
@@ -245,28 +245,28 @@
pingtai: [
{
required: true,
message: '请输入业务名称',
message: '请输入平台',
trigger: 'blur'
}
],
xiangmu: [
{
required: true,
message: '请输入业务名称',
message: '请输入项目名称',
trigger: 'blur'
}
],
xiangmumiaoshu: [
{
required: false,
message: '请输入业务名称',
message: '请输入项目描述',
trigger: 'blur'
}
],
dangqianjiedian: [
{
required: false,
message: '请输入业务名称',
message: '请输入当前节点',
trigger: 'blur'
}
],
@@ -336,7 +336,8 @@
G9: [
{
required: true,
message: '请选择时间', trigger: 'change'
message: '请选择时间',
trigger: 'change'
}
],
G10: [
@@ -349,55 +350,73 @@
G11: [
{
required: true,
message: '请选择时间', trigger: 'change'
message: '请选择时间',
trigger: 'change'
}
],
G12: [
{
required: true,
message: '请选择时间', trigger: 'change'
message: '请选择时间',
trigger: 'change'
}
],
G13: [
{
required: true,
message: '请选择时间', trigger: 'change'
message: '请选择时间',
trigger: 'change'
}
],
gainianzhuangtai: [
{
required: true,
message: '请输入业务名称', trigger: 'blur'
message: '请输入概念状态',
trigger: 'blur'
}
],
gainianzhuangtaiDate: [
{
required: true,
message: '请选择时间', trigger: 'change'
message: '请选择概念计划下发时间',
trigger: 'change'
}
],
gainianxiudingjihua: [
{
required: true,
message: '请输入业务名称', trigger: 'blur'
message: '请输入概念修订计划',
trigger: 'blur'
}
],
qitashuoming: [
{
required: false,
message: '请输入业务名称', trigger: 'blur'
message: '请输入其他说明',
trigger: 'blur'
}
]
},
isSubmit:false,
isSubmit: false,
}
},
methods: {
add() {
add(list) {
this.multipleTableItemDialog = true
this.infoTableDatas = JSON.parse(JSON.stringify(list))
this.multipleTableTitle = '新增'
this.$nextTick(()=>{
this.multipleTableItemForm = {}
this.multipleTableItemForm = {}
this.multipleTableItemForm = {...this.multipleTableItemForm}
this.$nextTick(() => {
this.$refs['multipleTableItemRef'].clearValidate()
})
},
edit(row, list) {
this.multipleTableItemDialog = true
this.multipleTableTitle = '编辑'
this.infoTableDatas = JSON.parse(JSON.stringify(list))
this.$nextTick(() => {
this.multipleTableItemForm = JSON.parse(JSON.stringify(row))
this.multipleTableItemForm = {...this.multipleTableItemForm}
this.$refs['multipleTableItemRef'].clearValidate()
})
@@ -414,7 +433,7 @@
}
this.isSubmit = true
this.$emit('addModelForm', this.multipleTableItemForm)
this.modalshowflag = false
this.multipleTableItemDialog = false
this.$nextTick(() => {
this.isSubmit = false
})
@@ -48,24 +48,24 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="conformSituation" label="资源符合情况"
<el-form-item prop="resourceAccordwithCircumstance" label="资源符合情况"
class="add-form-item">
<el-input v-model="multipleTableItemForm.conformSituation"
<el-input v-model="multipleTableItemForm.resourceAccordwithCircumstance"
placeholder="请输入资源符合情况"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="devScheme" label="开发计划"
<el-form-item prop="devPlan" label="开发计划"
class="add-form-item">
<el-input v-model="multipleTableItemForm.devScheme"
<el-input v-model="multipleTableItemForm.devPlan"
placeholder="请输入开发计划"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="sopTime" label="SOP时间"
<el-form-item prop="sopDate" label="SOP时间"
class="add-form-item">
<el-date-picker
v-model="multipleTableItemForm.sopTime"
v-model="multipleTableItemForm.sopDate"
style="width: 100%;"
type="date"
placeholder="请选择SOP时间"
@@ -74,16 +74,19 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="completeSituation" label="完成情况"
<el-form-item prop="finishCircumstance" label="完成情况"
style="width: 100%; margin-right:10px" class="add-form-item">
<el-input v-model="multipleTableItemForm.completeSituation"
<el-input v-model="multipleTableItemForm.finishCircumstance"
placeholder="请输入完成情况"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="timeoutSituation" label="SOP时间超过法规时限的空档期的业务应对方案"
<el-form-item prop="sopDateSolutions"
style="width: 100%;" class="add-form-item">
<el-input v-model="multipleTableItemForm.timeoutSituation"
<span slot="label" title="SOP时间超过法规时限的空档期的业务应对方案">
SOP时间超过法规时限的空档期的业务应对方案
</span>
<el-input v-model="multipleTableItemForm.sopDateSolutions"
placeholder="请输入SOP时间超过法规时限的空档期的业务应对方案"/>
</el-form-item>
</el-col>
@@ -146,7 +149,7 @@
trigger: "blur"
}
],
conformSituation: [
resourceAccordwithCircumstance: [
{
type: "string",
max: 200,
@@ -154,7 +157,7 @@
trigger: "blur"
}
],
devScheme: [
devPlan: [
{
type: "string",
max: 200,
@@ -162,7 +165,7 @@
trigger: "blur"
}
],
completeSituation: [
finishCircumstance: [
{
type: "string",
max: 200,
@@ -170,7 +173,7 @@
trigger: "blur"
}
],
timeoutSituation: [
sopDateSolutions: [
{
type: "string",
max: 300,
@@ -52,35 +52,35 @@
label="实施要求">
</el-table-column>
<el-table-column
prop="conformSituation"
prop="resourceAccordwithCircumstance"
show-overflow-tooltip
align="center"
width="180"
label="资源符合情况">
</el-table-column>
<el-table-column
prop="devScheme"
prop="devPlan"
align="center"
show-overflow-tooltip
width="180"
label="开发计划">
</el-table-column>
<el-table-column
prop="sopTime"
prop="sopDate"
align="center"
show-overflow-tooltip
width="170"
label="SOP时间">
</el-table-column>
<el-table-column
prop="completeSituation"
prop="finishCircumstance"
align="center"
width="180"
show-overflow-tooltip
label="完成情况">
</el-table-column>
<el-table-column
prop="timeoutSituation"
prop="sopDateSolutions"
align="center"
show-overflow-tooltip
width="400"
@@ -30,6 +30,7 @@
</el-table-column>
<el-table-column
label="业务"
show-overflow-tooltip
align="center"
prop="yewu"
width="150"
@@ -200,22 +201,24 @@
prop="gainianzhuangtaiDate"
align="center"
width="150"
show-overflow-tooltip
label="概念计划下发时间">
</el-table-column>
<el-table-column
prop="gainianxiudingjihua"
align="center"
show-overflow-tooltip
width="150"
label="概念修订计划">
</el-table-column>
<el-table-column
prop="qitashuoming"
align="center"
show-overflow-tooltip
width="400"
label="其他说明">
</el-table-column>
<el-table-column
prop="timeoutSituation"
align="center"
width="100"
fixed="right"
@@ -235,7 +238,7 @@
</template>
</el-table-column>
</el-table>
<addModel ref="addModelRef" @addModelForm="addModelForm"/>
<addModel ref="addModelRef" :infoTableDatas="infoTableDatas" @addModelForm="addModelForm"/>
</div>
</template>
@@ -253,19 +256,20 @@
infoTableDatas: [],
deleteList: [],
addOrEdit: '',
editNum:0,
editNum: 0,
selectList: [],
}
},
methods: {
selectChange() {
selectChange(row) {
this.selectList = row
},
handleCommand(command) {
switch (command[2]) {
case "编辑":
this.addOrEdit = 'edit'
this.editNum = command[1]
this.$refs.addModelRef.edit(command[0])
this.$refs.addModelRef.edit(command[0], this.infoTableDatas)
break;
case "删除":
this.deleteSarAccess(command[1], command[0]);
@@ -300,11 +304,52 @@
},
committeeAdd() {
this.addOrEdit = 'add'
this.$refs.addModelRef.add()
this.$refs.addModelRef.add(this.infoTableDatas)
},
committeeDel() {
if (this.selectList && this.selectList.length > 0) {
this.$confirm('确认删除这些数据?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
type: 'warning',
roundButton: false
}).then(() => {
this.selectList.forEach(val => {
if (val.id) {
this.deleteList.push(val.id)
}
this.multipleTableData = this.multipleTableData.filter(res => {
if (res.id) {
return res.id != val.id
} else {
return res.dataId != val.dataId
}
})
})
this.multipleTableData = [...this.multipleTableData]
}).catch(() => {
// 取消删除,清空选择
this.$refs.selection.clearSelection()
})
} else {
this.$message.warning('请选择至少一条数据')
}
},
getData(row) {
this.infoTableDatas = row.infoTableDatas || []
this.infoTableDatas = [...this.infoTableDatas]
this.multipleTableData = row.productPlanningList || []
this.multipleTableData = [...this.multipleTableData]
},
submit(callback) {
if (this.multipleTableData && this.multipleTableData.length > 0) {
callback && callback(this.multipleTableData)
} else {
this.$message.warning('请至少添加一条数据')
}
},
}
}
</script>
@@ -456,24 +456,45 @@
this.draftSaving()
} else if (this.taskKey == 'PolicyComplianceProgramReviewProcessKey8' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey9') {
let _formData = new FormData();
this.$refs.solicitationListRef.save((row, ids) => {
_formData.append("taskIds", this.$route.query.taskIds);
_formData.append("json", JSON.stringify({
form: this.dataForm,
commentText: this.commentText,
policySolicitOpinionEOList: row,
removeIds: ids,
currentUserId: this.$store.getters.userInfo.userId
}));
saveTaskForPub(_formData).then(res => {
this.closeButtonLoading()
this.$message.success("保存成功");
this.$refs.solicitationListRef.getData()
}).catch(e => {
this.closeButtonLoading()
});
})
if (this.dataForm.departmentType == 'undertaking') {//事业部提交
let _formData = new FormData();
this.$refs.solicitationListRef.save((row, ids) => {
_formData.append("taskIds", this.$route.query.taskIds);
_formData.append("json", JSON.stringify({
form: this.dataForm,
commentText: this.commentText,
policySolicitOpinionEOList: row,
removeIds: ids,
currentUserId: this.$store.getters.userInfo.userId
}));
saveTaskForPub(_formData).then(res => {
this.closeButtonLoading()
this.$message.success("保存成功");
this.$refs.solicitationListRef.getData()
}).catch(e => {
this.closeButtonLoading()
});
})
} else if (this.data.departmentType == 'productPlanning') {//产品规划部提交
let _formData = new FormData();
this.$refs.solicitationListRef.save((row, ids) => {
_formData.append("taskIds", this.$route.query.taskIds);
_formData.append("json", JSON.stringify({
form: this.dataForm,
commentText: this.commentText,
policySolicitOpinionEOList: row,
removeIds: ids,
currentUserId: this.$store.getters.userInfo.userId
}));
saveTaskForPub(_formData).then(res => {
this.closeButtonLoading()
this.$message.success("保存成功");
this.$refs.solicitationListRef.getData()
}).catch(e => {
this.closeButtonLoading()
});
})
}
}
},
//草稿保存
@@ -514,7 +535,7 @@
})
} else if (this.taskKey == 'PolicyComplianceProgramReviewProcessKey2' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey4' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey5') { //审核、审定、批准、责任人分配任务
this.taskKey == 'PolicyComplianceProgramReviewProcessKey5') { //审核、审定、批准
const json = Object.assign(this.dataForm);
json.commentText = this.commentText
json.approvalFlag = 0
@@ -523,7 +544,7 @@
commentText: this.commentText
}
this.completeTask(this.$route.query.taskIds, query)
} else if (this.taskKey == 'PolicyComplianceProgramReviewProcessKey7') {
} else if (this.taskKey == 'PolicyComplianceProgramReviewProcessKey7') {//责任人分配任务
let undertaking = this.departmentList[0].institutionName.includes('事业')
let productPlanning = this.departmentList[0].institutionName.includes('产品规划')
for (let i = 0; i < this.departmentList.length; i++) {
@@ -577,23 +598,34 @@
}
this.openButtonLoading()
this.completeTask(this.$route.query.taskIds, query)
})
} else if (this.taskKey == 'PolicyComplianceProgramReviewProcessKey8' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey9' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey10' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey11' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey12' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey13' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey14' ||
this.taskKey == 'PolicyComplianceProgramReviewProcessKey15') {//责任人任务处理
})//责任人任务处理
} else if (this.taskKey == 'PolicyComplianceProgramReviewProcessKey8' ||//责任人任务处理
this.taskKey == 'PolicyComplianceProgramReviewProcessKey9' || //责任对接人汇总
this.taskKey == 'PolicyComplianceProgramReviewProcessKey10' ||//责任单位审批
this.taskKey == 'PolicyComplianceProgramReviewProcessKey11' ||//管理员
this.taskKey == 'PolicyComplianceProgramReviewProcessKey12' ||//审核
this.taskKey == 'PolicyComplianceProgramReviewProcessKey13' ||//审定
this.taskKey == 'PolicyComplianceProgramReviewProcessKey14' ||//批准
this.taskKey == 'PolicyComplianceProgramReviewProcessKey15') {//抄送
this.closeButtonLoading()
if (this.dataForm.departmentType == 'undertaking') {
if (this.dataForm.departmentType == 'undertaking') {//事业部提交
this.$refs.businessDivisionListRef.submit((row) => {
console.log(row);
return
const json = Object.assign(this.dataForm);
json.commentText = this.commentText
json.infoTableDatas = row
json.sybDataList = row
json.approvalFlag = 0
let query = {
form: json,
commentText: this.commentText
}
this.openButtonLoading()
this.completeTask(this.$route.query.taskIds, query)
})
} else if (this.data.departmentType == 'productPlanning') {//产品规划部提交
this.$refs.productPlanningListRef.submit((row) => {
const json = Object.assign(this.dataForm);
json.commentText = this.commentText
json.productPlanningList = row
json.approvalFlag = 0
let query = {
form: json,
@@ -622,13 +654,11 @@
handleReject() {
// approvalFlag value0通过 1驳回
this.openButtonLoading()
if (this.taskKey == 'PolicySolicitOpinionProcessKey9' ||
this.taskKey == 'PolicySolicitOpinionProcessKey10' ||
if (this.taskKey == 'PolicySolicitOpinionProcessKey10' ||
this.taskKey == 'PolicySolicitOpinionProcessKey11' ||
this.taskKey == 'PolicySolicitOpinionProcessKey12' ||
this.taskKey == 'PolicySolicitOpinionProcessKey13' ||
this.taskKey == 'PolicySolicitOpinionProcessKey14' ||
this.taskKey == 'PolicySolicitOpinionProcessKey15') {
this.taskKey == 'PolicySolicitOpinionProcessKey14') {
this.$refs.solicitationListRef.submit((row, ids) => {
const json = Object.assign(this.dataForm);
json.commentText = this.commentText
@@ -736,7 +766,6 @@
})
} else if (this.selectType == '责任人') {
this.departmentList = data
console.log(this.departmentList);
this.dataForm.zrrUserIds = ids.join(',')
this.dataForm.zrrUserNames = names.join(',')
this.dataForm = {...this.dataForm}
@@ -802,16 +831,20 @@
formProcessing(row) {
this.dataForm = row.form
this.dataForm = {...this.dataForm}
if (this.showPersonnel) {
if (this.showPersonnel) {//拿到人员信息的数据
this.$refs.personnelInformationRef.getData(row.form)
}
if (this.isFetchList) {
if (this.isFetchList) { //拿到未选择责任人数据
this.$refs.fetchListRef.getData(row.form.infoTableDatas)
}
console.log(this.isBusinessDivisionList);
if (this.isBusinessDivisionList) {
if (this.isBusinessDivisionList) {//拿到责任人为事业部门的数据
this.$nextTick(() => {
this.$refs.businessDivisionListRef.getData(row.form.infoTableDatas)
this.$refs.businessDivisionListRef.getData(row.form.sybDataList || row.form.infoTableDatas)
})
}
if (this.isProductPlanningList) {//拿到责任人为产品规划部门的数据
this.$nextTick(() => {
this.$refs.productPlanningListRef.getData(row.form)
})
}
},
@@ -821,7 +854,6 @@
bpnId: this.bpnId
}).then(res => {
let mes = JSON.parse(res.mes);
console.log(mes);
this.dataForm = mes.form
this.$refs.personnelInformationRef.getData(mes.roleForm)
this.$refs.fetchListRef.getData(mes.form.infoTableDatas)