Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhutianqi
2021-07-09 17:27:11 +08:00
11 changed files with 1256 additions and 166 deletions
@@ -845,6 +845,7 @@ export default {
let json = this.listForm;
json.zrUserId = this.$store.getters.userInfo.userId;
json.jlUserId = this.$store.getters.userInfo.userId;
// (如果是业务经理应该这样写 后续需要更改 例:json.jlUserId = this.roleForm.directorUser;)
json.applyUpdUserId = this.$store.getters.userInfo.userId;
json.approvalOpinion = "";
json.prcCreateUser = this.$store.getters.userInfo.userId;
@@ -39,6 +39,22 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
@click.native="choiceZRR('certifiedEngineer', '选择认证工程师', roleForm.certifiedEngineer)"
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
@click.native="choiceZRR('qualityEngineer', '选择质量工程师', roleForm.qualityEngineer)"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -70,19 +86,17 @@
label="产品线">
</el-table-column>
<el-table-column
prop="projectManager"
prop="uname"
label="产品线责任人">
</el-table-column>
<!-- distribute-->
<el-table-column
prop="ministerUser"
label="分发责任人">
<template>
<el-input
placeholder="请选择分发责任人"
v-model="ffzrr"
@click.native="choiceZRR('ministerUser', '请选择分发责任人', roleForm.ministerUser)"
>
</el-input>
<template slot-scope="scope">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</template>
</el-table-column>
</el-table>
@@ -113,8 +127,8 @@
<h4>标准法法规业务经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择审核责任人"
@click.native="choiceZRR('dockUser', '选择责任人', roleForm.dockUser)">
<el-input v-model="roleForm.dockUserName" placeholder="选择业务经理"
@click.native="choiceZRR('dockUser', '选择业务经理', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
@@ -126,20 +140,56 @@
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准/政策法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规部部长', roleForm.ministerUser)"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审批" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-timeline-item timestamp="责任人填写评估反馈" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>业务经理</h4>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择业务经理"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="责任人"
@click.native="choiceZRR('directorUser', '选择责任人', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="分发责任人进行任务分发" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="产品线责任人审批" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>产品线责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" placeholder="产品线责任人" ></el-input>
<!-- <el-input v-model="roleForm.directorUserName" placeholder="责任人"-->
<!-- @click.native="choiceZRR('directorUser', '选择分发责任人', roleForm.directorUser)"></el-input>-->
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="标准法规部领导审批" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>标准法规部领导</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="请选择标准法规部领导"
@click.native="choiceZRR('directorUser', '选择标准法规部领导', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -254,7 +304,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="projectManager"
prop="uname"
label="产品线责任人">
</el-table-column>
</el-table>
@@ -376,6 +426,7 @@ export default {
]
},
ListModel: false, //选择拆分标准抽屉状态
treeData: [], // 人员数据
isSubmit: false,
saveLoading: false,
selectedList: [], //拆分标准的选择框
@@ -390,13 +441,26 @@ export default {
listForm: {
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: '', //认证工程师
qualityEngineer: '', //质量工程师
breakdownList: [{
applyArctic: '',
busStandCover: '',
claimType: '',
id: '',
itemsName:'',
itemsNum:'',
responsibleUnit: '',
standId: '',
svpps: '',
}],
dataList: [{
projectLine: '', //产品线
projectManager:'',//产品线责任人
uname:'',//产品线责任人
ffzrr: '', //分发责任人
id: "",
sarStandProjectLibraries: [],
}]
}],
},
choiceForm: {}, //选择标准清单列表
};
@@ -415,6 +479,10 @@ export default {
} else if (this.type === "presidentUser") {
this.roleForm.presidentUser = this.roleRow.id;
this.roleForm.presidentUserName = this.roleRow.name;
}else if(this.type === 'qualityEngineer') {
this.listForm.qualityEngineer = this.roleRow.name
}else if(this.type === 'certifiedEngineer') {
this.listForm.certifiedEngineer = this.roleRow.name
}
this.modalshowflag = false;
},
@@ -453,6 +521,7 @@ export default {
okStand() {
if(this.standList.length >= 1){
this.dataList = this.standList
this.roleForm.directorUser = this.dataList[0].uname
this.listForm.dataList = this.standList
this.standModel = false
}else{
@@ -490,7 +559,6 @@ export default {
json.approvalOpinion = "";
json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account;
json.standName = this.listForm.listName;
json.standId = this.listForm.standId;
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
_this: this
@@ -521,7 +589,18 @@ export default {
if(this.selectedList.length == 1){
this.listForm.standNumber = this.selectedList[0].standNumber
this.listForm.standName = this.selectedList[0].standName
this.ListModel = false
this.listForm.id = this.selectedList[0].id
this.$http.get('SarStandItems/sar-stand-items/findAllItems',{
ids: this.listForm.id,
type:'FBGBJBD',
}, {
_this:this
}, res => {
this.listForm.breakdownList = res.data
this.ListModel = false
}, e => {
this.$message.error('添加失败')
})
}else if(this.selectedList.length > 1){
this.$message.warning('您只能选择一条数据进行带入')
}else{
@@ -569,11 +648,14 @@ export default {
},
//获取产品线数据
getProductData() {
this.$http.get('sarStandProjectLibrary/queryProjectManager','',{
this.$http.get('sarStandProjectLibrary/queryProjectManager',{
current: this.pageNo,
pageSize: this.pageSizeNo,
},{
_this: this
}, res => {
this.productData = res.data
// this.totalNo = res.data
this.productData = res.data.records
this.totalNo = res.data.total
}, e => {
})
@@ -0,0 +1,449 @@
<!--项目评估流程- 业务经理审批 -->
<template>
<div class="xmpg-step2">
<ProcessHeader toggle>
<template slot="proName">项目合规评估流程</template>
<template slot="proNode">业务经理审批流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
:data="dataList"
border
ref="selection"
height="49%"
style="width: 100%;"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
label="条款号">
</el-table-column>
<el-table-column
prop="productLine"
label="产品线">
</el-table-column>
<el-table-column
prop="productLine"
label="项目名称">
</el-table-column>
<el-table-column
prop="uname"
label="产品线责任人">
</el-table-column>
<el-table-column
prop="ministerUser"
label="分发责任人">
<!-- <template slot-scope="scope">-->
<!-- <el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>-->
<!-- <el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"-->
<!-- @click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>-->
<!-- </template>-->
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-if="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep2",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
detailData: [],
// 当前流程类型(1待办/2已办)
processType: 1,
loading: false,
dataList: [],//清单里的标准数据
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //选择的清单类型
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //选择清单的选择框
selectList: [], //选择标准的选择框
bringData: [],
commentText: "", //填写会签意见
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
listType: "", //区分是哪个清单
listName: "", //清单名称
applyRegion: "", //适用区域
descriptionList: "", //清单说明
enclosure: "", //附件
inforlist: "",//用来存放标准的id
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab发生变化
handleTabs(name) {
this.active = name;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
})
},
//驳回事件
beforeBack () {
this.listForm.approvalOpinion = '1'
this.handleSubmit()
},
//提交事件
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//标准表格选择框改变
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step2 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,449 @@
<!--项目评估流程 - 分发责任人进行任务分发 -->
<template>
<div class="xmpg-step3">
<ProcessHeader toggle>
<template slot="proName">项目合规评估流程</template>
<template slot="proNode">分发责任人分发任务</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
:data="dataList"
border
ref="selection"
height="49%"
style="width: 100%;"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
label="条款号">
</el-table-column>
<el-table-column
prop="productLine"
label="产品线">
</el-table-column>
<el-table-column
prop="productLine"
label="项目名称">
</el-table-column>
<el-table-column
prop="uname"
label="产品线责任人">
</el-table-column>
<el-table-column
prop="ministerUser"
label="分发责任人">
<!-- <template slot-scope="scope">-->
<!-- <el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>-->
<!-- <el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"-->
<!-- @click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>-->
<!-- </template>-->
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-if="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep3",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
detailData: [],
// 当前流程类型(1待办/2已办)
processType: 1,
loading: false,
dataList: [],//清单里的标准数据
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //选择的清单类型
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //选择清单的选择框
selectList: [], //选择标准的选择框
bringData: [],
commentText: "", //填写会签意见
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
listType: "", //区分是哪个清单
listName: "", //清单名称
applyRegion: "", //适用区域
descriptionList: "", //清单说明
enclosure: "", //附件
inforlist: "",//用来存放标准的id
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab发生变化
handleTabs(name) {
this.active = name;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
})
},
//驳回事件
beforeBack () {
this.listForm.approvalOpinion = '1'
this.handleSubmit()
},
//提交事件
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//标准表格选择框改变
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step3 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep4"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep5"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep6"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep7"
};
</script>
<style scoped>
</style>
@@ -14,10 +14,10 @@
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input
v-model="projectLibrarySearch.projectName"
placeholder="根据项目名称查找"
:maxlength="100"
clearable
v-model="projectLibrarySearch.projectName"
placeholder="根据项目名称查找"
:maxlength="100"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目分类" class="search-item">
@@ -66,31 +66,11 @@
v-btn-permission="'e5ca15122f554414e6365eb09efac5c4'"
@click="selectMoreBtn"
><i class="iconfont">&#xe7a5;</i>高级查询</el-button>
</el-form-item>
</el-form>
</div>
<div class="right">
</div>
</div>
<div class="container">
<div class="non-content">
<el-tabs v-model="ifMaintaince" @tab-click="handleClick" style="height: 100%">
@@ -212,7 +192,6 @@
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'633e82816590af9027dc2fddc562d046'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'0b59eceb360b7bd7ae6f64835a8c4514'">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -225,6 +204,76 @@
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<loading :loading="loading">数据获取中</loading>
<!-- 高级搜索-->
<table-tools-bar v-model="isAdvancedSearch" @search="getLocalProductTableBtn"
@reset="clearAllSearch" >
<div slot="content">
<el-form :model="localProTableSearch" :inline="true" class="label-input-form table-lattice" style="display: flex;flex-wrap: wrap">
<!-- 产品平台-->
<el-form-item label="产品平台" class="serch-form-item">
<el-input v-model="localProTableSearch.projectPlatfor" placeholder="根据产品平台" clearable :maxlength="100"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目编号-->
<el-form-item label="项目编号" class="serch-form-item">
<el-input v-model="localProTableSearch.projectNumber" placeholder="根据项目编号" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目名称-->
<el-form-item label="项目名称" class="serch-form-item">
<el-input v-model="projectLibrarySearch.projectName" placeholder="根据项目名称" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目分类-->
<el-form-item label="项目分类" class="serch-form-item">
<el-select v-model="projectLibrarySearch.projectClassification" placeholder="根据项目分类" clearable
@keyup.enter.native="getLocalProductTableBtn">
<el-option v-for="opt in productTypeOptions" :value="opt.value === undefined ? '' :opt.label" :key="opt.label" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 项目状态-->
<el-form-item label="项目状态" class="serch-form-item">
<el-select v-model="projectLibrarySearch.projectStatus" placeholder="根据项目状态" clearable
@keyup.enter.native="getLocalProductTableBtn">
<el-option v-for="opt in xmztOptions" :value="opt.value === undefined ? '' :opt.label" :key="opt.label" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 项目群-->
<el-form-item label="项目群" class="serch-form-item">
<el-input v-model="localProTableSearch.projectGroup" placeholder="根据项目群" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 产品线-->
<el-form-item label="产品线" class="serch-form-item">
<el-input v-model="localProTableSearch.productLine" placeholder="根据产品线" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目开始时间-->
<el-form-item label="项目开始时间" class="serch-form-item">
<el-date-picker type="date" placeholder="选择日期" v-model="localProTableSearch.projectStartDate" style="width: 100%;"></el-date-picker>
</el-form-item>
<!-- 项目完成时间-->
<el-form-item label="项目完成时间" class="serch-form-item">
<el-date-picker type="date" placeholder="选择日期" v-model="localProTableSearch.projectEndDate" style="width: 100%;"></el-date-picker>
</el-form-item>
<!-- 当前节点-->
<el-form-item label="当前节点" class="serch-form-item">
<el-input v-model="localProTableSearch.currentNode" placeholder="根据当前节点" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目级别-->
<el-form-item label="项目级别" class="serch-form-item">
<el-input v-model="localProTableSearch.projectLevel" placeholder="根据项目级别" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目经理-->
<el-form-item label="项目经理" class="serch-form-item">
<el-input v-model="localProTableSearch.projectManager" placeholder="根据项目经理" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
</el-form>
</div>
</table-tools-bar>
</div>
</div>
@@ -272,14 +321,20 @@ export default {
deptUser: [],
//查询3类
projectLibrarySearch: {
// 项目名称
projectName: '',
// 项目分类
projectClassification: '',
// 项目状态
projectStatus: '',
},
//查询3类
projectLibrarySearchDefault: {
// 项目名称
projectName: '',
// 项目分类
projectClassification: '',
// 项目状态
projectStatus: '',
},
// 查询条件
@@ -287,22 +342,60 @@ export default {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
validFlag: 0,
// 项目编号
projectNumber:'',
productSet: '',
productName: '',
productBrand: '',
advanceSearchVOStr: ''
advanceSearchVOStr: '',
// 产品平台
projectPlatfor:'',
// 产品线
productLine:'',
// 项目名称
projectName: '',
// 项目群
projectGroup: '',
// 项目开始日期
projectStartDate: '',
// 项目完成日期
projectEndDate: '',
// 当前节点
currentNode: '',
// 项目级别
projectLevel: '',
// 项目经理
projectManager: '',
},
// 查询条件
localProTableSearchDefault: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
validFlag: 0,
// 项目编号
projectNumber:'',
productSet: '',
productName: '',
productBrand: '',
advanceSearchVOStr: ''
advanceSearchVOStr: '',
// 产品平台
projectPlatfor:'',
// 产品线
productLine:'',
// 项目名称
projectName: '',
// 项目群
projectGroup: '',
// 项目开始日期
projectStartDate: '',
// 项目完成日期
projectEndDate: '',
// 当前节点
currentNode: '',
// 项目级别
projectLevel: '',
// 项目经理
projectManager: '',
},
total: 0,
// 列表数据
@@ -339,94 +432,6 @@ export default {
value: '2'
}
],
//9宫格列表
localProLib:{
// 产品平台
projectPlatfor: '',
// 项目编号
projectNumber: '',
// 项目名称
projectName: '',
// 项目分类
projectClassification: '',
// 项目状态
projectStatus: '',
// 项目群
projectGroup: '',
// 项目开始日期
projectStartDate: '',
// 项目完成日期
projectEndDate: '',
// 当前节点
currentNode: '',
// 项目级别
projectLevel: '',
// 项目经理
projectManager: '',
},
localProEO: {
// 项目相关人员
userEOList: [],
// 产品代码
produceCode: '',
// 项目阶段
productStage: '',
// 整车项目编号
zhengcarNo: '',
// 整车SOP时间
zhengcarSopTime: '',
// 项目编号
productNo: '',
// 项目类型
productTypeCode: '',
// 生产基地
producePlace: '',
// 基础车型
baseCartype: '',
// 左驾右驾
leftRight: '',
// 项目经理
productManager: '',
productManagerShow: '',
// 是否纳入开发
isDevelop: '',
energyKind: '',
// 平台
flatform: '',
// 项目名称
productName: '',
// 车型系列
productSet: '',
// 项目类别
productType: '',
// 项目状态
productBrand: '',
// SOP时间
sopTime: '',
// 阀点
pointTime: [],
// 计划通过时间
planPassTime: '',
// 实际通过时间
actualPassTime: '',
// 目标市场
targetMarket: '',
// 公告车型号
carModel: '',
// 项目相关人员id
relatePerson: '',
// eop信息
eopTime: '',
// 项目相关信息
saleMarket: '',
// 判断是国内还是海外
prodectCode: '',
// carModeFile: ''
// carModeFileList: ''
// 相关人员信息
relatePersonShow: ''
// 相关人员姓名
},
// 项目类型
protypeOptions: [],
// 生产基地
@@ -716,31 +721,6 @@ export default {
this.isAdvancedSearch = true
this.threeOptions = []
},
twoSelectChange (val, obj) {
console.log('twoSelectChange')
if (val === 'product_type') {
this.threeOptions = this.productTypeOptions
} else if (val === 'product_brand') {
this.threeOptions = this.xmztOptions
} else if (val === 'target_market') {
this.threeOptions = this.targetMarketOptions
} else if (val === 'left_right') {
this.threeOptions = [{
label: '左驾',
value: '1'
},{
label: '右驾',
value: '2'
}]
}
},
// 编辑项目相关人员回显选中人员数据
relatePersonTreeShow () {
let checkedArr = this.localProEO.relatePerson ? this.localProEO.relatePerson.split(',') : []
if (checkedArr.length > 0) {
this.$refs.relatePersonRoleTree.checkedNode(this.localProEO.relatePerson.split(','))
}
},
// 获取标准类别List数据
getAllInforList () {
this.$http.get('sys/dictype/getDicTypeListCode', {}, {_this: this}, res => {
@@ -954,6 +934,7 @@ export default {
this.localProTableSearch = {...this.localProTableSearchDefault}
this.projectLibrarySearch = {...this.projectLibrarySearchDefault}
this.localProTableSearch.page = 1
this.isAdvancedSearch=false
this.getLocalProductTable()
},
resolveTime (data) {
@@ -1146,7 +1127,7 @@ export default {
// 条件分页查询
getLocalProductTableBtn () {
this.projectLibrarySearch.page = 1
this.isAdvancedSearch=false
this.getLocalProductTable()
},
// 查询本地产品
@@ -1551,6 +1532,8 @@ export default {
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
.local-products-or-project-library {
//position: relative;
height: 100%;
@@ -1580,4 +1563,24 @@ export default {
::v-deep .el-drawer{
outline: none!important;
}
.label-input-form {
&.table-lattice{
/deep/.el-form-item__label {
width:100px;
height:30px;
border: 1px solid #DCDFE6;
border-right: none;
line-height:30px;
text-align: center;
margin-top: 7px;
background: #F9F9F9;
}
/deep/.el-input__inner {
height: 30px;
line-height: 30px;
border-radius: 0 !important;
width: 200px;
}
}
}
</style>
+54
View File
@@ -285,6 +285,60 @@ const routes = [
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep2',
name: 'xmpgStep2',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step2.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep3',
name: 'xmpgStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step3.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep4',
name: 'xmpgStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step4.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep5',
name: 'xmpgStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step5.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep6',
name: 'xmpgStep6',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step6.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep7',
name: 'xmpgStep7',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step7.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/wfhxzgStep1',
name: 'wfhxzgStep2',
+1 -1
View File
@@ -6,8 +6,8 @@
// 服务器地址
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
// const devIp = '192.168.10.248'
const devIp = '192.168.10.248'
const devIp = '192.168.10.30'
const devInterfacePORT = '9999'
// 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'