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

# Conflicts:
#	src/pages/processCenter/pages/processList/tabComponents/processCenter/index.vue
This commit is contained in:
zhutianqi
2021-07-05 17:59:46 +08:00
17 changed files with 2317 additions and 388 deletions
@@ -12,6 +12,10 @@ export default {
label: '标准入库流程',
value: '1'
},
{
label:'标准清单发布流程',
value: '3'
},
],
formDisableFlag: false,
pickerOptions: {
File diff suppressed because it is too large Load Diff
@@ -1,13 +1,469 @@
<!--标准-->
<!--标准清单发布流程step2 -->
<template>
<div class="bzqdfb-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 === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</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="orgName" class="add-form-item form-item-disabled">-->
<!-- <el-radio-group v-model="listType" @change="selectionList">-->
<!-- <el-radio label="country">国家/地区清单</el-radio>-->
<!-- <el-radio label="project">项目清单</el-radio>-->
<!-- <el-radio label="other">其他清单</el-radio>-->
<!-- </el-radio-group>-->
<!-- <el-button size="mini" type="primary" style="margin-left: 40px;" @click="choiceShow">选择清单</el-button>-->
<!-- </el-form-item>-->
<el-form-item label="清单名称" prop="listName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.listName"
placeholder="请输入清单名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.applyRegion"
placeholder="请输入适用区域"
clearable
></el-input>
</el-form-item>
<el-form-item label="清单说明" prop="descriptionList" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.descriptionList"
placeholder="请输入清单说明"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="enclosure" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.enclosure"
placeholder="暂无数据"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<el-table
:data="dataList"
border
height="64.6%"
style="width: 100%"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="standNumber"
label="标准号"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
</el-table-column>
<el-table-column
prop="newCarTime"
label="新车型实施日期"
>
</el-table-column>
<el-table-column
prop="oldCarTime"
label="在产车实施日期"
>
</el-table-column>
<el-table-column
prop="applyCar"
label="适用车型"
>
</el-table-column>
<el-table-column
prop="textState"
label="文本状态"
>
</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 == '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
<el-card>
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;">
<el-input v-model="user1" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人进行会签" placement="top" :color="user2 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;">
<el-input v-model="user2" placeholder="请输入">
</el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="根据会签内容进行修订" placement="top" :color="user3 ? '#66b1ff' : ''">
<el-card>
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;">
<el-input v-model="user3" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="user5 ? '#66b1ff' : ''">
<el-card>
<h4>业务经理</h4>
<div style="margin-top: 10px;">
<el-input v-model="user5" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
@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: "bzqdfbStep2"
name: "bzqdfbStep2",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
dataList: [
{
standNumber: 123,
cnName: "中国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl119a61sgmzk47d918pw5",
applyRegion: null,
textState: "已发布"
},
{
standNumber: 123,
cnName: "日本",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk417d98pw15",
applyRegion: null,
textState: "已发布"
}, {
standNumber: 123,
cnName: "韩国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk47d1918pw5",
applyRegion: null,
textState: "已发布"
}, {
standNumber: 123,
cnName: "没过",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk47d2331918pw5",
applyRegion: null,
textState: "已发布"
},
{
standNumber: 123,
cnName: "德国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk472344dt1918pw5",
applyRegion: null,
textState: "已发布"
}
], //清单里的标准数据
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: "", //附件
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
//tab发生变化
handleTabs(name) {
this.active = name;
},
choiceShow() {
this.ListModel = true;
},
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
})
},
//保存事件
handleSave() {
},
//提交事件
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.postData('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')
}
});
},
//选择标准取消事件
closeDrawer() {
this.ListModel = false;
},
//标准表格选择框改变
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: {},
mounted() {
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzqdfb-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,565 @@
<!--标准清单发布/更新流程step3 - 根据会签意见修订-->
<template>
<div class="bzqdfb-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 === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</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="orgName" class="add-form-item form-item-disabled">-->
<!-- <el-radio-group v-model="listType" @change="selectionList">-->
<!-- <el-radio label="country">国家/地区清单</el-radio>-->
<!-- <el-radio label="project">项目清单</el-radio>-->
<!-- <el-radio label="other">其他清单</el-radio>-->
<!-- </el-radio-group>-->
<!-- <el-button size="mini" type="primary" style="margin-left: 40px;" @click="choiceShow">选择清单</el-button>-->
<!-- </el-form-item>-->
<el-form-item label="清单名称" prop="listName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.listName"
placeholder="请输入清单名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.applyRegion"
placeholder="请输入适用区域"
clearable
></el-input>
</el-form-item>
<el-form-item label="清单说明" prop="descriptionList" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.descriptionList"
placeholder="请输入清单说明"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="enclosure" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.enclosure"
placeholder="暂无数据"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button plain class="common-button-primary" size="mini" @click="addList">添加</el-button>
<el-button plain class="common-button-primary" size="mini" @click="deleteList">批量删除</el-button>
</div>
</div>
<el-table
:data="dataList"
border
height="61.6%"
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="standNumber"
label="标准号"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
</el-table-column>
<el-table-column
prop="newCarTime"
label="新车型实施日期"
>
</el-table-column>
<el-table-column
prop="oldCarTime"
label="在产车实施日期"
>
</el-table-column>
<el-table-column
prop="applyCar"
label="适用车型"
>
</el-table-column>
<el-table-column
prop="textState"
label="文本状态"
>
</el-table-column>
</el-table>
</div>
</div>
<div class="content" v-if="active == '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
<el-card>
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;">
<el-input v-model="user1" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人进行会签" placement="top" :color="user2 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;">
<el-input v-model="user2" placeholder="请输入">
</el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="根据会签内容进行修订" placement="top" :color="user3 ? '#66b1ff' : ''">
<el-card>
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;">
<el-input v-model="user3" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="user5 ? '#66b1ff' : ''">
<el-card>
<h4>业务经理</h4>
<div style="margin-top: 10px;">
<el-input v-model="user5" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
<!-- 添加标准抽屉-->
<el-drawer
title="添加标准"
:visible.sync="standModel"
size="900px"
custom-class="demo-drawer"
>
<el-table
:data="standardData"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="content"
label="标准号"
>
</el-table-column>
<el-table-column
prop="deptName"
label="中文名称"
>
</el-table-column>
<el-table-column
prop="deptName"
label="英文名称"
>
</el-table-column>
<el-table-column
prop="deptName"
label="发布日期"
>
</el-table-column>
<el-table-column
prop="deptName"
label="新车型实施日期"
>
</el-table-column>
<el-table-column
prop="deptName"
label="在产车实施日期"
>
</el-table-column>
<el-table-column
prop="deptName"
label="适用车型"
>
</el-table-column>
<el-table-column
prop="deptName"
label="文本状态"
>
</el-table-column>
</el-table>
</el-drawer>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "bzqdfbStep3",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
dataList: [
{
standNumber: 123,
cnName: "中国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl119a61sgmzk47d918pw5",
applyRegion: null,
textState: "已发布"
},
{
standNumber: 123,
cnName: "日本",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk417d98pw15",
applyRegion: null,
textState: "已发布"
}, {
standNumber: 123,
cnName: "韩国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk47d1918pw5",
applyRegion: null,
textState: "已发布"
}, {
standNumber: 123,
cnName: "没过",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk47d2331918pw5",
applyRegion: null,
textState: "已发布"
},
{
standNumber: 123,
cnName: "德国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk472344dt1918pw5",
applyRegion: null,
textState: "已发布"
}
], //清单里的标准数据
standardData: [], //添加标准数据
standModel: false, // 选择标准抽屉状态
active: "1",
signFlag: "1", //是否会签 1为会签 2为不会签
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //选择清单的选择框
selectList: [], //选择标准的选择框
bringData: [],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
listName: "", //清单名称
applyRegion: "", //适用区域
descriptionList: "", //清单说明
enclosure: "", //附件
signFlag: "1", //是否会签 1为会签 2为不会签
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
//tab发生变化
handleTabs(name) {
this.active = name;
},
//点击新增事件
addList() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", "", {
_this: this
}, res => {
this.standardData = res.data.list;
}, e => {
});
this.standModel = true;
},
// 点击批量删除事件
deleteList() {
if (this.selectList.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.selectList.map(item => {
let index;
index = this.dataList.findIndex(items => {
return items.id = item;
});
if (index > -1) {
this.dataList.splice(index, 1);
}
exits.push(item);
});
this.selectList = [];
}).catch(() => {
});
}
},
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
})
},
//保存事件
handleSave() {
let _formData = new FormData()
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.uName)
_formData.append('prcType', this.$route.query.type)
saveTaskFirst(_formData).then(res => {
this.$message.success('保存成功')
}).catch(e => {
})
},
//提交事件
handleSubmit() {
this.listForm.jlUserId = this.$store.getters.userInfo.userId ;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.commentText = this.commentText;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm);
this.$http.postData('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')
}
});
},
//标准表格选择框改变
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: {},
mounted() {
this.getData()
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzqdfb-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,476 @@
<!--标准法规清单发布 - 业务经理审批-->
<template>
<div class="bzqdfb-step4">
<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 === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</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="orgName" class="add-form-item form-item-disabled">-->
<!-- <el-radio-group v-model="listType" @change="selectionList">-->
<!-- <el-radio label="country">国家/地区清单</el-radio>-->
<!-- <el-radio label="project">项目清单</el-radio>-->
<!-- <el-radio label="other">其他清单</el-radio>-->
<!-- </el-radio-group>-->
<!-- <el-button size="mini" type="primary" style="margin-left: 40px;" @click="choiceShow">选择清单</el-button>-->
<!-- </el-form-item>-->
<el-form-item label="清单名称" prop="listName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.listName"
placeholder="请输入清单名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.applyRegion"
placeholder="请输入适用区域"
clearable
></el-input>
</el-form-item>
<el-form-item label="清单说明" prop="descriptionList" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.descriptionList"
placeholder="请输入清单说明"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="enclosure" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.enclosure"
placeholder="暂无数据"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<el-table
:data="dataList"
border
height="64.6%"
style="width: 100%"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="standNumber"
label="标准号"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
</el-table-column>
<el-table-column
prop="newCarTime"
label="新车型实施日期"
>
</el-table-column>
<el-table-column
prop="oldCarTime"
label="在产车实施日期"
>
</el-table-column>
<el-table-column
prop="applyCar"
label="适用车型"
>
</el-table-column>
<el-table-column
prop="textState"
label="文本状态"
>
</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 == '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
<el-card>
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;">
<el-input v-model="user1" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人进行会签" placement="top" :color="user2 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;">
<el-input v-model="user2" placeholder="请输入">
</el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="根据会签内容进行修订" placement="top" :color="user3 ? '#66b1ff' : ''">
<el-card>
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;">
<el-input v-model="user3" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="user5 ? '#66b1ff' : ''">
<el-card>
<h4>业务经理</h4>
<div style="margin-top: 10px;">
<el-input v-model="user5" placeholder="请输入"></el-input>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</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 } from "api/process";
export default {
name: "bzqdfbStep4",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
dataList: [
{
standNumber: 123,
cnName: "中国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl119a61sgmzk47d918pw5",
applyRegion: null,
textState: "已发布"
},
{
standNumber: 123,
cnName: "日本",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk417d98pw15",
applyRegion: null,
textState: "已发布"
}, {
standNumber: 123,
cnName: "韩国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk47d1918pw5",
applyRegion: null,
textState: "已发布"
}, {
standNumber: 123,
cnName: "没过",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk47d2331918pw5",
applyRegion: null,
textState: "已发布"
},
{
standNumber: 123,
cnName: "德国",
enName: "CN",
isSubTime: "2021-06-25T00:00:00.000+00:00",
newCarTime: "2021-06-25T00:00:00.000+00:00",
oldCarTime: "2021-06-25T00:00:00.000+00:00",
id: "2hl9a61sgmzk472344dt1918pw5",
applyRegion: null,
textState: "已发布"
}
], //清单里的标准数据
approvalOpinion: '', // 通过0/驳回1
active: "1",
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: "", //附件
signFlag: "1", //是否会签 1为会签 2为不会签
approvalOpinion: '', // 通过/驳回
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
signFlag: "1", //是否会签 1为会签 2为不会签
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
//tab发生变化
handleTabs(name) {
this.active = name;
},
choiceShow() {
this.ListModel = true;
},
//保存事件
handleSave() {
},
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
})
},
//驳回事件
beforeBack () {
this.listForm.approvalOpinion = '1'
this.handleSubmit()
},
//提交事件
handleSubmit() {
this.listForm.jlUserId = this.$store.getters.userInfo.userId ;
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.commentText = this.commentText;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.signflag = "";
this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm);
this.$http.postData('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')
}
});
},
//选择标准取消事件
closeDrawer() {
this.ListModel = false;
},
//标准表格选择框改变
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: {},
mounted() {
this.getData()
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzqdfb-step4 {
/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>
@@ -190,7 +190,6 @@ export default {
loading: 'loading',
_this: this
}, res => {
console.log(res)
this.processList = res.list || []
this.total = res.count
}, e => {
@@ -265,6 +265,44 @@ export default {
}
})
}
break;
case'3' : {
if (row.taskInfo === '进行会签,填写意见') {
this.$router.push({
name: 'bzqdfbStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '根据会签意见修订') {
this.$router.push({
name: 'bzqdfbStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '业务经理审批') {
this.$router.push({
name: 'bzqdfbStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
}
break;
}
},
...mapMutations(['setProcess', 'setHandleInfo']),