标准清单发布流程

This commit is contained in:
宋伟佳
2021-07-07 11:02:14 +08:00
parent 4828b73516
commit e553ef68b2
16 changed files with 859 additions and 1400 deletions
@@ -105,85 +105,100 @@
align="center">
</el-table-column>
<el-table-column
prop="standNumber"
label="标准号"
prop="code"
fixed="left"
width="180px"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
width="260px"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
prop="issueTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
prop="xcxssrq"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
show-overflow-tooltip
prop="zccssrq"
sortable
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="文本状态"
>
show-overflow-tooltip
prop="textStatus"
width="120px"
label="文本状态">
</el-table-column>
</el-table>
</div>
</div>
<div class="content" v-if="active == '2'">
<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-form
ref="Form"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="startUserName" style="margin-bottom: 0">
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人进行会签" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<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>
</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" 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>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
@@ -521,6 +536,33 @@
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 选择责任人-->
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
</div>
</template>
@@ -529,6 +571,7 @@ import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { saveTaskFirst } from "api/process";
import seeDatalis from "@/pages/localTool/standContrast/pages/seeDatalis";
export default {
name: "bzqdfbStep1",
@@ -539,63 +582,39 @@ export default {
},
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: "已发布"
}
], //清单里的标准数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
nodeList: [],
defaultProps: {
children: 'children',
label: 'name'
},
roleForm: {
startUserName: this.$store.getters.userInfo.account,
startUser: this.$store.getters.userInfo.id,
dockUser: '',
responUserList: '',
ministerUser: '',
directorUser: '',
presidentUser: '',
dockUserName: '',
responUserListName: '',
ministerUserName: '',
directorUserName: '',
presidentUserName: ''
},
roleFormRules: {
dockUserName: [
{ required: true, message: '请选择会签责任人', trigger: 'blur' },
],
ministerUserName: [
{ required: true, message: '请选择修订责任人', trigger: 'blur' },
],
directorUserName: [
{ required: true, message: '请选择审批责任人', trigger: 'blur' },
],
},
dataList: [],//清单里的标准数据
sarAccessListDatas: [], //国家地区清单表格
uploadFileListPath: 'api/att/attFile/upload', // 上传的地址
fileInfoList: [], // 上传的附件
@@ -621,16 +640,15 @@ export default {
descriptionList: "", //清单说明
enclosure: "", //附件
standId: "", //选择的清单的id
signFlag: "1", //是否会签 1为会签 2为不会签W
signFlag: "1", //是否会签 1为会签 2为不会签
inforlist:"" , //用来存放标准列表的标准id
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
code: "", //标准号
standName: "", //标准名称
issueTime: "", //发布日期
xcxssrq: "", //新车型实施日期
zccssrq: "", //在产车实施日期
textStatus: "", //文本状态
id: ""
}]
},
@@ -645,6 +663,25 @@ export default {
};
},
methods: {
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
//tab发生变化
handleTabs(name) {
this.active = name;
@@ -652,6 +689,15 @@ export default {
choiceShow() {
this.ListModel = true;
},
drawerCheck (data) {
// var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
// if(getlist.length == 1) {
// this.roleRow = getlist[0]
// }else {
// this.$refs.tree.setCheckedKeys([data.id]);
// this.roleRow = this.$refs.tree.getCheckedNodes()[0]
// }
},
//判断当前是否会签
selectSign (type) {
if(type ==='1'){
@@ -660,21 +706,9 @@ export default {
this.listForm.signFlag = 2
}
},
//判断当前选中的是哪个清单
// //判断当前选中的是哪个清单
selectionList(type) {
if (type === "country") {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
sortKey: 1
}, {
_this: this
}, res => {
this.sarAccessListDatas = res.data.records;
this.total = res.data.total;
}, e => {
});
} else if (type === "project") {
if (type === "project") {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
@@ -686,7 +720,7 @@ export default {
this.total = res.data.total;
}, e => {
});
} else {
} else if (type === "other") {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
@@ -698,6 +732,18 @@ export default {
this.total = res.data.total;
}, e => {
});
} else {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
sortKey: 1
}, {
_this: this
}, res => {
this.sarAccessListDatas = res.data.records;
this.total = res.data.total;
}, e => {
});
}
},
//点击新增事件
@@ -705,6 +751,7 @@ export default {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", "", {
_this: this
}, res => {
console.log(res);
this.standardData = res.data.list;
}, e => {
});
@@ -770,11 +817,11 @@ export default {
json.prcCreateUserName = this.$store.getters.userInfo.account
json.standName = this.listForm.listName
json.standId = this.listForm.standId
this.$http.get('lawss/activiti/startProcess' , {type: '3'}, {
this.$http.get('lawss/activiti/startProcess' , {type: '4'}, {
_this: this
}, res => {
if(res.ok){
this.$http.postData('lawss/activiti/completeTask',{
this.$http.post('lawss/activiti/completeTask',{
taskIds: res.data,
userId : this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
@@ -829,6 +876,21 @@ export default {
this.listForm.descriptionList = bringData[0].remark;
this.listForm.enclosure = bringData[0].detailedListName;
this.ListModel = false;
this.$http.get('sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById', {id: bringData[0].id}, {
_this: this
}, res => {
this.dataList = res.data
this.listForm.dataList = res.data
let formId = ""
this.dataList.forEach(item => {
if(this.dataList.length !== 0){
formId += ','
formId += item.id
}
})
this.listForm.inforlist = formId
}, e => {
})
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
@@ -850,7 +912,18 @@ export default {
}
},
selectThree() {
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
getTree () {
// this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
// this.treeData = res.data
// })
},
pageChange(page) {
this.page = page;
@@ -863,12 +936,12 @@ export default {
},
computed: {},
mounted() {
this.selectionList();
this.selectionList()
this.selectSign();
this.getTree()
for (let i = 0; i < this.dataList.length; i++) {
this.standMap.set(this.dataList[i].id, this.dataList[i]);
}
//从数据查询下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", "", {
_this: this
@@ -7,7 +7,7 @@
</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 class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div style="flex: auto; overflow: auto">
@@ -75,44 +75,42 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="standNumber"
label="标准号"
prop="code"
fixed="left"
width="180px"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
width="260px"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
prop="issueTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
prop="xcxssrq"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
show-overflow-tooltip
prop="zccssrq"
sortable
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="文本状态"
>
show-overflow-tooltip
prop="textStatus"
width="120px"
label="文本状态">
</el-table-column>
</el-table>
</div>
@@ -172,6 +170,75 @@
</el-timeline>
</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-submit
@@ -197,63 +264,11 @@ export default {
},
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: "已发布"
}
], //清单里的标准数据
detailData: [],
// 当前流程类型(1待办/2已办)
processType: 1,
loading: false,
dataList: [],//清单里的标准数据
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
@@ -275,6 +290,7 @@ export default {
applyRegion: "", //适用区域
descriptionList: "", //清单说明
enclosure: "", //附件
inforlist: "",//用来存放标准的id
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
@@ -298,6 +314,18 @@ export default {
};
},
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;
@@ -324,10 +352,13 @@ export default {
*/
getFormFieldList (item) {
this.$nextTick(() => {
console.log(item);
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
})
},
@@ -347,7 +378,7 @@ export default {
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm);
this.$http.postData('lawss/activiti/completeTask', {
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
@@ -358,6 +389,8 @@ export default {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//选择标准取消事件
@@ -383,8 +416,13 @@ export default {
this.searchData();
}
},
computed: {},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
@@ -7,7 +7,7 @@
</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 class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div style="flex: auto; overflow: auto">
@@ -52,10 +52,25 @@
></el-input>
</el-form-item>
<el-form-item label="附件" prop="enclosure" class="add-form-item form-item-disabled">
<el-upload
v-if="listForm.enclosure == 'null' || this.listForm.enclosure== 'undefined' || this.listForm.enclosure == '' "
:action="uploadFileListPath"
show-file-list
:file-list="fileInfoList"
name="file"
accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
>
<el-button class="common-button-default" size="mini">
点击上传
</el-button>
</el-upload>
<el-input
v-else
v-model="listForm.enclosure"
placeholder="暂无数据"
placeholder=""
></el-input>
</el-form-item>
</el-col>
@@ -84,86 +99,113 @@
align="center">
</el-table-column>
<el-table-column
prop="standNumber"
label="标准号"
prop="code"
fixed="left"
width="180px"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
width="260px"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
prop="issueTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
prop="xcxssrq"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
show-overflow-tooltip
prop="zccssrq"
sortable
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="文本状态"
>
show-overflow-tooltip
prop="textStatus"
width="120px"
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 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>
<!-- 添加标准抽屉-->
@@ -258,66 +300,16 @@ export default {
},
data() {
return {
detailData: [],
// 当前流程类型(1待办/2已办)
processType: 1,
loading: false,
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: "已发布"
}
], //清单里的标准数据
uploadFileListPath: 'api/att/attFile/upload', // 上传的地址
fileInfoList: [], // 上传的附件
dataList: [],//清单里的标准数据
standardData: [], //添加标准数据
standModel: false, // 选择标准抽屉状态
active: "1",
@@ -360,6 +352,18 @@ export default {
};
},
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;
@@ -400,6 +404,25 @@ export default {
}).catch(() => {
});
}
},
// 删除上传的文件
delFileInfo (file, fileList) {
// this.fileInfoList = fileList
},
// 上传文件成功回调
uploadBackSuccess (res, file, fileList) {
// if (res.ok) {
// this.fileInfoList = fileList
// this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
// this.$message.success('上传成功')
// } else {
// this.$message.error(res.message)
// fileList.pop()
// }
},
//上传之前的钩子
beforeUpload () {
},
getData() {
return new Promise((resolve, reject) => {
@@ -424,6 +447,8 @@ export default {
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
})
},
//保存事件
@@ -448,7 +473,7 @@ export default {
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm);
this.$http.postData('lawss/activiti/completeTask', {
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
@@ -480,9 +505,14 @@ export default {
this.searchData();
}
},
computed: {},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
}
},
mounted() {
this.getData()
this.processTable()
},
};
</script>
@@ -7,7 +7,7 @@
</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 class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div style="flex: auto; overflow: auto">
@@ -31,6 +31,7 @@
<!-- </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
@@ -38,6 +39,7 @@
</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
@@ -45,6 +47,7 @@
</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
@@ -52,9 +55,9 @@
</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>
@@ -72,44 +75,42 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="standNumber"
label="标准号"
prop="code"
fixed="left"
width="180px"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
width="260px"
>
</el-table-column>
<el-table-column
prop="cnName"
label="中文名称"
>
prop="issueTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
>
prop="xcxssrq"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="isSubTime"
label="发布日期"
>
show-overflow-tooltip
prop="zccssrq"
sortable
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="文本状态"
>
show-overflow-tooltip
prop="textStatus"
width="120px"
label="文本状态">
</el-table-column>
</el-table>
</div>
@@ -129,44 +130,73 @@
</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 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>
@@ -198,63 +228,11 @@ export default {
},
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: "已发布"
}
], //清单里的标准数据
detailData: [],
// 当前流程类型(1待办/2已办)
processType: 1,
loading: false,
dataList: [],//清单里的标准数据
approvalOpinion: '', // 通过0/驳回1
active: "1",
listType: "country", //选择的清单类型
@@ -303,6 +281,18 @@ export default {
};
},
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;
@@ -337,6 +327,8 @@ export default {
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
})
},
//驳回事件
@@ -355,7 +347,7 @@ export default {
this.listForm.signflag = "";
this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm);
this.$http.postData('lawss/activiti/completeTask', {
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
@@ -391,9 +383,14 @@ export default {
this.searchData();
}
},
computed: {},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
}
},
mounted() {
this.getData()
this.processTable()
},
};
</script>
@@ -254,7 +254,8 @@ export default {
})
}
break;
case'3' : {
//标准清单更新/发布流程
case'4' :
if (row.taskInfo === '进行会签,填写意见') {
this.$router.push({
name: 'bzqdfbStep2',
@@ -289,8 +290,22 @@ export default {
}
})
}
break;
//项目合规评估流程
case '5' :
if(row.taskInfo === ''){
this.$router.push({
name: '',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break;
}
},
...mapMutations(['setProcess', 'setHandleInfo']),