标准评估流程开发

This commit is contained in:
宋伟佳
2022-01-25 16:54:18 +08:00
parent d6c9db9d51
commit 16f24d0ed3
9 changed files with 1251 additions and 36 deletions
+24 -13
View File
@@ -630,11 +630,11 @@ export default {
})
}
break
//项目合规评估流程
//标准合规评估
case '5' :
if(row.taskInfo === '标准法规业务经理审批'){
if(row.taskInfo === '审核(标准法规业务经理)'){
this.$router.push({
name: 'xmpgStep2',
name: 'bzpgStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -643,9 +643,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准评估任务下发'){
}else if(row.taskInfo === '项目分发(项目群负责人/标准法规工程师)'){
this.$router.push({
name: 'xmpgStep3',
name: 'bzpgStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -654,9 +654,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '合规性评估'){
}else if(row.taskInfo === '任务分发(项目经理)'){
this.$router.push({
name: 'xmpgStep4',
name: 'bzpgStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -665,9 +665,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '分发责任人审核'){
}else if(row.taskInfo === '合规评估(专业技术人员)'){
this.$router.push({
name: 'xmpgStep5',
name: 'bzpgStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -676,9 +676,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '汇总审核'){
}else if(row.taskInfo === '审核(项目经理)'){
this.$router.push({
name: 'xmpgStep6',
name: 'bzpgStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -687,9 +687,20 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部领导审核'){
}else if(row.taskInfo === '审定(项目群负责人)'){
this.$router.push({
name: 'xmpgStep7',
name: 'bzpgStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '批准(标准法规部高级经理)'){
this.$router.push({
name: 'bzpgStep8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -453,6 +453,9 @@ export default {
_this: this
}, res => {
this.breakdownList = res.data
this.breakdownList.map(item => {
delete item.termsConditions
})
})
});
},
@@ -79,13 +79,30 @@
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button plain class="common-button-primary" type="primary" size="mini" @click="choiceZRRS('', 2, '')" >
批量分发落实人
</el-button>
</div>
</div>
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane
v-for="(item, index) in projectTabName"
:key="index"
:label="item"
:value="item"
:name="item">
</el-tab-pane>
</el-tabs>
<el-table
ref="selection"
ref="multipleTable"
:data="dataList"
style="width: 100%; border: 1px solid #cccccc;height: 400px"
height="100%"
border
highlight-current-row
@selection-change="selectProjectChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
@@ -111,7 +128,7 @@
<el-table-column
align="center"
min-width="120"
prop="itemNum"
prop="itemsNum"
label="条款号"/>
<el-table-column
align="center"
@@ -120,13 +137,12 @@
label="条款名称">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row)" class="common-button-primary">
查看条款内容
</el-button>
</template>
@@ -153,8 +169,17 @@
prop="zccssrq"
align="center"
width="160px"
label="在产车实施日期">
</el-table-column>
label="在产车实施日期"/>
<el-table-column
label="落实人"
width="210"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.implementerId" style="display: none;" />
<el-input v-model="scope.row.implementer" placeholder="请选择落实人"
@click.native="choiceZRRS(scope.row, 1, scope.$index)" />
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
@@ -267,6 +292,13 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<!-- 选择责任人-->
<Role-tree
is-title="选择落实人"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
</div>
</template>
@@ -286,6 +318,8 @@ export default {
data(){
return {
active: '1',
activeName: 'first',
fileType: '', //条款文件类型
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
drawerModal: false,
@@ -293,17 +327,22 @@ export default {
isTransfer: false,
isSubmit: false,
saveLoading: false,
modalshowflag: false,
itermsConditionsFlag: false,
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
commentText: '',
drawerTitle: '',
lsIndex: "",
itermsConditionsTitle: '',
listForm: {},
dataList: [],
detailData: [],
nodeList: [],
nodeList2: [],
projectTabName: [],
selectProject: [],
}
},
mounted() {
@@ -311,6 +350,15 @@ export default {
this.processTable()
},
methods: {
handleClick(tab) {
let projectData = this.dataList
this.dataList = []
projectData.forEach(item => {
if(item.projectName === tab.name){
this.dataList.push(item)
}
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
@@ -331,21 +379,34 @@ export default {
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.fileType = item.fileType
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
this.dataList = item.resDats
item.resDats.forEach(item => {
if(!this.projectTabName.includes(item.projectName)){
this.projectTabName.push(item.projectName)
}
})
this.listForm.resDats = []
this.listForm.breakdownList = []
this.dataList.distributePerson = item.dataList[0].distributePerson
this.listForm.breakdownList = item.breakdownList
})
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.$http.get('SarStandItems/sar-stand-items/findItemById',{
type:this.fileType,
ids: row.id
},{
_this: this
}, res => {
this.itermsConditionsTitle = res.data[0].termsConditions.replace(/''/g, '\'')
})
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row.replace(/''/g, '\'')
},
//tab发生变化
handleTabs(name) {
@@ -368,8 +429,11 @@ export default {
},
//提交
handleSubmit(){
this.dataList.map(item => {
delete item.termsConditions
})
this.listForm.commentText = this.commentText
this.listForm.stepFlag = '0'
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', {
@@ -465,6 +529,65 @@ export default {
this.detailData = res
}, e => {})
},
selectProjectChange(data){
this.selectProject = data
},
choiceZRRS(row, type, index) {
this.type = type;
if (type === 1) {
this.nodeList2 = [];
this.lsIndex = index;
if (row.implementerId) {
this.nodeList2 = row.implementerId.split(",");
} else {
this.nodeList2.push(row);
}
this.modalshowflag = true;
} else if (type === 2) {
// 批量
if (this.selectProject.length > 0) {
this.nodeList2 = [];
this.modalshowflag = true;
this.selectProject.forEach(item =>{
if(item.implementerId){
this.nodeList2 = item.implementerId.split(",");
}
})
} else {
this.$message.warning("请选择要分发的数据");
}
}
},
checkedRole2(data) {
let idList = "",nameList = "";
data.forEach(item => {
if (nameList.length) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
if (this.type === 1) {
let projectList = JSON.parse(JSON.stringify(this.dataList))
projectList[this.lsIndex].implementerId = idList;
projectList[this.lsIndex].implementer = nameList;
this.dataList = projectList
} else if (this.type === 2) {
let projectList = JSON.parse(JSON.stringify(this.dataList))
projectList.forEach(item => {
this.selectProject.forEach(items => {
if (item.projectName === items.projectName && item.itemsNum === items.itemsNum) {
item.implementerId = idList;
item.implementer = nameList;
}
});
});
this.dataList = projectList
this.$refs.multipleTable.clearSelection();
}
this.modalshowflag = false;
},
},
computed: {
listNoDataText () {
@@ -534,7 +657,7 @@ export default {
.tableButton {
position: absolute;
right: 0;
left: 0;
top: 0;
}
@@ -548,7 +671,9 @@ export default {
}
}
}
/deep/.el-tabs__header{
margin: 0;
}
.demo-drawer-content {
margin-top: 10px;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step6"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step7"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step8"
};
</script>
<style scoped>
</style>
@@ -900,9 +900,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '合规性评估'){
}else if(row.taskInfo === '任务分发(项目经理)'){
this.$router.push({
name: 'xmpgStep4',
name: 'bzpgStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -911,9 +911,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '分发责任人审核'){
}else if(row.taskInfo === '合规评估(专业技术人员)'){
this.$router.push({
name: 'xmpgStep5',
name: 'bzpgStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -922,9 +922,9 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '汇总审核'){
}else if(row.taskInfo === '审核(项目经理)'){
this.$router.push({
name: 'xmpgStep6',
name: 'bzpgStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -933,9 +933,20 @@ export default {
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部领导审核'){
}else if(row.taskInfo === '审定(项目群负责人)'){
this.$router.push({
name: 'xmpgStep7',
name: 'bzpgStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '批准(标准法规部高级经理)'){
this.$router.push({
name: 'bzpgStep8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
+27
View File
@@ -565,6 +565,33 @@ const routes = [
title: '标准合规评估流程'
}
},
{
path: '/bzpgStep6',
name: 'bzpgStep6',
component: () => import('@/pages/processCenter/pages/creatProcess/bzpg/step6.vue'),
meta: {
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/bzpgStep7',
name: 'bzpgStep7',
component: () => import('@/pages/processCenter/pages/creatProcess/bzpg/step7.vue'),
meta: {
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/bzpgStep8',
name: 'bzpgStep8',
component: () => import('@/pages/processCenter/pages/creatProcess/bzpg/step8.vue'),
meta: {
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/xmpgStep1',
name: 'xmpgStep1',