This commit is contained in:
宋伟佳
2021-07-14 13:48:11 +08:00
21 changed files with 2282 additions and 453 deletions
+26
View File
@@ -0,0 +1,26 @@
import axios from '@/common/axiosV2'
// 查询未整改项列表接口
export function standUnqualified (data) {
return axios({
url: '/api/sarStandUnqualified/sar-stand-unqualified',
method: 'get',
params: data
})
}
// 人员菜单列表获取
export function roleTreeData (data) {
return axios({
url: '/api/SarInstitution/institution/institutionAndUser',
method: 'get',
params: data
})
}
// 上传文件
export function uploadFileText (data) {
return axios({
url: 'api/att/attFile/upload',
method: 'get',
params: data
})
}
@@ -1564,7 +1564,7 @@ export default {
// 请求标准id和类型 // 请求标准id和类型
showReplaceStandInfo (item) { showReplaceStandInfo (item) {
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType // this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', { this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', {
standNumber: item standNumber: item
}, { }, {
_this: this _this: this
@@ -38,25 +38,25 @@
<template v-if="item.label === '基础信息'" > <template v-if="item.label === '基础信息'" >
<div class="details-content-modular basic-information" style="border-top:none"> <div class="details-content-modular basic-information" style="border-top:none">
<div class="basic-information-content"> <div class="basic-information-content">
<p><label>标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p> <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>
<p style="color: #C42626;"> <p style="color: #C42626;">
<label>标准编号</label> <label style=" margin-right: 150px;">标准编号</label>
<span v-if="sarStandardsInfoEO.standYear">{{ sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear }}</span> <span v-if="sarStandardsInfoEO.standYear">{{ sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear }}</span>
<span v-else>{{ sarStandardsInfoEO.standSort + ' ' + sarStandardsInfoEO.standNumber }}</span> <span v-else>{{ sarStandardsInfoEO.standSort + ' ' + sarStandardsInfoEO.standNumber }}</span>
</p> </p>
<p><label>标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p> <p><label style=" margin-right: 150px;">标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p>
<p><label>中文名称</label><span>{{ sarStandardsInfoEO.standName || '-' }}</span></p> <p><label style=" margin-right: 150px;">中文名称</label><span>{{ sarStandardsInfoEO.standName || '-' }}</span></p>
<p><label>英文名称</label><span>{{ sarStandardsInfoEO.standEnName || '-' }}</span></p> <p><label style=" margin-right: 150px;">英文名称</label><span>{{ sarStandardsInfoEO.standEnName || '-' }}</span></p>
<p><label>标准性质</label><span>{{ sarStandardsInfoEO.standNature || '-' }}</span></p> <p><label style=" margin-right: 150px;">标准性质</label><span>{{ sarStandardsInfoEO.standNature || '-' }}</span></p>
<p> <p>
<label <label style=" margin-right: 132px;"
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
>文本状态<i class="el-icon-warning-outline"></i></label> >文本状态<i class="el-icon-warning-outline"></i></label>
<span style="color: #409EFF;">{{ sarStandardsInfoEO.textStatus || '-' }}</span> <span style="color: #409EFF;">{{ sarStandardsInfoEO.textStatus || '-' }}</span>
</p> </p>
<p><label>发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p> <p><label style=" margin-right: 150px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
<p><label>是否纳入认证清单</label><span>{{sarStandardsInfoEO.isRelateAccess ? (sarStandardsInfoEO.isRelateAccess === '1' ? '是' : '否') : '-'}}</span></p> <p><label style=" margin-right: 76px;">是否纳入认证清单</label><span>{{sarStandardsInfoEO.isRelateAccess ? (sarStandardsInfoEO.isRelateAccess === '1' ? '是' : '否') : '-'}}</span></p>
<p><label>标准体系</label><span>{{ sarStandardsInfoEO.standSystemName || '-' }}</span></p> <p><label style=" margin-right: 150px;">标准体系</label><span>{{ sarStandardsInfoEO.standSystemName || '-' }}</span></p>
<!-- <p><label>文本说明</label><span style="color: #999999">{{ sarStandardsInfoEO.synopsis || '-' }}</span></p>--> <!-- <p><label>文本说明</label><span style="color: #999999">{{ sarStandardsInfoEO.synopsis || '-' }}</span></p>-->
<!-- <p><label>重要度</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>--> <!-- <p><label>重要度</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>-->
<!-- <p><label>纳入标准法规清单的国家/地区</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>--> <!-- <p><label>纳入标准法规清单的国家/地区</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>-->
@@ -1687,7 +1687,7 @@ export default {
showReplaceStandInfo (item) { showReplaceStandInfo (item) {
this.replaceStandInfoEO.standNumber = item this.replaceStandInfoEO.standNumber = item
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType // this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', this.replaceStandInfoEO, { this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
_this: this _this: this
}, res => { }, res => {
if (res.data != null) { if (res.data != null) {
+1 -1
View File
@@ -1653,7 +1653,7 @@ export default {
showReplaceStandInfo (item) { showReplaceStandInfo (item) {
this.replaceStandInfoEO.standNumber = item this.replaceStandInfoEO.standNumber = item
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType // this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', this.replaceStandInfoEO, { this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
_this: this _this: this
}, res => { }, res => {
if (res.data != null) { if (res.data != null) {
+15 -15
View File
@@ -108,21 +108,21 @@
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="''">查看</el-dropdown-item> <el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="''">查看</el-dropdown-item>
<el-dropdown-item <!-- <el-dropdown-item-->
v-if="scope.row.collectBtn" <!-- v-if="scope.row.collectBtn"-->
:command="[scope.row, '收藏']" <!-- :command="[scope.row, '收藏']"-->
v-btn-permission="''" <!-- v-btn-permission="''"-->
> <!-- >-->
收藏 <!-- 收藏-->
</el-dropdown-item> <!-- </el-dropdown-item>-->
<el-dropdown-item <!-- <el-dropdown-item-->
v-else <!-- v-else-->
:command="[scope.row, '取消收藏']" <!-- :command="[scope.row, '取消收藏']"-->
v-btn-permission="''" <!-- v-btn-permission="''"-->
> <!-- >-->
取消收藏 <!-- 取消收藏-->
</el-dropdown-item> <!-- </el-dropdown-item>-->
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="''">分享</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, '关联']">关联</el-dropdown-item>-->
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item> <el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@@ -0,0 +1,612 @@
<template>
<div class="bzjdStep1">
<!-- 标准征求意见流程-->
<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-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准拆分数据" class="add-form-item form-item-disabled">
<div class="addButton">
<el-button size="small" type="primary" @click="addZqyjList">带入</el-button>
</div>
</el-form-item>
<el-form-item label="标准号/政策号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称/政策名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="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.applyUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="applyUserId" style="margin-bottom: 0">
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.applyUserId" style="display: none;"/>
<el-input v-model="roleForm.applyUserIdName" placeholder="流程发起人" disabled/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="对接部门责任人" placement="top" :color="roleForm.zrUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="zrUserId" style="margin-bottom: 0">
<h4>对接部门责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.zrUserId" style="display: none;"/>
<el-input
v-model="roleForm.zrUserIdName"
placeholder="选择责任部门对接人"
@click.native="choiceZRRS">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="批准解读流程" placement="top" :color="roleForm.deptUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="deptUserId" style="margin-bottom: 0">
<h4>标准法规部部长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.deptUserId" style="display: none;"/>
<el-input
v-model="roleForm.deptUserIdName"
placeholder="选择标准法规部部长·"
@click.native="choiceZRR('deptUserId', '选择标准法规部部长', roleForm.deptUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="标准征求意见数据库"
:visible.sync="listModel"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<div class="content">
<!-- 顶部工具栏 -->
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="标准号/名称" class="search-item">
<el-input v-model="standCommonlySearch.numOrName" class="s-c-input" placeholder="请输入标准号/名称" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
</div>
</div>
</table-tools-bar>
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
ref="selection"
:data="standInfoList"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="showNumber"
label="标准号/政策号"
width="170"
align="center">
<template slot-scope="scope">
<div v-if=" scope.row.splitStatus === '0'">{{ scope.row.standNumSplit }}</div>
<div v-else>{{ scope.row.showNumber }}</div>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称/政策名称"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<span v-if=" scope.row.splitStatus === '0'">{{ scope.row.standNameSplit }}</span>
<span v-else>{{ scope.row.standName }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<loading :loading="spinShow">数据加载中</loading>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer">带入</el-button>
</div>
</div>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
node-key="id"
style="height: 100%; overflow: auto;"
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>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
export default {
name: "bzjdStep1",
data() {
return {
commentText: '',
textarea: '', // 意见
title: '', // 新增抽屉标题
listModel: false, // 新增抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
// 基础信息form表单
form: {
number: '',
name: '',
id: '',
},
formRules: {
number: [
{ required: true, message: '请输入标准号/政策号', trigger: 'change' },
],
name: [
{ required: true, message: '请输入标准名称/政策名称', trigger: 'change' },
],
},
// 标准征求意见数据可库
standCommonlySearch: {
numOrName: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
result: '1'
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0,
selectedList: [],
data: [],
roleForm: {
applyUserIdName: this.$store.getters.userInfo.userName,
applyUserId: this.$store.getters.userInfo.userId,
zrUserId: '',
zrUserIdName: '',
deptUserId: '',
deptUserIdName: ''
},
roleFormRules: {
zrUserId: [
{ required: true, message: '请选择责任部门对接人', trigger: 'change' },
],
deptUserId: [
{ required: true, message: '请选择标准法规部部长', trigger: 'change' },
],
},
treeData: [],
nodeList: [],
nodeList2: [],
type: '',
drawerTitle: '',
modalshowflag: false,
modalshowflag2: false,
defaultProps: {
children: 'children',
label: 'name'
},
roleRow: {},
itemList: []
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
mounted () {
this.getTree()
this.sarStandCompareHis()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
methods: {
addZqyjList() {
this.title = '标准拆分数据库'
this.listModel = true
},
/** 标准征求意见库方法*
* **********************************************/
// 清空
clearSearchStand () {
this.standCommonlySearch.page = 1
this.standCommonlySearch.start = ''
this.standCommonlySearch.end = ''
this.standCommonlySearch.categorg = ''
this.standCommonlySearch.cname = ''
this.sarStandCompareHis()
},
// 搜索
sarStandCompareHisInfo() {
this.splitInfoPage = 1
this.sarStandCompareHis()
},
// 查询表格
sarStandCompareHis () {
this.spinShow = true
var form = this.standCommonlySearch
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', form, {
_this: this
}, res => {
this.standInfoList = res.data.list
this.total = res.data.total
this.spinShow = false
}, e => {
})
},
pageChange (page) {
this.standCommonlySearch.page = page
this.sarStandCompareHis()
},
// 分页每页显示数改变后方法
pageSizeChange (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize
this.sarStandCompareHis()
},
/** 选择带入数据的方法操作
* */
handleSelection(data) {
this.selectedList = [];
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id);
}
},
closeDrawer() {
this.listModel = false
},
enterDrawer() {
if (this.selectedList.length === 1) {
let deposit = new Map();
this.standInfoList.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i]));
}
if (bringData[0].splitStatus === '0') {
this.form.number = bringData[0].standNumSplit
this.form.name = bringData[0].standNameSplit
} else {
this.form.number = bringData[0].showNumber
this.form.name = bringData[0].standName
}
this.form.id = bringData[0].id
this.listModel = false;
this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', {
infoId: this.form.id,
page: 1,
pageSize: 9999
}, {
_this: this
}, res => {
if (res.ok) {
this.itemList = res.data.list
console.log(res);
}
})
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
/*** **********************************************/
/** 流程节点负责人的选择 *****************************/
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
})
},
saveUserInfo () {
if (this.type === 'deptUserId') {
this.roleForm.deptUserId = this.roleRow.id
this.roleForm.deptUserIdName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
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]
}
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.zrUserId.length > 0) {
this.nodeList2 = this.roleForm.zrUserId.split(',')
}
this.modalshowflag2 = true
},
saveUserInfo2 () {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.roleForm.zrUserId = idList
this.roleForm.zrUserIdName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.$http.get('lawss/activiti/startProcess', {
type: '9'
}, {}, res => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText
json.itemList = this.itemList
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: res.data,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('流程启动失败')
}
})
} else {
return this.$message.warning('请完善人员信息')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
@import '~@/assets/styles/mixins';
.bzjdStep1 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 107px');
overflow: auto;
}
.standardForComments {
height: 100%;
background: #fff;
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 0;
}
flex-direction: column;
.action-bar {
margin-bottom: 5px;
padding: 0;
}
.content {
flex: auto;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: auto;
overflow: hidden;
position: relative;
}
}
& > .pagination {
position: static;
/deep/.pagination-slot {
padding: 0;
}
}
}
}
</style>
@@ -0,0 +1,300 @@
<template>
<div class="bzjdStep2">
<!-- 标准调研流程-->
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="责任人" prop="responUserList" class="add-form-item form-item-disabled">
<el-input
v-model="form.responUserList"
style="display: none;"
clearable
></el-input>
<el-input v-model="form.responUserListName" placeholder="请选择责任人" @click.native="choiceZRR"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任人"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
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 {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzjdStep2",
data() {
return {
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
responUserList: '',
responUserListName: ''
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
saveUserInfo () {
var idList = ''
var nameList = ''
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.form.responUserList = idList
this.form.responUserListName = nameList
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
choiceZRR () {
this.nodeList = []
if (this.form.responUserList.length > 0) {
this.nodeList = this.form.responUserList.split(',')
}
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
var json = this.json
json.commentText = this.commentText
json.responUserList = this.form.responUserList
json.responUserListName = this.form.responUserListName
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
this.json = data
}).catch(e => {
})
})
},
},
mounted () {
this.getTree()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzjdStep2 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -195,66 +195,141 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled">
<div v-if="form.xgd"> <el-input
{{ form.xgd }} disabled
style="display: none;"
v-model="form.xgdName"
clearable
></el-input>
<div v-if="form.xgdName">
{{ form.xgdName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('xgd')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('xgd')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled"> <el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd"> <el-input
{{ form.fbgbjbd }} disabled
style="display: none;"
v-model="form.fbgbjbdName"
clearable
></el-input>
<div v-if="form.fbgbjbdName">
{{ form.fbgbjbdName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('fbgbjbd')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('fbgbjbd')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd"> <el-input
{{ form.zbjbd }} disabled
style="display: none;"
v-model="form.zbjbdName"
clearable
></el-input>
<div v-if="form.zbjbdName">
{{ form.zbjbdName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zbjbd')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('zbjbd')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<div v-if="form.bpg"> <el-input
{{ form.bpg }} disabled
style="display: none;"
v-model="form.bpgName"
clearable
></el-input>
<div v-if="form.bpgName">
{{ form.bpgName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('bpg')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('bpg')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<div v-if="form.ssg"> <el-input
{{ form.ssg }} disabled
style="display: none;"
v-model="form.ssgName"
clearable
></el-input>
<div v-if="form.ssgName">
{{ form.ssgName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ssg')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('ssg')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
@@ -262,53 +337,113 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled">
<div v-if="form.kwj"> <el-input
{{ form.kwj }} disabled
style="display: none;"
v-model="form.kwjName"
clearable
></el-input>
<div v-if="form.kwjName">
{{ form.kwjName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('kwj')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('kwj')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg"> <el-input
{{ form.zqyjg }} disabled
style="display: none;"
v-model="form.zqyjgName"
clearable
></el-input>
<div v-if="form.zqyjgName">
{{ form.zqyjgName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zqyjg')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('zqyjg')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled"> <el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<div v-if="form.ca"> <el-input
{{ form.ca }} disabled
style="display: none;"
v-model="form.caName"
clearable
></el-input>
<div v-if="form.caName">
{{ form.caName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ca')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('ca')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled">
<div v-if="form.jdwj"> <el-input
{{ form.jdwj }} disabled
style="display: none;"
v-model="form.jdwjName"
clearable
></el-input>
<div v-if="form.jdwjName">
{{ form.jdwjName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('jdwj')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('jdwj')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
@@ -501,14 +636,21 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled"> <el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<div v-if="form.glwj"> <el-input
{{ form.glwj }} disabled
style="display: none;"
v-model="form.glwjName"
clearable
></el-input>
<div v-if="form.glwjName">
{{ form.glwjName }}
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini"> size="mini"
@click="fileUpload('glwj')">
点击上传 点击上传
</el-button> </el-button>
</div> </div>
@@ -617,6 +759,24 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .doc, .DOC, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
</div> </div>
</template> </template>
@@ -643,6 +803,9 @@
}, },
nodeKey: 'id', nodeKey: 'id',
defaultCheckedKeys: [], defaultCheckedKeys: [],
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
fileType: '',
form: { form: {
// 基础信息 // 基础信息
textStatus: '', // 文本状态 textStatus: '', // 文本状态
@@ -676,6 +839,16 @@
jdwj: '', // 解读文件 jdwj: '', // 解读文件
zbjbd: '', // 增补件 zbjbd: '', // 增补件
kwj: '', // 勘误件 kwj: '', // 勘误件
caName: '', // 草案
fbgbjbdName: '', // 发布稿
xgdName: '', // 修改单
bpgName: '', // 报批稿
ssgName: '', // 送审稿
zqyjgName: '', // 征求意见稿
jdwjName: '', // 解读文件
zbjbdName: '', // 增补件
kwjName: '', // 勘误件
glwjName: '', // 关联文件
// 适用范围 // 适用范围
txlb: '', // 体系类别 txlb: '', // 体系类别
gkdw: '', // 归口管理部门 gkdw: '', // 归口管理部门
@@ -732,6 +905,77 @@
TreeSelect TreeSelect
}, },
methods: { methods: {
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.doc' || fileSuffix === '.DOC' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOC/DOCX或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 导入标准数据成功后执行
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
if(this.fileType === 'fbgbjbd'){
this.form.fbgbjbd = response.data.id;
this.form.fbgbjbdName = response.data.name;
}else if(this.fileType === 'xgd'){
this.form.xgd = response.data.id;
this.form.xgdName = response.data.name;
}else if(this.fileType === 'bpg'){
this.form.bpg = response.data.id;
this.form.bpgName = response.data.name;
}else if(this.fileType === 'ssg'){
this.form.ssg = response.data.id;
this.form.ssgName = response.data.name;
}else if(this.fileType === 'zqyjg'){
this.form.zqyjg = response.data.id;
this.form.zqyjgName = response.data.name;
}else if(this.fileType === 'jdwj'){
this.form.jdwj = response.data.id;
this.form.jdwjName = response.data.name;
}else if(this.fileType === 'kwj'){
this.form.kwj = response.data.id;
this.form.kwjName = response.data.name;
}else if(this.fileType === 'xgd'){
this.form.xgd = response.data.id;
this.form.xgdName = response.data.name;
}else if(this.fileType === 'glwj'){
this.form.glwj = response.data.id;
this.form.glwjName = response.data.name;
}else if(this.fileType === 'ca'){
this.form.ca = response.data.id;
this.form.caName = response.data.name;
}
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload (type) {
this.fileType = '';
this.fileMadel = true
this.fileType = type;
},
popoverHide (checkedIds, checkedData) { popoverHide (checkedIds, checkedData) {
console.log(checkedIds); console.log(checkedIds);
console.log(checkedData); console.log(checkedData);
@@ -208,41 +208,41 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgdName" class="add-form-item form-item-disabled">
<div v-if="form.xgd"> <div v-if="form.xgdName">
{{ form.xgd }} {{ form.xgdName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled"> <el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd"> <div v-if="form.fbgbjbdName">
{{ form.fbgbjbd }} {{ form.fbgbjbdName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd"> <div v-if="form.zbjbdName">
{{ form.zbjbd }} {{ form.zbjbdName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpgName" class="add-form-item form-item-disabled">
<div v-if="form.bpg"> <div v-if="form.bpgName">
{{ form.bpg }} {{ form.bpgName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssgName" class="add-form-item form-item-disabled">
<div v-if="form.ssg"> <div v-if="form.ssgName">
{{ form.ssg }} {{ form.ssgName }}
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -250,33 +250,33 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwjName" class="add-form-item form-item-disabled">
<div v-if="form.kwj"> <div v-if="form.kwjName">
{{ form.kwj }} {{ form.kwjName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjgName" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg"> <div v-if="form.zqyjgName">
{{ form.zqyjg }} {{ form.zqyjgName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled"> <el-form-item label="草案" prop="caName" class="add-form-item form-item-disabled">
<div v-if="form.ca"> <div v-if="form.caName">
{{ form.ca }} {{ form.caName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwjName" class="add-form-item form-item-disabled">
<div v-if="form.jdwj"> <div v-if="form.jdwjName">
{{ form.jdwj }} {{ form.jdwjName }}
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -473,9 +473,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled"> <el-form-item label="关联文件" prop="glwjName" class="add-form-item form-item-disabled">
<div v-if="form.glwj"> <div v-if="form.glwjName">
{{ form.glwj }} {{ form.glwjName }}
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -730,6 +730,16 @@
jdwj: '', // 解读文件 jdwj: '', // 解读文件
zbjbd: '', // 增补件 zbjbd: '', // 增补件
kwj: '', // 勘误件 kwj: '', // 勘误件
caName: '', // 草案
fbgbjbdName: '', // 发布稿
xgdName: '', // 修改单
bpgName: '', // 报批稿
ssgName: '', // 送审稿
zqyjgName: '', // 征求意见稿
jdwjName: '', // 解读文件
zbjbdName: '', // 增补件
kwjName: '', // 勘误件
glwjName: '', // 关联文件
// 适用范围 // 适用范围
txlb: '', // 体系类别 txlb: '', // 体系类别
gkdw: '', // 归口管理部门 gkdw: '', // 归口管理部门
@@ -201,41 +201,41 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgdName" class="add-form-item form-item-disabled">
<div v-if="form.xgd"> <div v-if="form.xgdName">
{{ form.xgd }} {{ form.xgdName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled"> <el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd"> <div v-if="form.fbgbjbdName">
{{ form.fbgbjbd }} {{ form.fbgbjbdName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd"> <div v-if="form.zbjbdName">
{{ form.zbjbd }} {{ form.zbjbdName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpgName" class="add-form-item form-item-disabled">
<div v-if="form.bpg"> <div v-if="form.bpgName">
{{ form.bpg }} {{ form.bpgName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssgName" class="add-form-item form-item-disabled">
<div v-if="form.ssg"> <div v-if="form.ssgName">
{{ form.ssg }} {{ form.ssgName }}
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -243,33 +243,33 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwjName" class="add-form-item form-item-disabled">
<div v-if="form.kwj"> <div v-if="form.kwjName">
{{ form.kwj }} {{ form.kwjName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjgName" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg"> <div v-if="form.zqyjgName">
{{ form.zqyjg }} {{ form.zqyjgName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled"> <el-form-item label="草案" prop="caName" class="add-form-item form-item-disabled">
<div v-if="form.ca"> <div v-if="form.caName">
{{ form.ca }} {{ form.caName }}
</div> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwjName" class="add-form-item form-item-disabled">
<div v-if="form.jdwj"> <div v-if="form.jdwjName">
{{ form.jdwj }} {{ form.jdwjName }}
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -466,9 +466,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled"> <el-form-item label="关联文件" prop="glwjName" class="add-form-item form-item-disabled">
<div v-if="form.glwj"> <div v-if="form.glwjName">
{{ form.glwj }} {{ form.glwjName }}
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -722,6 +722,16 @@ export default {
jdwj: '', // 解读文件 jdwj: '', // 解读文件
zbjbd: '', // 增补件 zbjbd: '', // 增补件
kwj: '', // 勘误件 kwj: '', // 勘误件
caName: '', // 草案
fbgbjbdName: '', // 发布稿
xgdName: '', // 修改单
bpgName: '', // 报批稿
ssgName: '', // 送审稿
zqyjgName: '', // 征求意见稿
jdwjName: '', // 解读文件
zbjbdName: '', // 增补件
kwjName: '', // 勘误件
glwjName: '', // 关联文件
// 适用范围 // 适用范围
txlb: '', // 体系类别 txlb: '', // 体系类别
gkdw: '', // 归口管理部门 gkdw: '', // 归口管理部门
@@ -188,78 +188,258 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgdName" class="add-form-item form-item-disabled">
<div v-if="form.xgd"> <el-input
{{ form.xgd }} disabled
style="display: none;"
v-model="form.xgdName"
clearable
></el-input>
<div v-if="form.xgdName">
{{ form.xgdName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('xgd')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('xgd')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled"> <el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd"> <el-input
{{ form.fbgbjbd }} disabled
style="display: none;"
v-model="form.fbgbjbdName"
clearable
></el-input>
<div v-if="form.fbgbjbdName">
{{ form.fbgbjbdName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('fbgbjbd')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('fbgbjbd')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd"> <el-input
{{ form.zbjbd }} disabled
style="display: none;"
v-model="form.zbjbdName"
clearable
></el-input>
<div v-if="form.zbjbdName">
{{ form.zbjbdName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zbjbd')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zbjbd')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpgName" class="add-form-item form-item-disabled">
<div v-if="form.bpg"> <el-input
{{ form.bpg }} disabled
style="display: none;"
v-model="form.bpgName"
clearable
></el-input>
<div v-if="form.bpgName">
{{ form.bpgName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('bpg')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('bpg')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssgName" class="add-form-item form-item-disabled">
<div v-if="form.ssg"> <el-input
{{ form.ssg }} disabled
style="display: none;"
v-model="form.ssgName"
clearable
></el-input>
<div v-if="form.ssgName">
{{ form.ssgName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ssg')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ssg')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwjName" class="add-form-item form-item-disabled">
<div v-if="form.kwj"> <el-input
{{ form.kwj }} disabled
style="display: none;"
v-model="form.kwjName"
clearable
></el-input>
<div v-if="form.kwjName">
{{ form.kwjName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('kwj')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('kwj')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjgName" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg"> <el-input
{{ form.zqyjg }} disabled
style="display: none;"
v-model="form.zqyjgName"
clearable
></el-input>
<div v-if="form.zqyjgName">
{{ form.zqyjgName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zqyjg')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zqyjg')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled"> <el-form-item label="草案" prop="caName" class="add-form-item form-item-disabled">
<div v-if="form.ca"> <el-input
{{ form.ca }} disabled
style="display: none;"
v-model="form.caName"
clearable
></el-input>
<div v-if="form.caName">
{{ form.caName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ca')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ca')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwjName" class="add-form-item form-item-disabled">
<div v-if="form.jdwj"> <el-input
{{ form.jdwj }} disabled
style="display: none;"
v-model="form.jdwjName"
clearable
></el-input>
<div v-if="form.jdwjName">
{{ form.jdwjName }}
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('jdwj')">
重新上传
</el-button>
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('jdwj')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -446,12 +626,24 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled"> <el-form-item label="关联文件" prop="glwjName" class="add-form-item form-item-disabled">
<div v-if="form.glwj"> <el-input
{{ form.glwj }} disabled
style="display: none;"
v-model="form.glwjName"
clearable
></el-input>
<div v-if="form.glwjName">
{{ form.glwjName }}
</div> </div>
<div v-else> <div v-else>
- - <el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -633,6 +825,24 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .doc, .DOC, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
</div> </div>
</template> </template>
@@ -667,6 +877,9 @@ export default {
nodeKey: 'id', nodeKey: 'id',
defaultCheckedKeys: [], defaultCheckedKeys: [],
treeStatus:false, treeStatus:false,
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
fileType: '',
form: { form: {
// 基础信息 // 基础信息
textStatus: '', // 文本状态 textStatus: '', // 文本状态
@@ -700,6 +913,16 @@ export default {
jdwj: '', // 解读文件 jdwj: '', // 解读文件
zbjbd: '', // 增补件 zbjbd: '', // 增补件
kwj: '', // 勘误件 kwj: '', // 勘误件
caName: '', // 草案
fbgbjbdName: '', // 发布稿
xgdName: '', // 修改单
bpgName: '', // 报批稿
ssgName: '', // 送审稿
zqyjgName: '', // 征求意见稿
jdwjName: '', // 解读文件
zbjbdName: '', // 增补件
kwjName: '', // 勘误件
glwjName: '', // 关联文件
// 适用范围 // 适用范围
txlb: '', // 体系类别 txlb: '', // 体系类别
gkdw: '', // 归口管理部门 gkdw: '', // 归口管理部门
@@ -769,6 +992,77 @@ export default {
}, },
}, },
methods: { methods: {
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.doc' || fileSuffix === '.DOC' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOC/DOCX或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 导入标准数据成功后执行
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
if(this.fileType === 'fbgbjbd'){
this.form.fbgbjbd = response.data.id;
this.form.fbgbjbdName = response.data.name;
}else if(this.fileType === 'xgd'){
this.form.xgd = response.data.id;
this.form.xgdName = response.data.name;
}else if(this.fileType === 'bpg'){
this.form.bpg = response.data.id;
this.form.bpgName = response.data.name;
}else if(this.fileType === 'ssg'){
this.form.ssg = response.data.id;
this.form.ssgName = response.data.name;
}else if(this.fileType === 'zqyjg'){
this.form.zqyjg = response.data.id;
this.form.zqyjgName = response.data.name;
}else if(this.fileType === 'jdwj'){
this.form.jdwj = response.data.id;
this.form.jdwjName = response.data.name;
}else if(this.fileType === 'kwj'){
this.form.kwj = response.data.id;
this.form.kwjName = response.data.name;
}else if(this.fileType === 'xgd'){
this.form.xgd = response.data.id;
this.form.xgdName = response.data.name;
}else if(this.fileType === 'glwj'){
this.form.glwj = response.data.id;
this.form.glwjName = response.data.name;
}else if(this.fileType === 'ca'){
this.form.ca = response.data.id;
this.form.caName = response.data.name;
}
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload (type) {
this.fileType = '';
this.fileMadel = true
this.fileType = type;
},
popoverHide (checkedIds, checkedData) { popoverHide (checkedIds, checkedData) {
console.log(checkedIds); console.log(checkedIds);
console.log(checkedData); console.log(checkedData);
@@ -29,7 +29,7 @@
<el-button size="small" type="primary" @click="addZqyjList">选择征求意见</el-button> <el-button size="small" type="primary" @click="addZqyjList">选择征求意见</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="标准号" prop="cid" class="add-form-item form-item-disabled"> <el-form-item label="标准号" prop="cid" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="form.cid" v-model="form.cid"
@@ -47,7 +47,6 @@
</el-form-item> </el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled"> <el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker <el-date-picker
disabled
v-model="form.endTime" v-model="form.endTime"
type="date" type="date"
placeholder="请选择结束日期"> placeholder="请选择结束日期">
@@ -177,34 +176,34 @@
<table-tools-bar> <table-tools-bar>
<div slot="left"> <div slot="left">
<div class="search-area"> <div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form"> <!-- <el-form :model="standCommonlySearch" inline class="label-input-form">-->
<el-formItem label="类别" class="search-item"> <!--&lt;!&ndash; <el-formItem label="类别" class="search-item">&ndash;&gt;-->
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input> <!--&lt;!&ndash; <el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>&ndash;&gt;-->
</el-formItem> <!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<el-formItem label="关键字" class="search-item"> <!--&lt;!&ndash; <el-formItem label="关键字" class="search-item">&ndash;&gt;-->
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input> <!--&lt;!&ndash; <el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>&ndash;&gt;-->
</el-formItem> <!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<el-formItem label="开始日期" class="search-item"> <!--&lt;!&ndash; <el-formItem label="开始日期" class="search-item">&ndash;&gt;-->
<el-datePicker v-model="standCommonlySearch.start" :editable="false" <!--&lt;!&ndash; <el-datePicker v-model="standCommonlySearch.start" :editable="false"&ndash;&gt;-->
placeholder="请选择开始日期"></el-datePicker> <!--&lt;!&ndash; placeholder="请选择开始日期"></el-datePicker>&ndash;&gt;-->
</el-formItem> <!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<el-formItem label="结束日期" class="search-item"> <!--&lt;!&ndash; <el-formItem label="结束日期" class="search-item">&ndash;&gt;-->
<el-datePicker v-model="standCommonlySearch.end" :editable="false" <!--&lt;!&ndash; <el-datePicker v-model="standCommonlySearch.end" :editable="false"&ndash;&gt;-->
placeholder="请选择结束日期"></el-datePicker> <!--&lt;!&ndash; placeholder="请选择结束日期"></el-datePicker>&ndash;&gt;-->
</el-formItem> <!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<el-formItem class="search-item btn-box"> <!-- <el-formItem class="search-item btn-box">-->
<el-button <!-- <el-button-->
type="primary" <!-- type="primary"-->
size="mini" <!-- size="mini"-->
class="common-button-primary" <!-- class="common-button-primary"-->
@click="sarStandCompareHisInfo">查询</el-button> <!-- @click="sarStandCompareHisInfo">查询</el-button>-->
<el-button <!-- <el-button-->
class="common-button-default" <!-- class="common-button-default"-->
size="mini" <!-- size="mini"-->
@click="clearSearchStand">清空</el-button> <!-- @click="clearSearchStand">清空</el-button>-->
</el-formItem> <!-- </el-formItem>-->
</el-form> <!-- </el-form>-->
</div> </div>
</div> </div>
</table-tools-bar> </table-tools-bar>
@@ -220,10 +219,17 @@
@selection-change="handleSelection" @selection-change="handleSelection"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="category" label="标准" align="center"/> <el-table-column label="标准" align="center">
<el-table-column prop="cname" label="标准名称/政策名称" align="center"/> <template slot-scope="scope">
<el-table-column prop="endTime" label="征求意见周期" align="center"/> <div v-if="scope.row.standYear">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</div>
<el-table-column prop="startTime" label="上传时间" align="center"/> <div v-else>{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</div>
</template>
</el-table-column>
<el-table-column prop="cname" label="标准名称" align="center">
<template slot-scope="scope">
<div>{{ scope.row.standName }}</div>
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@@ -326,12 +332,12 @@ export default {
}, },
// 标准征求意见数据可库 // 标准征求意见数据可库
standCommonlySearch: { standCommonlySearch: {
categorg: '', // categorg: '',
cname: '', // cname: '',
start: '', // start: '',
end: '', // end: '',
page: 1, page: 1,
size: this.$store.getters.userInfo.configContent pageSize: this.$store.getters.userInfo.configContent
}, },
spinShow: false, spinShow: false,
standInfoList: [], standInfoList: [],
@@ -394,7 +400,7 @@ export default {
}, },
methods: { methods: {
addZqyjList() { addZqyjList() {
this.title = '标准征求意见库' this.title = '国内外标准库'
this.listModel = true this.listModel = true
}, },
/** 标准征求意见库方法* /** 标准征求意见库方法*
@@ -416,15 +422,23 @@ export default {
// 查询表格 // 查询表格
sarStandCompareHis () { sarStandCompareHis () {
this.spinShow = true this.spinShow = true
var form = this.standCommonlySearch var formData = this.standCommonlySearch
this.$http.get('slrs/sar-public-idea/SelectAllPage', form, { this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, {
_this: this _this: this
}, res => { }, res => {
this.standInfoList = res.data.records this.standInfoList = res.data.list
this.total = res.data.total this.total = res.data.count
this.spinShow = false this.spinShow = false
}, e => {
}) })
// var form = this.standCommonlySearch
// this.$http.get('slrs/sar-public-idea/SelectAllPage', form, {
// _this: this
// }, res => {
// this.standInfoList = res.data.records
// this.total = res.data.total
// this.spinShow = false
// }, e => {
// })
}, },
pageChange (page) { pageChange (page) {
this.standCommonlySearch.page = page this.standCommonlySearch.page = page
@@ -457,9 +471,12 @@ export default {
for (let i = 0; i < this.selectedList.length; i++) { for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i])); bringData.push(deposit.get(this.selectedList[i]));
} }
this.form.cid = bringData[0].cid if (bringData[0].standYear) {
this.form.cname = bringData[0].cname; this.form.cid = bringData[0].standSortShow + ' ' + bringData[0].standNumber + '-' + bringData[0].standYear
this.form.endTime = bringData[0].endTime; } else {
this.form.cid = bringData[0].standSortShow + '-' + bringData[0].standNumber
}
this.form.cname = bringData[0].standName;
this.listModel = false; this.listModel = false;
} else if (this.selectedList.length > 1) { } else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入"); this.$message.warning("只能选择一条数据进行带入");
@@ -54,7 +54,7 @@
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
<el-timeline> <el-timeline>
<el-form <el-form
ref="Form" ref="roleForm"
:model="roleForm" :model="roleForm"
:rules="roleFormRules" :rules="roleFormRules"
class="label-input-form"> class="label-input-form">
@@ -81,39 +81,6 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </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-form>
</el-timeline> </el-timeline>
</div> </div>
@@ -127,21 +94,23 @@
> >
<div class="search-area"> <div class="search-area">
<div class="content-top"> <div class="content-top">
<el-form :modal="nonConformitySearch" inline class="label-input-form"> <el-form :modal="queryUnqualidiedData" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item"> <el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="nonConformitySearch.standId" <el-input
placeholder="请输入" v-model="queryUnqualidiedData.standId"
clearable placeholder="请输入"
:maxlength="100"></el-input> clearable
:maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目名称" class="search-item"> <el-form-item label="项目名称" class="search-item">
<el-input v-model="nonConformitySearch.productName" <el-input
placeholder="请输入" v-model="queryUnqualidiedData.productName"
clearable placeholder="请输入"
:maxlength="100"></el-input> clearable
:maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="责任部门" class="search-item"> <el-form-item label="责任部门" class="search-item">
<el-input v-model="nonConformitySearch.responsibleUnit" v-show="false" /> <el-input v-model="queryUnqualidiedData.responsibleUnit" v-show="false" />
<el-popover <el-popover
placement="bottom" placement="bottom"
popper-class="user-dept-popper" popper-class="user-dept-popper"
@@ -150,7 +119,7 @@
> >
<el-input <el-input
slot="reference" slot="reference"
v-model="nonConformitySearch.responseUnitShow" v-model="queryUnqualidiedData.responseUnitShow"
placeholder="根据责任部门查找" placeholder="根据责任部门查找"
readonly readonly
clearable clearable
@@ -257,19 +226,15 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig"; import {interfaceUrl} from "@/sysConfig";
import { startProcess, completeTask } from '@/api/process.js'
import { standUnqualified } from '@/api/unqualProcess.js'
export default { export default {
name: "step1", name: "wfhxzgStep1",
data() { data() {
return { return {
textarea: '', // 意见 textarea: '', // 意见
title: '', // 新增编辑抽屉标题 title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关 ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
active: '1', // 默认显示 active: '1', // 默认显示
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
@@ -280,11 +245,26 @@ export default {
itemsName: '', itemsName: '',
planCloseTime: '', planCloseTime: '',
responsibleUnit: '', responsibleUnit: '',
dutyEngineer: '' dutyEngineer: '',
dutyPeopleInfo: '',
dutyPeople: '',
fileText: '',
fileTextId: '',
fileTextPath: ''
}], }],
// 责任部门 // 责任部门
zNodesSItem: [], zNodesSItem: [],
standModel: false, standModel: false,
// 查询未符合项整改数据库数据
queryUnqualidiedData: {
pageNo: 1,
pageSize: 10,
total: 0,
closeState: '1',
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
unqualidiedData: [{ unqualidiedData: [{
standId: '', standId: '',
productName: '', productName: '',
@@ -292,14 +272,24 @@ export default {
itemsName: '', itemsName: '',
planCloseTime: '', planCloseTime: '',
responsibleUnit: '', responsibleUnit: '',
dutyEngineer: '' dutyEngineer: '',
dutyPeopleInfo: '',
dutyPeopleInfoId: '',
dutyPeople: '',
dutyPeopleId: '',
fileText: '',
fileTextId: '',
fileTextPath: ''
}], }],
selectedList: [], //未整改项的选择框 selectedList: [], //未整改项的选择框
roleForm: { roleForm: {
startUserName: this.$store.getters.userInfo.userName, startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId, startUser: this.$store.getters.userInfo.userId,
dockUserName: '',
dockUser: ''
}, },
roleFormRules: { roleFormRules: {
dockUserName: [{ required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}]
}, },
nodeList: [], nodeList: [],
drawerTitle: '', //drawer标题 drawerTitle: '', //drawer标题
@@ -309,6 +299,7 @@ export default {
children: 'children', children: 'children',
label: 'name' label: 'name'
}, },
taskID: '',
} }
}, },
components: { components: {
@@ -318,21 +309,32 @@ export default {
}, },
mounted () { mounted () {
this.getTree() this.getTree()
this.getJsonData()
}, },
methods: { methods: {
getJsonData() {
const params = {
type: '8'
}
startProcess(params).then(res => {
this.taskID = res.data
})
},
//点击新增事件 //点击新增事件
addList() { addList() {
this.$http.get("sarStandUnqualified/sar-stand-unqualified", "", { standUnqualified(this.queryUnqualidiedData).then(res => {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.unqualidiedData = res.data.records this.unqualidiedData = res.data.records
this.unqualidiedData.forEach(item => {
this.$set(item,'dutyPeopleInfo','')
this.$set(item,'dutyPeople','')
this.$set(item,'dutyPeopleInfoId','')
this.$set(item,'dutyPeopleId','')
this.$set(item,'fileText','')
this.$set(item,'fileTextId','')
this.$set(item,'fileTextPath','')
})
this.total = res.data.total this.total = res.data.total
}, e => { })
});
this.standModel = true; this.standModel = true;
}, },
@@ -371,7 +373,7 @@ export default {
OkDrawer() { OkDrawer() {
if (this.selectedList.length !== 0) { if (this.selectedList.length !== 0) {
this.dataList = this.selectedList this.dataList = this.selectedList
this.ListModel = false; this.standModel = false;
} else { } else {
this.$message.warning("请选择至少一条数据进行带入"); this.$message.warning("请选择至少一条数据进行带入");
} }
@@ -386,12 +388,40 @@ export default {
// 保存按钮 // 保存按钮
handleSave() {}, handleSave() {},
// 提交按钮 // 提交按钮
handleSubmit() {}, handleSubmit() {
let json = {
startUser: this.$store.getters.userInfo.userId,
engineer: this.roleForm.dockUser,
standardInfoList: this.dataList,
}
if (this.dataList[0].standId === '') {
this.$message.warning('请选择基础信息进行添加')
} else {
if (this.roleForm.dockUserName === '') {
this.$message.warning('请选择基础信息进行添加')
} else {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskIds', this.taskID)
completeTask(params).then(res => {
if(res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
})
}
})
}
}
},
// 获取流程节点数据 // 获取流程节点数据
getTree () { getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> { this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data this.treeData = res.data
console.log(res.data)
}) })
}, },
// 流程阶段负责人选择 // 流程阶段负责人选择
@@ -413,19 +443,8 @@ export default {
}, },
// 流程节点负责人抽屉保存按钮 // 流程节点负责人抽屉保存按钮
saveUserInfo () { saveUserInfo () {
if (this.type === 'dockUser') { this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUser = this.roleRow.id this.roleForm.dockUserName = this.roleRow.name
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 this.modalshowflag = false
}, },
// 流程节点负责人抽屉取消按钮 // 流程节点负责人抽屉取消按钮
@@ -438,7 +457,7 @@ export default {
}, },
// 清空 查询条件 // 清空 查询条件
clearAllSearch (search = true) { clearAllSearch (search = true) {
this.nonConformitySearch = { this.queryUnqualidiedData = {
standId: '', standId: '',
productName: '', productName: '',
responsibleUnit: '' responsibleUnit: ''
@@ -90,7 +90,7 @@
:data="dataList" :data="dataList"
border border
ref="multipleTable" ref="multipleTable"
@select="handleSelectionChange" @selection-change="handleSelectionChange"
height="49%" height="49%"
style="width: 100%" style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -103,17 +103,17 @@
<el-table-column prop="planCloseTime" label="整改完成时间"/> <el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/> <el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/> <el-table-column prop="dutyEngineer" label="责任工程师"/>
<el-table-column label="选择分发责任人" prop="dutyPeople"> <el-table-column label="选择分发责任人" prop="dutyPeopleInfo">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.show"> <span v-if="scope.row.show">
<el-input <el-input
v-model="scope.row.dutyPeople" v-model="scope.row.dutyPeopleInfo"
size="mini" size="mini"
placeholder="请输入内容" placeholder="请输入内容"
@click.native="choiceDuty" @click.native="choiceDuty"
/> />
</span> </span>
<span v-else>{{scope.row.dutyPeople}}</span> <span v-else>{{scope.row.dutyPeopleInfo}}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -175,15 +175,18 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig"; import { roleTreeData } from "@/api/unqualProcess.js"
import {completeTask, inboundLiaisonDetail} from "@/api/process.js"
export default { export default {
name: "step2", name: "wfhxzgStep2",
data() { data() {
return { return {
textarea: '', // 意见 textarea: '', // 意见
title: '', // 新增编辑抽屉标题 title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关 ListModel: false, // 新增编辑抽屉开关
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
nonConformitySearch: { nonConformitySearch: {
standId: '', // 标准号/名称 standId: '', // 标准号/名称
productName: '', // 项目名称 productName: '', // 项目名称
@@ -193,6 +196,8 @@ export default {
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
dataList: [], dataList: [],
endDataList: [],
lastDataList: [],
// 新增选择分发责任人数组 // 新增选择分发责任人数组
multipleSelection: [], multipleSelection: [],
// 当前页数 // 当前页数
@@ -214,6 +219,15 @@ export default {
nodeList: [], nodeList: [],
drawerTitle: '', //drawer标题 drawerTitle: '', //drawer标题
modalshowflag: false, // drawer开关 modalshowflag: false, // drawer开关
roleForm: {
dutyUserInfo: [],
dutyUserInfoName: [],
dutyPeopleInfo: '',
dutyPeople: ''
},
props: { label: 'name', children: 'children', value: 'id', multiple: true, disabled: false },
dutyUserCaseData: [],
roleFormRules: {},
treeData: [], // 人员数据 treeData: [], // 人员数据
defaultProps: { defaultProps: {
children: 'children', children: 'children',
@@ -232,47 +246,20 @@ export default {
}, },
methods: { methods: {
getData() { getData() {
this.dataList = [ const params = {
{ taskIds: this.taskIds,
standId: '1', pId: this.pId,
productName: '1', }
itemsNum: '1', inboundLiaisonDetail(params).then(res => {
itemsName: '1', const processForm = JSON.parse(res.mesg)
planCloseTime: '1', this.getFormFieldList(processForm)
responsibleUnit: '1', })
dutyEngineer: '1', },
dutyPeople: '', getFormFieldList (item) {
},{ this.$nextTick(() => {
standId: '332', this.dataList = JSON.parse(JSON.stringify(item)).standardInfoList
productName: '333', })
itemsNum: '33',
itemsName: '33',
planCloseTime: '33',
responsibleUnit: '33',
dutyEngineer: '33',
dutyPeople: ''
},{
standId: '312`',
productName: '31312',
itemsNum: '31`2',
itemsName: '312`1`',
planCloseTime: '321`3`2',
responsibleUnit: '312`123`',
dutyEngineer: '312123',
dutyPeople: '121'
},{
standId: '32123',
productName: '32132',
itemsNum: '312321',
itemsName: '3123',
planCloseTime: '3123',
responsibleUnit: '3123',
dutyEngineer: '3123',
dutyPeople: ''
},
]
}, },
// 批量选择分发责任人 // 批量选择分发责任人
dutyEngineerList() { dutyEngineerList() {
if (this.multipleSelection.length === 0) { if (this.multipleSelection.length === 0) {
@@ -287,12 +274,12 @@ export default {
// 选择勾选项的集合 // 选择勾选项的集合
handleSelectionChange(value) { handleSelectionChange(value) {
this.multipleSelection = value this.multipleSelection = value
console.log(value)
}, },
// 选择分发责任人时 // 选择分发责任人时
choiceDuty(type, title, id) { choiceDuty(type, title, id) {
this.nodeList = [] this.nodeList = []
this.nodeList.push(id) this.nodeList.push(id)
this.type = type
this.drawerTitle = title this.drawerTitle = title
this.modalshowflag = true this.modalshowflag = true
}, },
@@ -306,37 +293,91 @@ export default {
// 保存按钮 // 保存按钮
handleSave() {}, handleSave() {},
// 提交按钮 // 提交按钮
handleSubmit() {}, handleSubmit() {
let zqa = new Map();
for (let lastDataListElement of this.lastDataList) {
let a = zqa.get(lastDataListElement.dutyPeopleInfoId)
if( a == null){
a = {
id: lastDataListElement.dutyPeopleInfoId,
name: lastDataListElement.dutyPeopleInfo,
standardInfoList: []
}
}
a.standardInfoList.push(lastDataListElement);
zqa.set(a.id, a);
}
let list = [];
for(let item of zqa) {
list.push(item[1])
}
let json = {
dockUserList: list,
// engineer: this.$store.getters.userInfo.userId,
// standardInfoList: list[0].standardInfoList,
}
console.log(json)
let flag=false
this.dataList.forEach(item => {
if (item.dutyPeopleInfo === '') {
this.$message.warning('请选择分发负责人填入')
flag=true
}
})
if(flag)return;
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskIds', this.taskIds)
completeTask(params).then(res => {
if(res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
})
},
// 流程阶段负责人选择
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
// 获取流程节点数据 // 获取流程节点数据
getTree () { getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> { roleTreeData().then(res => {
this.treeData = res.data this.treeData = res.data
this.dutyUserCaseData = res.data
}) })
}, },
drawerCheck (data) { drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()); var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) { if(getlist.length !== 0) {
this.roleRow = getlist[0] this.roleRow = getlist
}else { }else {
this.$refs.tree.setCheckedKeys([data.id]); this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0] this.roleRow = this.$refs.tree.getCheckedNodes()
} }
}, },
// 流程节点负责人抽屉保存按钮 // 流程节点负责人抽屉保存按钮
saveUserInfo () { saveUserInfo () {
// 选取负责人时的操作 // 选取负责人时的操作
for (let i = 0; i < this.multipleSelection.length; i++ ) { for (let i = 0; i < this.multipleSelection.length; i++ ) {
this.multipleSelection[i].dutyPeople = this.roleRow.name this.multipleSelection[i].dutyPeopleInfo = this.roleRow[0].name
for (let b = 0; b < this.multipleSelection.length; b++) { this.multipleSelection[i].dutyPeopleInfoId = this.roleRow[0].id
this.multipleSelection[b].dutyPeople = this.multipleSelection[i].dutyPeople for (let b = 0; b < this.multipleSelection.length; b++) {
this.dataList.forEach(val=> { this.dataList[b].dutyPeopleInfo = this.multipleSelection[i].dutyPeopleInfo
val.show = false this.dataList[b].dutyPeopleInfoId = this.multipleSelection[i].dutyPeopleInfoId
}) this.dataList.forEach(val=> {
} val.show = false
this.multipleSelection = [] })
}
this.lastDataList = this.dataList
this.$refs.multipleTable.clearSelection(); this.$refs.multipleTable.clearSelection();
} }
this.roleForm.dutyUserInfoName = this.roleRow.name
this.modalshowflag = false this.modalshowflag = false
}, },
// 流程节点负责人抽屉取消按钮 // 流程节点负责人抽屉取消按钮
@@ -168,10 +168,10 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig"; import {completeTask, inboundLiaisonDetail} from "@/api/process.js";
export default { export default {
name: "step3", name: "wfhxzgStep3",
data() { data() {
return { return {
textarea: '', // 意见 textarea: '', // 意见
@@ -185,26 +185,9 @@ export default {
active: '1', // 默认显示 active: '1', // 默认显示
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
dataList: [ taskIds: this.$route.query.taskIds,
{ pId: this.$route.query.prcId,
standId: '1', dataList: [],
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1',
dutyPeople: '13123'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: '',
dutyPeople: ''
}],
newDataList: [], newDataList: [],
// 责任部门 // 责任部门
@@ -226,9 +209,30 @@ export default {
ProcessTitle ProcessTitle
}, },
created() { created() {
this.getData()
this.getTree() this.getTree()
}, },
methods: { methods: {
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList (item) {
this.$nextTick(() => {
let fileData = JSON.parse(JSON.stringify(item)).dockUserList
for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList
}
}
})
},
// 选择责任人的按钮操作 // 选择责任人的按钮操作
selectPeople(val) { selectPeople(val) {
this.newDataList = val this.newDataList = val
@@ -242,7 +246,47 @@ export default {
// 保存按钮 // 保存按钮
handleSave() {}, handleSave() {},
// 提交按钮 // 提交按钮
handleSubmit() {}, handleSubmit() {
let zqa = new Map();
for (let lastDataListElement of this.lastDataList) {
let a = zqa.get(lastDataListElement.dutyPeopleId)
if( a == null){
a = {
id: lastDataListElement.dutyPeopleId,
name: lastDataListElement.dutyPeople,
standardInfoList: []
}
}
a.standardInfoList.push(lastDataListElement);
zqa.set(a.id, a);
}
let list = [];
for(let item of zqa) {
list.push(item[1])
}
let json = {
responUserList: list,
actionFlag: 0
}
let flag=false
this.dataList.forEach(item => {
if (item.dutyPeople === '') {
this.$message.warning('请选择负责人填入')
flag=true
}
})
if(flag)return;
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskIds', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
})
},
// 获取流程节点数据 // 获取流程节点数据
getTree () { getTree () {
@@ -263,6 +307,9 @@ export default {
saveUserInfo () { saveUserInfo () {
// 选择责任人时input框内值 // 选择责任人时input框内值
this.newDataList.dutyPeople = this.roleRow.name this.newDataList.dutyPeople = this.roleRow.name
this.newDataList.dutyPeopleId = this.roleRow.id
this.lastDataList = this.dataList
console.log(this.dataList)
this.modalshowflag = false this.modalshowflag = false
}, },
// 流程节点负责人抽屉取消按钮 // 流程节点负责人抽屉取消按钮
@@ -92,27 +92,28 @@
<el-table-column prop="planCloseTime" label="整改完成时间"/> <el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/> <el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyPeople" label="负责人"/> <el-table-column prop="dutyPeople" label="负责人"/>
<el-table-column label="佐证材料"> <el-table-column label="佐证材料" prop="info.fileText" show-overflow-tooltip width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-upload <div style="display: inline;">
v-model="fileText" <el-input
ref="uploadFile"up disabled
:action="uploadPath" style="display: none"
class="upload-demo" v-model="scope.row.fileText"
:http-request="handleUpload" clearable
:on-success="handleOnsuccess" />
:on-error="handleOnError" <div v-if="scope.row.fileText" type="primary" @click="fileUpload(scope.row)" class="fileClass">
:before-upload="handleBeforeUpload" {{ scope.row.fileText }}
:before-remove="handleBeforeRemove" </div>
:on-remove="handleOnRemove" <div v-else>
:on-exceed="handleExceed" <el-button
:limit="10" type="primary"
:file-list="uploadFileList" class="common-button-primary"
list-type="picture" @click="fileUpload(scope.row)"
:auto-upload="true" size="mini">
> 点击上传
<el-button type="text">上传佐证材料</el-button> </el-button>
</el-upload> </div>
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -141,6 +142,24 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="uploadPath"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:on-success="handleOnsuccess"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
</div> </div>
</template> </template>
@@ -149,9 +168,10 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig"; import {interfaceUrl} from "@/sysConfig";
import {inboundLiaisonDetail, completeTask} from "@/api/process"
export default { export default {
name: "step4", name: "wfhxzgStep4",
data() { data() {
return { return {
textarea: '', // 意见 textarea: '', // 意见
@@ -165,34 +185,17 @@ export default {
active: '1', // 默认显示 active: '1', // 默认显示
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
dataList: [ dataList: [],
{ taskIds: this.$route.query.taskIds,
standId: '1', pId: this.$route.query.prcId,
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1',
dutyPeople: '13123'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: '',
dutyPeople: '13123'
}],
// 当前页数 // 当前页数
pageNo: 1, pageNo: 1,
total: 0, total: 0,
myLoading: false, myLoading: false,
// 上传路径 // 上传路径
uploadPath: 'api/att/attFile/upload', uploadPath: 'api/att/attFile/upload',
// 上传文件所储存的数组 fileMadel: false,
uploadFileList: [], newDataList: [],
// 责任部门 // 责任部门
zNodesSItem: [], zNodesSItem: [],
} }
@@ -203,25 +206,84 @@ export default {
ProcessTitle ProcessTitle
}, },
created() { created() {
this.getData()
}, },
methods: { methods: {
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList (item) {
this.$nextTick(() => {
console.log(item)
this.dataList = [JSON.parse(JSON.stringify(item.responUserInfo.info))]
console.log(this.dataList)
/*for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList
console.log(this.dataList)
}
}*/
})
},
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
/************ 上传佐证材料 *****************/ /************ 上传佐证材料 *****************/
// 上传材料 fileUpload (val) {
handleUpload() {}, this.newDataList = val
this.fileMadel = true
},
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file) { handleOnsuccess(res, file, fileList) {
this.$message.success('上传成功!') if (res.ok) {
console.log(file) this.fileMadel = false
this.newDataList.fileText = res.data.name
this.newDataList.fileTextId = res.data.id
this.newDataList.fileTextPath = res.data.filePath
console.log(this.dataList)
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
}
}, },
// 文件上传失败后回调 // 文件上传失败后回调
handleOnError(res, file) {}, handleOnError(res, file) {},
// 文件上传限制条件 // 文件上传限制条件
handleBeforeUpload() {}, handleBeforeUpload(file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 移除上传的文件 // 移除上传的文件
handleBeforeRemove() {}, handleBeforeRemove() {},
handleOnRemove() {}, handleOnRemove() {},
@@ -233,7 +295,32 @@ export default {
// 保存按钮 // 保存按钮
handleSave() {}, handleSave() {},
// 提交按钮 // 提交按钮
handleSubmit() {}, handleSubmit() {
let flag=false
this.dataList.forEach(item => {
if (item.fileText === '') {
this.$message.warning('请选择佐证材料进行上传')
flag=true
}
})
if(flag)return;
let fileDataList = this.dataList
let json = {
info: { fileDataList },
username: this.$store.getters.userInfo.userName
}
console.log(json)
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskIds', this.taskIds)
completeTask(params).then(res => {
if(res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
})
},
//未整改项抽屉中的查询按钮 //未整改项抽屉中的查询按钮
getTableByPage() { getTableByPage() {
@@ -106,19 +106,21 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="textarea"> v-model="commentText">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
</div> </div>
<ProcessFooter <ProcessFooter
show-back
show-submit show-submit
show-back
approval
@back="handleSubmitNo"
:submitLoading="isSubmit" :submitLoading="isSubmit"
:backLoading="backLoading" :saveLoading="saveLoading"
@back="handleDataBack"
@submit="handleSubmit" @submit="handleSubmit"
submitBTNText="同意"
> >
</ProcessFooter> </ProcessFooter>
</div> </div>
@@ -129,13 +131,15 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig"; import {interfaceUrl} from "@/sysConfig";
import {inboundLiaisonDetail} from "@/api/process";
export default { export default {
name: "step5", name: "wfhxzgStep5",
data() { data() {
return { return {
textarea: '', // 意见 commentText: '',
title: '', // 新增编辑抽屉标题 title: '', // 新增编辑抽屉标题
saveLoading: false,
ListModel: false, // 新增编辑抽屉开关 ListModel: false, // 新增编辑抽屉开关
nonConformitySearch: { nonConformitySearch: {
standId: '', // 标准号/名称 standId: '', // 标准号/名称
@@ -145,24 +149,10 @@ export default {
active: '1', // 默认显示 active: '1', // 默认显示
isSubmit: false, isSubmit: false,
backLoading: false, backLoading: false,
dataList: [ dataList: [],
{ json: {},
standId: '1', taskIds: this.$route.query.taskIds,
productName: '1', pId: this.$route.query.prcId,
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
// 当前页数 // 当前页数
pageNo: 1, pageNo: 1,
total: 0, total: 0,
@@ -180,15 +170,66 @@ export default {
ProcessTitle ProcessTitle
}, },
created() { created() {
this.getData()
}, },
methods: { methods: {
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList (item) {
this.$nextTick(() => {
console.log(item)
this.dataList = JSON.parse(JSON.stringify(item)).info.fileDataList
console.log(this.dataList)
})
},
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
// 提交按钮 // 提交按钮
handleSubmit() {}, handleSubmit() {
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('请输入反馈意见')
}
},
//未整改项抽屉中的查询按钮 //未整改项抽屉中的查询按钮
getTableByPage() { getTableByPage() {
}, },
@@ -12,6 +12,7 @@
<div class="process-name" @click="handleCreateProcess('6')">标准清单发布/更新流程</div> <div class="process-name" @click="handleCreateProcess('6')">标准清单发布/更新流程</div>
<div class="process-name" @click="handleCreateProcess('7')">项目合规评估流程</div> <div class="process-name" @click="handleCreateProcess('7')">项目合规评估流程</div>
<div class="process-name" @click="handleCreateProcess('8')">未符合项整改流程</div> <div class="process-name" @click="handleCreateProcess('8')">未符合项整改流程</div>
<div class="process-name" @click="handleCreateProcess('9')">标准解读流程</div>
</div> </div>
</div> </div>
<div v-if="zcgllc"> <div v-if="zcgllc">
@@ -98,6 +99,10 @@ export default {
}) })
break break
case '9': case '9':
// 标准解读流程
this.$router.push({
name:'bzjdStep1'
})
break break
case '10': case '10':
break break
@@ -344,7 +344,6 @@ export default {
}) })
} }
break; break;
break
case '3': case '3':
if (row.taskInfo === '责任对接人选择责任人') { if (row.taskInfo === '责任对接人选择责任人') {
this.$router.push({ this.$router.push({
@@ -472,7 +471,6 @@ export default {
} }
}) })
} }
break;
break break
//项目合规评估流程 //项目合规评估流程
case '5' : case '5' :
@@ -522,7 +520,67 @@ export default {
}) })
} }
break break
//未符合项整改流程
case '8' :
if(row.taskInfo === '下发至标准法规工程师'){
this.$router.push({
name: 'wfhxzgStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '确认+选择责任人') {
this.$router.push({
name: 'wfhxzgStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '上传佐证材料填写信息') {
this.$router.push({
name: 'wfhxzgStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else {
this.$router.push({
name: 'wfhxzgStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
case '9':
if (row.taskInfo === '') {
this.$router.push({
name: 'bzjdStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
} }
}, },
...mapMutations(['setProcess', 'setHandleInfo']), ...mapMutations(['setProcess', 'setHandleInfo']),
@@ -3887,8 +3887,8 @@ export default {
async mounted () { async mounted () {
// 进入页面后查询树形结构目录 // 进入页面后查询树形结构目录
await this.selectMenu() await this.selectMenu()
// 进入页面后查询标准体系树形结构目录 // 进入页面后查询标准体系树形结构目录 引用 数据字典配置
await this.selectStandardMenu() // await this.selectStandardMenu()
this.treeReload = true this.treeReload = true
// 从数据库中查询各下拉框数据 // 从数据库中查询各下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '', { this.$http.get('sys/dictype/getDicTypeListCode', '', {
+20 -2
View File
@@ -341,7 +341,7 @@ const routes = [
}, },
{ {
path: '/wfhxzgStep1', path: '/wfhxzgStep1',
name: 'wfhxzgStep2', name: 'wfhxzgStep1',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step1.vue'), component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step1.vue'),
meta: { meta: {
requireAuth: true, requireAuth: true,
@@ -591,6 +591,24 @@ const routes = [
title: '标准调研流程' title: '标准调研流程'
} }
}, },
{
path: '/bzjdStep1',
name: 'bzjdStep1',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step1.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/bzjdStep2',
name: 'bzjdStep2',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step2.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
] ]
}, },
// 本地工具 // 本地工具
@@ -1699,7 +1717,7 @@ router.beforeEach((to, from, next) => {
// if (processCenter) { // if (processCenter) {
// if (to.meta.process) { // if (to.meta.process) {
// if (store.getters.getHandleInfo.prcType === to.meta.process.prcType && // if (store.getters.getHandleInfo.prcType === to.meta.process.prcType &&
// (store.getters.getHandleInfo.taskInfo === to.meta.process.taskInfo || // (store.getters.getHandleInfo. === to.meta.process.taskInfo ||
// (to.meta.process.taskInfo.__proto__.constructor === Array && to.meta.process.taskInfo.includes(store.getters.getHandleInfo.taskInfo)))) { // (to.meta.process.taskInfo.__proto__.constructor === Array && to.meta.process.taskInfo.includes(store.getters.getHandleInfo.taskInfo)))) {
// next() // next()
// } else { // } else {