Merge branch 'develop' into FOTON

This commit is contained in:
super_liu
2022-01-25 20:13:02 +08:00
13 changed files with 1525 additions and 287 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
})
})
});
},
@@ -545,7 +548,6 @@ export default {
});
}
if (addFlag) {
this.projectDataList = [];
let projectNames = "", projectNumbers = "";
this.selectProjectList.forEach(items => {
projectNames += items.projectName;
@@ -553,23 +555,16 @@ export default {
projectNumbers += items.projectNumber;
projectNumbers += ",";
});
this.$set(this.projectDataList, "projectName", projectNames);
this.$set(this.projectDataList, "projectNumber", projectNumbers);
this.$set(this.projectDataList, "managementHostName", this.selectProjectList[0].managementHostName);
this.$set(this.projectDataList, "developmentHostName", this.selectProjectList[0].developmentHostName);
this.$set(this.projectDataList, "categoryName", this.selectProjectList[0].categoryName);
this.$set(this.projectDataList, "projectStatus", this.selectProjectList[0].projectStatus);
this.$set(this.projectDataList, "uname", this.selectProjectList[0].uname);
this.$set(this.projectDataList, "unameId", this.selectProjectList[0].projectManager);
this.dataList.push({
projectName: this.projectDataList.projectName,
projectNumber: this.projectDataList.projectNumber,
managementHostName: this.projectDataList.managementHostName,
developmentHostName: this.projectDataList.developmentHostName,
categoryName: this.projectDataList.categoryName,
projectStatus: this.projectDataList.projectStatus,
uname: this.projectDataList.uname,
unameId: this.projectDataList.unameId,
projectName: projectNames,
projectNumber: projectNumbers,
managementHostName: this.selectProjectList[0].managementHostName,
developmentHostName: this.selectProjectList[0].developmentHostName,
categoryName: this.selectProjectList[0].categoryName,
projectStatus: this.selectProjectList[0].projectStatus,
projectGroup: this.selectProjectList[0].projectGroup,
uname: this.selectProjectList[0].uname,
unameId: this.selectProjectList[0].projectManager,
})
} else {
this.$message.warning("请勿重复添加数据");
@@ -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,7 +169,16 @@
prop="zccssrq"
align="center"
width="160px"
label="在产车实施日期">
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>
@@ -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,
@@ -1223,6 +1223,31 @@ export default {
this.$message.error('请选中需要添加到 清单条目 的(标准号/政策编号)')
}
},
// 上移 事件
moveUp(index, row) {
if (index === 0) {
this.$message({
message: '已经是列表中第一个素材!',
type: 'warning'
})
} else {
let temp = this.sarAccessInfoList[index - 1]
this.$set(this.sarAccessInfoList, index - 1, this.sarAccessInfoList[index])
this.$set(this.sarAccessInfoList, index, temp)
}
},
moveDown(index) {
if (index === (this.sarAccessInfoList.length - 1)) {
this.$message({
message: '已经是列表中最后一个素材!',
type: 'warning'
})
} else {
let i = this.sarAccessInfoList[index + 1]
this.$set(this.sarAccessInfoList, index + 1, this.sarAccessInfoList[index])
this.$set(this.sarAccessInfoList, index, i)
}
},
// 点击清单条目导入按钮事件
importmodalFlags() {
this.importmodalFlag = true
@@ -2075,7 +2100,7 @@ export default {
// 责任部门数据字典
this.zrbmOptions = res.data.ZRBMCLASS
// 能源类型数据字典
this.CycxOptions = res.data.CLLX
this.CycxOptions = res.data.ENERGYTYPES
this.categoryOptions = res.data.NYLXCLASS // 能源类型
// 适用车型数据字典
this.applyArcticOptions = res.data.PRODUCTTYPE
@@ -277,10 +277,10 @@
size="mini" @click="OCRAdd('2')"
v-btn-permission="'247cebaefa7cf1683092af160af11502'"><i class="iconfont">&#xe611;</i>编辑
</el-button>
<!-- <el-button class="common-button-default"-->
<!-- size="mini" @click="selectBuss()" style="float: right;margin-top: 11px;"-->
<!-- v-btn-permission="''"><i class="iconfont">&#xe606;</i>企标复审计划-->
<!-- </el-button>-->
<el-button class="common-button-default"
size="mini" @click="selectBuss()" style="float: right;margin-top: 11px;"
v-btn-permission="''"><i class="iconfont">&#xe606;</i>企标复审计划
</el-button>
</div>
<!--表格-->
<div class="content">
@@ -21,7 +21,7 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="项目分类" class="search-item">
<!-- <el-form-item label="项目分类" class="search-item">
<el-select
v-model="projectLibrarySearch.projectClassification"
placeholder="请选择项目类别"
@@ -34,7 +34,7 @@
>{{ opt.label }}
</el-option>
</el-select>
</el-form-item>
</el-form-item>-->
<el-form-item label="项目状态" class="search-item search-item-last">
<el-select v-model="projectLibrarySearch.projectStatus" placeholder="请选择项目状态" clearable>
<el-option
@@ -94,13 +94,22 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '15px',
fontWeight: 'normal', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
<!-- <el-table-column
show-overflow-tooltip
prop="projectPlatfor"
align="center"
fixed="left"
min-width="100"
label="产品平台">
</el-table-column>-->
<el-table-column
show-overflow-tooltip
prop="projectGroup"
label="项目群"
fixed="left"
min-width="200"
align="center"
>
</el-table-column>
<el-table-column
prop="projectNumber"
@@ -120,14 +129,14 @@
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.projectName }}</a>
</template>
</el-table-column>
<el-table-column
<!-- <el-table-column
show-overflow-tooltip
prop="projectClassification"
label="项目分类"
align="center"
min-width="120"
>
</el-table-column>
</el-table-column>-->
<el-table-column
show-overflow-tooltip
prop="projectStatus"
@@ -136,22 +145,15 @@
min-width="120"
>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="projectGroup"
label="项目群"
min-width="120"
align="center"
>
</el-table-column>
<el-table-column
<!--<el-table-column
show-overflow-tooltip
prop="productLine"
label="产品线"
min-width="160"
align="center"
>
</el-table-column>
</el-table-column>-->
<el-table-column
prop="projectStartDate"
label="项目计划开始日期"
@@ -178,12 +180,12 @@
align="center"
label="当前节点">
</el-table-column>
<el-table-column
<!--<el-table-column
prop="projectLevel"
align="center"
label="项目级别">
<!-- <template slot-scope="scope" v-if="scope.row.leftRight">{{(scope.row.leftRight === '1' ? '左驾': '右驾')}}</template>-->
</el-table-column>
&lt;!&ndash; <template slot-scope="scope" v-if="scope.row.leftRight">{{(scope.row.leftRight === '1' ? '左驾': '右驾')}}</template>&ndash;&gt;
</el-table-column>-->
<el-table-column
show-overflow-tooltip
prop="uname"
@@ -1644,6 +1646,7 @@ export default {
width: 100%;
//height: calc(100% - 110px);
height: calc(~'100% - 30px');
.table_info {
height: calc(70vh - 90px);
}
@@ -1668,6 +1671,7 @@ export default {
}
}
}
///deep/ .el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: scroll;
//}
@@ -1677,6 +1681,7 @@ export default {
/deep/ .el-table .el-table__body-wrapper {
height: 84%;
}
::v-deep .el-drawer__header {
& > span:first-child {
outline: none !important;
@@ -10,9 +10,15 @@
<el-card class="contaiinerCard" style="margin: 5px">
<div style="padding: 20px">
<el-row style="margin-top: 10px">
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>
<el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="5" :push="2">
<!-- <el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>-->
<el-col :span="6">管理主体: <span class="valueColor">{{ localProEO.managementHostName || '-' }}</span></el-col>
<el-col :span="6">开发主体: <span class="valueColor">{{ localProEO.developmentHostName || '-' }}</span></el-col>
<el-col :span="6">项目细分类:<span class="valueColor">{{ localProEO.categoryName || '-' }}</span></el-col>
<el-col :span="6">项目群: <span class="valueColor">{{ localProEO.projectGroup }} </span></el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="6">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="6">
<el-tooltip class="item" effect="dark" :content="localProEO.projectName" placement="top">
<div slot="content" class="toolip-content" v-if="localProEO.projectName !== undefined && localProEO.projectName.length>15">
{{ localProEO.projectName }}
@@ -26,21 +32,16 @@
</div>
</el-tooltip>
</el-col>
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span>
</el-col>
<el-col :span="6">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col>
<!--<el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col>-->
<el-col :span="6">当前节点: <span class="valueColor">{{ localProEO.currentNode }} </span></el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col>
<el-col :span="5" :push="1">项目群: <span class="valueColor">{{ localProEO.projectGroup }} </span></el-col>
<el-col :span="5" :push="2">当前节点: <span class="valueColor">{{ localProEO.currentNode }} </span></el-col>
<el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">产品线: <span class="valueColor">{{ localProEO.productLine }} </span></el-col>
<el-col :span="5" :push="1">项目经理: <span class="valueColor">{{ localProEO.uname }} </span></el-col>
<el-col :span="5" :push="2"> 项目计划开始时间: <span
<!--<el-col :span="5">产品线: <span class="valueColor">{{ localProEO.productLine }} </span></el-col>-->
<el-col :span="6">项目经理: <span class="valueColor">{{ localProEO.uname }} </span></el-col>
<el-col :span="6"> 项目计划开始时间: <span
class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD') }}</span></el-col>
<el-col :span="4" :push="3">项目计划完成时间: <span
<el-col :span="6">项目计划完成时间: <span
class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
</el-row>
</div>
+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',