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

This commit is contained in:
Jaunty
2021-07-07 16:53:05 +08:00
25 changed files with 3335 additions and 1419 deletions
+13 -13
View File
@@ -14,12 +14,12 @@
size="mini"
type="primary"
class="common-button-primary"
v-btn-permission="'bcf0d05723689ced8f49fae7794ff0db'"
v-btn-permission="''"
@click="searchStandList">查询</el-button>
<el-button
size="mini"
class="common-button-default"
v-btn-permission="'0af780936b77df9905c988db9e90bee8'"
v-btn-permission="''"
@click="clearSearchStand">清空</el-button>
</el-form-item>
</el-form>
@@ -28,10 +28,10 @@
</table-tools-bar>
<div class="content">
<div class="action-bar">
<el-button size="mini" @click="spiltStandFile" v-btn-permission="'633d92e841ab4d49fb57b48b45fd0db8'"><i class="iconfont"></i>拆分</el-button>
<el-button size="mini" @click="clickButtonToUpload" v-btn-permission="'d7a62638bbbe81e375ea598acaf80593'"><i class="iconfont">&#xe65d;</i>上传</el-button>
<el-button size="mini" @click="clickButtonToImport" v-btn-permission="'b8aaf61ad3c88f4c73e5af88ac9689c0'"><i class="iconfont">&#xe6de;</i>导入拆分结果</el-button>
<el-button size="mini" @click="batchDelete" v-btn-permission="'e214975dcab66d2e27bf2ed9897f521c'"><i class="iconfont">&#xe61b;</i>删除</el-button>
<el-button size="mini" @click="spiltStandFile" v-btn-permission="''"><i class="iconfont"></i>拆分</el-button>
<el-button size="mini" @click="clickButtonToUpload" v-btn-permission="''"><i class="iconfont">&#xe65d;</i>上传</el-button>
<el-button size="mini" @click="clickButtonToImport" v-btn-permission="''"><i class="iconfont">&#xe6de;</i>导入拆分结果</el-button>
<el-button size="mini" @click="batchDelete" v-btn-permission="''"><i class="iconfont">&#xe61b;</i>删除</el-button>
</div>
<div class="table-wrap">
<div style="position: absolute;height: 100%;width: 100%;">
@@ -109,24 +109,24 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'17ba4598eb411d6feed468a2e446a301'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="''">查看</el-dropdown-item>
<el-dropdown-item
v-if="scope.row.collectBtn"
:command="[scope.row, '收藏']"
v-btn-permission="'0d316a6ffcbefddd9caad6b4e180a7d7'"
v-btn-permission="''"
>
收藏
</el-dropdown-item>
<el-dropdown-item
v-else
:command="[scope.row, '取消收藏']"
v-btn-permission="'7a92c8e3476202429a71ff18112469bc'"
v-btn-permission="''"
>
取消收藏
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'b96444e5e022acfac7ca7de12dec5e13'">分享</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="''">分享</el-dropdown-item>
<!-- <el-dropdown-item :command="[scope.row, '关联']">关联</el-dropdown-item>-->
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'10ba28487876990927f653a66e1eeb98'">删除</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
@@ -1166,7 +1166,7 @@ export default {
splitEo.fileType = this.selectedSplitStandList[0].standFileClassify
splitEo.attId = this.selectedSplitStandList[0].attId
splitEo.fileName = this.selectedSplitStandList[0].fileName
this.$http.get('lawss/sarFileSplitInfo/fileSplit', splitEo, {
this.$http.postData('lawss/sarFileSplitInfo/fileSplit', splitEo, {
_this: this
}, res => {
if (res.ok) {
@@ -1312,7 +1312,7 @@ export default {
this.percent = 0
this.speedModal = true
this.speedProgress()
this.$http.get('lawss/sarFileSplitInfo/fileSplit', this.uploadFilesplitEo, {
this.$http.postData('lawss/sarFileSplitInfo/fileSplit', this.uploadFilesplitEo, {
_this: this
}, res => {
if (res.ok) {
@@ -4,10 +4,10 @@
<div class="action-bar">
<div slot="left">
<!-- <el-button type="primary" @click="changeData">转化</Button>-->
<el-button size="mini" @click="uploadPdf" v-btn-permission="'MFQVKD5T76BL5VVZC3U2'"
<el-button size="mini" @click="uploadPdf" v-btn-permission="''"
><i class="iconfont">&#xe65d;</i>上传</el-button
>
<el-button size="mini" @click="delData" v-btn-permission="'QJ2GMGUUE5ZZ9PL37BHM'"
<el-button size="mini" @click="delData" v-btn-permission="''"
><i class="iconfont">&#xe61b;</i>删除</el-button
>
</div>
@@ -106,16 +106,16 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '获取文件']" v-btn-permission="'RFGHJXQLEBEC37EWCPMQ'"
<el-dropdown-item :command="[scope.row, '获取文件']" v-btn-permission=""
>获取文件</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'4ZCETHNBRFJQH8J8Q3Y5'"
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission=""
>编辑</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'QJ2GMGUUE5ZZ9PL37BHM'"
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission=""
>删除</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission="'M93G5FCWKBBPU8GMQ4EF'"
<el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission=""
>在线编辑</el-dropdown-item
>
</el-dropdown-menu>
@@ -508,7 +508,7 @@ export default {
if (res.data.standName != null && res.data.standName !== "") {
this.uploadFilesdfEo.standName = res.data.standName;
}
// this.uploadFilesdfEo.fileName = res.data.name
this.uploadFilesdfEo.fileName = res.data.name
// this.getTableData()
this.defaultFileList.push(file);
this.$message({
@@ -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,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">
@@ -84,6 +85,10 @@ export default {
})
break
case '7':
//未符合项整改流程
this.$router.push({
name:'wfhxzgStep1'
})
break
case '8':
break
@@ -277,7 +277,8 @@ export default {
})
}
break;
case'3' : {
//标准清单更新/发布流程
case'4' :
if (row.taskInfo === '进行会签,填写意见') {
this.$router.push({
name: 'bzqdfbStep2',
@@ -312,8 +313,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']),
@@ -31,7 +31,7 @@ export default {
data() {
return {
list: [],
tabValue: "",
tabValue: "listProject",
menuName: ["国家/地区清单", "项目类清单", "重点标准跟踪清单", "其他清单"]
};
},
@@ -102,8 +102,9 @@
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span>
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
@@ -377,7 +378,7 @@ export default {
position: relative;
flex: auto;
width: 100%;
//height: calc(~'100% - 105px - 56px') !important;
height: calc(100% - 110px) !important;
.pagination {
position: static;
@@ -91,8 +91,9 @@
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span>
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
@@ -94,8 +94,9 @@
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span>
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
File diff suppressed because it is too large Load Diff
@@ -111,70 +111,41 @@
align="center">
</el-table-column>
<el-table-column
prop="standNumber"
width="180px"
prop="code"
fixed="left"
width="180px"
label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standNumber }}</a>
<a v-if="scope.row.resId" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.code }}</a>
<span v-else>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column
prop="standName"
width="180px"
label="中文名称"
fixed="left"
label="标准名称"
width="260px"
>
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
width="180px"
fixed="left"
label="英文名称">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
width="190px"
label="发布日期"
prop="isSubTime"
sortable
>
label="发布日期">
</el-table-column>
<el-table-column
prop="newCarTime"
width="190px"
label="新车型实施日期"
prop="newPutTime"
sortable
>
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="nowCarTime"
width="190px"
label="在产车实施日期"
show-overflow-tooltip
prop="prodPutTime"
sortable
>
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="applyArcticId"
width="120px"
show-overflow-tooltip
label="适用车型">
</el-table-column>
<el-table-column
prop="responseUnit"
prop="proEssessUser"
width="120px"
show-overflow-tooltip
label="责任部门">
</el-table-column>
<el-table-column
prop="textStatus"
width="120px"
show-overflow-tooltip
label="文本状态">
</el-table-column>
</el-table>
@@ -211,37 +211,27 @@
</template>
</el-table-column>
<el-table-column
prop="name"
label="中文名称"
prop="standName"
label="标准名称"
width="260px"
fixed="left"
>
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
width="260px"
>
prop="isSubTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="newPutTime"
width="150px"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="prodPutTime"
width="150px"
sortable
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZRBMName"
width="150px"
label="责任部门">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="proEssessUser"
@@ -345,59 +335,31 @@
</template>
</el-table-column>
<el-table-column
prop="name"
width="180px"
label="中文名称"
fixed="left"
prop="standName"
label="标准名称"
width="260px"
>
<template slot-scope="scope">
<a v-if="scope.row.resId && scope.row.sarType !== 'TEMP'" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.name }}</a>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column
prop="enName"
width="180px"
fixed="left"
label="英文名称">
<template slot-scope="scope">
<a v-if="scope.row.resId && scope.row.sarType !== 'TEMP'" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.enName }}</a>
<span v-else>{{ scope.row.enName }}</span>
</template>
prop="isSubTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="newPutTime"
width="190px"
label="发布日期"
sortable
>
</el-table-column>
<el-table-column
prop="newPutTime"
width="190px"
label="新车型实施日期"
sortable
>
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="prodPutTime"
width="190px"
label="在产车实施日期"
sortable
>
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="applyArcticId"
width="120px"
show-overflow-tooltip
label="适用车型">
</el-table-column>
<el-table-column
prop="applyArcticId"
prop="proEssessUser"
width="120px"
show-overflow-tooltip
label="文本状态">
</el-table-column>
</el-table>
@@ -731,7 +693,7 @@ export default {
accessType: '',
id: '',
standType: 'INLAND', // 标准分类
// country: 'CN', // 适用区域
country: 'CN', // 适用区域
standSort: '', // 标准类别
standNumber: '', // 标准编号
standYear: '', // 标准年份
@@ -2204,7 +2166,7 @@ export default {
this.regionOptions = res.data.REGION // 基础信息 区域list
this.applyArcticOptions = res.data.PRODUCTTYPE || [] // 基础车型 适用车型list
this.energyKindOptions = res.data.ENERGYTYPES || [] // 能源种类list
this.drawerCountryOptions = res.data.COUNTRY // 国家、地区list
this.applicationScope = res.data.COUNTRY // 国家、地区list
this.applyOptions = res.data.COUNTRY //适用领域 list
this.standNatureOptions = res.data.SARPROPERTY // 新增 标准性质
this.accessSarTypeOptions = res.data.REQUESTTYPE // 数据搜索 要求类型
@@ -211,37 +211,27 @@
</template>
</el-table-column>
<el-table-column
prop="name"
label="中文名称"
prop="standName"
label="标准名称"
width="260px"
fixed="left"
>
</el-table-column>
<el-table-column
prop="enName"
label="英文名称"
width="260px"
>
prop="isSubTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="newPutTime"
width="150px"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="prodPutTime"
width="150px"
sortable
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZRBMName"
width="150px"
label="责任部门">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="proEssessUser"
@@ -345,59 +335,31 @@
</template>
</el-table-column>
<el-table-column
prop="name"
width="180px"
label="中文名称"
fixed="left"
prop="standName"
label="标准名称"
width="260px"
>
<template slot-scope="scope">
<a v-if="scope.row.resId && scope.row.sarType !== 'TEMP'" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.name }}</a>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column
prop="enName"
width="180px"
fixed="left"
label="英文名称">
<template slot-scope="scope">
<a v-if="scope.row.resId && scope.row.sarType !== 'TEMP'" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.enName }}</a>
<span v-else>{{ scope.row.enName }}</span>
</template>
prop="isSubTime"
sortable
label="发布日期">
</el-table-column>
<el-table-column
prop="newPutTime"
width="190px"
label="发布日期"
sortable
>
</el-table-column>
<el-table-column
prop="newPutTime"
width="190px"
label="新车型实施日期"
sortable
>
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="prodPutTime"
width="190px"
label="在产车实施日期"
sortable
>
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="applyArcticId"
width="120px"
show-overflow-tooltip
label="适用车型">
</el-table-column>
<el-table-column
prop="applyArcticId"
prop="proEssessUser"
width="120px"
show-overflow-tooltip
label="文本状态">
</el-table-column>
</el-table>
@@ -636,56 +598,6 @@ export default {
{required: true, type: 'string', message: '英文名称不能为空', trigger: 'blur'},
{type: 'string', max: 1000, message: '英文名称不能超过1000个字符', trigger: 'change'}
],
// synopsis: [
// {required: true, type: 'string', message: '法规说明不能为空', trigger: 'blur'},
// {type: 'string', max: 1000, message: '法规说明不能超过1000个字符', trigger: 'change'}
// ],
// newPutTime: [
// {required: true, message: '新车型实施日期不能为空', trigger: 'change'}
// ],
// prodPutTime: [
// {required: true, message: '在产车实施日期不能为空', trigger: 'change'}
// ],
// eopPutTime: [
// {required: true, message: 'eop实施日期不能为空', trigger: 'change'}
// ],
// newPutTextTime: [
// {required: true, message: '新车型实施日期(项目)不能为空', trigger: 'change'}
// ],
// prodPutTextTime: [
// {required: true, message: '在产车实施日期(项目)不能为空', trigger: 'change'}
// ],
// eopPutTextTime: [
// {required: true, message: 'eop实施日期(项目)不能为空', trigger: 'change'}
// ],
performInfo: [
// {required: true, type: 'string', message: '实施说明不能为空', trigger: 'blur'},
{type: 'string', max: 1000, message: '实施说明不能超过1000个字符', trigger: 'change'}
],
// ZRBM: [
// {required: true, type: 'string', message: '责任部门不能为空', trigger: 'change'}
// ],
// XGBM: [
// {required: true, message: '相关部门不能为空', trigger: 'change'}
// ],
// FO: [
// {required: true, type: 'string', message: 'FO不能为空', trigger: 'change'}
// ],
// proEssessUserId: [
// {required: true, type: 'string', message: '项目评估角色不能为空', trigger: 'change'}
// ],
askNature: [
{required: true, message: '监管类型不能为空', trigger: 'change'}
],
// applyArctic: [
// {required: true, message: '适用车辆类型不能为空', trigger: 'change'}
// ],
accessType: [
{required: true, type: 'string', message: '入库模块不能为空', trigger: 'change'}
],
authObjId: [
{required: true, type: 'string', message: '认证对象不能为空', trigger: 'change'}
]
},
// 认证对象下拉数据
authObjOptions: [
@@ -133,7 +133,7 @@
</el-table-column>
<el-table-column
label="标准号"
width="170px"
width="200px"
>
<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>
@@ -143,6 +143,7 @@
<el-table-column
prop="standName"
label="标准名称"
width="250px"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -151,7 +152,7 @@
<el-table-column
prop="issueTime"
sortable="custom"
width="110px"
width="170px"
label="发布日期">
<template slot-scope="scope">
{{ formatIssueDate(scope.row.issueTime) }}
@@ -160,7 +161,6 @@
<el-table-column
prop="xcxssrq"
sortable="custom"
width="150px"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ formatText(scope.row.XCXSSRQ) }}</span>
@@ -169,7 +169,6 @@
<el-table-column
prop="zccssrq"
sortable="custom"
width="150px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ formatText(scope.row.ZCCSSRQ) }}</span>
@@ -1211,13 +1211,13 @@ export default {
handlePreview (row) {
this.$store.commit('setDetailMap', this.$route.path)
this.$store.commit('setLocalProData', JSON.stringify(row))
if (!this.$hasPermission('XTR2AJYDAN4J7GALXDW9')){
this.$message({
message: '无权访问',
type: 'warning'
})
return
}
// if (!this.$hasPermission('XTR2AJYDAN4J7GALXDW9')){
// this.$message({
// message: '访',
// type: 'warning'
// })
// return
// }
this.$http.get('sarStandProjectLibrary/queryById', {
id: row.id
}, {
@@ -42,6 +42,7 @@ export default {
flex-direction: column;
background-color: #FFFFFF;
.non-content {
padding: 0 10px;
height: 100%;
/deep/ .el-tabs {
display: flex;
+45
View File
@@ -276,6 +276,51 @@ const routes = [
title: '标准清单发布/更新流程'
}
},
{
path: '/wfhxzgStep1',
name: 'wfhxzgStep1',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step1.vue'),
meta: {
requireAuth: true,
title: '未符合项整改流程'
}
},
{
path: '/wfhxzgStep2',
name: 'wfhxzgStep2',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step2.vue'),
meta: {
requireAuth: true,
title: '未符合项整改发布/更新流程'
}
},
{
path: '/wfhxzgStep3',
name: 'wfhxzgStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step3.vue'),
meta: {
requireAuth: true,
title: '未符合项整改/更新流程'
}
},
{
path: '/wfhxzgStep4',
name: 'wfhxzgStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step4.vue'),
meta: {
requireAuth: true,
title: '未符合项整改/更新流程'
}
},
{
path: '/wfhxzgStep5',
name: 'wfhxzgStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step5.vue'),
meta: {
requireAuth: true,
title: '未符合项整改/更新流程'
}
},
{
path: '/bzrkStep1',
name: 'bzrkStep1',