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

# Conflicts:
#	src/router/index.js
This commit is contained in:
zhutianqi
2021-07-07 19:22:00 +08:00
33 changed files with 4017 additions and 1535 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>
@@ -0,0 +1,451 @@
<template>
<div class="bzzqyjStep1">
<!-- 标准征求意见流程-->
<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;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="选择征求意见" class="add-form-item form-item-disabled">
<div class="addButton">
<el-button size="small" type="primary" @click="addZqyjList">选择征求意见</el-button>
</div>
</el-form-item>
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-select v-model="form.cid" placeholder="请选择标准编号">
<el-option label="GB 472726" value="1"></el-option>
<el-option label="GB/T 8453291" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-select v-model="form.cname" placeholder="请选择标准名称">
<el-option label="标准1" value="1"></el-option>
<el-option label="标准2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
:model="roleForm"
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 v-model="roleForm.startUserName" placeholder="流程发起人"/>
</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
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="mainUserName" style="margin-bottom: 0">
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.mainUser" style="display: none;"/>
<el-input
v-model="roleForm.mainUserName"
placeholder="选择责任人·"
@click.native="choiceZRR('mainUser', '选择责任人', roleForm.mainUser)"
/>
</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="engineerUserName" style="margin-bottom: 0">
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUser" style="display: none;"/>
<el-input
v-model="roleForm.engineerUserName"
placeholder="选择标准法规工程师"
@click.native="choiceZRR('engineerUser', '选择标准法规工程师', roleForm.engineerUser)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="checkUserName" style="margin-bottom: 0">
<h4>责任对接人标准法规部门负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.checkUser" style="display: none;"/>
<el-input
v-model="roleForm.checkUserName"
placeholder="选择责任对接人,标准法规部门负责人"
@click.native="choiceZRR('checkUser', '选择责任对接人,标准法规部门负责人', roleForm.checkUserName)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="标准征求意见数据库"
:visible.sync="listModel"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<!-- 顶部工具栏 -->
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="类别" class="search-item">
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="关键字" class="search-item">
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="开始日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.start" :editable="false"
placeholder="请选择开始日期"></el-datePicker>
</el-formItem>
<el-formItem label="结束日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.end" :editable="false"
placeholder="请选择结束日期"></el-datePicker>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
</div>
</div>
</table-tools-bar>
<div class="content">
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
ref="selection"
:data="standInfoList"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="category" label="标准" align="center"/>
<el-table-column prop="cname" label="标准名称/政策名称" align="center"/>
<el-table-column prop="endTime" label="征求意见周期" align="center"/>
<el-table-column prop="startTime" label="上传时间" align="center"/>
</el-table>
</div>
</div>
</div>
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<loading :loading="spinShow">数据加载中</loading>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer">带入</el-button>
</div>
</div>
</el-drawer>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
export default {
name: "bzzqyjStep1",
data() {
return {
textarea: '', // 意见
title: '', // 新增抽屉标题
listModel: false, // 新增抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
// 基础信息form表单
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
// 标准征求意见数据可库
standCommonlySearch: {
categorg: '',
cname: '',
start: '',
end: '',
page: 1,
size: this.$store.getters.userInfo.configContent
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0,
selectedList: [],
data: [],
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
dockUser: '',
dockUserName: '',
mainUser: '',
mainUserName: '',
engineerUser: '',
engineerUserName: '',
checkUser: '',
checkUserName: '',
}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
mounted () {
this.sarStandCompareHis()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
methods: {
addZqyjList() {
this.title = '标准征求意见库'
this.listModel = true
},
/** 标准征求意见库方法*
* **********************************************/
// 清空
clearSearchStand () {
this.standCommonlySearch.page = 1
this.standCommonlySearch.start = ''
this.standCommonlySearch.end = ''
this.standCommonlySearch.categorg = ''
this.standCommonlySearch.cname = ''
this.sarStandCompareHis()
},
// 搜索
sarStandCompareHisInfo() {
this.splitInfoPage = 1
this.sarStandCompareHis()
},
// 查询表格
sarStandCompareHis () {
this.spinShow = true
var form = this.standCommonlySearch
this.$http.get('slrs/sar-public-idea/SelectAllPage', form, {
_this: this
}, res => {
this.standInfoList = res.data.records
this.total = res.data.total
this.spinShow = false
}, e => {
})
},
pageChange (page) {
this.standCommonlySearch.page = page
this.sarStandCompareHis()
},
// 分页每页显示数改变后方法
pageSizeChange (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize
this.sarStandCompareHis()
},
/** 选择带入数据的方法操作
* */
handleSelection(data) {
this.selectedList = [];
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id);
}
},
closeDrawer() {
this.listModel = false
},
enterDrawer() {
if (this.selectedList.length === 1) {
let deposit = new Map();
this.standInfoList.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i]));
}
console.log(bringData)
this.form.cid = bringData[0].cid
this.form.cname = bringData[0].cname;
this.form.endTime = bringData[0].endTime;
this.listModel = false;
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
/*** **********************************************/
/** 流程节点负责人的选择 *****************************/
choiceZRR() {
// this.choice
},
handleTabs(name) {
this.active = name
},
// 流程也的提交按钮和保存按钮操作
handleSave() {},
handleSubmit() {}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
@import '~@/assets/styles/mixins';
.bzzqyjStep1 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
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;
}
.standardForComments {
height: 100%;
background: #fff;
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 0;
}
flex-direction: column;
.action-bar {
margin-bottom: 5px;
padding: 0;
}
.content {
flex: auto;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: auto;
overflow: hidden;
position: relative;
}
}
& > .pagination {
position: static;
/deep/.pagination-slot {
padding: 0;
}
}
}
}
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step2"
}
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step3"
}
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step4"
}
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step5"
}
</script>
<style scoped>
</style>
@@ -0,0 +1,525 @@
<template>
<div class="wfhxzgStep1">
<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;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<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="49%"
style="width: 100%"
: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 prop="standId" label="标准号/标准名称"/>
<el-table-column prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<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-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<!-- 添加标准抽屉-->
<el-drawer
title="未符合项整改数据库"
:visible.sync="standModel"
size="900px"
custom-class="demo-drawer"
>
<div class="search-area">
<div class="content-top">
<el-form :modal="nonConformitySearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="nonConformitySearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="nonConformitySearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonConformitySearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="nonConformitySearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('')">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-table
:data="unqualidiedData"
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 prop="standId" label="标准号/标准名称"/>
<el-table-column prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/>
</el-table>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div>
</el-drawer>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@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>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
export default {
name: "step1",
data() {
return {
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
dataList: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
// 责任部门
zNodesSItem: [],
standModel: false,
unqualidiedData: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
selectedList: [], //未整改项的选择框
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
},
roleFormRules: {
},
nodeList: [],
drawerTitle: '', //drawer标题
modalshowflag: false, // drawer开关
treeData: [], // 人员数据
defaultProps: {
children: 'children',
label: 'name'
},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
//点击新增事件
addList() {
this.$http.get("sarStandUnqualified/sar-stand-unqualified", "", {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.unqualidiedData = res.data.records
this.total = res.data.total
}, 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(() => {
});
}
},
//选择标准取消事件
closeDrawer() {
this.ListModel = false;
},
//未符合项整合确定事件
OkDrawer() {
if (this.selectedList.length !== 0) {
let deposit = new Map();
this.unqualidiedData.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i]));
}
this.dataList.standId = bringData[0].standId
this.dataList.productName = bringData[0].productName;
this.dataList.itemsNum = bringData[0].itemsNum;
this.dataList.itemsName = bringData[0].itemsName;
this.dataList.planCloseTime = bringData[0].planCloseTime;
this.dataList.responsibleUnit = bringData[0].responsibleUnit;
this.dataList.dutyEngineer = bringData[0].dutyEngineer;
this.ListModel = false;
} else {
this.$message.warning("请选择至少一条数据进行带入");
}
},
selectThree() {},
handleTabs(name) {
this.active = name
},
// 保存按钮
handleSave() {},
// 提交按钮
handleSubmit() {},
// 获取流程节点数据
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
// 流程阶段负责人选择
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = 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]
}
},
// 流程节点负责人抽屉保存按钮
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
},
//未整改项抽屉中的查询按钮
getTableByPage() {
this.addList()
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonConformitySearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.wfhxzgStep1 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
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-center {
padding: 10px 0px 10px 10px;
}
.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;
}
}
}
}
</style>
@@ -0,0 +1,523 @@
<template>
<div class="wfhxzgStep2">
<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;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="dataList.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="dataList.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="dataList.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>
<div class="content-center">
<el-button
style="text-align: end"
class="common-button-default"
size="small"
type="primary"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="dutyEngineerList">
批量分发负责人
</el-button>
</div>
<el-table
:data="dataList"
border
@selection-change="handleSelectionChange"
height="49%"
style="width: 100%"
: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 prop="standId" label="标准号/标准名称"/>
<el-table-column prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/>
<el-table-column label="选择分发责任人" prop="duty">
<template slot-scope="scope">
<span v-if="scope.row.show">
<el-input size="mini" placeholder="请输入内容" @blur="choiceDuty" v-model="scope.row.duty"></el-input>
</span>
<span v-else :disabled="true">{{scope.row.duty}}</span>
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<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-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@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>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
export default {
name: "step2",
data() {
return {
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1',
duty: '',
},{
standId: '332',
productName: '333',
itemsNum: '33',
itemsName: '33',
planCloseTime: '33',
responsibleUnit: '33',
dutyEngineer: '33',
duty: ''
},{
standId: '312`',
productName: '31312',
itemsNum: '31`2',
itemsName: '312`1`',
planCloseTime: '321`3`2',
responsibleUnit: '312`123`',
dutyEngineer: '312123',
duty: '121'
},{
standId: '32123',
productName: '32132',
itemsNum: '312321',
itemsName: '3123',
planCloseTime: '3123',
responsibleUnit: '3123',
dutyEngineer: '3123',
duty: ''
},
],
// 新增选择分发责任人数组
multipleSelection: [],
// 当前页数
pageNo: 1,
total: 0,
myLoading: false,
// 责任部门
zNodesSItem: [],
unqualidiedData: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
clearSelection: false,
selectedList: [], //未整改项的选择框
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
},
roleFormRules: {
},
nodeList: [],
drawerTitle: '', //drawer标题
modalshowflag: false, // drawer开关
treeData: [], // 人员数据
defaultProps: {
children: 'children',
label: 'name'
},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
created() {
},
methods: {
getList() {
this.myLoading.loadData = true
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.myLoading.loadData = false
this.nonList = res.data.records
this.total = res.data.total
}, e => {
this.myLoading.loadData = false
})
},
// 批量选择分发责任人
dutyEngineerList() {
if (this.multipleSelection.length === 0) {
this.$message.warning("请选择至少一条数据进行分发责任人");
} else {
this.multipleSelection.forEach((val, index)=> {
val.show = true
this.$set(val, index)
})
// this.modalshowflag = true
// this.$set(this.dataList.duty)
}
},
// 选择勾选项的集合
handleSelectionChange(val) {
this.multipleSelection = val;
console.log(this.multipleSelection)
},
// 选择分发责任人时
choiceDuty() {
for (let i = 0; i < this.multipleSelection.length; i++ ) {
if (this.multipleSelection[i].duty !== '') {
console.log(i)
for (let b = 0; b < this.multipleSelection.length; b++) {
this.multipleSelection[b].duty = this.multipleSelection[i].duty
this.multipleSelection.forEach(val=> {
val.show = false
})
}
}
}
},
selectPeople(row) {
this.modalshowflag = true
},
handleTabs(name) {
this.active = name
},
// 保存按钮
handleSave() {},
// 提交按钮
handleSubmit() {},
// 获取流程节点数据
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
// 流程阶段负责人选择
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = 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]
}
},
// 流程节点负责人抽屉保存按钮
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
},
//未整改项抽屉中的查询按钮
getTableByPage() {
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonConformitySearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.wfhxzgStep2 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
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-center {
padding: 10px 0px 10px 10px;
}
.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;
}
}
}
}
</style>
@@ -0,0 +1,452 @@
<template>
<div class="wfhxzgStep3">
<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;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="dataList.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="dataList.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="dataList.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
height="49%"
style="width: 100%"
: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 prop="standId" label="标准号/标准名称"/>
<el-table-column prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/>
<el-table-column label="选择责任人">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="selectPeople(scope.row)">选择责任人</el-button>
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<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-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择负责人" @click.native="choiceZRR('presidentUser', '选择负责人', roleForm.presidentUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@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>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
export default {
name: "step3",
data() {
return {
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
// 当前页数
pageNo: 1,
total: 0,
myLoading: false,
// 责任部门
zNodesSItem: [],
unqualidiedData: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
selectedList: [], //未整改项的选择框
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
},
roleFormRules: {
},
nodeList: [],
drawerTitle: '', //drawer标题
modalshowflag: false, // drawer开关
treeData: [], // 人员数据
defaultProps: {
children: 'children',
label: 'name'
},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
created() {
},
methods: {
getList() {
this.myLoading.loadData = true
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.myLoading.loadData = false
this.nonList = res.data.records
this.total = res.data.total
}, e => {
this.myLoading.loadData = false
})
},
selectPeople(row) {
this.modalshowflag = true
},
handleTabs(name) {
this.active = name
},
// 保存按钮
handleSave() {},
// 提交按钮
handleSubmit() {},
// 获取流程节点数据
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
// 流程阶段负责人选择
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = 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]
}
},
// 流程节点负责人抽屉保存按钮
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
},
//未整改项抽屉中的查询按钮
getTableByPage() {
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonConformitySearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.wfhxzgStep3 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
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-center {
padding: 10px 0px 10px 10px;
}
.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;
}
}
}
}
</style>
@@ -0,0 +1,452 @@
<template>
<div class="wfhxzgStep4">
<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;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="dataList.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="dataList.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="dataList.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
height="49%"
style="width: 100%"
: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 prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="duty" label="负责人"/>
<el-table-column label="佐证材料">
<template slot-scope="scope">
<el-upload>
<el-button type="primary" size="small" @click="uploadText(scope.row)">上传佐证材料</el-button>
</el-upload>
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<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-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@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>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
export default {
name: "step4",
data() {
return {
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
// 当前页数
pageNo: 1,
total: 0,
myLoading: false,
// 责任部门
zNodesSItem: [],
unqualidiedData: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
selectedList: [], //未整改项的选择框
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
},
roleFormRules: {
},
nodeList: [],
drawerTitle: '', //drawer标题
modalshowflag: false, // drawer开关
treeData: [], // 人员数据
defaultProps: {
children: 'children',
label: 'name'
},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
created() {
},
methods: {
getList() {
this.myLoading.loadData = true
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.myLoading.loadData = false
this.nonList = res.data.records
this.total = res.data.total
}, e => {
this.myLoading.loadData = false
})
},
uploadText(row) {
},
handleTabs(name) {
this.active = name
},
// 保存按钮
handleSave() {},
// 提交按钮
handleSubmit() {},
// 获取流程节点数据
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
// 流程阶段负责人选择
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = 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]
}
},
// 流程节点负责人抽屉保存按钮
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
},
//未整改项抽屉中的查询按钮
getTableByPage() {
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonConformitySearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.wfhxzgStep4 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
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-center {
padding: 10px 0px 10px 10px;
}
.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;
}
}
}
}
</style>
@@ -0,0 +1,454 @@
<template>
<div class="wfhxzgStep5">
<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;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="dataList.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="dataList.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="dataList.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
height="49%"
style="width: 100%"
: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 prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="负责人"/>
<el-table-column label="佐证材料">
<div class="div-text">{{ 11 || '暂无数据' }}</div>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<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-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:backLoading="backLoading"
@back="handleDataBack"
@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>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
export default {
name: "step5",
data() {
return {
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
active: '1', // 默认显示
isSubmit: false,
backLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
// 当前页数
pageNo: 1,
total: 0,
myLoading: false,
// 责任部门
zNodesSItem: [],
unqualidiedData: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
selectedList: [], //未整改项的选择框
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
},
roleFormRules: {
},
// 驳回弹窗状态
backDialog: false,
nodeList: [],
drawerTitle: '', //drawer标题
modalshowflag: false, // drawer开关
treeData: [], // 人员数据
defaultProps: {
children: 'children',
label: 'name'
},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
created() {
},
methods: {
getList() {
this.myLoading.loadData = true
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.myLoading.loadData = false
this.nonList = res.data.records
this.total = res.data.total
}, e => {
this.myLoading.loadData = false
})
},
// 批准俺妞妞操作
handleBack() {
this.backDialog = true
},
handleSuccess() {},
handleTabs(name) {
this.active = name
},
// 保存按钮
handleSave() {},
// 提交按钮
handleSubmit() {},
// 获取流程节点数据
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
// 流程阶段负责人选择
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = 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]
}
},
// 流程节点负责人抽屉保存按钮
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
},
//未整改项抽屉中的查询按钮
getTableByPage() {
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonConformitySearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.wfhxzgStep5 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
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-center {
padding: 10px 0px 10px 10px;
}
.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;
}
}
}
}
</style>
@@ -10,6 +10,7 @@
<div class="process-name" @click="handleCreateProcess('4')">标准需求(翻译)申请流程</div>
<div class="process-name" @click="handleCreateProcess('5')">标准发放申请流程</div>
<div class="process-name" @click="handleCreateProcess('6')">标准清单发布/更新流程</div>
<div class="process-name" @click="handleCreateProcess('7')">未符合项整改流程</div>
</div>
</div>
<div v-if="zcgllc">
@@ -62,7 +63,7 @@ export default {
case '3':
// 标准征求意见流程
this.$router.push({
name:'zqyjStep1'
name:'bzzqyjStep1'
})
break
case '4':
@@ -84,6 +85,10 @@ export default {
})
break
case '7':
//未符合项整改流程
this.$router.push({
name:'wfhxzgStep1'
})
break
case '8':
break
@@ -343,7 +343,8 @@ export default {
})
}
break;
case'3' : {
//标准清单更新/发布流程
case'4' :
if (row.taskInfo === '进行会签,填写意见') {
this.$router.push({
name: 'bzqdfbStep2',
@@ -378,8 +379,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']),