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

This commit is contained in:
super_liu
2021-12-14 21:24:45 +08:00
64 changed files with 3805 additions and 826 deletions
+8 -24
View File
@@ -6648,11 +6648,11 @@ var PDFPageView = function () {
var defaultSettings = {
watermark_txt: msg,
watermark_x: 100,//水印起始位置x轴坐标
watermark_y: 0,//水印起始位置Y轴坐标
watermark_y: -130,//水印起始位置Y轴坐标
watermark_rows: 0,//水印行数
watermark_cols: 0,//水印列数
watermark_x_space: 18,//水印x轴间隔
watermark_y_space: 20,//水印y轴间隔
watermark_x_space: 40,//水印x轴间隔
watermark_y_space: 50,//水印y轴间隔
watermark_color: 'rgba(232,232,240)',//水印字体颜色
watermark_alpha: 0.3,//水印透明度
watermark_fontsize: '40px',//水印字体大小
@@ -6661,25 +6661,9 @@ var PDFPageView = function () {
watermark_height: 80,//水印长度
watermark_angle: 40//水印倾斜度数
};
//判断分辨率
if (screen.width+"*"+screen.height === '800*600' ){
defaultSettings = {
watermark_txt: msg,
watermark_x: 0,//水印起始位置x轴坐标
watermark_y: 0,//水印起始位置Y轴坐标
watermark_rows: 0,//水印行数
watermark_cols: 0,//水印列数
watermark_x_space: 2,//水印x轴间隔
watermark_y_space: 27,//水印y轴间隔
watermark_color: 'rgba(232,232,240)',//水印字体颜色
watermark_alpha: 0.3,//水印透明度
watermark_fontsize: '40px',//水印字体大小
watermark_font: '微软雅黑',//水印字体
watermark_width: 120,//水印宽度
watermark_height: 80,//水印长度
watermark_angle: 40//水印倾斜度数
};
}
// //判断分辨率
// if (screen.width+"*"+screen.height === '800*600' ){
// }
@@ -6688,7 +6672,6 @@ var PDFPageView = function () {
//获取页面最大宽度
// var getPage = Math.max(document.body.scrollWidth, document.body.clientWidth);
// var getPage =document.body.scrollWidth;
var page_width = parseInt(textLayerDiv.style.width) //获取pdf页面宽度
// var page_width = getPage - (0.35 * getPage);
//var page_width = canvasWrapper.style.width;
//获取页面最大长度
@@ -6699,7 +6682,6 @@ var PDFPageView = function () {
// //获取页面最大长度
// var page_height = parseInt(canvasWrapper.style.height);
var page_height = parseInt(textLayerDiv.style.height) //获取pdf页面长度
var pdf_page =document.getElementById("viewer");
//2021/12/5 分辨率不同的情况会出现问题
//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
@@ -6720,6 +6702,8 @@ var PDFPageView = function () {
//
// }
var page_width = parseInt(textLayerDiv.style.width) //获取pdf页面宽度
var page_height = parseInt(textLayerDiv.style.height)+defaultSettings.watermark_y //获取pdf页面长度
//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
if (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width * defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width)) {
@@ -3177,7 +3177,6 @@ export default {
displayLocation.forEach(location => {
// 动态属性字段-FBGBJBD 单独添加至基础信息
const list = displayLocation.filter(item => item.label === '过程稿件');
console.log()
if (location.label === '基础信息' && list && list.length > 0) {
if (!list[0].child) {
location['child1'] = []
@@ -3207,7 +3206,6 @@ export default {
}
}
}
const child = location.child || []
const one = []
const half = []
@@ -3232,7 +3230,6 @@ export default {
location.showAll = false
})
console.log(displayLocation)
this.$http.get('sarLawsAttrDetailedList/sar-laws-attr-detailed-list', {
id: this.$route.params.id
}, {
@@ -3240,6 +3237,29 @@ export default {
}, res => {
displayLocation.map(item => {
if (item.value === '2URVBGR2Y4UG77KZ5YPL') {
item.child.forEach(items =>{
let accessCountry = JSON.parse(sessionStorage.getItem("accessCountry"));
if (accessCountry.country === undefined) {
accessCountry.country = '文本'
}
if(items.attrField === 'SSRQ') {
items.attrName = '实施日期' + '(' + accessCountry.country + ')' + ':'
if (accessCountry.ssrq !== undefined) {
item.value = accessCountry.ssrq
}
} else if (items.attrField === 'ZCCSSRQ') {
items.attrName = '在产车实施日期' + '(' + accessCountry.country + ')' + ':'
if (accessCountry.zccssrqgj !== undefined) {
item.value = accessCountry.zccssrqgj
}
} else if(items.attrField === 'XCXSSRQ') {
items.attrName = '新车型实施日期' + '(' + accessCountry.country + ')' + ':'
if (accessCountry.xcxssrqgj !== undefined) {
item.value = accessCountry.xcxssrqgj
}
}
})
for (let key in res.data) {
item.one.push({
attrName: key,
@@ -25,6 +25,7 @@
</el-table-column>
<el-table-column
prop="cid"
show-overflow-tooltip
label="标准名称/政策名称">
<template slot-scope="scope">
<span @click="standForComments(scope.row)">{{ scope.row.cid }}</span>
@@ -91,6 +92,10 @@ export default {
<style lang="less" scoped>
.solicitopinions {
/deep/.el-table__body-wrapper {
max-height: calc(65vh - 101px);
overflow-y: auto;
}
/deep/.el-table th > .cell {
font-size: 15px;
}
+3
View File
@@ -22,6 +22,9 @@
</el-tabs>
</div>
</div>
<div style="height: 20px;background-color: #fff;text-align: right;color: #4788c0">
<span style="margin-right: 10px;cursor: pointer;font-size: 12px" @click="$router.push('standardForComments')">更多 </span>
</div>
</div>
<div class="right_wrapper">
<nav-menu></nav-menu>
@@ -46,20 +46,26 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px;">
{{ item.name }}
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item>
<el-form-item label="相关附件" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input
@@ -68,12 +74,20 @@
v-model="form.fjNameList"
clearable
></el-input>
<div v-if="form.fjList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.fjList" :key="index" @click="fileUpload2" style="margin-right: 5px;">
{{ item.name }}
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</div>
<div v-else>
<div>
<el-button
type="primary"
class="common-button-primary"
@@ -241,7 +255,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, queryTaskFirst } from 'api/process'
import { saveTaskFirst, queryTaskFirst, getBusStandFileByAttId } from 'api/process'
export default {
name: "bzdyStep1-1",
@@ -319,6 +333,50 @@
ProcessTitle
},
methods: {
clickButtonToUpload (file) {
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
handlePreview(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
@@ -24,7 +24,7 @@
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
v-model="form.title"
@@ -46,20 +46,26 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px;">
{{ item.name }}
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item>
<el-form-item label="相关附件" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input
@@ -68,12 +74,20 @@
v-model="form.fjNameList"
clearable
></el-input>
<div v-if="form.fjList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.fjList" :key="index" @click="fileUpload2" style="margin-right: 5px;">
{{ item.name }}
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</div>
<div v-else>
<div>
<el-button
type="primary"
class="common-button-primary"
@@ -243,6 +257,7 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst } from 'api/process'
import { getBusStandFileByAttId } from 'api/process'
export default {
name: "bzdyStep1",
@@ -321,6 +336,50 @@ export default {
ProcessTitle
},
methods: {
clickButtonToUpload (file) {
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
handlePreview(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
@@ -375,7 +434,7 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX') {
return true
} else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
@@ -24,7 +24,7 @@
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -43,8 +43,14 @@
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -53,8 +59,14 @@
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -180,7 +192,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -224,6 +236,42 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -24,7 +24,7 @@
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -43,8 +43,14 @@
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -53,8 +59,14 @@
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -72,7 +84,7 @@
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -80,8 +92,14 @@
v-model="form.fileName"
clearable
></el-input>
<div v-if="form.fileName" @click="fileUpload" class="fileClass">
<div v-if="form.fileName" @click="clickButtonToUpload2(form.fileId)" class="fileClass">
{{ form.fileName }}
<el-button
size="small"
@click="updateFile(form)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
<el-button
@@ -230,7 +248,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,execTask} from 'api/process'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,execTask,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -279,6 +297,63 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
clickButtonToUpload(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -323,7 +398,7 @@
}, e => {})
},
updateFile (item) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.fileId
},
// 导入按钮 上传之前的钩子
beginImportFile (file) {
@@ -24,7 +24,7 @@
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -43,8 +43,14 @@
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item.id)">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -53,22 +59,28 @@
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
<div v-if="form.file" class="fileClass" @click="updateFile(form.file)">
{{ form.fileName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<!-- <el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">-->
<!-- <div v-if="form.file" class="fileClass" @click="updateFile(form.file)">-->
<!-- {{ form.fileName }}-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- - - -->
<!-- </div>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
@@ -82,8 +94,18 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
<div v-if="form.file" class="fileClass" @click="updateFile(form.file)">
{{ form.fileName }}
<div v-if="form.file" class="fileClass">
<div style="display: flex;">
<div @click="clickButtonToUpload2(form.fileId)">
{{ form.fileName }}
</div>
<el-button
size="small"
@click="updateFile(form.fileId)"
icon="el-icon-upload"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
- -
@@ -205,7 +227,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -249,6 +271,63 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
clickButtonToUpload(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -350,6 +429,7 @@
this.json = data || data.form
this.form.file = data.fileId || data.form.fileId
this.form.fileName = data.fileName || data.form.fileName
this.form.fileId = data.fileId || data.form.fileId
this.form.modelList = data.modelList || data.form.modelList
this.form.fjList = data.fjList || data.form.fjList
}).catch(e => {
@@ -20,26 +20,28 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:" prop="comityName">
<el-select
@change="comityChange"
v-model="rh_pageData.comityName"
placeholder="请选择标委会">
<el-option
v-for="item in comityNameOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
:label="item.name"
:value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" v-if="rh_pageData.comityName !== ''" prop="comityNameOne">
<el-select
@change="comityChangeOne"
v-model="rh_pageData.comityNameOne"
placeholder="请选择分标委">
<el-option
v-for="item in comityNameOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
v-for="item in rh_pageData.comityOptionsTwo"
:key="item.id"
:label="item.name"
:value="item.id"/>
</el-select>
</el-form-item>
</el-col>
@@ -49,10 +51,10 @@
v-model="rh_pageData.comityNameTwo"
placeholder="请选择工作组">
<el-option
v-for="item in comityNameOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
v-for="item in rh_pageData.comityOptionsTree"
:key="item.id"
:label="item.name"
:value="item.id"/>
</el-select>
</el-form-item>
</el-col>
@@ -390,7 +392,11 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, saveTaskFirst, completeTask, queryTaskFirst} from '@/api/process.js'
import {
startProcess, saveTaskFirst,
completeTask, queryTaskFirst,
taskDel, workGroup
} from '@/api/process.js'
export default {
components: {
@@ -429,11 +435,10 @@ export default {
fillLeader: '',
fillLeaderId: '',
fillFile: [],
comityOptionsOne: [],
comityOptionsTwo: [],
comityOptionsTree: [],
},
comityNameOptions: [
{value: '0', label: '国内法规入库流程'},
{value: '1', label: '标准法规技术评估流程'},
],
comityRoleOptions: [
{value: '0', label: '委员'},
{value: '1', label: '观察委员'},
@@ -474,11 +479,7 @@ export default {
engineerUserId: '',
},
rh_rules: {
comityName: [{required: true, message: "请选择协会名称", trigger: ['blur', 'change']}],
comityNameOne: [{required: true, message: "请选择分标委", trigger: ['blur', 'change']}],
comityNameTwo: [{required: true, message: "请选择工作组", trigger: ['blur', 'change']}]
},
rh_rules: {},
roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
@@ -494,6 +495,7 @@ export default {
saveLoading: false,
commentText: '',
bpnId: ''
}
},
@@ -502,13 +504,37 @@ export default {
if (this.bpnId !== undefined) {
this.getData()
}
let type = {
type: 0
}
workGroup(type).then(res => {
this.rh_pageData.comityOptionsOne = res.data.children
})
},
methods: {
// 右上标签页面切换
handleTabs(name) {
this.active = name
},
/** 获取分标委数据字典数据 */
comityChange() {
this.rh_pageData.comityNameOne = ''
this.rh_pageData.comityNameTwo = ''
this.rh_pageData.comityOptionsOne.forEach(item => {
if (item.children !== null && item.id === this.rh_pageData.comityName) {
this.rh_pageData.comityOptionsTwo = item.children
}
})
},
/** 获取工作组字典数据 */
comityChangeOne() {
this.rh_pageData.comityNameTwo = ''
this.rh_pageData.comityOptionsTwo.forEach(item => {
if (item.children !== null && item.id === this.rh_pageData.comityNameOne) {
this.rh_pageData.comityOptionsTree = item.children
}
})
},
getData() {
queryTaskFirst({
bpnId: this.$route.query.bpnId
@@ -728,6 +754,14 @@ export default {
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res => {
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -18,7 +18,12 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
<span
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -18,7 +18,12 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
<span
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -18,7 +18,12 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
<span
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -18,7 +18,12 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
<span
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -18,7 +18,12 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
<span
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -21,7 +21,12 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
<span
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -18,17 +18,32 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="标委会:">
{{ hh_pageData.associaName || '-' }}
<span
v-for="item in hh_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === hh_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="分标委:">
{{ hh_pageData.associaNameOne || '-' }}
<span
v-for="item in hh_pageData.associaOptionsTwo"
:key="item.id"
v-if="item.id === hh_pageData.associaNameOne">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="工作组:">
{{ hh_pageData.associaNameTwo || '-' }}
<span
v-for="item in hh_pageData.associaOptionsTree"
:key="item.id"
v-if="item.id === hh_pageData.associaNameTwo">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
</el-row>
@@ -310,6 +325,9 @@ export default {
this.hh_pageData.associaName = formList.associaName
this.hh_pageData.associaNameOne = formList.associaNameOne
this.hh_pageData.associaNameTwo = formList.associaNameTwo
this.hh_pageData.associaOptionsOne = formList.associaOptionsOne
this.hh_pageData.associaOptionsTwo = formList.associaOptionsTwo
this.hh_pageData.associaOptionsTree = formList.associaOptionsTree
this.hh_pageData.meetingStartTime = formList.meetingStartTime
this.hh_pageData.meetingName = formList.meetingName
this.hh_pageData.themeTable = formList.meetingTable
@@ -18,17 +18,32 @@
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="标委会:">
{{ hh_pageData.associaName || '-' }}
<span
v-for="item in hh_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === hh_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="分标委:">
{{ hh_pageData.associaNameOne || '-' }}
<span
v-for="item in hh_pageData.associaOptionsTwo"
:key="item.id"
v-if="item.id === hh_pageData.associaNameOne">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="工作组:">
{{ hh_pageData.associaNameTwo || '-' }}
<span
v-for="item in hh_pageData.associaOptionsTree"
:key="item.id"
v-if="item.id === hh_pageData.associaNameTwo">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
</el-row>
@@ -34,26 +34,28 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
<el-select
@change="comityChange"
v-model="ch_pageData.associaName"
placeholder="请选择标委会">
<el-option
v-for="item in associaNameOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
:label="item.name"
:value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="ch_pageData.associaName !== ''">
<el-form-item class="add-form-item">
<el-select
@change="comityChangeOne"
v-model="ch_pageData.associaNameOne"
placeholder="请选择分标委">
<el-option
v-for="item in associaNameOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
v-for="item in ch_pageData.associaOptionsTwo"
:key="item.id"
:label="item.name"
:value="item.id"/>
</el-select>
</el-form-item>
</el-col>
@@ -63,10 +65,10 @@
v-model="ch_pageData.associaNameTwo"
placeholder="请选择工作组">
<el-option
v-for="item in associaNameOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
v-for="item in ch_pageData.associaOptionsTree"
:key="item.id"
:label="item.name"
:value="item.id"/>
</el-select>
</el-form-item>
</el-col>
@@ -76,7 +78,7 @@
<el-form-item class="add-form-item" label="会议时间:">
<el-date-picker
v-model="ch_pageData.meetingStartTime"
type="datetime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间"
align="right">
@@ -144,7 +146,7 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-form-item label-width="0" prop="meetingTable">
<div class="table_btn">
<el-button type="primary" size="small" @click="meeting_add">添加</el-button>
<el-button type="danger" size="small" @click="meeting_delete">批量删除</el-button>
@@ -333,7 +335,10 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, queryTaskFirst, saveTaskFirst, completeTask} from '@/api/process.js'
import {
startProcess, queryTaskFirst,
saveTaskFirst, completeTask,
taskDel, workGroup} from '@/api/process.js'
export default {
components: {
@@ -369,12 +374,11 @@ export default {
fillMail: '',
fillLeader: '',
fillFile: '',
associaOptionsOne: [],
associaOptionsTwo: [],
associaOptionsTree: []
},
associaNameOptions: [
{value: '0', label: '国内法规入库流程'},
{value: '1', label: '标准法规技术评估流程'},
],
feeKindOptions: [
{value: '0', label: '列支1'},
{value: '1', label: '列支2'},
@@ -417,7 +421,8 @@ export default {
roleShowflagOne: false,
isSubmit: false,
saveLoading: false,
commentText: ''
commentText: '',
bpnId: ''
}
},
mounted() {
@@ -425,12 +430,37 @@ export default {
if (this.bpnId !== undefined) {
this.getData()
}
let type = {
type: 0
}
workGroup(type).then(res => {
this.ch_pageData.associaOptionsOne = res.data.children
})
},
methods: {
// 右上标签页面切换
handleTabs(name) {
this.active = name
},
/** 获取分标委数据字典数据 */
comityChange() {
this.ch_pageData.associaNameOne = ''
this.ch_pageData.associaNameTwo = ''
this.ch_pageData.associaOptionsOne.forEach(item => {
if (item.children !== null && item.id === this.ch_pageData.associaName) {
this.ch_pageData.associaOptionsTwo = item.children
}
})
},
/** 获取工作组字典数据 */
comityChangeOne() {
this.ch_pageData.associaNameTwo = ''
this.ch_pageData.associaOptionsTwo.forEach(item => {
if (item.children !== null && item.id === this.ch_pageData.associaNameOne) {
this.ch_pageData.associaOptionsTree = item.children
}
})
},
getData() {
queryTaskFirst({
bpnId: this.$route.query.bpnId
@@ -640,6 +670,14 @@ export default {
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -647,6 +685,7 @@ export default {
})
} else {
this.$message.warning('请完成流程信息的人员选择')
this.isSubmit = false
}
})
}
@@ -30,7 +30,12 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
<span
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === ch_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -79,7 +84,7 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item">
<el-form-item class="add-form-item" label-width="0">
<el-table
class="meeting_table"
:data="ch_pageData.meetingTable"
@@ -30,7 +30,12 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
<span
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === ch_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -79,7 +84,7 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item">
<el-form-item class="add-form-item" label-width="0">
<el-table
class="meeting_table"
:data="ch_pageData.meetingTable"
@@ -30,7 +30,12 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
<span
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === ch_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -30,7 +30,12 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
<span
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === ch_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -30,7 +30,12 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
<span
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === ch_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -33,7 +33,12 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
<span
v-for="item in ch_pageData.associaOptionsOne"
:key="item.id"
v-if="item.id === ch_pageData.associaName">
{{ item.name || '-'}}
</span>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -720,7 +720,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { saveTaskFirst, queryTaskFirst } from "api/process";
import { saveTaskFirst, queryTaskFirst, taskDel } from "api/process";
import seeDatalis from "@/pages/localTool/standContrast/pages/seeDatalis";
export default {
@@ -732,6 +732,7 @@ export default {
},
data() {
return {
bpnId:'',
fileUrl: "api/att/attFile/upload",
fileMadel: false,
searching: false,
@@ -1144,6 +1145,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -1461,6 +1470,7 @@ export default {
},
computed: {},
mounted() {
this.bpnId = this.$route.query.bpnId
this.getData();
//从数据库中查询下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
@@ -498,6 +498,14 @@
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="12">
<!--责任部门-->
<template>
<custom-select-array
:key="zrbmOptions.options"
:config="zrbmOptions"
v-model="form['zrbm']"
></custom-select-array>
</template>
<!-- <el-form-item label="责任部门" prop="zrbm" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.zrbm" placeholder="请选择责任部门" multiple>-->
<!-- <el-option-->
@@ -509,28 +517,49 @@
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.cllx" placeholder="请选择适用车型" multiple>
<el-option
v-for="item in applyArcticOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="能源类型" prop="nylx" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.nylx" placeholder="请选择能源类型" multiple>
<el-option
v-for="item in categoryOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<!--适用车型-->
<template>
<custom-select-array
:key="applyArcticOptions.options"
:config="applyArcticOptions"
v-model="form['cllx']"
></custom-select-array>
</template>
<!--能源类型-->
<template>
<custom-select-array
:key="categoryOptions.options"
:config="categoryOptions"
v-model="form['nylx']"
></custom-select-array>
</template>
<!-- <el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">-->
<!-- <custom-select-array-->
<!-- :key="applyArcticOptions.value"-->
<!-- :config="applyArcticOptions.label"-->
<!-- v-model="applyArcticOptions"-->
<!-- ></custom-select-array>-->
<!-- <el-select :popper-append-to-body="false" v-model="form.cllx" placeholder="请选择适用车型" multiple>-->
<!-- <el-option-->
<!-- v-for="item in applyArcticOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="能源类型" prop="nylx" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.nylx" placeholder="请选择能源类型" multiple>-->
<!-- <el-option-->
<!-- v-for="item in categoryOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<el-input v-model="form.cycvppsbm" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', form.cycvppsbm)"></el-input>
<tree-select-new
@@ -610,28 +639,44 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.sycpx" placeholder="请选择适用产品线" multiple>
<el-option
v-for="item in sycpxOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用认证" prop="syrz" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.syrz" placeholder="请选择适用认证" multiple>
<el-option
v-for="item in applyAuthOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<!--适用产品线-->
<template>
<custom-select-array
:key="sycpxOptions.options"
:config="sycpxOptions"
v-model="form['sycpx']"
></custom-select-array>
</template>
<!-- <el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.sycpx" placeholder="请选择适用产品线" multiple>-->
<!-- <el-option-->
<!-- v-for="item in sycpxOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--适用认证-->
<template>
<custom-select-array
:key="applyAuthOptions.options"
:config="applyAuthOptions"
v-model="form['syrz']"
></custom-select-array>
</template>
<!-- <el-form-item label="适用认证" prop="syrz" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.syrz" placeholder="请选择适用认证" multiple>-->
<!-- <el-option-->
<!-- v-for="item in applyAuthOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="责任工程师" prop="zrgcs" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.zrgcs" placeholder="请选择责任工程师" multiple>-->
<!-- <el-option-->
@@ -643,6 +688,14 @@
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--责任工程师-->
<template>
<custom-select-array
:key="zrgcsOptions.options"
:config="zrgcsOptions"
v-model="form['zrgcs']"
></custom-select-array>
</template>
<el-form-item label="关联模块--乘用车vpps中文名称" prop="cycvppscn" class="add-form-item form-item-disabled">
<el-input
v-model="form.cycvppscn"
@@ -1231,6 +1284,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import CustomSelectArray from '@/components/CustomFormComponents/SelectArray'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId} from "api/process";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
@@ -1247,6 +1301,7 @@
TreeSelectModule,
ProcessHeader,
ProcessFooter,
CustomSelectArray,
ProcessTitle,
TreeSelect,
TreeSelectNew,
@@ -1535,16 +1590,34 @@
busVppsChildOptions: [], // 车系体系架构子集合
modelOptions: [], // 模块体系架构
modelChildOptions: [], // 模块体系架构子集合
applyArcticOptions: [], // 适用车型
applyArcticOptions: {
attrName: '适用车型',
options:[]
}, // 适用车型
gkglbmOptions: [], // 归口管理部门
categoryOptions: [], // 能源类型
applyAuthOptions: [], // 适用认证
categoryOptions: {
attrName: '能源类型',
options:[]
}, // 能源类型
applyAuthOptions: {
attrName: '适用认证',
options:[]
}, // 适用认证
cysdOptions: [], // 我司参与深度
cbcdOptions: [], // 采标程度
wssmrOptions: [], // 我司署名人
sycpxOptions: [], // 适用产品线
zrbmOptions: [], // 责任部门
zrgcsOptions: [], // 责任工程师
sycpxOptions: {
attrName: '适用产品线',
options:[]
}, // 适用产品线
zrbmOptions: {
attrName: '责任部门',
options:[]
}, // 责任部门
zrgcsOptions: {
attrName: '责任工程师',
options:[]
}, // 责任工程师
qcdwOption: [], // 起草单位
txlbOptions: [], // 体系类别
data: [], // 标准列表数据
@@ -2883,19 +2956,20 @@
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
console.log(res.data.ENERGYTYPES)
this.countryOptions=res.data.COUNTRY//国家地区
this.standSortOptions = res.data.STANDCLASSIFY // 标准类别
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.WBZTCLASS // 文本状态
this.standSystemOptions = res.data.BZTXCLASS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.applyArcticOptions.options = res.data.ENERGYTYPES // 适用车型
this.categoryOptions.options = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions.options = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.wssmrOptions = res.data.WSSMR // 我司署名人
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.sycpxOptions.options = res.data.SYCPXCLASS // 适用产品线
this.zrbmOptions.options = res.data.ZRBMCLASS // 责任部门
this.zrgcsOptions.options = res.data.ZRGCSCLASS // 责任工程师
this.qcdwOption = res.data.QCDW // 体系类别
this.gkglbmOptions = res.data.GKGLBM // 归口管理部门
this.cbcdOptions = res.data.DEGREESTANDARD // 采标程度
@@ -521,6 +521,8 @@
newText: '',
reason: '',
id: id,
department: this.$store.getters.userInfo.upDeptName,
responUserName: this.$store.getters.userInfo.userName,
}
this.data.push(json)
this.itemId = id
@@ -624,7 +626,6 @@
}, {}, res => {
if (res.ok) {
this.options = res.data.list
console.log(this.options);
}
}, e => {
})
@@ -0,0 +1,535 @@
<template>
<div class="bzzqyjStep4-1">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">审批人审批</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号/名称" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="标准法规工程师分线管理员" prop="spId" class="add-form-item form-item-disabled">
<el-input
v-model="form.bzfgId"
style="display: none;"
clearable
></el-input>
<el-input v-model="form.bzfgName" placeholder="请选择标准法规工程师分线管理员" @click.native="choiceZRR(form.bzfgId)"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
label="章节名称"
width="200px">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<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>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
show-transfer
@transfer="handleTransfer"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<Role-tree
check-box
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole2"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "bzzqyjStep4-1",
data() {
return {
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
histortData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
fjList: [],
fjListId: '',
textType: '',
modelList: [],
modelNameList: '',
bzfgId: '',
bzfgName: '',
},
formRules: {
bzfgId: [
{required: true, message: '请选择标准法规工程师分线管理员', trigger: 'change'},
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
checkedRole2(data) {
this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name
},
choiceZRR(id) {
this.nodeList = []
this.nodeList.push(id)
this.modalshowflag = true;
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
userId:this.$store.getters.userInfo.userId, // 委托人
assignee: data[0].id, // 被委托人
pId: this.$route.query.prcId, // 流程实例
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
updataFj(item) {
let id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {
})
},
handleTabs(name) {
this.active = name
},
handleSave() {
},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.bzfgId = this.form.bzfgId
json.bzfgName = this.form.bzfgName
json.spFlag = '0'
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')
}
this.isSubmit = false
})
}
})
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.spFlag = '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('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
if (data.fjListId === '') {
this.form.fjListId = ''
} else {
this.form.fjListId = data.form.fjListId || data.fjListId
}
this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.bzfgId = data.bzfgId || ''
this.json = data
this.data = data.info || data.data
}).catch(e => {
})
})
},
},
mounted() {
this.getHistoryData()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzzqyjStep4-1 {
/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,521 @@
<template>
<div class="bzzqyjStep4-2">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">标准法规工程师分线审核</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号/名称" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
label="章节名称"
width="200px">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<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>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
show-transfer
@transfer="handleTransfer"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<Role-tree
check-box
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole2"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "bzzqyjStep4-2",
data() {
return {
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
histortData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
fjList: [],
fjListId: '',
textType: '',
modelList: [],
modelNameList: '',
bzfgId: '',
bzfgName: '',
},
formRules: {
responUserList: [
{required: true, message: '请选择责任人', trigger: 'change'},
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
checkedRole2(data) {
this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name
},
choiceZRR(id) {
this.nodeList = []
this.nodeList.push(id)
this.modalshowflag = true;
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
userId:this.$store.getters.userInfo.userId, // 委托人
assignee: data[0].id, // 被委托人
pId: this.$route.query.prcId, // 流程实例
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
updataFj(item) {
let id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {
})
},
handleTabs(name) {
this.active = name
},
handleSave() {
},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.bzFlag = '0'
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')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.bzFlag = '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('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
if (data.fjListId === '') {
this.form.fjListId = ''
} else {
this.form.fjListId = data.form.fjListId || data.fjListId
}
this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.bzfgId = data.bzfgId || ''
this.json = data
this.data = data.info || data.data
}).catch(e => {
})
})
},
},
mounted() {
this.getHistoryData()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzzqyjStep4-2 {
/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>
@@ -3,7 +3,7 @@
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">对接人批准</template>
<template slot="proNode">责任部门对接人汇总并选择审批人</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -62,6 +62,14 @@
- -
</div>
</el-form-item>
<el-form-item label="审批人" prop="spId" class="add-form-item form-item-disabled">
<el-input
v-model="form.spId"
style="display: none;"
clearable
></el-input>
<el-input v-model="form.spName" placeholder="请选择审批人" @click.native="choiceZRR(form.spId)"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
@@ -69,6 +77,20 @@
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
:disabled="acceptShow"
@click="addModal"
size="mini">新增
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
:disabled="acceptShow"
@click="addDelete"
size="mini">删除
</el-button>
</div>
<el-table
ref="multipleTable"
:data="data"
@@ -78,7 +100,13 @@
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
type="index"
label="序号"
@@ -131,6 +159,14 @@
align="center"
label="提出人">
</el-table-column>
<el-table-column
label="操作"
width="100"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
@@ -212,12 +248,7 @@
:saveLoading="saveLoading"
show-transfer
@transfer="handleTransfer"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
<Role-tree
@@ -235,6 +266,61 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<Role-tree
check-box
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole2"
:nodeList="nodeList"
></Role-tree>
<el-drawer
title="编辑"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<div class="demo-drawer-content">
<el-form :model="editForm" class="label-input-form" ref="plForm" label-width=150>
<el-form-item label="章节编号" prop="chapterNumber" class="add-form-item" >
<el-select filterable v-model="editForm.chapterNumber" placeholder="请选择条款章节" @change="optionsChange">
<el-option
v-for="(item,index) in options"
:key="index"
:label="item.itemsNum"
:value="item.itemsNum"></el-option>
</el-select>
</el-form-item>
<el-form-item label="章节名称" prop="chapterName" class="add-form-item">
<el-input
v-model="editForm.chapterName"
placeholder="请输入章节名称"
maxlength="500"
disabled
></el-input>
</el-form-item>
<el-form-item label="修改前" prop="oldText" class="add-form-item">
<div v-html="editForm.oldText" style="margin: 56px 0 0 10px;"></div>
</el-form-item>
<el-form-item label="修改后" prop="newText" class="add-form-item" >
<el-input
v-model="editForm.newText"
placeholder="请输入修改后内容"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="修改理由" prop="reason" class="add-form-item" >
<el-input
v-model="editForm.reason"
placeholder="请输入修改理由"
maxlength="500"
></el-input>
</el-form-item>
</el-form>
</div>
<div id="roleFormButton3" 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>
@@ -249,6 +335,18 @@ export default {
name: "bzzqyjStep4",
data() {
return {
acceptShow: false,
idList: [],
options: [],
itemId: '',
modalshowflag2: false,
editForm: {
chapterNumber: '',
chapterName: '',
oldText: '',
newText: '',
reason: '',
},
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
@@ -281,10 +379,12 @@ export default {
textType: '',
modelList: [],
modelNameList: '',
spId: '',
spName: '',
},
formRules: {
responUserList: [
{required: true, message: '请选择责任人', trigger: 'change'},
spId: [
{required: true, message: '请选择审批人', trigger: 'change'},
]
},
json: {}
@@ -296,6 +396,116 @@ export default {
ProcessTitle
},
methods: {
handleSelectionChange(val) {
this.idList = []
val.forEach(item => {
this.idList.push(item.id)
})
},
addDelete() {
if (this.idList.length > 0) {
this.$confirm('删除选中数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
for (let a = 0; a < this.data.length; a++) {
this.idList.forEach(item => {
if (this.data[a].id === item) {
this.data.splice(a, 1)
}
})
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
} else {
this.$message.warning('请选择要删除的数据')
}
},
addModal() {
var id = Number(Math.random().toString().substr(3, 3) + Date.now()).toString(36);
var json = {
chapterNumber: '',
chapterName: '',
commentText: '',
oldText: '',
newText: '',
reason: '',
id: id,
department: this.$store.getters.userInfo.upDeptName,
responUserName: this.$store.getters.userInfo.userName,
}
this.data.push(json)
this.itemId = id
this.editForm = {
chapterNumber: '',
chapterName: '',
oldText: '',
newText: '',
reason: '',
}
this.modalshowflag2 = true
},
getItemList (standId, fileType) { // 查询分解单条款数据
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
standId: standId,
fileType: fileType,
pageSize: 9999,
page: 1
}, {}, res => {
if (res.ok) {
this.options = res.data.list
}
}, e => {
})
},
optionsChange (data) {
for (let a = 0; a < this.options.length; a++) {
if (data === this.options[a].itemsNum) {
this.editForm.chapterName = this.options[a].itemsName
this.editForm.oldText = this.options[a].termsConditions
}
}
},
saveUserInfo2 () {
for( let a = 0; a < this.data.length; a++) {
if (this.data[a].id === this.itemId) {
this.data[a].chapterNumber = this.editForm.chapterNumber
this.data[a].chapterName = this.editForm.chapterName
this.data[a].oldText = this.editForm.oldText
this.data[a].newText = this.editForm.newText
this.data[a].reason = this.editForm.reason
}
}
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
itemEdit (row) {
this.itemId = row.id
this.modalshowflag2 = true
this.editForm = {
chapterNumber: row.chapterNumber,
chapterName: row.chapterName,
oldText: row.oldText,
newText: row.newText,
reason: row.reason,
}
},
checkedRole2(data) {
this.form.spId = data[0].id
this.form.spName = data[0].name
},
choiceZRR(id) {
this.nodeList = []
this.nodeList.push(id)
this.modalshowflag = true;
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -363,42 +573,48 @@ export default {
handleSave() {
},
handleSubmit() {
this.isSubmit = true
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')
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
json.spId = this.form.spId
json.spName = this.form.spName
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')
}
this.isSubmit = false
})
}
this.isSubmit = false
})
},
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('请输入反馈意见')
}
},
// 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('请输入反馈意见')
// }
//
// },
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
@@ -406,6 +622,14 @@ export default {
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
let commitStatus = res.commitStatus
if(commitStatus && commitStatus > 0){
this.acceptShow = true
this.submitShow = false
}else {
this.acceptShow = false
this.submitShow = true
}
this.form.fjList = data.fjList || data.form.fjList
if (data.fjListId === '') {
this.form.fjListId = ''
@@ -418,8 +642,10 @@ export default {
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.spId = data.spId || ''
this.form.spName = data.spName || ''
this.json = data
console.log(data);
this.getItemList(data.standId,this.form.textValue)
this.data = data.info || data.data
}).catch(e => {
})
File diff suppressed because it is too large Load Diff
@@ -52,6 +52,16 @@
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
@@ -62,12 +72,12 @@
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
@click="upload(oldData, '汇总单.xls')"
size="mini">生成汇总单
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '上报意见.xls')"
@click="upload(data, '上报意见.xls')"
size="mini">生成上报意见
</el-button>
</div>
@@ -108,6 +118,9 @@
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
@@ -233,6 +246,15 @@
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -247,6 +269,8 @@ export default {
name: "bzzqyjStep6",
data() {
return {
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
histortData: [],
oldData: [],
@@ -278,6 +302,9 @@ export default {
cname: "", // 名称
fjList: [],
fjListId: '',
textType: '',
modelList: [],
modelNameList: '',
},
formRules: {
responUserList: [
@@ -293,6 +320,13 @@ export default {
ProcessTitle
},
methods: {
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
@@ -355,6 +389,8 @@ export default {
}
},
upload(row, title) {
console.log(row);
return
var params = {
columnName: {
chapterNumber: "章条编号",
@@ -393,7 +429,7 @@ export default {
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.hqFlag = '0';
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
@@ -412,7 +448,7 @@ export default {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.hqFlag = '1';
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
@@ -445,6 +481,7 @@ export default {
this.form.cid = data.cid || data.form.cid;
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
@@ -453,8 +490,10 @@ export default {
}
})
this.json = data
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
@@ -3,7 +3,7 @@
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">审核</template>
<template slot="proNode">部长及对接人审核</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -46,12 +46,22 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex; margin-left: 10px">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
@@ -62,12 +72,12 @@
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
@click="upload(oldData, '汇总单.xls')"
size="mini">生成汇总单
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '上报意见.xls')"
@click="upload(data, '上报意见.xls')"
size="mini">生成上报意见
</el-button>
</div>
@@ -108,6 +118,9 @@
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
@@ -233,6 +246,15 @@
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -247,7 +269,9 @@ export default {
name: "bzzqyjStep7",
data() {
return {
drawerModal: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
histortData: [],
oldData: [],
data: [],
@@ -275,6 +299,9 @@ export default {
cname: '', // 名称
fjList: [],
fjListId: '',
textType: '',
modelList: [],
modelNameList: '',
},
formRules: {
responUserList: [
@@ -290,6 +317,13 @@ export default {
ProcessTitle
},
methods: {
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
@@ -390,7 +424,7 @@ export default {
} else {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.bdFlag = '0'
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
@@ -409,7 +443,7 @@ export default {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.bdFlag = '1'
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
@@ -449,6 +483,9 @@ export default {
arr.push(item)
}
})
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.json = data
this.data = arr
}).catch(e => {
@@ -3,7 +3,7 @@
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">技术管理中心主任审定</template>
<template slot="proNode">技术委员会相关专委会主任/研究总院职能部门领导技术管理中心主任审定</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -46,12 +46,22 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;margin-left: 10px;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
@@ -62,12 +72,12 @@
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
@click="upload(oldData, '汇总单.xls')"
size="mini">生成汇总单
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '上报意见.xls')"
@click="upload(data, '上报意见.xls')"
size="mini">生成上报意见
</el-button>
</div>
@@ -108,6 +118,9 @@
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
@@ -233,6 +246,15 @@
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -247,7 +269,9 @@ export default {
name: "bzzqyjStep8",
data() {
return {
drawerModal: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
histortData: [],
oldData: [],
data: [],
@@ -275,6 +299,9 @@ export default {
cname: '', //
fjList: [],
fjListId: '',
textType: '',
modelList: [],
modelNameList: '',
},
formRules: {
responUserList: [
@@ -290,6 +317,13 @@ export default {
ProcessTitle
},
methods: {
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
@@ -390,7 +424,7 @@ export default {
} else {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.directorFlag = '0'
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
@@ -409,7 +443,7 @@ export default {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.actionFlag = 1
json.directorFlag = '0'
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
@@ -450,8 +484,10 @@ export default {
}
})
this.json = data
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
})
})
@@ -46,12 +46,22 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;margin-left: 10px;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
@@ -62,12 +72,12 @@
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
@click="upload(oldData, '汇总单.xls')"
size="mini">生成汇总单
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '上报意见.xls')"
@click="upload(data, '上报意见.xls')"
size="mini">生成上报意见
</el-button>
</div>
@@ -108,6 +118,9 @@
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
@@ -233,6 +246,15 @@
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -247,6 +269,8 @@ export default {
name: "bzzqyjStep9",
data() {
return {
itermsConditionsFlag: false,
itermsConditionsTitle: '',
drawerModal: false,
histortData: [],
oldData: [],
@@ -275,6 +299,9 @@ export default {
cname: "", //
fjList: [],
fjListId: '',
textType: '',
modelList: [],
modelNameList: '',
},
formRules: {
responUserList: [
@@ -290,6 +317,13 @@ export default {
ProcessTitle
},
methods: {
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
@@ -390,7 +424,7 @@ export default {
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.presidentFlag = '0';
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
@@ -409,7 +443,7 @@ export default {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.presidentFlag = '1';
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
@@ -450,8 +484,10 @@ export default {
}
})
this.json = data
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
@@ -89,7 +89,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessTitle from "process/components/ProcessTitle";
import ProcessFooter from "process/components/ProcessFooter";
import { queryTaskFirst, saveTaskFirst } from "api/process";
import { queryTaskFirst, saveTaskFirst, taskDel } from "api/process";
export default {
name: "cywbbzzxdStep1",
@@ -100,6 +100,7 @@ export default {
},
data() {
return {
bpnId: '',
isSubmit: false,
saveLoading: false,
modalshowflag: false, // drawer
@@ -198,6 +199,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -89,7 +89,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessTitle from "process/components/ProcessTitle";
import ProcessFooter from "process/components/ProcessFooter";
import { queryTaskFirst, saveTaskFirst } from "api/process";
import { queryTaskFirst, saveTaskFirst,taskDel } from "api/process";
export default {
name: "jrbzhxhStep1",
@@ -100,6 +100,7 @@ export default {
},
data() {
return {
bpnId: '',
isSubmit: false,
saveLoading: false,
modalshowflag: false, // drawer
@@ -197,6 +198,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -353,7 +353,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {saveTaskFirst,queryTaskFirst, inboundLiaisonDetail } from "api/process";
import {saveTaskFirst,queryTaskFirst, inboundLiaisonDetail,taskDel } from "api/process";
export default {
name: "qbfsStep1",
@@ -364,6 +364,7 @@ export default {
},
data(){
return {
bpnId: '',
active: '1',
commentText: '',
fileList: [],
@@ -595,6 +596,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message)
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}
@@ -381,7 +381,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {saveTaskFirst,queryTaskFirst, inboundLiaisonDetail } from "api/process";
import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail, taskDel } from "api/process";
export default {
name: "qbfzStep1",
@@ -392,6 +392,7 @@ export default {
},
data(){
return {
bpnId: '',
active: '1',
commentText: '',
fileList: [],
@@ -636,6 +637,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message)
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}
@@ -254,7 +254,7 @@ import rename from "process/creatProcess/qbzxdjhgk/component/rename";
import establish from "process/creatProcess/qbzxdjhgk/component/establish";
import delay from "process/creatProcess/qbzxdjhgk/component/delay";
import cancel from "process/creatProcess/qbzxdjhgk/component/cancel";
import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail } from "api/process";
import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail, taskDel} from "api/process";
export default {
name: "qbzxdjhgkStep1",
@@ -484,6 +484,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.isSubmit = false;
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
}
@@ -0,0 +1,543 @@
<template>
<div class="wfhxzgStep2">
<ProcessHeader toggle>
<template slot="proName">外部署名推荐审批流程</template>
<template slot="proNode">工程研究总院院长/FU/BU/SBU领导审批</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;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
ref="entryTable"
height="90%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="code"
width="180px"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
align="center"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="standSortShow" label="标准类别" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<a>{{ scope.row.standSortShow }}</a>
</template>
</el-table-column>
<el-table-column prop="workPeople" label="推荐署名人及单位" align="center">
</el-table-column>
<el-table-column prop="reason" label="推荐署名原因" align="center">
</el-table-column>
<el-table-column prop="expenses" label="费用" align="center">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</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"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</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-transfer-->
<!-- show-submit-->
<!-- :submitLoading="isSubmit"-->
<!-- :transfer-loading="isTransfer"-->
<!-- :saveLoading="saveLoading"-->
<!-- :approval="true"-->
<!-- @back="beforeBack"-->
<!-- @transfer="handleTransfer"-->
<!-- @submit="handleSubmit"-->
<!-- >-->
<!-- </ProcessFooter>-->
<Role-tree
:is-title="drawerTitle"
check-box
:is-visible.sync="modalshowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedTransferRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { roleTreeData } from "@/api/unqualProcess.js"
import {completeTask, inboundLiaisonDetail, saveinboundTask, saveTaskForPub, changeAssigneeNew} from "@/api/process.js"
export default {
name: "wbsmStep1-5",
data() {
return {
passInfo: 0,
detailData: [],
loading: false,
commentText: '', //
title: '', //
isTransfer: false,
ListModel: false, //
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
userId: this.$route.query.taskAssignee,
nonSearch: {
standSerialNumber: '',
standId: '', // /
productName: '', //
responsibleUnit: '' //
},
active: '1', //
isSubmit: false,
saveLoading: false,
turnLoading: false,
drawerModal: false,
dataList: [],
endDataList: [],
lastDataList: [],
//
multipleSelection: [],
//
pageNo: 1,
total: 0,
myLoading: false,
//
zNodesSItem: [],
clearSelection: false,
nodeList: [],
drawerTitle: '', //drawer
modalshowflag: false, // drawer
roleForm: {
dutyUserInfo: [],
dutyUserInfoName: [],
dutyPeopleInfo: '',
dutyPeople: ''
},
rowDutyPeople: {},
props: { label: 'name', children: 'children', value: 'id', multiple: true, disabled: false },
dutyUserCaseData: [],
roleFormRules: {},
treeData: [], //
defaultProps: {
children: 'children',
label: 'name'
},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
created() {
this.processTable();
this.getData();
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
watch: {
nonSearch(val) {
this.nonSearch = val
}
},
methods: {
//
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
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 => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.dataList = item.dataList
this.roleForm = item.roleForm
});
},
//
dutyEngineerList(id) {
if (this.multipleSelection.length === 0) {
this.$message.warning("请选择至少一条数据进行分发责任人");
} else {
this.nodeList = []
this.nodeList.push(id)
this.modalshowflag = true
}
},
//
clickOpen(val, id) {
this.$refs.multipleTable.clearSelection()
this.rowDutyPeople = val
this.nodeList = []
this.nodeList.push(id)
this.modalshowflag = true
},
//
handleSelectionChange(value) {
this.multipleSelection = value
},
handleTabs(name) {
this.active = name
},
//
handleTurnTo() {
this.modalshowflag = true
this.drawerTitle = '转办处理人'
},
//
handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
// roleForm: this.roleForm,
standardInfoList: this.dataList,
commentText: this.commentText
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
//
handleSubmit() {
this.isSubmit = true
let son = {
yzFlag: '1',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
var json = JSON.stringify(son)
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");
}
this.isSubmit = false
}, e => {
});
},
//
beforeBack(){
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
let son = {
yzFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
var json = JSON.stringify(son)
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 => {
});
}
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
drawerCheck (data) {
if (this.drawerTitle === '转办处理人') {
this.turnLoading = true
changeAssigneeNew({
taskId: this.taskIds, // id
assignee: data[0].id, //
userId: this.userId, //
pId: this.pId //
}).then(res =>{
if (res.success) {
this.turnLoading = false
this.$message.success('调整成功')
this.$router.push("/processCenter")
} else {
this.$message.warning(res.message)
}
})
} else {
this.roleRow = data[0]
//
if (this.multipleSelection.length === 0) {
this.rowDutyPeople.dutyPeopleInfo = this.roleRow.name
this.rowDutyPeople.dutyPeopleInfoId = this.roleRow.id
}else {
this.multipleSelection.forEach(item => {
item.dutyPeopleInfo = this.roleRow.name
item.dutyPeopleInfoId = this.roleRow.id
})
this.$refs.multipleTable.clearSelection()
}
this.lastDataList = this.dataList
//
// this.roleForm.dutyUserInfoName = this.roleRow.name
}
this.modalshowflag = false
},
//
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
// pageType: 'FOREIGN_STAND'
pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
//
clearAllSearch () {
this.nonSearch = {
standId: '',
standSerialNumber: '',
productName: '',
responsibleUnit: ''
}
this.getData()
},
//
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.wfhxzgStep2 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
}
}
</style>
@@ -61,8 +61,12 @@
<el-table-column prop="workPeople" label="推荐署名人及单位" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.workPeopleId" style="display: none;" readonly/>
<el-input v-model="scope.row.workPeople" placeholder="请选择推荐署名人及单位"
<el-input v-model="scope.row.workPeopleId" style="display: none;" clearable readonly/>
<el-tooltip v-if="scope.row.workPeople" class="item" :content="scope.row.workPeople" placement="top">
<el-input v-model="scope.row.workPeople" clearable placeholder="请选择推荐署名人及单位"
@click.native="choiceZRRS(scope.row, scope.$index)" readonly/>
</el-tooltip>
<el-input v-else v-model="scope.row.workPeople" clearable placeholder="请选择推荐署名人及单位"
@click.native="choiceZRRS(scope.row, scope.$index)" readonly/>
</template>
</el-table-column>
@@ -282,18 +286,12 @@
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? $moment(scope.row.XCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? $moment(scope.row.ZCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -336,6 +334,13 @@
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<!-- 多选责任人-->
<Role-tree
is-title="选择署名人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
</div>
</template>
@@ -343,11 +348,12 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst, inboundLiaisonDetail } from "@/api/process.js";
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst, inboundLiaisonDetail,taskDel } from "@/api/process.js";
export default {
name: "wbsmStep1",
data() {
return {
bpnId: '',
commentText: '', //
active: '1', //
isSubmit: false,
@@ -357,9 +363,11 @@ export default {
deleteDataList: [],
drawerTitle: "", //drawer
modalshowflag: false, // drawer
modalshowflag2: false,
standModel: false, //
zrIndex: "",
nodeList: [], //
nodeList2: [],
standOptions: [], //
standardData:[],
pageNo: 1,
@@ -519,18 +527,27 @@ export default {
this.$set(this.textStatusMap, item.value, item.label);
});
},
//
handlePreview (item) {
// //
// handlePreview (item) {
// let routeUrl = this.$router.resolve({
// name: 'OtherStandardDetails',
// params: {
// id: item.standId,
// pageType: item.standType + '_STAND'
// }
// })
// window.open(routeUrl.href, '_blank')
// },
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
name: "OtherStandardDetails",
params: {
id: item.standId,
pageType: item.standType + '_STAND'
id: item.id,
pageType: "INLAND_STAND"
}
})
window.open(routeUrl.href, '_blank')
});
window.open(routeUrl.href, "_blank");
},
handleTabs(name) {
this.active = name
},
@@ -539,11 +556,14 @@ export default {
this.standList = data;
},
choiceZRRS(row, index) {
this.drawerTitle = "选择责任人";
this.nodeList = [];
this.nodeList2 = [];
this.zrIndex = index;
this.nodeList.push(row);
this.modalshowflag = true;
if(row.workPeopleId){
this.nodeList2 = row.workPeopleId.split(",");
}else{
this.nodeList2.push(row);
}
this.modalshowflag2 = true;
},
typeChange(type) {
this.standardSearch.standType = type;
@@ -603,7 +623,7 @@ export default {
},
//
getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1", {
standType: this.standardSearch.standType,
standNumber: this.standardSearch.standNumber,
page: this.pageNo,
@@ -613,13 +633,8 @@ export default {
}, res => {
this.standardData = res.data.list;
this.standardData.forEach(item => {
if (item.attrInfoMap === null) {
this.$set(item, "ZCCSSRQ", '');
this.$set(item, "XCXSSRQ", '');
} else {
this.$set(item, "ZCCSSRQ", item.attrInfoMap.ZCCSSRQ);
this.$set(item, "XCXSSRQ", item.attrInfoMap.XCXSSRQ);
}
this.$set(item, "ZCCSSRQ", item.zccssrq);
this.$set(item, "XCXSSRQ", item.xcxssrq);
})
this.totalNo = res.data.count;
}, e => {
@@ -678,6 +693,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -748,14 +771,25 @@ export default {
}else if(this.type === 'president'){
this.roleForm.president = data[0].id;
this.roleForm.presidentName = data[0].name;
}else{
const newRow = JSON.parse(JSON.stringify(this.dataList[this.zrIndex]));
newRow.workPeopleId = data[0].id;
newRow.workPeople = data[0].name + '(' + data[0].institutionName + ')';
this.$set(this.dataList, this.zrIndex, newRow);
}
this.modalshowflag = false;
},
checkedRole2(data){
let idList = "";
let nameList = "";
data.forEach(item => {
if (nameList.length) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name + '(' + item.institutionName + ')';
});
const newRow = JSON.parse(JSON.stringify(this.dataList[this.zrIndex]));
newRow.workPeopleId = idList
newRow.workPeople = nameList
this.$set(this.dataList, this.zrIndex, newRow);
},
}
}
</script>
@@ -60,7 +60,7 @@
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -388,26 +388,30 @@ export default {
},
//
beforeBack(){
let son = {
signFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
var json = JSON.stringify(son)
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");
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
let son = {
signFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
}, e => {
});
var json = JSON.stringify(son)
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 => {
});
}
},
//
handleTransfer(){
@@ -60,7 +60,7 @@
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -388,26 +388,30 @@ export default {
},
//
beforeBack(){
let son = {
signFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
var json = JSON.stringify(son)
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");
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
let son = {
signFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
}, e => {
});
var json = JSON.stringify(son)
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 => {
});
}
},
//
handleTransfer(){
@@ -60,7 +60,7 @@
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -388,26 +388,30 @@ export default {
},
//
beforeBack(){
let son = {
signFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
var json = JSON.stringify(son)
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");
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
let son = {
signFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
}, e => {
});
var json = JSON.stringify(son)
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 => {
});
}
},
//
handleTransfer(){
@@ -388,26 +388,30 @@ export default {
},
//
beforeBack(){
let son = {
yzFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
var json = JSON.stringify(son)
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");
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
let son = {
yzFlag: '2',
commentText: this.commentText,
dataList: this.dataList,
roleForm: this.roleForm
}
}, e => {
});
var json = JSON.stringify(son)
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 => {
});
}
},
//
handleTransfer(){
@@ -265,7 +265,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst } from '@/api/process.js'
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst, taskDel } from '@/api/process.js'
import { standUnqualified, dicTypeData } from '@/api/unqualProcess.js'
export default {
name: "wfhxzgStep1",
@@ -314,6 +314,7 @@ export default {
label: 'name'
},
taskID: '',
bpnId: '',
}
},
components: {
@@ -516,6 +517,14 @@ export default {
completeTask(params).then(res => {
if(res.success === true) {
this.$message.success('提交成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -507,7 +507,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { saveTaskFirst, queryTaskFirst } from "api/process";
import { saveTaskFirst, queryTaskFirst, taskDel } from "api/process";
export default {
name: "xmpgStep1-1",
@@ -518,6 +518,7 @@ export default {
},
data() {
return {
bpnId: '',
//truefalse
foldFormFlag: false,
//
@@ -886,6 +887,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -1062,6 +1071,7 @@ export default {
// }
},
mounted() {
this.bpnId = this.$route.query.bpnId
//
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this
@@ -565,6 +565,9 @@ export default {
},
//
beforeBack () {
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
this.listForm.applyUpdUserId = this.dataList[0].distributePersonId
this.listForm.commentText = this.commentText;
this.listForm.dataList = this.dataList
@@ -583,6 +586,7 @@ export default {
}
}, e => {
});
}
},
//
handleSubmit() {
@@ -561,7 +561,8 @@ export default {
})
},
//
beforeBack () { if(this.commentText === null || this.commentText === undefined || this.commentText === ''){
beforeBack () {
if(!this.commentText){
this.$message.warning('请填写审批意见')
} else {
this.listForm.fenFlag = '2'
@@ -560,7 +560,7 @@ export default {
//
beforeBack () {
if(this.commentText === null || this.commentText === undefined || this.commentText === ''){
if(!this.commentText){
this.$message.warning('请填写审批意见')
} else {
this.listForm.fenFlag = '2'
@@ -336,7 +336,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { saveTaskFirst, queryTaskFirst } from "api/process";
import { saveTaskFirst, queryTaskFirst,taskDel } from "api/process";
export default {
name: "xmpg2Step1-1",
@@ -625,6 +625,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -663,6 +671,7 @@ export default {
}
},
mounted() {
this.bpnId = this.$route.query.bpnId
//
this.$http.get('lawss/sarStandAttrDetails/getListData',{},{
_this: this
@@ -444,10 +444,9 @@ export default {
},
//
handleSubmit() {
this.peopleFlag = true;
this.listForm.dataList.forEach(item => {
if (item.liablePeople !== undefined) {
this.peopleFlag = true;
} else {
if (!item.liablePeople) {
this.peopleFlag = false;
}
});
@@ -380,7 +380,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { queryTaskFirst, saveTaskFirst} from "api/process";
import { queryTaskFirst, saveTaskFirst,taskDel} from "api/process";
export default {
name: "xmqdqrStep1-1",
@@ -391,6 +391,7 @@ export default {
},
data() {
return {
bpnId: '',
active: "1", //
commentText: "",
modalshowflag: false,
@@ -667,6 +668,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -706,6 +715,7 @@ export default {
}
},
mounted() {
this.bpnId = this.$route.query.bpnId
this.getData();
//
this.$http.get("sys/dictype/getDicTypeListCode", "", {
@@ -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>
@@ -264,7 +264,10 @@ export default {
}else if(prcType === '10'){
//
this.toProcessDetail('xmqdqrStep1-3',row)
} else if(prcType === '20') {
} else if(prcType === '16'){
//
this.toProcessDetail('wbsmStep1-5',row)
}else if(prcType === '20') {
//
this.toProcessDetail('bzrhStep6-1',row)
} else if(prcType === '21') {
@@ -614,9 +614,9 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总填写处理意见') {
} else if (row.taskInfo === '审批人审批') {
this.$router.push({
name: 'bzzqyjStep5',
name: 'bzzqyjStep4-1',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -625,7 +625,29 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人会签') {
} else if (row.taskInfo === '标准法规工程师分线审核') {
this.$router.push({
name: 'bzzqyjStep4-2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总') {
this.$router.push({
name: 'bzzqyjStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人会签') {
this.$router.push({
name: 'bzzqyjStep6',
query: {
@@ -647,7 +669,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo.indexOf('技术委员会相关专委会主任') == 0 ) {
} else if (row.taskInfo === '技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定' ) {
this.$router.push({
name: 'bzzqyjStep8',
query: {
@@ -658,7 +680,7 @@ export default {
prcType: row.prcType
}
})
} else {
} else if (row.taskInfo === '工程研究总院院长批准') {
this.$router.push({
name: 'bzzqyjStep9',
query: {
@@ -140,9 +140,7 @@
v-if="showInfoModal"
>
<el-form-item
label="标准编号/政策编号"
prop="lawCode"
class="add-form-item"
v-show="false"
>
<el-input
v-show="false"
@@ -152,6 +150,12 @@
v-show="false"
v-model.trim="attributeEO.lawId"
/>
</el-form-item>
<el-form-item
label="标准编号/政策编号"
prop="lawCode"
class="add-form-item"
>
<el-input
style="width: 45%"
v-model.trim="attributeEO.lawCode"
@@ -199,7 +203,9 @@
>
<el-date-picker
v-model="attributeEO.implTime"
type="date"
value-format="yyyy-MM-dd"
type="dates"
prefix-icon="none"
placeholder="请选择实施时间">
</el-date-picker>
</el-form-item>
@@ -720,8 +726,8 @@
@pageChange="handleSelectPageChange"
@pageSizeChange="handleSelectPageSizeChange"></pagination>
<div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" round icon="el-icon-close" @click="selectModal = false">取消</el-button>
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="handleSelectConfirm" v-show="lawInfoTableLoading === false">确定</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="handleSelectConfirm" v-show="lawInfoTableLoading === false">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="selectModal = false">取消</el-button>
</div>
</div>
</el-drawer>
@@ -769,10 +775,10 @@ export default {
addOrEdit: '',
attributeEOFormRules: {
lawCode: [
{ required: true, message: '标准编号/政策编号不能为空', trigger: 'blur' },
{ required: true, message: '标准编号/政策编号不能为空', trigger: 'change' },
],
lawName: [
{ required: true, message: '标准名称/政策名称不能为空', trigger: 'blur' },
{ required: true, message: '标准名称/政策名称不能为空', trigger: 'change' },
],
productType: [
{ required: true, message: '产品类型不能为空', trigger: 'change' }
@@ -891,7 +897,6 @@ export default {
},
//
handlePreview(item) {
console.log('539',item)
if (item.standType === "INLAND"){
let routeUrlINLAND = this.$router.resolve({
name: 'OtherStandardDetails',
@@ -962,14 +967,12 @@ export default {
this.$message.warning('请选择一条数据')
}
else {
console.log('619',this.handleSelectForm.dataSource)
this.attributeEO.dataSource = this.handleSelectForm.dataSource
this.attributeEO.lawId = this.handleSelectTableList[0].id
this.attributeEO.lawCode =this.handleSelectTableList[0].standCode || this.handleSelectTableList[0].lawsNumber || this.handleSelectTableList[0].standSort+" "+this.handleSelectTableList[0].standNumber+"-"+this.handleSelectTableList[0].standYear
this.attributeEO.lawName = this.handleSelectTableList[0].standName || this.handleSelectTableList[0].lawsName
this.selectModal = false
}
console.log('确定',this.handleSelectTableList)
},
//
clearLawBtn(){
@@ -990,12 +993,10 @@ export default {
//
searchLawBtn(){
this.lawInfoTableLoading = true
console.log('533',this.handleSelectForm.dataSource)
if (this.handleSelectForm.dataSource === 'INLAND'){
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',this.handleSelectForm,{
_this: this
},res=>{
console.log('国内标准库数据',res)
if (res.ok){
this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
@@ -1013,12 +1014,10 @@ export default {
this.lawInfoTable = []
this.handleSelectForm.total = 0
})
console.log('国内标准库')
}else if(this.handleSelectForm.dataSource === 'FOREIGN'){
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',this.handleSelectForm,{
_this: this
},res=>{
console.log('海外标准库数据',res)
if (res.ok){
this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
@@ -1036,12 +1035,10 @@ export default {
this.lawInfoTable = []
this.handleSelectForm.total = 0
})
console.log('海外标准库')
}else if(this.handleSelectForm.dataSource === 'FOREIGN_LAWS'){
this.$http.get('lawss/sarLawsInfo/page',this.handleSelectForm,{
_this: this
},res=>{
console.log('国内外政策库数据',res)
if (res.ok){
this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
@@ -1059,12 +1056,10 @@ export default {
this.lawInfoTable = []
this.handleSelectForm.total = 0
})
console.log('国内外政策库')
}else if(this.handleSelectForm.dataSource === 'BUSINESS_STAND'){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',this.handleSelectForm,{
_this: this
},res=>{
console.log('企业标准库数据',res)
if (res.ok){
this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
@@ -1082,7 +1077,6 @@ export default {
this.lawInfoTable = []
this.handleSelectForm.total = 0
})
console.log('企业标准库')
}else {
this.$message.warning('请先选择标准/政策来源')
}
@@ -1090,19 +1084,16 @@ export default {
handleSelectPageChange(page){
this.lawInfoTableLoading = true
this.handleSelectForm.page = page
console.log(this.handleSelectForm.page)
this.searchLawBtn()
},
handleSelectPageSizeChange(pageSize){
this.lawInfoTableLoading = true
this.handleSelectForm.pageSize = pageSize
console.log(this.handleSelectForm.pageSize)
this.searchLawBtn()
},
// table
handleSelectTableChange (row) {
this.handleSelectTableList = row
console.log('我选的',this.handleSelectTableList)
},
//
handleSelect() {
@@ -1116,6 +1107,7 @@ export default {
this.$refs['attributeEO'].validate((valid) => {
if (valid) {
if (this.addOrEdit === 'add') {
this.attributeEO.implTime = this.attributeEO.implTime.join(',')
this.submitLoading = true
this.$http.putData(
'sarIssueTrack/issueTrack',
@@ -1138,6 +1130,9 @@ export default {
}
)
} else {
if (typeof (this.attributeEO.implTime) === 'object'){
this.attributeEO.implTime = this.attributeEO.implTime.join(',')
}
this.$http.postData(
'sarIssueTrack/issueTrack',
this.attributeEO,
@@ -1213,6 +1208,7 @@ export default {
this.attributeTitle = '编辑'
this.getDictionarySelList(null)
this.attributeEO = JSON.parse(JSON.stringify(row))
this.attributeEO.implTime = row.implTime.split(',')
this.showInfoModal = true
}
},
@@ -1263,14 +1259,12 @@ export default {
});
}).catch(() => {
//
// console.log(this.selectedList)
// this.selectedList = [];
})
}
},
//
handleCommand (command) {
console.log('536',command)
switch (command[1]) {
case '编辑':
this.showAddModel(2, command[0])
@@ -1287,7 +1281,6 @@ export default {
},
//
searchSarAccess (advanceSearch) {
console.log('准备开始分页查询')
this.tableLoading = true
this.$http.get("sarIssueTrack/issueTrack", {
current: this.sarSarAccessEOSearch.page,
@@ -1298,13 +1291,11 @@ export default {
_this: this
}, res => {
let arr = res.data;
console.log('分页查询中',arr)
this.sarAccessListDatas = arr.records
this.sarAccessListTotal = res.data.total
this.tableLoading = false
}, e => {
});
console.log('分页查询完毕')
},
pageChange (page) {
this.sarSarAccessEOSearch.page = page
@@ -1362,7 +1353,6 @@ export default {
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
console.log(res.data.WBZTCLASS)
this.setMap(res.data.WBZTCLASS)
}, e => {
})
@@ -418,7 +418,8 @@ export default {
dialogColor: false,
dialogType: "",
color: "",
isShow: false
isShow: false,
countryAreaShow: ''
};
},
methods: {
@@ -654,11 +655,18 @@ export default {
},
//
handlePreview(data) {
let item = {
country: this.countryAreaShow,
ssrq: data.ssrq,
xcxssrqgj: data.xcxssrqgj,
zccssrqgj: data.zccssrqgj
}
sessionStorage.setItem("accessCountry", JSON.stringify(item));
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: data.id,
pageType: data.standType
pageType: data.standType,
}
});
window.open(routeUrl.href, "_blank");
@@ -773,6 +781,7 @@ export default {
let accessRow = JSON.parse(sessionStorage.getItem("accessRow"));
this.pageId = accessRow.id;
this.sarAccessEO = accessRow;
this.countryAreaShow = accessRow.countryAreaShow
this.selectInfobyAccid();
this.getOrgTreeSource();
this.getFileInfo();
@@ -90,6 +90,9 @@
align="center"
label="修改前"
>
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.partCode.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
</template>
</el-table-column>
<el-table-column
prop="newText"
@@ -114,7 +117,7 @@
<el-table-column
prop="userName"
align="center"
width="10 0"
width="100"
label="提出人"
>
</el-table-column>
@@ -155,10 +158,16 @@
<div class="search-area">
<el-form style="width: 100%;" :model="opinionContent" ref="formAdd" :rules="opinionContentRules" class="label-input-form">
<el-form-item label="章节编号" label-width="" prop="partCode" class="add-form-item">
<el-input v-model="opinionContent.partCode" autocomplete="off" placeholder="请输入章节编号"></el-input>
<el-select filterable v-model="opinionContent.partCode" placeholder="请选择条款章节" @change="optionsChange">
<el-option
v-for="(item,index) in options"
:key="index"
:label="item.itemsNum"
:value="item.itemsNum"></el-option>
</el-select>
</el-form-item>
<el-form-item label="修改前" prop="oldText" label-width="" class="add-form-item">
<el-input v-model="opinionContent.oldText" autocomplete="off" placeholder="请输入"></el-input>
<div v-html="opinionContent.oldText" style="margin: 56px 0 0 10px;"></div>
</el-form-item>
<el-form-item label="修改后" prop="newText" label-width="" class="add-form-item">
<el-input v-model="opinionContent.newText" autocomplete="off" placeholder="请输入"></el-input>
@@ -177,6 +186,15 @@
</div>
</el-drawer>
<loading :loading="spinShow">数据加载中</loading>
<el-dialog
title="查看修改前内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -185,6 +203,9 @@ export default {
name: 'consultationDetails',
data() {
return {
itermsConditionsFlag: false,
itermsConditionsTitle: '',
options: [],
fileInfoList: [],
itemData: this.$route.query.item,
id: '', // id
@@ -228,6 +249,20 @@ export default {
}
},
methods: {
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
optionsChange (data) {
for (let a = 0; a < this.options.length; a++) {
if (data === this.options[a].itemsNum) {
this.opinionContent.oldText = this.options[a].termsConditions
}
}
},
downloadFile (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
},
@@ -396,6 +431,18 @@ export default {
}
},
mounted() {
let json = JSON.parse(this.$route.query.item.files)[0]
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
standId: json.standId,
fileType: json.standFileClassify,
pageSize: 9999,
page: 1
}, {}, res => {
if (res.ok) {
this.options = res.data.list
}
}, e => {
})
this.getList()
this.getIdeaKey()
this.getFileInfo()
@@ -535,7 +582,8 @@ export default {
.add-demo {
.search-area {
height: 100%;
height: calc(~'100% - 55px');
overflow: auto;
}
::v-deep .el-textarea__inner {
@@ -1047,7 +1047,7 @@
if (this.pType === '选择联络人') {
this.addForm.wgNetInfos[this.pIndex].name = data[0].name
this.addForm.wgNetInfos[this.pIndex].netId = data[0].id
this.addForm.wgNetInfos[this.pIndex].unit = data[0].positionName
this.addForm.wgNetInfos[this.pIndex].unit = data[0].unit
this.addForm.wgNetInfos[this.pIndex].phone = data[0].phone
this.addForm.wgNetInfos[this.pIndex].email = data[0].email
} else if (this.pType === '选择我司人员') {
@@ -1057,7 +1057,7 @@
this.addForm.wgDepts[this.pIndex].email = data[0].email
this.addForm.wgDepts[this.pIndex].deptId = data[0].institutionId
this.addForm.wgDepts[this.pIndex].deptName = data[0].institutionName
this.addForm.wgDepts[this.pIndex].unit = data[0].positionId
this.addForm.wgDepts[this.pIndex].unit = data[0].unit
this.addForm.wgDepts[this.pIndex].unitName = data[0].positionName
}
},
+57
View File
@@ -1129,6 +1129,24 @@ const routes = [
title: '标准征求意见流程'
}
},
{
path: '/bzzqyjStep4-1',
name: 'bzzqyjStep4-1',
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step4-1.vue'),
meta: {
requireAuth: true,
title: '标准征求意见流程'
}
},
{
path: '/bzzqyjStep4-2',
name: 'bzzqyjStep4-2',
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step4-2.vue'),
meta: {
requireAuth: true,
title: '标准征求意见流程'
}
},
{
path: '/bzzqyjStep5',
name: 'bzzqyjStep5',
@@ -1493,6 +1511,15 @@ const routes = [
title: '外部署名推荐审批流程'
}
},
{
path: '/wbsmStep1-5',
name: 'wbsmStep1-5',
component: () => import('@/pages/processCenter/pages/creatProcess/wbsm/step1-5.vue'),
meta: {
requireAuth: true,
title: '外部署名推荐审批流程'
}
},
{
path: '/cywbbzzxdStep1',
name: 'cywbbzzxdStep1',
@@ -2104,6 +2131,36 @@ const routes = [
title: '加入标准化协会信息提报流程'
}
},
{
path: '/phoneWbsmStep3',
name: 'phoneWbsmStep3',
component: () => import('@/pages/processCenter/pages/phone/wbsm/step3.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部署名推荐审批流程'
}
},
{
path: '/phoneWbsmStep4',
name: 'phoneWbsmStep4',
component: () => import('@/pages/processCenter/pages/phone/wbsm/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部署名推荐审批流程'
}
},
{
path: '/phoneWbsmStep5',
name: 'phoneWbsmStep5',
component: () => import('@/pages/processCenter/pages/phone/wbsm/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部署名推荐审批流程'
}
},
{
path: '/phoneWfhxStep5',
name: 'phoneWfhxStep5',