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

# Conflicts:
#	src/pages/processCenter/pages/creatProcess/bzqdfb/step1.vue
#	src/pages/regulatoryRepository/accessStandardsAndRegulations/pages/addEdit.vue
#	src/pages/regulatoryRepository/accessStandardsAndRegulations/pages/details.vue
#	src/pages/regulatoryRepository/localProductsOrProjectLibrary/pages/details.vue
This commit is contained in:
Jaunty
2021-07-16 14:26:05 +08:00
78 changed files with 8757 additions and 1752 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
})
}
File diff suppressed because it is too large Load Diff
+3 -9
View File
@@ -92,17 +92,11 @@
}
},
width: {
type: Number,
type: String,
default () {
return 593;
return "";
}
},
height: {
type: Number,
default () {
return 300;
}
}
},
data () {
return {
@@ -110,7 +104,7 @@
isShowSelect: false, // 是否显示树状选择器
options: [],
selectedData: [], // 选中的节点
style: 'width:' + this.width + 'px;' + 'height:' + this.height + 'px;',
style: 'width:' + this.width + 'px;' + 'height:100%;',
selectStyle: 'width:100%;',
checkedIds: [],
checkedData: []
@@ -76,8 +76,8 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'QNDKHM2VNP8D938ZA9CQ'">编辑</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'18f50c76137df9b3112d07942b0d517f'">编辑</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.isEdit==='1'" v-btn-permission="'eca5a9d90a5de7bf86c349cd0e73b1cf'" :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -341,7 +341,7 @@ export default {
{required: true, message: '所属模块不能为空', trigger: 'change'}
],
showIndex: [
{ type: 'number', required: true, message: '请输入排序号', trigger: 'blur' },
{ type: 'number', required: true, message: '不能为空且为正整数', trigger: 'blur' },
{ type: 'number', min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
]
},
@@ -76,8 +76,8 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'XFFUQ8ASE5SS9HGDGANZ'">编辑</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'b1e60ec7b60389713bf5b450ec2d1115'">编辑</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.isEdit==='1'" v-btn-permission="'c157be4e073787ea6c4a04bd39686c2d'" :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -331,7 +331,7 @@ export default {
{required: true, message: '所属模块不能为空', trigger: 'change'}
],
showIndex: [
{ type: 'number', required: true, message: '请输入排序号', trigger: 'blur' },
{ type: 'number', required: true, message: '不能为空且为正整数', trigger: 'blur' },
{ type: 'number', min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
]
},
@@ -2,8 +2,8 @@
<template>
<div class="attribute-custom v-class">
<div class="action-bar1">
<el-button class="common-button-primary add-button" size="mini" v-btn-permission="''" type="primary" @click="showAddModel"><i class="iconfont">&#xe84e;</i>新增</el-button>
<el-button class="common-button-default" size="mini" v-btn-permission="''" @click="showDisplayLocationDialog">展示区域管理</el-button>
<el-button class="common-button-primary add-button" size="mini" v-btn-permission="'df57f63c9e993bbfb2a4b400d5257577'" type="primary" @click="showAddModel"><i class="iconfont">&#xe84e;</i>新增</el-button>
<el-button class="common-button-default" size="mini" v-btn-permission="'9557b51320a50728d7047448d01c57c6'" @click="showDisplayLocationDialog">展示区域管理</el-button>
</div>
<loading :loading="attributeDataLoading">数据处理中</loading>
<div class="content">
@@ -76,8 +76,8 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="''" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="'abba040e019fad5092624ffd71a70372'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item v-btn-permission="'730c9240a8f80bcdb88c71adb37f2aa7'" :disabled="scope.row.isEdit==='1'" :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -199,7 +199,7 @@
width="400px"
>
<div style="margin-bottom: 10px;">
<el-button class="common-button-primary add-button" type="primary" icon="add" @click="showAddDisplayLocationDialog(undefined)">新增</el-button>
<el-button class="common-button-primary add-button" v-btn-permission="'e128da8f053dd19113e75772f2c70f29'" type="primary" icon="add" @click="showAddDisplayLocationDialog(undefined)">新增</el-button>
</div>
<el-table
:loading="displayLocationDialogTableConfig.loading"
@@ -230,8 +230,8 @@
<el-dropdown trigger="click" @command="handleCommand2">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '修改']">修改</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.validFlag===1" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="'2a788bca1cca66384e97f8ff722d4232'" :command="[scope.row, '修改']">修改</el-dropdown-item>
<el-dropdown-item v-btn-permission="'116a3f339f3600e639271d0073045912'" :disabled="scope.row.validFlag===1" :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -330,7 +330,7 @@ export default {
{required: true, message: '所属模块不能为空', trigger: 'change'}
],
showIndex: [
{ type: 'number', required: true, message: '请输入排序号', trigger: 'blur' },
{ type: 'number', required: true, message: '不能为空且为正整数', trigger: 'blur' },
{ type: 'number', min: 0, max: 999, message: '请输入0-999之间的整数', trigger: 'blur' }
]
},
@@ -70,9 +70,12 @@
label="所属岗位">
</el-table-column>
<el-table-column
prop="state"
label="状态"
width="170px">
<template slot-scope="scope">
<div v-if="scope.row.disableFlag === '1'">已禁用</div>
<div v-else>已启用</div>
</template>
</el-table-column>
<el-table-column
label="操作"
@@ -32,18 +32,16 @@
<el-button
class="common-button-primary"
type="primary"
icon="el-icon-search"
size="mini"
@click="searchBtn"
></el-button>
>搜索</el-button>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button
class="common-button-default"
icon="el-icon-refresh-left"
@click="resetSelect"
size="mini"
></el-button>
>清空</el-button>
</el-form-item>
</el-form>
</div>
@@ -79,7 +77,7 @@
}"
@selection-change="handleSelectone"
>
<el-table-column type="selection" width="55" align="center">
<el-table-column type="selection" :selectable="handleSelected" width="55" align="center">
</el-table-column>
<el-table-column prop="dictionaryCode" label="数据字典编码">
</el-table-column>
@@ -407,6 +405,12 @@ export default {
this.selectedList.push(data[i].id)
}
},
// 判断可选择的项
handleSelected(row, index) {
if (row.enable === '1') {
return true
}
},
pageChange (page) {
this.pageNo = page
this.getAttrByPage()
@@ -17,26 +17,26 @@
clearable></el-input>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-primary" type="primary" icon="el-icon-search" round @click="selectProductBtn"></el-button>
<el-button class="common-button-primary" type="primary" size="mini" @click="selectProductBtn">搜索</el-button>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-default" icon="el-icon-refresh-left" @click="resetSelect" round></el-button>
<el-button class="common-button-default" size="mini" @click="resetSelect" >清空</el-button>
</el-form-item>
</el-form>
</div>
<div class="right">
<el-button class="common-button-primary add-button"
v-btn-permission="'4UF7LY2ZSCFHBKYS7VE2'"
v-btn-permission="'8969811dc465528909628a3a13529023'"
type="primary"
icon="add"
size="small"
v-if="dictionaryId != 'ERDFGHGGJJ' && dictionaryId != 'D975E8V5KVQUY3DZFV7E' && dictionaryId != 'WQERWC39J4E8SV6WREP2'"
round
@click="productAdd">新增</el-button>
<el-button class="common-button-default delete-button"
v-btn-permission="'7WBE2BGZ2F745MDQ8VVD'"
round
v-btn-permission="'df889d64e87c977e4bc9f9a0851d4c27'"
v-if="dictionaryId != 'ERDFGHGGJJ' && dictionaryId != 'D975E8V5KVQUY3DZFV7E' && dictionaryId != 'WQERWC39J4E8SV6WREP2'"
icon="delete"
size="small"
@click="productBatchDel">删除</el-button>
</div>
</div>
@@ -85,8 +85,8 @@
<div v-if="relateDicId">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'AQCEYWZK8F4DL85BZPRB'">查看</el-dropdown-item>
</div>
<el-dropdown-item :command="[scope.row, '编辑']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== 'D975E8V5KVQUY3DZFV7E' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="'8DGUGJTPV32F9F478K4P'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== 'D975E8V5KVQUY3DZFV7E' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="'7WBE2BGZ2F745MDQ8VVD'">删除</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== '48723deaa90798f56e939aea6aa49a23' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="'27e0f6cdfb3e2af446c36f9923e90d76'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-if="dictionaryId !== 'ERDFGHGGJJ' && dictionaryId !== '982b2f92a26c3c91b6b868419f0e2d3b' && dictionaryId !== 'WQERWC39J4E8SV6WREP2'" v-btn-permission="'27e0f6cdfb3e2af446c36f9923e90d76'">删除</el-dropdown-item>
<!-- <el-dropdown-item :command="[scope.row, '流程']">流程</el-dropdown-item>-->
</el-dropdown-menu>
</el-dropdown>
@@ -1564,7 +1564,7 @@ export default {
// 请求标准id和类型
showReplaceStandInfo (item) {
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
this.$http.get('lawss/sarStandardsInfo/queryInfoByStandNum', {
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', {
standNumber: item
}, {
_this: this
@@ -38,25 +38,25 @@
<template v-if="item.label === '基础信息'" >
<div class="details-content-modular basic-information" style="border-top:none">
<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;">
<label>标准编号</label>
<label style=" margin-right: 150px;">标准编号</label>
<span v-if="sarStandardsInfoEO.standYear">{{ sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear }}</span>
<span v-else>{{ sarStandardsInfoEO.standSort + ' ' + sarStandardsInfoEO.standNumber }}</span>
</p>
<p><label>标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p>
<p><label>中文名称</label><span>{{ sarStandardsInfoEO.standName || '-' }}</span></p>
<p><label>英文名称</label><span>{{ sarStandardsInfoEO.standEnName || '-' }}</span></p>
<p><label>标准性质</label><span>{{ sarStandardsInfoEO.standNature || '-' }}</span></p>
<p><label style=" margin-right: 150px;">标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p>
<p><label style=" margin-right: 150px;">中文名称</label><span>{{ sarStandardsInfoEO.standName || '-' }}</span></p>
<p><label style=" margin-right: 150px;">英文名称</label><span>{{ sarStandardsInfoEO.standEnName || '-' }}</span></p>
<p><label style=" margin-right: 150px;">标准性质</label><span>{{ sarStandardsInfoEO.standNature || '-' }}</span></p>
<p>
<label
<label style=" margin-right: 132px;"
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
>文本状态<i class="el-icon-warning-outline"></i></label>
>文本状态<i class="el-icon-warning-outline"></i></label>
<span style="color: #409EFF;">{{ sarStandardsInfoEO.textStatus || '-' }}</span>
</p>
<p><label>发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
<p><label>是否纳入认证清单</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.issueTime || '-' }}</span></p>
<p><label style=" margin-right: 76px;">是否纳入认证清单</label><span>{{sarStandardsInfoEO.isRelateAccess ? (sarStandardsInfoEO.isRelateAccess === '1' ? '是' : '否') : '-'}}</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>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>-->
<!-- <p><label>纳入标准法规清单的国家/地区</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>-->
@@ -243,7 +243,7 @@
<!--发布稿增补件单独设置下载权限-->
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|| child.attrField === 'JDWJ'">
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
<i
title="下载"
@@ -1687,7 +1687,7 @@ export default {
showReplaceStandInfo (item) {
this.replaceStandInfoEO.standNumber = item
// 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
}, res => {
if (res.data != null) {
@@ -2621,9 +2621,9 @@ export default {
const dynamicFormField = standEO ? standEO.attrInfoMap : {}
formFieldList.forEach((field) => {
// 相关流程权限
if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
return
}
// if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
// return
// }
console.log("displayLocation");
console.log(displayLocation);
displayLocation.forEach((location) => {
@@ -2693,6 +2693,7 @@ export default {
}
})
this.dynamicFormField = displayLocation
console.log(this.dynamicFormField)
})
sessionStorage.setItem('displayLocation', JSON.stringify(displayLocation))
this.loading = false
+1 -1
View File
@@ -1653,7 +1653,7 @@ export default {
showReplaceStandInfo (item) {
this.replaceStandInfoEO.standNumber = item
// 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
}, res => {
if (res.data != null) {
@@ -2,26 +2,27 @@
<template>
<div class="search-group">
<el-select
v-model="selectKey"
v-model="checkState"
class="search-group-item"
placeholder="请选择"
>
<el-option
v-for="item in jumpPage"
:key="item.selectKey"
:key="item.value"
:label="item.label"
:value="item.selectKey"
:value="item.value"
></el-option>
</el-select>
<div class="search-condition">
<el-input
v-model="keywords"
@keyup.native.enter="search"
v-model="checkContent">
type="text"
placeholder="请输入关键词"
clearable
></el-input>
<el-button class="primary_button" type="primary">搜索</el-button>
<el-button class="primary_button" type="primary" @click="search">搜索</el-button>
</div>
</div>
</template>
@@ -33,36 +34,50 @@ export default {
mixins: [],
data() {
return {
selectKey: '',
keywords: '',
// 当前查询状态
checkState: 'All',
// 查询内容
checkContent: '',
jumpPage: [
{
selectKey: '选项1',
label: '国内外标准法规',
label: '全部',
value: 'All'
},
{
selectKey: '选项2',
label: '研究报告',
label: '国内标准法规',
value: 'stand'
},
{
label: '海外标准法规', // value没改
value: 'bussstand'
},
{
label: '国内外政策',
value: 'laws'
},
{
selectKey: '选项3',
label: '企业标准',
},
{
selectKey: '选项4',
label: '动态&通知',
},
{
selectKey: '选项5',
label: '流程中心',
},
value: 'enterprise'
}
],
}
},
computed: {},
watch: {},
mounted() {},
methods: {},
methods: {
search() {
this.$router.push({
name: 'StandardSearch',
params: {
selectKey: this.checkState,
searchValue: this.checkContent || undefined
}
})
},
},
mounted(){
},
}
</script>
@@ -43,12 +43,13 @@ export default {
} )
},
standForComments (item) {
this.$router.push({
name:'standardForComments',
params: {
id: item.id
}
},)
this.$store.commit('setDetailMap',this.$router.path)
this.$router.push({
name: 'consultationDetails',
query: {
item: item
}
})
},
},
}
@@ -50,7 +50,7 @@ export default {
this.$router.push(this.path)
},
dealWith (row) { // 办理
// this.setHandleInfo(JSON.stringify(row))
this.setHandleInfo(JSON.stringify(row))
const prcType = row.prcType
switch(prcType) {
case '1':
@@ -152,9 +152,9 @@ export default {
break;
//项目合规评估流程
case '5' :
if(row.taskInfo === ''){
if(row.taskInfo === '标准法规部业务经理审批'){
this.$router.push({
name: '',
name: 'xmpgStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
+15 -17
View File
@@ -29,8 +29,6 @@
<div class="content">
<div class="action-bar">
<el-button size="mini" @click="spiltStandFile" v-btn-permission="''"><i class="iconfont"></i>拆分</el-button>
<el-button size="mini" @click="clickButtonToUpload" v-btn-permission="''"><i class="iconfont">&#xe65d;</i>上传</el-button>
<el-button size="mini" @click="clickButtonToImport" v-btn-permission="''"><i class="iconfont">&#xe6de;</i>导入拆分结果</el-button>
<el-button size="mini" @click="batchDelete" v-btn-permission="''"><i class="iconfont">&#xe61b;</i>删除</el-button>
</div>
<div class="table-wrap">
@@ -110,21 +108,21 @@
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="''">查看</el-dropdown-item>
<el-dropdown-item
v-if="scope.row.collectBtn"
:command="[scope.row, '收藏']"
v-btn-permission="''"
>
收藏
</el-dropdown-item>
<el-dropdown-item
v-else
:command="[scope.row, '取消收藏']"
v-btn-permission="''"
>
取消收藏
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="''">分享</el-dropdown-item>
<!-- <el-dropdown-item-->
<!-- v-if="scope.row.collectBtn"-->
<!-- :command="[scope.row, '收藏']"-->
<!-- v-btn-permission="''"-->
<!-- >-->
<!-- 收藏-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item-->
<!-- v-else-->
<!-- :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, '删除']" v-btn-permission="''">删除</el-dropdown-item>
</el-dropdown-menu>
+25 -25
View File
@@ -31,8 +31,8 @@
</table-tools-bar>
<div class="content">
<div class="action-bar">
<el-button size="mini" v-btn-permission="''" @click="contrastStandFile" style="width:77px; height:32px;">比对</el-button>
<el-button size="mini" v-btn-permission="''" @click="batchDelete"><i class="iconfont">&#xe61b;</i>批量删除</el-button>
<el-button size="mini" v-btn-permission="'36078b3c8e897f8c1b6d6974a612d0c7'" @click="contrastStandFile" style="width:77px; height:32px;">比对</el-button>
<el-button size="mini" v-btn-permission="'83981863baa8716bdcc9e52a1fb1d2dc'" @click="batchDelete"><i class="iconfont">&#xe61b;</i>批量删除</el-button>
</div>
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
@@ -97,32 +97,32 @@
label="操作"
width="50px"
align="center">
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- class="opera-btn"-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- @click="handlePreview(scope.row)">查看</el-button>-->
<!-- <el-button-->
<!-- class="opera-btn"-->
<!-- size="mini"-->
<!-- type="danger"-->
<!-- @click="delFileEditInfo(scope.row.id)">删除</el-button>-->
<!-- <el-button-->
<!-- class="opera-btn"-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- @click="enjoyInfo(scope.row)">分享</el-button>-->
<!-- <el-button size="mini" class="opera-btn" type="primary" v-if="scope.row.collectBtn" @click="collectInfo(scope.row)">收藏</el-button>-->
<!-- <el-button size="mini" class="opera-btn" type="primary" v-else @click="cancelCollectInfo(scope.row)">取消收藏</el-button>-->
<!-- </template>-->
<!-- <template slot-scope="scope">
<el-button
class="opera-btn"
size="mini"
type="primary"
@click="handlePreview(scope.row)">查看</el-button>
<el-button
class="opera-btn"
size="mini"
type="danger"
@click="delFileEditInfo(scope.row.id)">删除</el-button>
<el-button
class="opera-btn"
size="mini"
type="primary"
@click="enjoyInfo(scope.row)">分享</el-button>
<el-button size="mini" class="opera-btn" type="primary" v-if="scope.row.collectBtn" @click="collectInfo(scope.row)">收藏</el-button>
<el-button size="mini" class="opera-btn" type="primary" v-else @click="cancelCollectInfo(scope.row)">取消收藏</el-button>
</template>-->
<template slot-scope="scope">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="''" :command="[scope.row, '查看']">查看</el-dropdown-item>
<el-dropdown-item v-btn-permission="''" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="''" :command="[scope.row, '分享']">分享</el-dropdown-item>
<el-dropdown-item v-btn-permission="'13219b54a6f41280818e7ade5cf2cfad'" :command="[scope.row, '查看']">查看</el-dropdown-item>
<el-dropdown-item v-btn-permission="'b6b048e926ecc9334cad769d4be7c4ec'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<!-- <el-dropdown-item v-btn-permission="''" :command="[scope.row, '分享']">分享</el-dropdown-item>
<el-dropdown-item
v-if="scope.row.collectBtn"
v-btn-permission="''"
@@ -136,7 +136,7 @@
:command="[scope.row, '取消收藏']"
>
取消收藏
</el-dropdown-item>
</el-dropdown-item>-->
</el-dropdown-menu>
</el-dropdown>
</template>
@@ -15,13 +15,13 @@
</el-formItem>
<el-formItem>
<el-button
icon="el-icon-search"
type="primary"
size="mini"
class="common-button-primary"
@click="getSarFileSplitInfoEOPage">
搜索
</el-button>
<el-button size="mini" icon="el-icon-refresh-left" class="common-button-default" @click="clearSearchStand"></el-button>
<el-button size="mini" class="common-button-default" @click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
</div>
@@ -103,13 +103,13 @@
</el-formItem>
<el-formItem class="search-item">
<el-button
icon="el-icon-search"
size="mini"
type="primary"
class="common-button-primary"
@click="getSarFileSplitInfoEOPage2">
搜索
</el-button>
<el-button size="mini" icon="el-icon-refresh-left" class="common-button-default" @click="clearSearchStand2"></el-button>
<el-button size="mini" class="common-button-default" @click="clearSearchStand2">清空</el-button>
</el-formItem>
</el-form>
</div>
@@ -4,10 +4,10 @@
<div class="action-bar">
<div slot="left">
<!-- <el-button type="primary" @click="changeData">转化</Button>-->
<el-button size="mini" @click="uploadPdf" v-btn-permission="''"
<el-button size="mini" @click="uploadPdf" v-btn-permission="'f56e5f765a93c14cba88f8c3270388c6'"
><i class="iconfont">&#xe65d;</i>上传</el-button
>
<el-button size="mini" @click="delData" v-btn-permission="''"
<el-button size="mini" @click="delData" v-btn-permission="'ef6262d0bf66a25633e903d76a93e579'"
><i class="iconfont">&#xe61b;</i>删除</el-button
>
</div>
@@ -106,18 +106,18 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '获取文件']" v-btn-permission=""
<el-dropdown-item :command="[scope.row, '获取文件']" v-btn-permission="'018cb58e72025fc43a9bfe1bde00c14a'"
>获取文件</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission=""
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'14bdb937d168478e65b139214e982a8c'"
>编辑</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission=""
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'74cffbebad841dbe2e0597792e5aba3f'"
>删除</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission=""
<!-- <el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission=""
>在线编辑</el-dropdown-item
>
>-->
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -472,9 +472,9 @@ export default {
case "删除":
this.delSingalData(command[0]);
break;
case "在线编辑":
/*case "在线编辑":
this.downloadFile(command[0]);
break;
break;*/
}
},
// 修改成表格样式后,选择项勾选改变
+5 -5
View File
@@ -29,7 +29,7 @@
</el-form>
</div>
<div class="content" style="height: 100%; padding-top: 5px; ">
<el-divider content-position="left" class="dynamic-child-title">新车型实施日期预警</el-divider>
<el-divider content-position="left" class="dynamic-child-title"></el-divider>
<el-table
:data="newItems"
:height="height"
@@ -59,7 +59,7 @@
</el-table-column>
<el-table-column prop="putTime" label="新车型实施日期" align="center" sortable>
<template slot-scope="scope">
{{ (scope.row.putTime ? scope.row.putTime.substring(0, 11) : "") }}
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="applyType" label="适用车型" align="center">
@@ -124,7 +124,7 @@
</el-table-column>
<el-table-column prop="putTime" label="在产车实施日期" align="center" sortable>
<template slot-scope="scope">
{{ (scope.row.putTime ? scope.row.putTime.substring(0, 11) : "") }}
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="applyType" label="适用车型" align="center">
@@ -190,7 +190,7 @@
</el-table-column>
<el-table-column prop="putTime" label="实施日期" align="center" sortable>
<template slot-scope="scope">
{{ (scope.row.putTime ? scope.row.putTime.substring(0, 11) : "") }}
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="applyType" label="适用车型" align="center">
@@ -256,7 +256,7 @@
</el-table-column>
<el-table-column prop="putTime" label="实施日期" align="center" sortable>
<template slot-scope="scope">
{{ (scope.row.putTime ? scope.row.putTime.substring(0, 11) : "") }}
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="applyType" label="适用车型" align="center">
@@ -192,7 +192,7 @@ export default {
height:100% !important;
}
.el-transfer-panel__list.is-filterable {
height: 360px;
height: calc(~'100% - 100px');
padding-top: 0;
overflow-y: auto;
}
@@ -91,7 +91,7 @@
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人" disabled></el-input>
</div>
</el-form-item>
</el-card>
@@ -101,8 +101,8 @@
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>责任部门对接人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择责任人" @click.native="choiceZRR('dockUser', '选择责任人', roleForm.dockUser)">
<el-input v-model="roleForm.dockUserList" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择责任人" @click.native="choiceZRRS">
</el-input>
</div>
</el-form-item>
@@ -154,6 +154,31 @@
@submit="handleSubmit"
>
</ProcessFooter>
<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>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
@@ -247,7 +272,7 @@ export default {
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
dockUser: '',
dockUserList: '',
responUserList: '',
ministerUser: '',
directorUser: '',
@@ -274,6 +299,9 @@ export default {
},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
nodeList2: [],
modalshowflag2: false,
}
},
components: {
@@ -282,6 +310,31 @@ export default {
ProcessTitle
},
methods: {
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.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.dockUserList = idList
this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
// 导入按钮 上传之前的钩子
beginImportFile (file) {
var filename = file.name
@@ -372,6 +425,7 @@ export default {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '2'
}, {}, res => {
@@ -391,6 +445,7 @@ export default {
} else {
this.$message.warning('流程启动失败')
}
this.isSubmit = false
})
} else {
return this.$message.warning('请完善人员信息')
@@ -200,6 +200,7 @@
handleSubmit() {
this.$refs['qbkwForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.responUserList = this.form.responUserList
@@ -213,6 +214,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
return this.$message.warning('请完善基础信息')
@@ -209,6 +209,7 @@
handleSubmit() {
this.$refs['qbkwForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.fileId = this.form.fileId
@@ -222,6 +223,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
return this.$message.warning('请完善基础信息')
@@ -141,6 +141,7 @@
},
handleSave() {},
handleSubmit() { // 同意
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -153,10 +154,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
@@ -169,6 +172,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -233,6 +233,7 @@
handleSubmit() {
this.$refs['qbkwForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.hzfileId = this.form.hzfileId
@@ -246,6 +247,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
})
@@ -229,6 +229,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -241,10 +242,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
@@ -257,6 +260,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -229,6 +229,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -241,10 +242,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.actionFlag = 1
@@ -257,6 +260,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -229,6 +229,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -241,10 +242,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.actionFlag = 1
@@ -257,6 +260,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -229,6 +229,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -241,10 +242,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.actionFlag = 1
@@ -257,6 +260,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -0,0 +1,853 @@
<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="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-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
</div>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.zrUserId" style="display: none;"/>
<el-input v-model="scope.row.zrUserIdName" placeholder="请选择责任人" @click.native="choiceZRRS(scope.row.zrUserId, 1, scope.$index)"/>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<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.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="标准拆分数据库"
:visible.sync="listModel2"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<div class="content">
<!-- 顶部工具栏 -->
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
v-if="listModel2"
ref="selection"
:data="standInfoList2"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection2"
: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="standCommonlySearch2.page" :total="total2" @pageChange="pageChange2" @pageSizeChange="pageSizeChange2"></pagination>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer2">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer2">确定</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"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
@check="drawerCheck2"
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 {
listModel2: false,
standInfoList2: [],
sarType: '',
loading: false,
standId: '',
commentText: '',
textarea: '', //
title: '', //
listModel: false, //
active: '1', //
isSubmit: false,
saveLoading: false,
// form
form: {
number: '',
name: '',
id: '',
number1: '',
name1: '',
id1: ''
},
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',
},
standCommonlySearch2: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
result: '1',
sarType: 'INLAND'
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0,
total2: 0,
selectedList: [],
selectedList2: [],
data: [],
roleForm: {
applyUserIdName: this.$store.getters.userInfo.userName,
applyUserId: this.$store.getters.userInfo.userId,
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: [],
zrType: '',
zrIndex: '',
zrIdList: []
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
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 => {
})
},
sarStandCompareHis2 () {
var form = this.standCommonlySearch2
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', form, {
_this: this
}, res => {
this.standInfoList2 = res.data.list
this.total2 = res.data.total
}, e => {
})
},
pageChange (page) {
this.standCommonlySearch.page = page
this.sarStandCompareHis()
},
//
pageSizeChange (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis()
},
pageChange2 (page) {
this.standCommonlySearch2.page = page
this.sarStandCompareHis2()
},
//
pageSizeChange2 (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch2.pageSize = pageSize
this.sarStandCompareHis2()
},
/**
* */
handleSelection(data) {
this.selectedList = [];
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id);
}
},
handleSelection2 (data) {
this.selectedList2 = [];
for (let i = 0; i < data.length; i++) {
this.selectedList2.push(data[i].id);
}
},
closeDrawer() {
this.listModel = false
},
enterDrawer() {
if (this.selectedList.length === 1) {
this.loading = true
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.sarType = bringData[0].sarType
this.standId = bringData[0].standId
this.listModel = false;
this.listModel2 = true
this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', {
infoId: this.form.id,
page: 1,
pageSize: 9999
}, {
_this: this
}, res => {
if (res.ok) {
res.data.list.forEach(item => {
item.zrUserId = ''
item.zrUserIdName= ''
})
this.itemList = res.data.list
}
this.loading = false
})
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
closeDrawer2() {
this.listModel2 = false
},
enterDrawer2() {
if (this.selectedList2.length === 1) {
let deposit = new Map();
this.standInfoList2.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList2.length; i++) {
bringData.push(deposit.get(this.selectedList2[i]));
}
if (bringData[0].splitStatus === '0') {
this.form.number1 = bringData[0].standNumSplit
this.form.name1 = bringData[0].standNameSplit
} else {
this.form.number1 = bringData[0].showNumber
this.form.name1 = bringData[0].standName
}
this.form.id1 = bringData[0].id
this.listModel2 = false
} else if (this.selectedList2.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]
}
},
drawerCheck2 (data) {
var getlist = this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree2.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree2.getCheckedNodes()[0]
}
},
handleSelectionChange (val) {
this.zrIdList = []
val.forEach( item => {
this.zrIdList.push(item.id)
})
},
choiceZRRS (row, type, index) {
if (type === 1) {
this.nodeList2 = []
this.zrIndex= index
this.zrType = type
this.nodeList2.push(row)
this.modalshowflag2 = true
} else {
//
if (this.zrIdList.length > 0) {
this.zrType = type
this.nodeList2 = []
this.modalshowflag2 = true
} else {
this.$message.warning('请选择要编辑的数据')
}
}
},
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
})
if (this.zrType == 1) {
this.itemList[this.zrIndex].zrUserId = idList
this.itemList[this.zrIndex].zrUserIdName = nameList
} else {
this.itemList.forEach( item => {
this.zrIdList.forEach( items => {
if (item.id === items) {
item.zrUserId = idList
item.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) {
let b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].zrUserId) {
b++
}
}
if (b > 0) {
this.$message.warning('请选择责任人')
} else {
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.standInData = this.sarType
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('请完善基础信息')
}
})
}
},
mounted () {
this.getTree()
this.sarStandCompareHis()
this.sarStandCompareHis2()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
}
</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,416 @@
<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="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="标准编号" 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-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
</div>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</el-table-column>
<el-table-column
label="执行人"
width="170"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.zxUserId" style="display: none;"/>
<el-input v-model="scope.row.zxUserIdName" placeholder="请选择执行人" @click.native="choiceZRRS(scope.row.zxUserId, 1, scope.$index)"/>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<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="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
@check="drawerCheck2"
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'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzjdStep2",
data() {
return {
sarType: '',
zxIndex: '',
zxType: '',
zxIdList: [],
modalshowflag2: false,
treeData: [],
nodeList2: [],
defaultProps: {
children: 'children',
label: 'name'
},
loading: false,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
type: '',
drawerTitle: '', //drawer
textarea: '', //
ListModel: false, //
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
},
json: {},
itemList: []
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
drawerCheck2 (data) {
var getlist = this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree2.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree2.getCheckedNodes()[0]
}
},
choiceZRRS (row, type, index) {
if (type === 1) {
this.nodeList2 = []
this.zxIndex= index
this.zxType = type
this.nodeList2.push(row)
this.modalshowflag2 = true
} else {
//
if (this.zxIdList.length > 0) {
this.zxType = type
this.nodeList2 = []
this.modalshowflag2 = true
} else {
this.$message.warning('请选择要编辑的数据')
}
}
},
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
})
if (this.zxType == 1) {
this.itemList[this.zxIndex].zxUserId = idList
this.itemList[this.zxIndex].zxUserIdName = nameList
} else {
this.itemList.forEach( item => {
this.zxIdList.forEach( items => {
if (item.id === items) {
item.zxUserId = idList
item.zxUserIdName = nameList
}
})
})
}
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
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) {
let b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].zxUserId) {
b++
}
}
if (b > 0) {
this.$message.warning('请选择执行人')
}
var json = this.json
json.itemList = this.itemList
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 {
return this.$message.warning('请完善基础信息')
}
})
},
handleSelectionChange (val){
this.zxIdList = []
val.forEach( item => {
this.zxIdList.push(item.id)
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.sarType = data.standInData
this.json = data
var arr = []
arr = JSON.parse(data.itemList)
arr.forEach(item => {
item.zxUserId = ''
item.zxUserIdName = ''
})
this.itemList = arr
}).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>
@@ -0,0 +1,353 @@
<template>
<div class="bzjdStep3">
<!-- 标准调研流程-->
<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="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="标准编号" 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-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRR">批量编辑</el-button>
</div>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="100"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="符合项状态"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
width="150"
label="适用车型"
align="center">
</el-table-column>
<el-table-column
label="责任部门"
width="170"
prop="deptName"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<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>
</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: "bzjdStep3",
data() {
return {
sarType: '',
itemList: [],
loading: false,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', //
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleSelectionChange () {},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
var json = this.json
json.commentText = this.commentText
var arr = this.form.zxUserId.split(',')
var newArr = []
arr.forEach(item => {
var json1 = {}
json1.id = item
newArr.push(json1)
})
json.zxUserId = newArr
json.zxUserIdName = this.form.zxUserIdName
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.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.sarType = data.standInData
this.json = data
this.itemList = JSON.parse(data.itemList)
this.itemList.forEach( item => {
item.deptName = this.$store.getters.userInfo.orgName
})
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzjdStep3 {
/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>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step4"
}
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step5"
}
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step6"
}
</script>
<style scoped>
</style>
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show ="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -39,12 +39,26 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled">
<el-input
<el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled add-form-el-select">
<!-- <el-input-->
<!-- v-model="listForm.applyRegion"-->
<!-- placeholder="请输入适用区域"-->
<!-- clearable-->
<!-- ></el-input>-->
<el-select
width="120"
v-model="listForm.applyRegion"
placeholder="请输入适用区域"
clearable
></el-input>
placeholder="请选择适用区域"
filterable
>
<el-option
v-for="item in countryOptions"
:value="item.value"
:key="item.value"
:label="item.label"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="清单说明" prop="descriptionList" class="add-form-item form-item-disabled">
<el-input
@@ -53,28 +67,48 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">
<el-upload
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "
:action="uploadFileListPath"
show-file-list
:file-list="fileInfoList"
name="file"
accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
>
<el-button class="common-button-default" size="mini">
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="listForm.modelName"
clearable
></el-input>
<div v-if="listForm.modelName" @click="fileUpload" class="fileClass">
{{ listForm.modelName }}
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-upload>
<el-input
v-else
v-model="listForm.fileId"
placeholder=""
></el-input>
</div>
</el-form-item>
<!-- <el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">-->
<!-- <el-upload-->
<!-- v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "-->
<!-- :action="uploadFileListPath"-->
<!-- show-file-list-->
<!-- :file-list="fileInfoList"-->
<!-- name="file"-->
<!-- accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"-->
<!-- :on-remove="delFileInfo"-->
<!-- :on-success="uploadBackSuccess"-->
<!-- :before-upload="beforeUpload"-->
<!-- >-->
<!-- <el-button class="common-button-default" size="mini">-->
<!-- 点击上传-->
<!-- </el-button>-->
<!-- </el-upload>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="listForm.fileId"-->
<!-- placeholder=""-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="会签" prop="sign" class="add-form-item form-item-disabled">
<el-radio-group v-model="signFlag" @change="selectSign">
<el-radio label="1"></el-radio>
@@ -111,6 +145,7 @@
prop="code"
fixed="left"
width="180px"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@@ -123,26 +158,30 @@
<el-table-column
prop="standName"
label="标准名称"
align="center"
width="260px"
>
</el-table-column>
<el-table-column
prop="issueTime"
sortable
align="center"
label="发布日期">
</el-table-column>
<el-table-column
prop="xcxssrq"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
width="120px"
label="文本状态">
</el-table-column>
@@ -163,12 +202,12 @@
<h4>标准/政策法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人" disabled></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择会签责任人,填写意见" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
<el-timeline-item timestamp="选择会签责任人,填写意见" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''" v-if="signFlag === '1'">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>会签人</h4>
@@ -181,6 +220,19 @@
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择会签责任人,填写意见" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''" v-if="signFlag === '2'">
<el-card>
<el-form-item prop="dockUserName2" style="margin-bottom: 0">
<h4>会签人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择会签责任人"
@click.native="choiceZRR('dockUser', '选择责任人', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="根据会签意见修订" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
@@ -219,6 +271,50 @@
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="sarSarAccessEOSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<!-- <el-form-item label="国家/地区" class="search-item search-item-last">-->
<!-- <el-select-->
<!-- v-model="sarSarAccessEOSearch.countryArea"-->
<!-- placeholder="请选择"-->
<!-- filterable-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in countryOptions"-->
<!-- :value="item.value"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- >-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="清单名称" class="search-item search-item-last">
<el-input
v-model="sarSarAccessEOSearch.detailedListName"
placeholder="请输入清单名称"
></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
:loading="searching"
type="primary"
class="common-button-primary"
size="small"
v-btn-permission="'072efe80c5459dd47fedd2d14f59ff7f'"
@click="selectionList">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
v-btn-permission="'3480a13964a18e000196e4d5bc6ef117'"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
v-if="listType === 'country'"
:data="sarAccessListDatas"
@@ -255,8 +351,9 @@
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span>
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
@@ -333,8 +430,9 @@
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span>
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
@@ -411,8 +509,9 @@
label="清单状态"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span>
<span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template>
</el-table-column>
<el-table-column
@@ -496,6 +595,8 @@
</el-table-column>
<el-table-column
prop="code"
fixed="left"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@@ -507,25 +608,30 @@
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="标准名称"
>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
label="发布日期">
</el-table-column>
<el-table-column
prop="xcxssrq"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
label="文本状态">
</el-table-column>
</el-table>
@@ -583,6 +689,24 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .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>
</template>
@@ -602,6 +726,16 @@ export default {
},
data() {
return {
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
searching: false,
//
sarSarAccessEOSearch: {
countryArea: "",
detailedListName: "",
page: 1,
pageSize: this.$store.getters.userInfo.configContent
},
standList: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
@@ -626,21 +760,21 @@ export default {
},
formRules: {
listType: [
{ required: true, message: "请选择清单类型", trigger: "blur" }
{ required: true, message: "请选择清单类型", trigger: "change" }
],
listName: [
{ required: true, message: "请填写清单名称", trigger: "change" }
]
},
roleFormRules: {
// dockUserName: [
// { required: true, message: "", trigger: "blur" }
// ],
dockUserName: [
{ required: true, message: "请选择会签责任人", trigger: "change" }
],
ministerUserName: [
{ required: true, message: "请选择修订责任人", trigger: "blur" }
{ required: true, message: "请选择修订责任人", trigger: "change" }
],
directorUserName: [
{ required: true, message: "请选择审批责任人", trigger: "blur" }
{ required: true, message: "请选择审批责任人", trigger: "change" }
]
},
dataList: [],//
@@ -671,7 +805,9 @@ export default {
listName: "", //
applyRegion: "", //
descriptionList: "", //
fileId: "", //
fileId:'',
model: '', //
modelName: '',
standId: "", //id
signFlag: "1", // 1 2
inforlist: "", //id
@@ -741,10 +877,13 @@ export default {
},
// //
selectionList(type) {
type = this.listType
console.log(type);
if (type === "project") {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
...this.sarSarAccessEOSearch,
sortKey: 2
}, {
_this: this
@@ -757,6 +896,7 @@ export default {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
...this.sarSarAccessEOSearch,
sortKey: 3
}, {
_this: this
@@ -765,10 +905,11 @@ export default {
this.total = res.data.total;
}, e => {
});
} else {
} else if(type === 'country') {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page,
pageSize: this.pageSize,
...this.sarSarAccessEOSearch,
sortKey: 1
}, {
_this: this
@@ -779,13 +920,23 @@ export default {
});
}
},
clearSearch() {
this.sarSarAccessEOSearch = {
countryArea: "",
detailedListName: ""
};
this.selectionList();
},
//
addList() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", "", {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page: this.pageNo,
pageSize: this.pageSizeNo
}, {
_this: this
}, res => {
this.standardData = res.data.list;
this.totalNo = res.data.pageCount
this.totalNo = res.data.count
}, e => {
});
this.standModel = true;
@@ -842,10 +993,11 @@ export default {
//
handleSubmit() {
let json = this.listForm;
json.zrUserId = this.$store.getters.userInfo.userId;
json.jlUserId = this.$store.getters.userInfo.userId;
// let json = Object.assign(this.listForm, this.roleForm)
json.zrUserId = this.roleForm.dockUser; //
json.jlUserId = this.roleForm.directorUser; //
// ( json.jlUserId = this.roleForm.directorUser;)
json.applyUpdUserId = this.$store.getters.userInfo.userId;
json.applyUpdUserId = this.roleForm.ministerUser; //
json.approvalOpinion = "";
json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account;
@@ -884,23 +1036,92 @@ export default {
},
//
delFileInfo(file, fileList) {
// this.fileInfoList = fileList
this.fileInfoList = fileList
},
//
uploadBackSuccess(res, file, fileList) {
// if (res.ok) {
// this.fileInfoList = fileList
// this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
// this.$message.success('')
// } else {
// this.$message.error(res.message)
// fileList.pop()
// }
fileUpload () {
this.fileMadel = true
},
//
beforeUpload() {
//
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: 'INLAND_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
//
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
this.listForm.model = response.data.id
this.listForm.modelName = response.data.name
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
//
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 === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|| fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
|| fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG' ||
fileSuffix === '.pdf' || fileSuffix === '.doc' || fileSuffix === '.docx' || fileSuffix === '.ppt'
|| fileSuffix === '.pptx'|| fileSuffix === '.xls'|| fileSuffix === '.xlsx'
|| fileSuffix === '.png'|| fileSuffix === '.jpg'|| fileSuffix === '.jpeg') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
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
},
// 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 === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
// || fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
// || fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
// return true
// } else {
// this.spinShow = false
// this.$message.error('' + file.name + 'pdfdocdocxpptpptxxlsxlsxpngjpgjpeg')
// 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
// },
//
closeDrawer() {
this.ListModel = false;
@@ -957,7 +1178,6 @@ export default {
res.data=[]
}
this.dataList = res.data;
console.log(res.data);
this.listForm.dataList = res.data;
let formId = []
this.dataList.map(item => {
@@ -978,7 +1198,6 @@ export default {
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id);
}
console.log(this.selectedList);
},
//
selectStandChange(data) {
@@ -1012,7 +1231,7 @@ export default {
this.selectionList();
},
pageChangeNo(page){
this.page = page
this.pageNo = page
this.addList()
},
pageSizeChangeNo(pageSize){
@@ -1023,18 +1242,18 @@ export default {
},
computed: {},
mounted() {
//
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this
}, res => {
this.countryOptions = res.data.COUNTRY;
});
this.selectionList();
this.selectSign();
this.getTree();
for (let i = 0; i < this.dataList.length; i++) {
this.standMap.set(this.dataList[i].id, this.dataList[i]);
}
//
this.$http.get("sys/dictype/getDicTypeListCode", "", {
_this: this
}, res => {
this.countryOptions = res.data.COUNTRY;
});
}
};
@@ -1109,7 +1328,11 @@ export default {
}
}
}
.add-form-el-select{
/deep/ .el-select{
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show="active == '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -53,15 +53,15 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-input
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "
v-if="listForm.modelName == null || this.listForm.modelName== 'undefined' || this.listForm.modelName == '' "
placeholder="暂无数据"
>
</el-input>
<el-input
v-else
v-model="listForm.fileId"
v-model="listForm.modelName"
placeholder=""
></el-input>
</el-form-item>
@@ -344,6 +344,7 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
@@ -363,6 +364,9 @@ export default {
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
this.listForm.applyUpdUserId = item.applyUpdUserId
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
})
},
@@ -373,10 +377,11 @@ export default {
},
//
handleSubmit() {
this.listForm.applyUpdUserId = this.listForm.applyUpdUserId;
this.listForm.zrUserId = this.listForm.zrUserId;
this.listForm.jlUserId = this.listForm.jlUserId;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show="active == '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -51,9 +51,9 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-upload
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "
v-if="listForm.modelName == null || this.listForm.modelName== 'undefined' || this.listForm.modelName == '' "
:action="uploadFileListPath"
show-file-list
:file-list="fileInfoList"
@@ -69,7 +69,7 @@
</el-upload>
<el-input
v-else
v-model="listForm.fileId"
v-model="listForm.modelName"
placeholder=""
></el-input>
</el-form-item>
@@ -499,6 +499,9 @@ export default {
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
this.listForm.applyUpdUserId = item.applyUpdUserId
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
})
},
//
@@ -515,11 +518,12 @@ export default {
},
//
handleSubmit() {
this.listForm.jlUserId = this.$store.getters.userInfo.userId ;
this.listForm.applyUpdUserId = this.listForm.applyUpdUserId;
this.listForm.zrUserId = this.listForm.zrUserId;
this.listForm.jlUserId = this.listForm.jlUserId;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.commentText = this.commentText;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm);
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show="active == '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -53,16 +53,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-input
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "
v-model="listForm.fileId"
v-if="listForm.modelName == null || this.listForm.modelName== 'undefined' || this.listForm.modelName == '' "
v-model="listForm.modelName"
placeholder="暂无数据"
>
</el-input>
<el-input
v-else
v-model="listForm.fileId"
v-model="listForm.modelName"
placeholder=""
></el-input>
</el-form-item>
@@ -335,6 +335,9 @@ export default {
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
this.listForm.applyUpdUserId = item.applyUpdUserId
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
})
},
//
@@ -344,12 +347,12 @@ export default {
},
//
handleSubmit() {
this.listForm.jlUserId = this.$store.getters.userInfo.userId ;
this.listForm.applyUpdUserId = this.listForm.applyUpdUserId;
this.listForm.zrUserId = this.listForm.zrUserId;
this.listForm.jlUserId = this.listForm.jlUserId;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.commentText = this.commentText;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.signflag = "";
this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm);
File diff suppressed because it is too large Load Diff
@@ -24,7 +24,7 @@
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="类型" prop="standInData" class="add-form-item form-item-disabled">
<el-form-item label="标准来源" prop="standInData" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.standInData" disabled>
<el-radio label="0">国内标准入库</el-radio>
<el-radio label="1">海外标准入库</el-radio>
@@ -208,41 +208,41 @@
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled">
<div v-if="form.xgd">
{{ form.xgd }}
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgdName" class="add-form-item form-item-disabled">
<div v-if="form.xgdName">
{{ form.xgdName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd">
{{ form.fbgbjbd }}
<el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbdName">
{{ form.fbgbjbdName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd">
{{ form.zbjbd }}
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.zbjbdName">
{{ form.zbjbdName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<div v-if="form.bpg">
{{ form.bpg }}
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpgName" class="add-form-item form-item-disabled">
<div v-if="form.bpgName">
{{ form.bpgName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<div v-if="form.ssg">
{{ form.ssg }}
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssgName" class="add-form-item form-item-disabled">
<div v-if="form.ssgName">
{{ form.ssgName }}
</div>
<div v-else>
- -
@@ -250,33 +250,33 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled">
<div v-if="form.kwj">
{{ form.kwj }}
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwjName" class="add-form-item form-item-disabled">
<div v-if="form.kwjName">
{{ form.kwjName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg">
{{ form.zqyjg }}
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjgName" class="add-form-item form-item-disabled">
<div v-if="form.zqyjgName">
{{ form.zqyjgName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<div v-if="form.ca">
{{ form.ca }}
<el-form-item label="草案" prop="caName" class="add-form-item form-item-disabled">
<div v-if="form.caName">
{{ form.caName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled">
<div v-if="form.jdwj">
{{ form.jdwj }}
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwjName" class="add-form-item form-item-disabled">
<div v-if="form.jdwjName">
{{ form.jdwjName }}
</div>
<div v-else>
- -
@@ -350,10 +350,10 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.fbjg"
v-model="form.qcdw"
placeholder="请选择起草单位"
clearable
></el-input>
@@ -473,9 +473,9 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<div v-if="form.glwj">
{{ form.glwj }}
<el-form-item label="关联文件" prop="glwjName" class="add-form-item form-item-disabled">
<div v-if="form.glwjName">
{{ form.glwjName }}
</div>
<div v-else>
- -
@@ -521,8 +521,8 @@
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<el-collapse accordion v-model="activeName">
<el-collapse-item title="意见填写" name = "1">
<div style="margin: 10px 0;">
<el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">
<el-option label="驳回" value="1"></el-option>
@@ -678,6 +678,7 @@
name: "bzrkStep2",
data () {
return {
activeName:'1',
// (1/2)
processType: 1,
detailData: [],
@@ -730,10 +731,20 @@
jdwj: '', //
zbjbd: '', //
kwj: '', //
caName: '', //
fbgbjbdName: '', // 稿
xgdName: '', //
bpgName: '', // 稿
ssgName: '', // 稿
zqyjgName: '', // 稿
jdwjName: '', //
zbjbdName: '', //
kwjName: '', //
glwjName: '', //
//
txlb: '', //
gkdw: '', //
fbjg: '', //
qcdw: '', //
wssmr: '', //
cysd: '', //
cllx: '', //
@@ -24,7 +24,7 @@
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="类型" prop="standInData" class="add-form-item form-item-disabled">
<el-form-item label="标准来源" prop="standInData" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.standInData" disabled>
<el-radio label="0">国内标准入库</el-radio>
<el-radio label="1">海外标准入库</el-radio>
@@ -201,41 +201,41 @@
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled">
<div v-if="form.xgd">
{{ form.xgd }}
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgdName" class="add-form-item form-item-disabled">
<div v-if="form.xgdName">
{{ form.xgdName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd">
{{ form.fbgbjbd }}
<el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbdName">
{{ form.fbgbjbdName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd">
{{ form.zbjbd }}
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbdName" class="add-form-item form-item-disabled">
<div v-if="form.zbjbdName">
{{ form.zbjbdName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<div v-if="form.bpg">
{{ form.bpg }}
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpgName" class="add-form-item form-item-disabled">
<div v-if="form.bpgName">
{{ form.bpgName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<div v-if="form.ssg">
{{ form.ssg }}
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssgName" class="add-form-item form-item-disabled">
<div v-if="form.ssgName">
{{ form.ssgName }}
</div>
<div v-else>
- -
@@ -243,33 +243,33 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled">
<div v-if="form.kwj">
{{ form.kwj }}
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwjName" class="add-form-item form-item-disabled">
<div v-if="form.kwjName">
{{ form.kwjName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg">
{{ form.zqyjg }}
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjgName" class="add-form-item form-item-disabled">
<div v-if="form.zqyjgName">
{{ form.zqyjgName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<div v-if="form.ca">
{{ form.ca }}
<el-form-item label="草案" prop="caName" class="add-form-item form-item-disabled">
<div v-if="form.caName">
{{ form.caName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled">
<div v-if="form.jdwj">
{{ form.jdwj }}
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwjName" class="add-form-item form-item-disabled">
<div v-if="form.jdwjName">
{{ form.jdwjName }}
</div>
<div v-else>
- -
@@ -343,10 +343,10 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.fbjg"
v-model="form.qcdw"
placeholder="请选择起草单位"
clearable
></el-input>
@@ -466,9 +466,9 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<div v-if="form.glwj">
{{ form.glwj }}
<el-form-item label="关联文件" prop="glwjName" class="add-form-item form-item-disabled">
<div v-if="form.glwjName">
{{ form.glwjName }}
</div>
<div v-else>
- -
@@ -514,8 +514,8 @@
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<el-collapse accordion v-model="activeName">
<el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;">
<!-- <el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
@@ -671,6 +671,7 @@ export default {
name: "bzrkStep3",
data () {
return {
activeName:'1',
// (1/2)
processType: 1,
detailData: [],
@@ -722,10 +723,20 @@ export default {
jdwj: '', //
zbjbd: '', //
kwj: '', //
caName: '', //
fbgbjbdName: '', // 稿
xgdName: '', //
bpgName: '', // 稿
ssgName: '', // 稿
zqyjgName: '', // 稿
jdwjName: '', //
zbjbdName: '', //
kwjName: '', //
glwjName: '', //
//
txlb: '', //
gkdw: '', //
fbjg: '', //
qcdw: '', //
wssmr: '', //
cysd: '', //
cllx: '', //
@@ -13,8 +13,9 @@
<div class="content" v-if="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbkwForm"
ref="form"
:model="form"
:rules="rules"
class="label-input-form"
label-width="210px"
>
@@ -24,7 +25,7 @@
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="类型" prop="standInData" class="add-form-item form-item-disabled">
<el-form-item label="标准来源" prop="standInData" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.standInData">
<el-radio label="0">国内标准入库</el-radio>
<el-radio label="1">海外标准入库</el-radio>
@@ -115,6 +116,7 @@
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<tree-select v-if="treeStatus"
width = "340"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
@@ -188,78 +190,258 @@
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled">
<div v-if="form.xgd">
{{ form.xgd }}
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgdName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('xgd')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd">
{{ form.fbgbjbd }}
<el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('fbgbjbd')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd">
{{ form.zbjbd }}
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbdName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zbjbd')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<div v-if="form.bpg">
{{ form.bpg }}
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpgName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('bpg')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<div v-if="form.ssg">
{{ form.ssg }}
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssgName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ssg')">
点击上传
</el-button>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled">
<div v-if="form.kwj">
{{ form.kwj }}
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwjName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('kwj')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg">
{{ form.zqyjg }}
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjgName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zqyjg')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<div v-if="form.ca">
{{ form.ca }}
<el-form-item label="草案" prop="caName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ca')">
点击上传
</el-button>
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled">
<div v-if="form.jdwj">
{{ form.jdwj }}
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwjName" class="add-form-item form-item-disabled">
<el-input
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 v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('jdwj')">
点击上传
</el-button>
</div>
</el-form-item>
</el-col>
@@ -329,9 +511,9 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-input
v-model="form.fbjg"
v-model="form.qcdw"
placeholder="请选择起草单位"
clearable
></el-input>
@@ -432,6 +614,13 @@
placeholder="请输入代替标准号"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标程度" prop="cbcd" class="add-form-item form-item-disabled">
<el-select v-model="form.cbcd" placeholder="请选择采标程度">
@@ -446,12 +635,24 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<div v-if="form.glwj">
{{ form.glwj }}
<el-form-item label="关联文件" prop="glwjName" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="form.glwjName"
clearable
></el-input>
<div v-if="form.glwjName">
{{ form.glwjName }}
</div>
<div v-else>
- -
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
点击上传
</el-button>
</div>
</el-form-item>
</el-col>
@@ -462,6 +663,13 @@
placeholder="请输入引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标编号" prop="cbbh" class="add-form-item form-item-disabled">
<el-input
@@ -476,6 +684,13 @@
placeholder="请输入被引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">
<el-input
@@ -490,8 +705,8 @@
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<el-collapse accordion v-model="activeName">
<el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;">
<!-- <el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
@@ -633,6 +848,122 @@
@submit="handleSubmit"
>
</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>
<el-dialog
:title="config.attrName"
:visible.sync="replaceLawsNumModel"
width="875px"
:close-on-click-modal="false"
@close="replaceLawsNumModelCancel"
:append-to-body="true"
>
<div class="search-area">
<div class="left">
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form" @keyup.enter.native="getReplaceLawsNumRowFirst">
<el-form-item label="标准来源" class="search-item" v-if="dataSource">
<el-select
v-model="replaceLawsNumForm.standType"
placeholder="请选择标准来源"
@change="dataSourceChange">
<el-option value="INLAND" label="国内标准库"></el-option>
<el-option value="FOREIGN" label="国外标准库"></el-option>
</el-select>
</el-form-item>
<el-form-item label="编号/名称" class="search-item">
<el-input
v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
icon="el-icon-search"
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowFirst">
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
icon="el-icon-refresh-left"
round
type="default"
@click="getResetLawsNumRow"></el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-table
ref="selections"
:data="replaceLawsNumRow"
tooltip-effect="dark"
style="width: 100%;overflow-y: auto;overflow-x: hidden;"
border
:height="300"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectReplaceStandNumRowChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
label="标准编号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="130">
<template slot-scope="scope">{{ scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</template>
</el-table-column>
<el-table-column
prop="standStateShow"
label="标准状态"
width="130">
</el-table-column>
</el-table>
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
<!--分页-->
<pagination
style="position: relative;"
:page="replacePage"
:total="replaceTotal"
@pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"></pagination>
<div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -647,6 +978,7 @@ export default {
name: "bzrkStep4",
data () {
return {
activeName:'1',
// (1/2)
processType: 1,
detailData: [],
@@ -667,6 +999,67 @@ export default {
nodeKey: 'id',
defaultCheckedKeys: [],
treeStatus:false,
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
fileType: '',
config: {
attrName : '',
},
dataSource: false,
replaceLawsNumModel: false,
replaceLawType: '',
sarBussionessLawsEO: {
replaceLawsNum: ''
},
//
replaceLawsNumForm: {
dataSource: '',
standNumber: '', //
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0',
menuId: 'nomenu'
},
replaceLawsNumRow: [], //
replaceTotal: 0,
selectedListRep: [],
replaceLoading: true,
replacePage: 1,
rules:{
standSort: [
{ required: true, message: '请选择标准类别', trigger: 'change' }
],
standNumber: [
{ required: true, message: '请输入标准编号', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
],
standYear: [
{ required: true, message: '请输入标准年份'},
{ type: 'number', message: '年标准年份必须为数字值'}
],
standName: [
{ required: true, message: '请输入标准名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
],
standNature: [
{ required: false, message: '请选择标准性质', trigger: 'change' }
],
textStatus: [
{ required: true, message: '请选择文本状态', trigger: 'change' }
],
issueTime: [
{ required: true, message: '请选择标准发布日期', trigger: 'change' }
],
qcdw: [
{ required: true, message: '请选择起草单位', trigger: 'change' }
],
cysd: [
{ required: true, message: '请选择我司参与深度', trigger: 'change' }
],
},
form: {
//
textStatus: '', //
@@ -700,10 +1093,20 @@ export default {
jdwj: '', //
zbjbd: '', //
kwj: '', //
caName: '', //
fbgbjbdName: '', // 稿
xgdName: '', //
bpgName: '', // 稿
ssgName: '', // 稿
zqyjgName: '', // 稿
jdwjName: '', //
zbjbdName: '', //
kwjName: '', //
glwjName: '', //
//
txlb: '', //
gkdw: '', //
fbjg: '', //
qcdw: '', //
wssmr: '', //
cysd: '', //
cllx: '', //
@@ -769,6 +1172,241 @@ export default {
},
},
methods: {
//
getReplaceLawsNumRowFirst () {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
this.quoteIdList1 = []
this.replaceLawsNumForm.quoteIdList = ''
}
this.replaceLawsNumForm.page = 1
this.replacePage = 1
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_this: this,
loading: 'replaceLoading'
}, res => {
this.replaceLawsNumRow = res.data.list
this.replaceTotal = res.data.count
if (this.selectedListRep.length !== 0) {
this.selectedListRep.map((list) => {
this.replaceLawsNumRow.map((item) => {
if (list.id === item.id) {
item._checked = true
}
})
})
}
}, e => {
})
},
dataSourceChange (val) {
},
handleChange (event) {
// const value = event.target.value
const value = event
this.$emit('input', value)
if (value.length==1000){
return this.$message({
message: '相关标准不能输入超过1000个字符',
type: 'warning'
});
}
},
// -
replaceLawsNumModelCancel () {
// this.replaceLawsNumModel = false
this.$refs.selections.clearSelection()
},
// table
selectReplaceStandNumRowChange (row) {
this.selectedListRep = row
},
//
pageChangeReplace (page) {
this.replacePage = page
this.replaceLawsNumForm.page = page
this.getReplaceLawsNumRow()
},
pageSizeChangeReplace (pageSize) {
// this.replaceRows = pageSize
this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow()
},
//
replaceLawsNumModelBt () {
let textArr = []
if (typeof this.value === 'string') {
if (this.value) {
textArr = this.value.split(',')
}
}
if (this.selectedListRep.length === 0) {
return this.$message({
message: '请先选择数据',
type: 'warning'
})
}
if (this.selectedListRep.length + textArr.length > 20) {
return this.$message({
message: '标准最多选择20项',
type: 'warning'
})
}
this.selectedListRep.map((item) => {
let texts = ''
if (item.standYear != null && item.standYear !== '') {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber + '-' + item.standYear : item.standNumber + '-' + item.standYear
} else {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber : item.standNumber
}
textArr.push(texts)
textArr = [...new Set(textArr)]
this.replaceLawsNumModel = false
})
// this.SarLawsInfoEO.replaceLawsNum = textArr.join(',')
if(this.replaceLawType === 'dtbjh'){
this.form.dtbjh = textArr.join(',')
}else if(this.replaceLawType === 'yybj'){
this.form.yybj = textArr.join(',')
}else {
this.form.byybj = textArr.join(',')
}
// this.$emit('input', textArr.join(','))
this.$refs.selections.clearSelection()
},
//
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: 'INLAND_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standNumber: '', //
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0'
}
this.getReplaceLawsNumRow()
},
selectLaws (type) {
// if (this.standNumFlag === 1) {
// this.$refs.selections.selectAll(false)
// }
// this.sarBussionessLawsEO.replaceLawsNum = ''
this.replaceLawsNumModel = true
this.replaceLawType = ''
this.replaceLawType = type
this.getReplaceLawsNumRow()
},
//
getReplaceLawsNumRow () {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
this.quoteIdList1 = []
this.replaceLawsNumForm.quoteIdList = ''
}
this.replaceLawsNumForm.standType = this.form.standInData === '1' ? 'FOREIGN' : 'INLAND'
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_this: this,
loading: 'replaceLoading'
}, res => {
this.replaceLawsNumRow = res.data.list
this.replaceTotal = res.data.count
if (this.selectedListRep.length !== 0) {
this.selectedListRep.map((list) => {
this.replaceLawsNumRow.map((item) => {
if (list.id === item.id) {
item._checked = true
}
})
})
}
}, e => {
})
},
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) {
console.log(checkedIds);
console.log(checkedData);
@@ -834,22 +1472,25 @@ export default {
},
handleSave() {},
handleSubmit() {
this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion
const json = JSON.stringify(this.form);
console.log(json)
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId : this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
}else {
this.$message.success(res.message)
}
this.$refs['form'].validate((valid) => {
if (valid) {
this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion
const json = JSON.stringify(this.form);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId : this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
}else {
this.$message.success(res.message)
}
})
}
})
},
@@ -29,7 +29,7 @@
<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-form-item label="标准号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
@@ -47,7 +47,6 @@
</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="请选择结束日期">
@@ -177,34 +176,34 @@
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="类别" class="search-item">
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="关键字" class="search-item">
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="开始日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.start" :editable="false"
placeholder="请选择开始日期"></el-datePicker>
</el-formItem>
<el-formItem label="结束日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.end" :editable="false"
placeholder="请选择结束日期"></el-datePicker>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
<!-- <el-form :model="standCommonlySearch" inline class="label-input-form">-->
<!--&lt;!&ndash; <el-formItem label="类别" class="search-item">&ndash;&gt;-->
<!--&lt;!&ndash; <el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>&ndash;&gt;-->
<!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<!--&lt;!&ndash; <el-formItem label="关键字" class="search-item">&ndash;&gt;-->
<!--&lt;!&ndash; <el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>&ndash;&gt;-->
<!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<!--&lt;!&ndash; <el-formItem label="开始日期" class="search-item">&ndash;&gt;-->
<!--&lt;!&ndash; <el-datePicker v-model="standCommonlySearch.start" :editable="false"&ndash;&gt;-->
<!--&lt;!&ndash; placeholder="请选择开始日期"></el-datePicker>&ndash;&gt;-->
<!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<!--&lt;!&ndash; <el-formItem label="结束日期" class="search-item">&ndash;&gt;-->
<!--&lt;!&ndash; <el-datePicker v-model="standCommonlySearch.end" :editable="false"&ndash;&gt;-->
<!--&lt;!&ndash; placeholder="请选择结束日期"></el-datePicker>&ndash;&gt;-->
<!--&lt;!&ndash; </el-formItem>&ndash;&gt;-->
<!-- <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>
<!-- @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>
@@ -220,10 +219,17 @@
@selection-change="handleSelection"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="category" label="标准" align="center"/>
<el-table-column prop="cname" label="标准名称/政策名称" align="center"/>
<el-table-column prop="endTime" label="征求意见周期" align="center"/>
<el-table-column prop="startTime" label="上传时间" align="center"/>
<el-table-column label="标准" align="center">
<template slot-scope="scope">
<div v-if="scope.row.standYear">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</div>
<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>
</div>
</div>
@@ -326,12 +332,12 @@ export default {
},
//
standCommonlySearch: {
categorg: '',
cname: '',
start: '',
end: '',
// categorg: '',
// cname: '',
// start: '',
// end: '',
page: 1,
size: this.$store.getters.userInfo.configContent
pageSize: this.$store.getters.userInfo.configContent
},
spinShow: false,
standInfoList: [],
@@ -394,7 +400,7 @@ export default {
},
methods: {
addZqyjList() {
this.title = '标准征求意见库'
this.title = '国内外标准库'
this.listModel = true
},
/** *
@@ -416,15 +422,23 @@ export default {
//
sarStandCompareHis () {
this.spinShow = true
var form = this.standCommonlySearch
this.$http.get('slrs/sar-public-idea/SelectAllPage', form, {
_this: this
}, res => {
this.standInfoList = res.data.records
this.total = res.data.total
var formData = this.standCommonlySearch
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, {
_this: this
}, res => {
this.standInfoList = res.data.list
this.total = res.data.count
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) {
this.standCommonlySearch.page = page
@@ -457,9 +471,12 @@ export default {
for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i]));
}
this.form.cid = bringData[0].cid
this.form.cname = bringData[0].cname;
this.form.endTime = bringData[0].endTime;
if (bringData[0].standYear) {
this.form.cid = bringData[0].standSortShow + ' ' + bringData[0].standNumber + '-' + bringData[0].standYear
} else {
this.form.cid = bringData[0].standSortShow + '-' + bringData[0].standNumber
}
this.form.cname = bringData[0].standName;
this.listModel = false;
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
@@ -540,6 +557,7 @@ export default {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '3'
}, {}, res => {
@@ -559,6 +577,7 @@ export default {
} else {
this.$message.warning('流程启动失败')
}
this.isSubmit = false
})
} else {
return this.$message.warning('请完善人员信息')
@@ -197,6 +197,7 @@
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.responUserList = this.form.responUserList
@@ -210,6 +211,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
return this.$message.warning('请完善基础信息')
@@ -257,6 +257,7 @@
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.info = this.data
@@ -270,6 +271,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
}
@@ -175,6 +175,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -187,6 +188,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo () {
@@ -241,6 +241,7 @@
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
this.isSubmit = true
var json = this.json
json.oldinfo = this.oldData
json.commentText = this.commentText
@@ -253,6 +254,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
}
@@ -238,6 +238,7 @@
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -250,12 +251,14 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
@@ -268,6 +271,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -241,6 +241,7 @@
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -253,12 +254,14 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
@@ -271,6 +274,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -241,6 +241,7 @@
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -253,12 +254,14 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
@@ -271,6 +274,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -241,6 +241,7 @@
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
@@ -253,12 +254,14 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
@@ -271,6 +274,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -8,7 +8,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
</div>
<div class="content" v-if="active === '1'">
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
@@ -50,11 +50,11 @@
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
ref="roleForm"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
@@ -81,39 +81,6 @@
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="确认分发责任人" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择分发责任人" @click.native="choiceZRR('ministerUser', '选择分发责任人', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="负责人上传材料" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择负责人" @click.native="choiceZRR('directorUser', '选择负责人', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
@@ -127,21 +94,23 @@
>
<div class="search-area">
<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-input v-model="nonConformitySearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
<el-input
v-model="queryUnqualidiedData.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="nonConformitySearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
<el-input
v-model="queryUnqualidiedData.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonConformitySearch.responsibleUnit" v-show="false" />
<el-input v-model="queryUnqualidiedData.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
@@ -150,7 +119,7 @@
>
<el-input
slot="reference"
v-model="nonConformitySearch.responseUnitShow"
v-model="queryUnqualidiedData.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
@@ -257,19 +226,15 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
import { startProcess, completeTask } from '@/api/process.js'
import { standUnqualified } from '@/api/unqualProcess.js'
export default {
name: "step1",
name: "wfhxzgStep1",
data() {
return {
textarea: '', //
title: '', //
ListModel: false, //
nonConformitySearch: {
standId: '', // /
productName: '', //
responsibleUnit: '' //
},
active: '1', //
isSubmit: false,
saveLoading: false,
@@ -280,11 +245,26 @@ export default {
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
dutyEngineer: '',
dutyPeopleInfo: '',
dutyPeople: '',
fileText: '',
fileTextId: '',
fileTextPath: ''
}],
//
zNodesSItem: [],
standModel: false,
//
queryUnqualidiedData: {
pageNo: 1,
pageSize: 10,
total: 0,
closeState: '1',
standId: '', // /
productName: '', //
responsibleUnit: '' //
},
unqualidiedData: [{
standId: '',
productName: '',
@@ -292,14 +272,24 @@ export default {
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
dutyEngineer: '',
dutyPeopleInfo: '',
dutyPeopleInfoId: '',
dutyPeople: '',
dutyPeopleId: '',
fileText: '',
fileTextId: '',
fileTextPath: ''
}],
selectedList: [], //
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
dockUserName: '',
dockUser: ''
},
roleFormRules: {
dockUserName: [{ required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}]
},
nodeList: [],
drawerTitle: '', //drawer
@@ -309,6 +299,7 @@ export default {
children: 'children',
label: 'name'
},
taskID: '',
}
},
components: {
@@ -318,21 +309,32 @@ export default {
},
mounted () {
this.getTree()
this.getJsonData()
},
methods: {
getJsonData() {
const params = {
type: '8'
}
startProcess(params).then(res => {
this.taskID = res.data
})
},
//
addList() {
this.$http.get("sarStandUnqualified/sar-stand-unqualified", "", {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
standUnqualified(this.queryUnqualidiedData).then(res => {
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
}, e => {
});
})
this.standModel = true;
},
@@ -371,11 +373,12 @@ export default {
OkDrawer() {
if (this.selectedList.length !== 0) {
this.dataList = this.selectedList
this.ListModel = false;
this.standModel = false;
} else {
this.$message.warning("请选择至少一条数据进行带入");
}
},
//
selectedChange(val) {
this.selectedList = val
},
@@ -386,12 +389,40 @@ export default {
//
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 () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
console.log(res.data)
})
},
//
@@ -403,7 +434,7 @@ export default {
this.modalshowflag = true
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
let getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
@@ -413,19 +444,8 @@ export default {
},
//
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
this.modalshowflag = false
},
//
@@ -438,7 +458,7 @@ export default {
},
//
clearAllSearch (search = true) {
this.nonConformitySearch = {
this.queryUnqualidiedData = {
standId: '',
productName: '',
responsibleUnit: ''
@@ -12,23 +12,23 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="dataList.standId"
<el-input v-model="nonSearch.standId"
size="small"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="dataList.productName"
<el-input v-model="nonSearch.productName"
size="small"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false"/>
<el-input v-model="nonSearch.responsibleUnit" v-show="false"/>
<el-popover
placement="bottom"
popper-class="user-dept-popper"
@@ -38,7 +38,7 @@
<el-input
size="small"
slot="reference"
v-model="dataList.responseUnitShow"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
@@ -62,7 +62,7 @@
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage">
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
@@ -90,7 +90,7 @@
:data="dataList"
border
ref="multipleTable"
@select="handleSelectionChange"
@selection-change="handleSelectionChange"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -103,17 +103,17 @@
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/>
<el-table-column label="选择分发责任人" prop="dutyPeople">
<el-table-column label="选择分发责任人" prop="dutyPeopleInfo">
<template slot-scope="scope">
<span v-if="scope.row.show">
<el-input
v-model="scope.row.dutyPeople"
style="display: none"
v-model="scope.row.dutyPeopleInfo"
size="mini"
placeholder="请输入内容"
@click.native="choiceDuty"
/>
</span>
<span v-else>{{scope.row.dutyPeople}}</span>
/>
<div v-if="scope.row.dutyPeopleInfo" class="fileClass">
{{ scope.row.dutyPeopleInfo || '-'}}
</div>
</template>
</el-table-column>
</el-table>
@@ -175,16 +175,19 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
import { roleTreeData } from "@/api/unqualProcess.js"
import {completeTask, inboundLiaisonDetail} from "@/api/process.js"
export default {
name: "step2",
name: "wfhxzgStep2",
data() {
return {
textarea: '', //
title: '', //
ListModel: false, //
nonConformitySearch: {
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
nonSearch: {
standId: '', // /
productName: '', //
responsibleUnit: '' //
@@ -193,6 +196,8 @@ export default {
isSubmit: false,
saveLoading: false,
dataList: [],
endDataList: [],
lastDataList: [],
//
multipleSelection: [],
//
@@ -201,19 +206,19 @@ export default {
myLoading: false,
//
zNodesSItem: [],
unqualidiedData: [{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
clearSelection: false,
nodeList: [],
drawerTitle: '', //drawer
modalshowflag: false, // drawer
roleForm: {
dutyUserInfo: [],
dutyUserInfoName: [],
dutyPeopleInfo: '',
dutyPeople: ''
},
props: { label: 'name', children: 'children', value: 'id', multiple: true, disabled: false },
dutyUserCaseData: [],
roleFormRules: {},
treeData: [], //
defaultProps: {
children: 'children',
@@ -230,58 +235,38 @@ export default {
this.getData()
this.getTree()
},
methods: {
watch: {
nonSearch(val) {
this.nonSearch = val
}
},
methods: {
getData() {
this.dataList = [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1',
dutyPeople: '',
},{
standId: '332',
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: ''
},
]
const params = {
taskIds: this.taskIds,
pId: this.pId,
standId: '', // /
productName: '', //
responsibleUnit: '' //
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList (item) {
this.$nextTick(() => {
this.dataList = JSON.parse(JSON.stringify(item)).standardInfoList
})
},
//
dutyEngineerList() {
dutyEngineerList(id) {
if (this.multipleSelection.length === 0) {
this.$message.warning("请选择至少一条数据进行分发责任人");
} else {
this.multipleSelection.map((i, index)=> {
i.show = true
this.$set(this.dataList, i, index)
})
this.nodeList = []
this.nodeList.push(id)
this.modalshowflag = true
}
},
//
@@ -289,16 +274,6 @@ export default {
this.multipleSelection = value
console.log(value)
},
//
choiceDuty(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.drawerTitle = title
this.modalshowflag = true
},
selectPeople(row) {
this.modalshowflag = true
},
handleTabs(name) {
this.active = name
},
@@ -306,37 +281,82 @@ export default {
//
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,
}
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 () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
roleTreeData().then(res => {
this.treeData = res.data
this.dutyUserCaseData = res.data
})
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
if(getlist.length !== 0) {
this.roleRow = getlist
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
this.roleRow = this.$refs.tree.getCheckedNodes()
}
},
//
saveUserInfo () {
//
for (let i = 0; i < this.multipleSelection.length; i++ ) {
this.multipleSelection[i].dutyPeople = this.roleRow.name
for (let b = 0; b < this.multipleSelection.length; b++) {
this.multipleSelection[b].dutyPeople = this.multipleSelection[i].dutyPeople
this.dataList.forEach(val=> {
val.show = false
})
}
this.multipleSelection = []
this.$refs.multipleTable.clearSelection();
}
this.multipleSelection.forEach(item => {
item.dutyPeopleInfo = this.roleRow[0].name
item.dutyPeopleInfoId = this.roleRow[0].id
})
this.lastDataList = this.dataList
this.$refs.multipleTable.clearSelection();
//
this.roleForm.dutyUserInfoName = this.roleRow.name
this.modalshowflag = false
},
//
@@ -344,17 +364,37 @@ export default {
this.modalshowflag = false
},
//
getTableByPage() {
this.getData()
},
getTableByPage({ standId, productName, responsibleUnit }) {//
this.realList = this.dataList.filter(item => {
let matchId = true; //
let matchName = true; //
let matchUnit = true; //
if (standId) {
const keysId = standId
.toUpperCase() //
.replace(' ', '') //
.split('') //
matchId = keysId.every(key => item.standId.toUpperCase().includes(key));
}
if (productName) {
matchName = item.productName === productName;
}
if (responsibleUnit) {
matchUnit = item.responsibleUnit === responsibleUnit;
}
return matchId && matchName && matchUnit;
})
this.dataList = this.realList
},
//
clearAllSearch (search = true) {
this.nonConformitySearch = {
clearAllSearch () {
this.nonSearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
this.getData()
},
//
pageChange (page) {
@@ -12,11 +12,11 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="dataList.standId"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
@@ -24,13 +24,13 @@
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="dataList.productName"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
@@ -40,7 +40,7 @@
<el-input
size="small"
slot="reference"
v-model="dataList.responseUnitShow"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
@@ -64,7 +64,7 @@
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
@@ -120,7 +120,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
@@ -129,8 +129,10 @@
<ProcessFooter
show-save
show-submit
show-back
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@back="handleSubmitNo"
@save="handleSave"
@submit="handleSubmit"
>
@@ -168,16 +170,16 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
import {completeTask, inboundLiaisonDetail} from "@/api/process.js";
export default {
name: "step3",
name: "wfhxzgStep3",
data() {
return {
textarea: '', //
commentText: '', //
title: '', //
ListModel: false, //
nonConformitySearch: {
nonSearch: {
standId: '', // /
productName: '', //
responsibleUnit: '' //
@@ -185,26 +187,9 @@ export default {
active: '1', //
isSubmit: false,
saveLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1',
dutyPeople: '13123'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: '',
dutyPeople: ''
}],
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
dataList: [],
newDataList: [],
//
@@ -226,9 +211,30 @@ export default {
ProcessTitle
},
created() {
this.getData()
this.getTree()
},
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) {
this.newDataList = val
@@ -239,10 +245,69 @@ export default {
this.active = name
},
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('请输入反馈意见')
}
},
//
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 () {
@@ -263,6 +328,9 @@ export default {
saveUserInfo () {
// input
this.newDataList.dutyPeople = this.roleRow.name
this.newDataList.dutyPeopleId = this.roleRow.id
this.lastDataList = this.dataList
console.log(this.dataList)
this.modalshowflag = false
},
//
@@ -270,11 +338,32 @@ export default {
this.modalshowflag = false
},
//
getTableByPage() {
getTableByPage({ standId, productName, responsibleUnit }) {//
this.realList = this.dataList.filter(item => {
let matchId = true; //
let matchName = true; //
let matchUnit = true; //
if (standId) {
const keysId = standId
.toUpperCase() //
.replace(' ', '') //
.split('') //
matchId = keysId.every(key => item.standId.toUpperCase().includes(key));
}
if (productName) {
matchName = item.productName === productName;
}
if (responsibleUnit) {
matchUnit = item.responsibleUnit === responsibleUnit;
}
return matchId && matchName && matchUnit;
})
this.dataList = this.realList
},
//
clearAllSearch (search = true) {
this.nonConformitySearch = {
this.nonSearch = {
standId: '',
productName: '',
responsibleUnit: ''
@@ -12,11 +12,11 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="dataList.standId"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
@@ -24,13 +24,13 @@
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="dataList.productName"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
@@ -40,7 +40,7 @@
<el-input
size="small"
slot="reference"
v-model="dataList.responseUnitShow"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
@@ -64,7 +64,7 @@
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
@@ -92,27 +92,28 @@
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" 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">
<el-upload
v-model="fileText"
ref="uploadFile"up
:action="uploadPath"
class="upload-demo"
:http-request="handleUpload"
:on-success="handleOnsuccess"
:on-error="handleOnError"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-remove="handleOnRemove"
:on-exceed="handleExceed"
:limit="10"
:file-list="uploadFileList"
list-type="picture"
:auto-upload="true"
>
<el-button type="text">上传佐证材料</el-button>
</el-upload>
<div style="display: inline;">
<el-input
disabled
style="display: none"
v-model="scope.row.fileText"
clearable
/>
<div v-if="scope.row.fileText" type="primary" @click="fileUpload(scope.row)" class="fileClass">
{{ scope.row.fileText }}
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload(scope.row)"
size="mini">
点击上传
</el-button>
</div>
</div>
</template>
</el-table-column>
</el-table>
@@ -141,6 +142,24 @@
@submit="handleSubmit"
>
</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>
</template>
@@ -149,15 +168,16 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
import {inboundLiaisonDetail, completeTask} from "@/api/process"
export default {
name: "step4",
name: "wfhxzgStep4",
data() {
return {
textarea: '', //
title: '', //
ListModel: false, //
nonConformitySearch: {
nonSearch: {
standId: '', // /
productName: '', //
responsibleUnit: '' //
@@ -165,34 +185,17 @@ export default {
active: '1', //
isSubmit: false,
saveLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1',
dutyPeople: '13123'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: '',
dutyPeople: '13123'
}],
dataList: [],
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
//
pageNo: 1,
total: 0,
myLoading: false,
//
uploadPath: 'api/att/attFile/upload',
//
uploadFileList: [],
fileMadel: false,
newDataList: [],
//
zNodesSItem: [],
}
@@ -203,25 +206,84 @@ export default {
ProcessTitle
},
created() {
this.getData()
},
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) {
this.active = name
},
/************ 上传佐证材料 *****************/
//
handleUpload() {},
fileUpload (val) {
this.newDataList = val
this.fileMadel = true
},
//
handleOnsuccess(res, file) {
this.$message.success('上传成功!')
console.log(file)
handleOnsuccess(res, file, fileList) {
if (res.ok) {
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) {},
//
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() {},
handleOnRemove() {},
@@ -233,19 +295,65 @@ export default {
//
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({ standId, productName, responsibleUnit }) {//
this.realList = this.dataList.filter(item => {
let matchId = true; //
let matchName = true; //
let matchUnit = true; //
if (standId) {
const keysId = standId
.toUpperCase() //
.replace(' ', '') //
.split('') //
matchId = keysId.every(key => item.standId.toUpperCase().includes(key));
}
if (productName) {
matchName = item.productName === productName;
}
if (responsibleUnit) {
matchUnit = item.responsibleUnit === responsibleUnit;
}
return matchId && matchName && matchUnit;
})
this.dataList = this.realList
},
//
clearAllSearch (search = true) {
this.nonConformitySearch = {
clearAllSearch () {
this.nonSearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
this.getData()
},
//
pageChange (page) {
@@ -12,11 +12,11 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="dataList" inline class="label-input-form">
<el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="dataList.standId"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
@@ -24,13 +24,13 @@
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="dataList.productName"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="dataList.responsibleUnit" v-show="false" />
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
@@ -40,7 +40,7 @@
<el-input
size="small"
slot="reference"
v-model="dataList.responseUnitShow"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
@@ -64,7 +64,7 @@
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage('dataList')">
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
@@ -106,19 +106,21 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-back
show-submit
show-back
approval
@back="handleSubmitNo"
:submitLoading="isSubmit"
:backLoading="backLoading"
@back="handleDataBack"
:saveLoading="saveLoading"
@submit="handleSubmit"
submitBTNText="同意"
>
</ProcessFooter>
</div>
@@ -129,15 +131,17 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
import {inboundLiaisonDetail} from "@/api/process";
export default {
name: "step5",
name: "wfhxzgStep5",
data() {
return {
textarea: '', //
commentText: '',
title: '', //
saveLoading: false,
ListModel: false, //
nonConformitySearch: {
nonSearch: {
standId: '', // /
productName: '', //
responsibleUnit: '' //
@@ -145,24 +149,10 @@ export default {
active: '1', //
isSubmit: false,
backLoading: false,
dataList: [
{
standId: '1',
productName: '1',
itemsNum: '1',
itemsName: '1',
planCloseTime: '1',
responsibleUnit: '1',
dutyEngineer: '1'
},{
standId: '',
productName: '',
itemsNum: '',
itemsName: '',
planCloseTime: '',
responsibleUnit: '',
dutyEngineer: ''
}],
dataList: [],
json: {},
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
//
pageNo: 1,
total: 0,
@@ -180,26 +170,98 @@ export default {
ProcessTitle
},
created() {
this.getData()
},
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) {
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({ standId, productName, responsibleUnit }) {//
this.realList = this.dataList.filter(item => {
let matchId = true; //
let matchName = true; //
let matchUnit = true; //
if (standId) {
const keysId = standId
.toUpperCase() //
.replace(' ', '') //
.split('') //
matchId = keysId.every(key => item.standId.toUpperCase().includes(key));
}
if (productName) {
matchName = item.productName === productName;
}
if (responsibleUnit) {
matchUnit = item.responsibleUnit === responsibleUnit;
}
return matchId && matchName && matchUnit;
})
this.dataList = this.realList
},
//
clearAllSearch (search = true) {
this.nonConformitySearch = {
this.nonSearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getTableByPage()
this.getData()
},
//
pageChange (page) {
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -17,6 +17,7 @@
<el-form
:model="listForm"
:rules="formRules"
ref="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
@@ -39,20 +40,20 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
@click.native="choiceZRR('certifiedEngineer', '选择认证工程师', roleForm.certifiedEngineer)"
@click.native="choiceZRR(null,'certifiedEngineer', '选择认证工程师', roleForm.certifiedEngineer)"
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
@click.native="choiceZRR('qualityEngineer', '选择质量工程师', roleForm.qualityEngineer)"
@click.native="choiceZRR(null,'qualityEngineer', '选择质量工程师', roleForm.qualityEngineer)"
></el-input>
</el-form-item>
</el-col>
@@ -63,8 +64,8 @@
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button plain class="common-button-primary" size="mini" @click="addList">新增</el-button>
<el-button plain class="common-button-primary" size="mini" @click="addList">批量删除</el-button>
<el-button plain class="common-button-primary" size="mini" @click="addList">新增</el-button>
<el-button plain class="common-button-primary" size="mini" @click="addList">批量删除</el-button>
</div>
</div>
<el-table
@@ -89,14 +90,16 @@
prop="uname"
label="产品线责任人">
</el-table-column>
<!-- distribute-->
<el-table-column
prop="ministerUser"
prop="distributePerson"
label="分发责任人">
<template slot-scope="scope">
<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>
<template slot-scope="scope,text" v-if="showColumn">
<div>
<div @click="choiceZRR(scope,'distributePerson', '选择分发责任人', roleForm.distributePerson)">
{{listForm.dataList[scope.$index].distributePerson==null?"请选择分发负责人":listForm.dataList[scope.$index].distributePerson}}
</div>
</div>
</template>
</el-table-column>
</el-table>
@@ -106,17 +109,17 @@
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
ref="roleForm"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="startUserName" style="margin-bottom: 0">
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人" disabled></el-input>
</div>
</el-form-item>
</el-card>
@@ -128,68 +131,20 @@
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择业务经理"
@click.native="choiceZRR('dockUser', '选择业务经理', roleForm.dockUser)">
@click.native="choiceZRR(null,'dockUser', '选择业务经理', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="分发责任人进行任务分发" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="责任人填写评估反馈" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="责任人"
@click.native="choiceZRR('directorUser', '选择责任人', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="分发责任人进行任务分发" placement="top" :color="roleForm.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" placeholder="产品线责任人" ></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.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<el-form-item prop="ministerUserName" 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>
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="请选择标准法规部领导"
@click.native="choiceZRR(null,'ministerUser', '选择标准法规部领导', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -229,8 +184,11 @@
fixed="left"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a>
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
@@ -272,7 +230,7 @@
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div>
</el-drawer>
<!-- 添加抽屉-->
<!-- 添加抽屉-->
<el-drawer
title="添加产品线"
:visible.sync="standModel"
@@ -379,11 +337,10 @@ export default {
},
data() {
return {
ffzrr:'',
active: "1",
standModel: false,
sarAccessListDatas: [],
productData:[], //
productData: [], //
standList: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
@@ -395,42 +352,44 @@ export default {
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.id,
dockUser: "",
responUserList: "",
ministerUser: "",
directorUser: "",
presidentUser: "",
dockUserName: "",
responUserListName: "",
ministerUserName: "",
directorUserName: "",
presidentUserName: ""
qualityEngineer: "",
certifiedEngineer:"",
qualityEngineerName: "",
certifiedEngineerName:"",
distributePerson: "",
dockUser:'',
ministerUser:"",
dockUserName:'',
ministerUserName:"",
},
formRules: {
listType: [
{ required: true, message: "请选择清单类型", trigger: "blur" }
standName: [
{ required: true, message: "请填写标准名称", trigger: "change" }
],
standNumber: [
{ required: true, message: "请填写标准编号", trigger: "change" }
],
qualityEngineer: [
{ required: true, message: "请选择质量工程师", trigger: "change" }
],
certifiedEngineer: [
{ required: true, message: "请选择认证工程师", trigger: "change" }
],
listName: [
{ required: true, message: "请填写清单名称", trigger: "change" }
]
},
roleFormRules: {
// dockUserName: [
// { required: true, message: "", trigger: "blur" }
// ],
dockUserName: [
{ required: true, message: "请选择业务经理", trigger: "change" }
],
ministerUserName: [
{ required: true, message: "请选择修订责任人", trigger: "blur" }
{ required: true, message: "请选择标准法规部领导", trigger: "change" }
],
directorUserName: [
{ required: true, message: "请选择审批责任人", trigger: "blur" }
]
},
ListModel: false, //
treeData: [], //
isSubmit: false,
saveLoading: false,
selectedList: [], //
dataList:[],
dataList: [],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
@@ -441,28 +400,45 @@ export default {
listForm: {
standNumber: "", //
standName: "",//
certifiedEngineer: '', //
qualityEngineer: '', //
certifiedEngineer: "", //
qualityEngineer: "", //
breakdownList: [{
applyArctic: '',
busStandCover: '',
claimType: '',
id: '',
itemsName:'',
itemsNum:'',
responsibleUnit: '',
standId: '',
svpps: '',
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "",
standId: "",
svpps: ""
}],
dataList: [{
projectLine: '', //线
uname:'',//线
ffzrr: '', //
projectLine: "", //线
uname: "",//线
projectManager:"",// 线id
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [],
}],
sarStandProjectLibraries: [{
projectManager: '',
projectLevel: '',
projectNumber: '',
projectEndDate: '',
currentNode: '',
projectGroup: '',
productLine: '',
projectClassification: '',
projectStatus: '',
projectStartDate: '',
id: '',
projectName: '',
projectPlatfor: ''
}]
}]
},
choiceForm: {}, //
showColumn:true
};
},
methods: {
@@ -473,16 +449,24 @@ export default {
} 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;
}else if(this.type === 'qualityEngineer') {
this.listForm.qualityEngineer = this.roleRow.name
}else if(this.type === 'certifiedEngineer') {
this.listForm.certifiedEngineer = this.roleRow.name
} else if (this.type === "qualityEngineer") {
this.roleForm.qualityEngineer = this.roleRow.id;
this.roleForm.qualityEngineerName = this.roleRow.name;
this.listForm.qualityEngineer = this.roleForm.qualityEngineer;
this.listForm.qualityEngineerName = this.roleForm.qualityEngineerName;
} else if (this.type === "certifiedEngineer") {
this.roleForm.certifiedEngineer = this.roleRow.id;
this.roleForm.certifiedEngineerName = this.roleRow.name;
this.listForm.certifiedEngineer = this.roleForm.certifiedEngineer;
this.listForm.certifiedEngineerName = this.roleForm.certifiedEngineerName;
} else if (this.type === "distributePerson") {
this.listForm.distributePerson = this.roleRow.name;
this.listForm.dataList[this.dsadadadsada].distributePersonId=this.roleRow.id
this.listForm.dataList[this.dsadadadsada].distributePerson=this.roleRow.name
this.showColumn = false;
this.$nextTick(() => {
this.showColumn = true
})
}
this.modalshowflag = false;
},
@@ -515,17 +499,17 @@ export default {
},
//
cancelStand() {
this.standModel = false
this.standModel = false;
},
//
okStand() {
if(this.standList.length >= 1){
this.dataList = this.standList
this.roleForm.directorUser = this.dataList[0].uname
this.listForm.dataList = this.standList
this.standModel = false
}else{
this.$message.warning('请选择一条数据进行添加')
if (this.standList.length >= 1) {
this.dataList = this.standList;
this.roleForm.directorUser = this.dataList[0].uname;
this.listForm.dataList = this.standList;
this.standModel = false;
} else {
this.$message.warning("请选择一条数据进行添加");
}
},
//
@@ -552,14 +536,16 @@ export default {
},
//
handleSubmit() {
let json = this.listForm;
json.zrUserId = this.$store.getters.userInfo.userId;
json.jlUserId = this.$store.getters.userInfo.userId;
json.applyUpdUserId = this.$store.getters.userInfo.userId;
json.approvalOpinion = "";
var json = Object.assign(this.listForm, this.roleForm)
json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account;
json.standId = this.listForm.standId;
json.XCXSSRQ = this.sarAccessListDatas[0].attrInfoMap.XCXSSRQ
json.ZCCSSRQ = this.sarAccessListDatas[0].attrInfoMap.ZCCSSRQ
this.$refs['listForm'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
_this: this
}, res => {
@@ -578,6 +564,14 @@ export default {
});
}
});
} else {
return this.$message.warning("请完善人员信息");
}
});
} else {
return this.$message.warning("请完善基础信息");
}
});
},
//
closeDrawer() {
@@ -586,25 +580,25 @@ export default {
//
OkDrawer() {
if(this.selectedList.length == 1){
this.listForm.standNumber = this.selectedList[0].standNumber
this.listForm.standName = this.selectedList[0].standName
this.listForm.id = this.selectedList[0].id
this.$http.get('SarStandItems/sar-stand-items/findAllItems',{
if (this.selectedList.length == 1) {
this.listForm.standNumber = this.selectedList[0].standNumber;
this.listForm.standName = this.selectedList[0].standName;
this.listForm.id = this.selectedList[0].id;
this.$http.get("SarStandItems/sar-stand-items/findAllItems", {
ids: this.listForm.id,
type:'FBGBJBD',
type: "FBGBJBD"
}, {
_this:this
_this: this
}, res => {
this.listForm.breakdownList = res.data
this.ListModel = false
this.listForm.breakdownList = res.data;
this.ListModel = false;
}, e => {
this.$message.error('添加失败')
})
}else if(this.selectedList.length > 1){
this.$message.warning('您只能选择一条数据进行带入')
}else{
this.$message.warning('请选择一条数据带入')
this.$message.error("添加失败");
});
} else if (this.selectedList.length > 1) {
this.$message.warning("您只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据带入");
}
},
//
@@ -622,7 +616,10 @@ export default {
selectThree(data) {
this.standList = data;
},
choiceZRR(type, title, id) {
choiceZRR(scope,type, title, id) {
if(scope!=null){
this.dsadadadsada = scope.$index;
}
this.nodeList = [];
this.nodeList.push(id);
this.type = type;
@@ -636,46 +633,56 @@ export default {
},
pageChange(page) {
this.page = page;
this.getStandData()
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.getStandData()
},
pageChangeNo(page) {
this.pageNO = page;
this.getProductData()
},
pageSizeChangeNo(pageSize) {
this.pageSizeNo = this.$store.getters.userInfo.configContent;
this.getProductData()
},
//线
getProductData() {
this.$http.get('sarStandProjectLibrary/queryProjectManager',{
this.$http.get("sarStandProjectLibrary/queryProjectManager", {
current: this.pageNo,
pageSize: this.pageSizeNo,
},{
pageSize: this.pageSizeNo
}, {
_this: this
}, res => {
this.productData = res.data.records
this.totalNo = res.data.total
this.productData = res.data;
this.totalNo = res.data.total;
}, e => {
})
});
},
//
getStandData() {
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage','',{
console.log(this.page);
console.log(this.pageSize);
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page: this.page,
pageSize: this.pageSize,
}, {
_this: this
}, res => {
this. sarAccessListDatas = res.data.list
this.total = res.pageCount
console.log(res.data);
this.sarAccessListDatas = res.data.list;
this.total = res.data.count;
}, e => {
})
},
});
}
},
computed: {},
mounted() {
this.getTree();
this.getProductData()
this.getStandData()
this.getProductData();
this.getStandData();
}
};
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -35,16 +35,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
></el-input>
@@ -88,13 +88,8 @@
label="产品线责任人">
</el-table-column>
<el-table-column
prop="ministerUser"
prop="distributePerson"
label="分发责任人">
<!-- <template slot-scope="scope">-->
<!-- <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>-->
<!-- </template>-->
</el-table-column>
</el-table>
</div>
@@ -115,7 +110,7 @@
</div>
</div>
<div class="content" v-if="active === '3'">
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
@@ -234,22 +229,46 @@ export default {
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
listType: "", //
listName: "", //
applyRegion: "", //
descriptionList: "", //
enclosure: "", //
inforlist: "",//id
passFlag: "1", //1 2
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
certifiedEngineerName: "", //
qualityEngineerName: "", //
breakdownList: [{
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "",
standId: "",
svpps: ""
}],
dataList: [{
standNumber: "", //
cnName: "", //
enName: "", //
isSubTime: "", //
newCarTime: "", //
oldCarTime: "", //
applyCar: "", //
textState: "", //
id: ""
projectLine: "", //线
uname: "",//线
projectManager:"",// 线id
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: '',
projectLevel: '',
projectNumber: '',
projectEndDate: '',
currentNode: '',
projectGroup: '',
productLine: '',
projectClassification: '',
projectStatus: '',
projectStartDate: '',
id: '',
projectName: '',
projectPlatfor: ''
}]
}]
},
choiceForm: {}, //
@@ -285,6 +304,7 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
@@ -304,13 +324,14 @@ export default {
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
this.dataList.distributePerson = item.dataList[0].distributePerson
})
},
//
beforeBack () {
this.listForm.approvalOpinion = '1'
this.listForm.passFlag = '2'
this.handleSubmit()
},
//
@@ -320,8 +341,8 @@ export default {
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.passFlag = '1';
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
@@ -366,7 +387,6 @@ export default {
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active == '1'">
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
@@ -35,16 +35,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
></el-input>
@@ -58,14 +58,15 @@
<div class="tableTitle">
</div>
<el-table
:data="dataList"
ref="multipleTable"
:data="listForm.breakdownList"
tooltip-effect="dark"
style="width: 100%"
border
ref="selection"
height="49%"
style="width: 100%;"
@selection-change="selectStandChange"
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
@@ -73,49 +74,88 @@
</el-table-column>
<el-table-column
prop="productLine"
label="条款号">
</el-table-column>
<el-table-column
prop="productLine"
align="center"
label="产品线">
</el-table-column>
<el-table-column
prop="productLine"
prop="projectNumber"
align="center"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
label="项目名称">
</el-table-column>
<el-table-column
prop="uname"
label="产品线责任人">
prop="itemNum"
align="center"
label="条款号">
</el-table-column>
<el-table-column
prop="ministerUser"
label="分发责任人">
<!-- <template slot-scope="scope">-->
<!-- <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>-->
<!-- </template>-->
prop="itemsName"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="zCCSSRQ"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
fixed="right"
prop="implementer"
align="center"
label="落实人">
<template slot-scope="scope,text" v-if="showColumn">
<div>
<div @click="choiceZRR(scope,'implementer', '选择落实人', roleForm.implementer)">
{{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer }}
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
<!-- 选择责任人-->
<el-drawer
:title="drawerTitle"
: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
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
@click="saveUserInfo">
确定
</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消
</el-button>
</div>
</el-drawer>
</div>
</div>
<div class="content" v-if="active === '3'">
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
@@ -153,7 +193,7 @@
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -161,7 +201,7 @@
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -169,7 +209,7 @@
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
@@ -177,7 +217,7 @@
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
@@ -186,12 +226,11 @@
</div>
<ProcessFooter
show-back
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
@@ -213,13 +252,23 @@ export default {
},
data() {
return {
showColumn: true,
drawerTitle: "", //drawer
modalshowflag: false, // drawer
treeData: [], //
nodeList: [],
defaultProps: {
children: "children",
label: "name"
},
detailData: [],
sarProStateTableHeight: null, //
// (1/2)
processType: 1,
loading: false,
dataList: [],//
// dataList: [],//
active: "1",
userId:this.$store.getters.userInfo.userId,
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
@@ -234,26 +283,51 @@ export default {
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
listType: "", //
listName: "", //
applyRegion: "", //
descriptionList: "", //
enclosure: "", //
inforlist: "",//id
passFlag: "1", //1 2
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
breakdownList: [{ //
implementer: "",
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "",
standId: "",
svpps: ""
}],
dataList: [{
standNumber: "", //
cnName: "", //
enName: "", //
isSubTime: "", //
newCarTime: "", //
oldCarTime: "", //
applyCar: "", //
textState: "", //
id: ""
implementer: "",
projectLine: "", //线
uname: "",//线
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: "",
projectLevel: "",
projectNumber: "",
projectEndDate: "",
currentNode: "",
projectGroup: "",
productLine: "",
projectClassification: "",
projectStatus: "",
projectStartDate: "",
id: "",
projectName: "",
projectPlatfor: ""
}]
}]
},
roleForm: {
implementer: ""
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
@@ -263,17 +337,18 @@ export default {
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: 'loading',
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {})
this.detailData = res;
}, e => {
});
},
//tab
handleTabs(name) {
@@ -285,60 +360,115 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
})
})
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
})
getFormFieldList(item) {
this.listForm = JSON.parse(JSON.stringify(item));
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
this.listForm = JSON.parse(JSON.stringify(item.pepdtos[0]));
this.listForm.breakdownList = [];
for (let i = 0; i < item.pepdtos.length; i++) {
for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) {
this.listForm.breakdownList.push({
itemsName: item.pepdtos[i].breakdownList[j].itemsName,
itemNum: item.pepdtos[i].breakdownList[j].itemsNum,
productLine: item.pepdtos[i].sarStandProjectLibraries.productLine,
projectNumber: item.pepdtos[i].sarStandProjectLibraries.projectNumber,
projectName: item.pepdtos[i].sarStandProjectLibraries.projectName,
implementer: item.pepdtos[i].breakdownList[j].implementer || null,
distributePerson: item.pepdtos[i].distributePerson,
distributePersonId: item.pepdtos[i].distributePersonId,
uname: item.pepdtos[i].uname,
projectManager: item.pepdtos[i].projectManager,
certifiedEngineer: item.pepdtos[i].certifiedEngineer,
qualityEngineer: item.pepdtos[i].qualityEngineer,
standNumber: item.pepdtos[i].standNumber,
standName: item.pepdtos[i].standName,
xCXSSRQ: item.pepdtos[i].xCXSSRQ,
zCCSSRQ: item.pepdtos[i].zCCSSRQ,
});
}
}
},
saveUserInfo() {
if (this.type === "implementer") {
this.listForm.implementer = this.roleRow.name;
this.listForm.breakdownList[this.dsadadadsada].implementerId = this.roleRow.id;
this.listForm.breakdownList[this.dsadadadsada].implementer = this.roleRow.name;
this.showColumn = false;
this.$nextTick(() => {
this.showColumn = true;
});
}
this.modalshowflag = false;
},
cancleUserInfo() {
this.modalshowflag = false;
},
choiceZRR(scope, type, title, id) {
if (scope != null) this.dsadadadsada = scope.$index;
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;
});
},
//
beforeBack () {
this.listForm.approvalOpinion = '1'
this.handleSubmit()
//
handleSave() {
},
//
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.zrUserId = this.$store.getters.userInfo.userId;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
const json = JSON.stringify(this.listForm.breakdownList);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
this.$message.success(res.message);
this.$router.push("/processCenter");
}
}, e => {
});
},
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];
}
},
//
selectStandChange(data) {
this.selectList = [];
@@ -359,14 +489,14 @@ export default {
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
this.getTree();
this.processTable();
this.getData();
}
};
</script>
@@ -1,13 +1,641 @@
<!--评估流程 - 责任人填写评估反馈 xmpgStep4-->
<template>
<div class="xmpg-step4">
<ProcessHeader toggle>
<template slot="proName">项目合规评估流程</template>
<template slot="proNode">落实人填写评估反馈</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="productType"
align="center"
label="在研产品">
<el-table-column
prop="researchCompliance"
align="center"
width="160"
label="合规">
<template slot-scope="scope">
<el-input
v-model="dataList[scope.$index].complianceReasons"
placeholder="请输入合规原因"
>
</el-input>
</template>
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="researchNonCompliance"
align="center"
width="160"
label="不合规项目">
<template slot-scope="scope">
<el-input
v-model="dataList[scope.$index].noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="researchCountermeasures"
align="center"
width="160"
label="应对措施">
<template slot-scope="scope">
<el-input
v-model="dataList[scope.$index].countermeasures"
placeholder="请输入应对措施"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="researchCompletionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<el-date-picker
v-model="dataList[scope.$index].completionTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
label="在产产品">
<el-table-column
prop="productionCompliance"
align="center"
width="160"
label="合规(具体情况)">
<template slot-scope="scope">
<el-input
v-model="dataList[scope.$index].zcComplianceReasons"
placeholder="请输入合规原因"
>
</el-input>
</template>
</el-table-column>
<el-table-column
align="center"
width="160"
label="不合规">
<el-table-column
prop="productionNonCompliance"
align="center"
width="160"
label="不合规项目">
<template slot-scope="scope">
<el-input
v-model="dataList[scope.$index].zcNoCompliance"
placeholder="请输入不合规项目"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="productionCountermeasures"
align="center"
width="160"
label="应对措施">
<template slot-scope="scope">
<el-input
v-model="dataList[scope.$index].zcCountermeasures"
placeholder="请输入应对措施"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="productionCompletionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<el-date-picker
v-model="dataList[scope.$index].zcCompletionTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="填写评估反馈">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入您的评估分析"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep4"
name: "xmpgStep4",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
detailData: [],
sarProStateTableHeight: null, //
// (1/2)
processType: 1,
loading: false,
dataList: [],//
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
dataList: [{
projectManager: '',
itemsName: '',
uname: '',
projectNumber: '',
implementer: '',
implementerId: '',
productLine: '',
itemNum:'',
distributePerson:'',
projectName:'',
distributePersonId:'',
complianceReasons:'', //
noCompliance:'', //
countermeasures:'', //
completionTime:'', //
zcComplianceReasons: '', //
zcNoCompliance:'', //
zcCountermeasures:'', //
zcCompletionTime:'', //
}]
},
// listForm: {
// standNumber: "", //
// standName: "",//
// certifiedEngineer: "", //
// qualityEngineer: "", //
// dataList: [{
// certifiedEngineer: '',
// projectManager: '',
// standNumber: '',
// itemsName: '',
// uname: '',
// projectNumber: '',
// implementer: '',
// implementerId: '',
// productLine: '',
// itemNum:'',
// qualityEngineer: '',
// distributePerson:'',
// projectName:'',
// standName:'',
// distributePersonId:'',
// complianceReasons:'', //
// noCompliance:'', //
// countermeasures:'', //
// completionTime:'', //
// zcComplianceReasons: '', //
// zcCountermeasures:'', //
// zcCompletionTime:'', //
// }]
// },
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.dataList = item.step3DTOS
this.listForm.standName = item.step3DTOS[0].standName
this.listForm.standNumber = item.step3DTOS[0].standNumber
this.listForm.qualityEngineer = item.step3DTOS[0].qualityEngineer
this.listForm.certifiedEngineer = item.step3DTOS[0].certifiedEngineer
})
},
//
handleSave () {
},
//
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step4 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -1,13 +1,579 @@
<!--评估流程 - 分析审批 -->
<template>
<div class="xmpg-step5">
<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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="productType"
align="center"
label="在研产品">
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="160"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
label="在产产品">
<el-table-column
prop="zcComplianceReasons"
align="center"
width="160"
label="合规(具体情况)">
</el-table-column>
<el-table-column
align="center"
width="160"
label="不合规">
<el-table-column
prop="zcNoCompliance"
align="center"
width="160"
label="不合规项目">
</el-table-column>
<el-table-column
prop="zcCountermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="zcCompletionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.zcCompletionTime ? $moment(scope.row.zcCompletionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep5"
name: "xmpgStep5",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
detailData: [],
sarProStateTableHeight: null, //
// (1/2)
processType: 1,
loading: false,
dataList: [],
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
fenFlag: '1', //1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
breakdownList: [{ //
implementer: "",
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "",
standId: "",
svpps: ""
}],
dataList: [{
implementer: "",
projectLine: "", //线
uname: "",//线
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: "",
projectLevel: "",
projectNumber: "",
projectEndDate: "",
currentNode: "",
projectGroup: "",
productLine: "",
projectClassification: "",
projectStatus: "",
projectStartDate: "",
id: "",
projectName: "",
projectPlatfor: ""
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item.dataList);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.dataList = item.dataList
})
},
//
beforeBack () {
this.listForm.fenFlag = '2'
this.handleSubmit()
},
//
handleSubmit() {
this.listForm.applyUpdUserId = this.dataList[0].distributePersonId
this.listForm.commentText = this.commentText;
this.listForm.standId = this.listForm.standId;
this.listForm.fenFlag = "1";
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
console.log(json);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step5 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -1,13 +1,583 @@
<!--评估流程 - 产品线责任人审批 -->
<template>
<div class="xmpg-step6">
<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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="productType"
align="center"
label="在研产品">
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="160"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
label="在产产品">
<el-table-column
prop="zcComplianceReasons"
align="center"
width="160"
label="合规(具体情况)">
</el-table-column>
<el-table-column
align="center"
width="160"
label="不合规">
<el-table-column
prop="zcNoCompliance"
align="center"
width="160"
label="不合规项目">
</el-table-column>
<el-table-column
prop="zcCountermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="zcCompletionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.zcCompletionTime ? $moment(scope.row.zcCompletionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep6"
name: "xmpgStep6",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
detailData: [],
sarProStateTableHeight: null, //
// (1/2)
processType: 1,
loading: false,
dataList: [],
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
fenFlag: '1', //1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
breakdownList: [{ //
implementer: "",
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "",
standId: "",
svpps: ""
}],
dataList: [{
implementer: "",
projectLine: "", //线
uname: "",//线
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: "",
projectLevel: "",
projectNumber: "",
projectEndDate: "",
currentNode: "",
projectGroup: "",
productLine: "",
projectClassification: "",
projectStatus: "",
projectStartDate: "",
id: "",
projectName: "",
projectPlatfor: ""
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.dataList = item.step3DTOS
this.listForm.standName = item.step3DTOS[0].standName
this.listForm.standNumber = item.step3DTOS[0].standNumber
this.listForm.qualityEngineer = item.step3DTOS[0].qualityEngineer
this.listForm.certifiedEngineer = item.step3DTOS[0].certifiedEngineer
})
},
//
beforeBack () {
this.listForm.fenFlag = '2'
this.handleSubmit()
},
//
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.standId = this.listForm.standId;
this.listForm.fenFlag = "1";
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step6 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -1,13 +1,581 @@
<!--评估流程 - 标准法规部领导审批 -->
<template>
<div class="xmpg-step7">
<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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
:height="sarProStateTableHeight"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="productType"
align="center"
label="在研产品">
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="160"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
label="在产产品">
<el-table-column
prop="zcComplianceReasons"
align="center"
width="160"
label="合规(具体情况)">
</el-table-column>
<el-table-column
align="center"
width="160"
label="不合规">
<el-table-column
prop="zcNoCompliance"
align="center"
width="160"
label="不合规项目">
</el-table-column>
<el-table-column
prop="zcCountermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="zcCompletionTime"
align="center"
width="160"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.zcCompletionTime ? $moment(scope.row.zcCompletionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
<el-table-column
fixed="right"
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep7"
name: "xmpgStep7",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
detailData: [],
sarProStateTableHeight: null, //
// (1/2)
processType: 1,
loading: false,
dataList: [],
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
fenFlag: '1', //1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
breakdownList: [{ //
implementer: "",
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "",
standId: "",
svpps: ""
}],
dataList: [{
implementer: "",
projectLine: "", //线
uname: "",//线
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: "",
projectLevel: "",
projectNumber: "",
projectEndDate: "",
currentNode: "",
projectGroup: "",
productLine: "",
projectClassification: "",
projectStatus: "",
projectStartDate: "",
id: "",
projectName: "",
projectPlatfor: ""
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item.dataList);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.dataList = item.dataList
})
},
//
beforeBack () {
this.listForm.fenFlag = '2'
this.handleSubmit()
},
//
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.standId = this.listForm.standId;
this.listForm.fenFlag = "1";
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step7 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -12,6 +12,7 @@
<div class="process-name" @click="handleCreateProcess('6')">标准清单发布/更新流程</div>
<div class="process-name" @click="handleCreateProcess('7')">项目合规评估流程</div>
<div class="process-name" @click="handleCreateProcess('8')">未符合项整改流程</div>
<div class="process-name" @click="handleCreateProcess('9')">标准解读流程</div>
</div>
</div>
<div v-if="zcgllc">
@@ -98,6 +99,10 @@ export default {
})
break
case '9':
//
this.$router.push({
name:'bzjdStep1'
})
break
case '10':
break
@@ -344,7 +344,6 @@ export default {
})
}
break;
break
case '3':
if (row.taskInfo === '责任对接人选择责任人') {
this.$router.push({
@@ -472,13 +471,67 @@ export default {
}
})
}
break;
break
//
case '5' :
if(row.taskInfo === ''){
if(row.taskInfo === '标准法规部业务经理审批'){
this.$router.push({
name: '',
name: 'xmpgStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准评估任务下发'){
this.$router.push({
name: 'xmpgStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '合规性评估'){
this.$router.push({
name: 'xmpgStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '分发责任人审核'){
this.$router.push({
name: 'xmpgStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '汇总审核'){
this.$router.push({
name: 'xmpgStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部领导审核'){
this.$router.push({
name: 'xmpgStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -489,7 +542,111 @@ export default {
})
}
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
}
})
} else if (row.taskInfo === '填写解读分析') {
this.$router.push({
name: 'bzjdStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '4') {
this.$router.push({
name: 'bzjdStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '5') {
this.$router.push({
name: 'bzjdStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '6') {
this.$router.push({
name: 'bzjdStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
}
},
...mapMutations(['setProcess', 'setHandleInfo']),
@@ -61,7 +61,7 @@
:loading="delLoading"
size="mini"
@click="deleteSarAccess('demore',null)"
v-btn-permission="'a43a8f88306ecf557ee243c013076bc4'"
v-btn-permission="'562e58cc3a960096cf3321e631293dc9'"
><i class="iconfont">&#xe61b;</i>批量删除
</el-button>
</div>
@@ -285,7 +285,6 @@ export default {
detailedListName: ""
};
this.searchSarAccess();
},
//
openModal(row, optType) {
@@ -295,19 +294,18 @@ export default {
},
//
deleteSarAccess(flag, id) {
if (flag === "delOne") {
if (flag === 'delOne') {
this.selectedList = [];
this.selectedList[0] = id;
}
if (!this.selectedList.length) {
this.$message.warning("请选择要删除的数据");
if (this.selectedList.length === 0) {
this.$message.warning('请选择要删除的数据')
} else {
this.$confirm("确认删除选中数据?", "确认删除", {
confirmButtonText: "确定",
cancelButtonText: "取消",
confirmButtonClass: "common-button-primary",
roundButton: false,
type: "warning"
this.$confirm('确定删除这些数据?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
const URL = `sarLawsDetailedList/sar-laws-detailed-list/deleteListAll?idList=${this.selectedList.join(',')}`
this.$http.postDelete(URL, {}, res => {
@@ -317,7 +315,8 @@ export default {
}, e => {
});
}).catch(() => {
});
})
}
},
//
@@ -22,6 +22,7 @@
type="primary"
class="common-button-primary"
size="small"
v-btn-permission="'688151df30bbff4cd2ecdc436addfd3f'"
@click="searchSarAccess">
查询
</el-button>
@@ -30,6 +31,7 @@
<el-button
class="common-button-default"
size="small"
v-btn-permission="'65ca2741907ba7a689c41f3d26684b4b'"
@click="clearSearch">清空
</el-button>
</el-form-item>
@@ -42,7 +44,7 @@
class="common-button-primary add-button"
size="mini"
@click="openModal(null,'addOpt')"
v-btn-permission="''"
v-btn-permission="'389d3690eeea9d3808bdff4d02dddbd8'"
><i class="iconfont">&#xe84e;</i>新增
</el-button>
<el-button
@@ -50,7 +52,7 @@
:loading="delLoading"
size="mini"
@click="deleteSarAccess('demore',null)"
v-btn-permission="'e8ce15aba7bf8108c41d8d06c75c58eb'"
v-btn-permission="'0982c83299f3eb996317b014bb6aaff2'"
><i class="iconfont">&#xe61b;</i>批量删除
</el-button>
</div>
@@ -136,11 +138,11 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'9cf958c09b0cf3d14cc33807c2c18951'">查看
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'30bfbe928d7ee6e6bcef9408b762bc97'">查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'8f57e60942d8c307a9c3d566df64e57b'">编辑
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'69ebe6847ad7bf7e90bae8025080678c'">编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'1bde7a8d30bfb0ffc0fc8aa506b55bd2'">删除
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'adec3450d97917a4ffa803d40a46dba9'">删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
@@ -298,31 +300,31 @@ export default {
name: "OtherAddEit"
});
},
//
//
deleteSarAccess(flag, id) {
if (flag === "delOne") {
if (flag === 'delOne') {
this.selectedList = [];
this.selectedList[0] = id;
}
if (this.selectedList.length === 0) {
this.$message.warning("请选择要删除的数据");
this.$message.warning('请选择要删除的数据')
} else {
this.$confirm("确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
this.$confirm('确定删除这些数据?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
const URL = `sarLawsDetailedList/sar-laws-detailed-list/deleteListAll?idList=${this.selectedList.join(",")}`;
const URL = `sarLawsDetailedList/sar-laws-detailed-list/deleteListAll?idList=${this.selectedList.join(',')}`
this.$http.postDelete(URL, {}, res => {
this.searchSarAccess();
this.selectedList = [];
this.$message.success("删除成功");
this.$message.success('删除成功')
}, e => {
});
}).catch(() => {
});
})
}
},
//
@@ -309,7 +309,7 @@ export default {
this.selectedList = [];
this.selectedList[0] = id;
}
if (this.selectedList === 0) {
if (this.selectedList.length === 0) {
this.$message.warning('请选择要删除的数据')
} else {
this.$confirm('确定删除这些数据?', '提示', {
@@ -329,7 +329,6 @@ export default {
})
}
},
//
selectOne(data) {
@@ -71,20 +71,23 @@
</el-popover>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-primary" type="primary" size="small" @click="selectProductBtn">查询
<el-button v-btn-permission="'670dd74a8469a6232a0762c69b575775'" class="common-button-primary" type="primary" size="small" @click="selectProductBtn">查询
</el-button>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-default" @click="resetSelect" size="small">清空</el-button>
<el-button v-btn-permission="'d55e2eb884449f04ecdb30f0523d965d'" class="common-button-default" @click="resetSelect" size="small">清空</el-button>
</el-form-item>
<el-button class="common-button-default export-button"
v-btn-permission="'25859ea5afacb2ad49705f5daefe0d23'"
v-btn-permission="'c7165a1baa667140f97e792971c89a71'"
size="small" @click="exportStandard()"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
icon="export"
>导出
</el-button>
<el-button type="primary" v-btn-permission="'670472f38fe27b192c7f7105847f38ce'" class="common-button-primary" size="mini" @click="selectMoreBtn"><i
class="iconfont">&#xe7a5;</i>高级查询
</el-button>
</el-form>
</div>
<div class="right">
@@ -108,42 +111,98 @@
align="center">
</el-table-column>
<el-table-column
prop="code"
prop="standNumber"
fixed="left"
width="180px"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.resId" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.code }}</a>
<span v-else>{{ scope.row.code }}</span>
<a v-if="scope.row.resId" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standNumber }}</a>
<span v-else>{{ scope.row.standNumber }}</span>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
width="260px"
label="中文名称"
align="center"
fixed="left"
width="180px"
>
</el-table-column>
<el-table-column
prop="isSubTime"
sortable
label="发布日期">
prop="issueTime"
align="center"
width="180px"
label="英文名称">
</el-table-column>
<el-table-column
prop="newPutTime"
prop="issueTime"
align="center"
width="180px"
label="适用车型">
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
width="180px"
label="能源类型">
</el-table-column>
<el-table-column
prop="issueTime"
sortable
align="center"
width="210px"
label="标准实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
sortable
width="210px"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="xcxssrq"
sortable
align="center"
width="210px"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="prodPutTime"
sortable
label="在产车实施日期">
prop="zccssrq"
width="210px"
align="center"
label="责任部门">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="proEssessUser"
width="120px"
label="文本状态">
prop="textStatus"
width="180px"
align="center"
label="适用产品线">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
width="210px"
align="center"
label="乘用车VPPS中文名称">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
width="210px"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
width="210px"
label="卡车VPPS中文名称">
</el-table-column>
</el-table>
<pagination :page="standardForm.page" :total="standardFormTotal" @pageChange="pageChange"
@@ -159,7 +159,6 @@
</el-table-column>
<el-table-column
label="标准号"
width="200px"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
@@ -169,7 +168,6 @@
<el-table-column
prop="standName"
label="标准名称"
width="250px"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -178,7 +176,7 @@
<el-table-column
prop="issueTime"
sortable="custom"
width="170px"
width="110px"
label="发布日期">
<template slot-scope="scope">
{{ formatIssueDate(scope.row.issueTime) }}
@@ -187,6 +185,7 @@
<el-table-column
prop="xcxssrq"
sortable="custom"
width="150px"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ formatText(scope.row.XCXSSRQ) }}</span>
@@ -195,6 +194,7 @@
<el-table-column
prop="zccssrq"
sortable="custom"
width="150px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ formatText(scope.row.ZCCSSRQ) }}</span>
@@ -231,7 +231,7 @@
取消收藏
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'247cebaefa7cf1683092af160af11502'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'ce4ec1bb233314d2ad8740d0aa98aca1'">分享</el-dropdown-item>
<!-- <el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'ce4ec1bb233314d2ad8740d0aa98aca1'">分享</el-dropdown-item>-->
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'dbaf9df2990a595c8abea28e68b1a681'">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
@@ -395,6 +395,7 @@
>
<template slot="label">标准体系</template>
<tree-select
width = "593"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
@@ -3885,8 +3886,8 @@ export default {
async mounted () {
//
await this.selectMenu()
//
await this.selectStandardMenu()
//
// await this.selectStandardMenu()
this.treeReload = true
//
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -3846,7 +3846,7 @@ export default {
position: relative;
.tree-content {
background: #fff;
width: 16%;
width: 20%;
position: relative;
.tree {
width: calc(~'100% - 15px');
@@ -71,7 +71,7 @@
class="common-button-primary"
type="primary"
size="mini"
v-btn-permission="'13dc790d5438d2fa93a03eabf641318'"
v-btn-permission="'620e6da5808bf104e576c763546a33b6'"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
><i class="iconfont">&#xe6e9;</i>导出</el-button>
<el-button
@@ -204,7 +204,11 @@
</div>
</div>
<div class="footer">
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<pagination
:page="pageNo"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<el-drawer
title='查看'
:visible.sync="historySee"
@@ -599,7 +603,8 @@ export default {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
pageSizeChange (pageSize) {
console.log(pageSize);
this.getTableByPage()
},
},
@@ -363,6 +363,10 @@ export default {
mounted() {
//
this.queryOptions();
let globalInputSearch = this.$route.params.searchValue
if (globalInputSearch !== 'allvalue') {
this.keywords = globalInputSearch
}
},
unmounted() {
+56 -2
View File
@@ -341,7 +341,7 @@ const routes = [
},
{
path: '/wfhxzgStep1',
name: 'wfhxzgStep2',
name: 'wfhxzgStep1',
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step1.vue'),
meta: {
requireAuth: true,
@@ -591,6 +591,60 @@ const routes = [
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: '标准解读流程'
}
},
{
path: '/bzjdStep3',
name: 'bzjdStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step3.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/bzjdStep4',
name: 'bzjdStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step4.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/bzjdStep5',
name: 'bzjdStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step5.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/bzjdStep6',
name: 'bzjdStep6',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step6.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
]
},
// 本地工具
@@ -1699,7 +1753,7 @@ router.beforeEach((to, from, next) => {
// if (processCenter) {
// if (to.meta.process) {
// 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)))) {
// next()
// } else {
+1 -1
View File
@@ -7,7 +7,7 @@
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
// const devIp = '192.168.10.248'
const devIp = '192.168.10.248'
const devIp = '192.168.10.254'
const devInterfacePORT = '9999'
// 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'