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

This commit is contained in:
Superman_Main
2021-12-03 17:28:44 +08:00
88 changed files with 10859 additions and 4735 deletions
+88 -17
View File
@@ -3596,23 +3596,6 @@
"upath": "^1.1.1" "upath": "^1.1.1"
} }
}, },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"commander": { "commander": {
"version": "2.20.3", "version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -13784,6 +13767,94 @@
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz",
"integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q==" "integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q=="
}, },
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/download/vue-loader-16.8.3.tgz",
"integrity": "sha1-1D5nXe9bqTRdbH8FkUwT2GGZcIc=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995651629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz",
"integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true,
"optional": true
},
"hash-sum": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
"integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz?cache=0&sync_timestamp=1636687952028&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.2.tgz",
"integrity": "sha1-1uO0+4GHByGuTghoqxHdY4NowSk=",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-router": { "vue-router": {
"version": "3.4.0", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.0.tgz", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.0.tgz",
+6 -4
View File
@@ -1,6 +1,8 @@
<!DOCTYPE html> <!DOCTYPE html>
<html style="height: 100%"> <html style="height: 100%">
<head id="vue"> <head id="vue">
<meta charset="utf-8" http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" <meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui"/> content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui"/>
@@ -8,7 +10,7 @@
<meta name="mobile-web-app-capable" content="yes"/> <meta name="mobile-web-app-capable" content="yes"/>
<title>在线编辑</title> <title>在线编辑</title>
<!-- 此处配置onlyOffice地址 --> <!-- 此处配置onlyOffice地址 -->
<script type="text/javascript" src="http://127.0.0.1:9011/web-apps/apps/api/documents/api.js"></script> <script type="text/javascript" src="https://10.100.5.116:9443/web-apps/apps/api/documents/api.js"></script>
<!-- <script src="js/vue.min.js"></script>--> <!-- <script src="js/vue.min.js"></script>-->
<!-- <script type="text/javascript" src="http://172.20.10.5/web-apps/apps/api/documents/api.js"></script>--> <!-- <script type="text/javascript" src="http://172.20.10.5/web-apps/apps/api/documents/api.js"></script>-->
@@ -36,7 +38,7 @@
var filePath = GetQueryValue('filePath') var filePath = GetQueryValue('filePath')
var fileName = GetQueryValue('fileName') var fileName = GetQueryValue('fileName')
var fileUrl = GetQueryValue('fileUrl') var fileUrl = GetQueryValue('fileUrl')
var standNo = GetQueryValue('standNo') var oldFileName = GetQueryValue('oldFileName')
var key = GetQueryValue('key') var key = GetQueryValue('key')
// var attId = GetQueryValue('attId') // var attId = GetQueryValue('attId')
var fileSuffix = GetQueryValue('fileType') var fileSuffix = GetQueryValue('fileType')
@@ -100,7 +102,7 @@
"download":true,//是否可以下载 "download":true,//是否可以下载
"print":true //是否可以打印 "print":true //是否可以打印
}, },
"fileType": 'pptx', "fileType": fileSuffix,
"key": key, "key": key,
"title": oldFileName, "title": oldFileName,
"url": fileUrl "url": fileUrl
@@ -108,7 +110,7 @@
"documentType": documentType, // 文档类word-text、表格类excel-spreadsheet、ppt类-presentation "documentType": documentType, // 文档类word-text、表格类excel-spreadsheet、ppt类-presentation
"editorConfig": { "editorConfig": {
// 此处配置回调地址 // 此处配置回调地址
"callbackUrl": `127.0.0.1:8080/api/att/attFile/recieveFile?fileNm=${fileName}&standNo=${filePath}`, "callbackUrl": `http://10.100.5.116:4202/api/att/attFile/recieveFile?fileNm=${fileName}&standNo=${filePath}`,
"mode":"edit", "mode":"edit",
"lang":"zh-CN", "lang":"zh-CN",
// "customization": { // "customization": {
+5 -4
View File
@@ -1,6 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html style="height: 100%"> <html style="height: 100%">
<head id="vue"> <head id="vue">
<meta charset="utf-8" http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" <meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui"/> content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui"/>
@@ -8,7 +9,7 @@
<meta name="mobile-web-app-capable" content="yes"/> <meta name="mobile-web-app-capable" content="yes"/>
<title>在线预览</title> <title>在线预览</title>
<!-- 此处配置onlyOffice地址 --> <!-- 此处配置onlyOffice地址 -->
<script type="text/javascript" src="http://127.0.0.1:9011/web-apps/apps/api/documents/api.js"></script> <script type="text/javascript" src="https://10.100.5.116:9443/web-apps/apps/api/documents/api.js"></script>
<!-- <script type="text/javascript" src="http://172.20.10.5/web-apps/apps/api/documents/api.js"></script>--> <!-- <script type="text/javascript" src="http://172.20.10.5/web-apps/apps/api/documents/api.js"></script>-->
@@ -34,7 +35,7 @@
var fileName = GetQueryValue('fileName') var fileName = GetQueryValue('fileName')
var filePath = GetQueryValue('filePath') var filePath = GetQueryValue('filePath')
var fileUrl = GetQueryValue('fileUrl') var fileUrl = GetQueryValue('fileUrl')
var standNo = GetQueryValue('standNo') var oldFileName = GetQueryValue('oldFileName')
var key = GetQueryValue('key') var key = GetQueryValue('key')
// var attId = GetQueryValue('attId') // var attId = GetQueryValue('attId')
var fileSuffix = GetQueryValue('fileType') var fileSuffix = GetQueryValue('fileType')
@@ -100,13 +101,13 @@
}, },
"fileType": fileSuffix, "fileType": fileSuffix,
"key": key, "key": key,
"title": fileName, "title": oldFileName,
"url": fileUrl "url": fileUrl
}, },
"documentType": documentType, "documentType": documentType,
"editorConfig": { "editorConfig": {
// 此处配置回调地址 // 此处配置回调地址
"callbackUrl": `127.0.0.1:8080/api/att/attFile/recieveFile?fileNm=${fileName}&standNo=${filePath}`, "callbackUrl": `http://10.100.5.116:4202/api/att/attFile/recieveFile?fileNm=${fileName}&standNo=${filePath}`,
"mode":"edit", "mode":"edit",
"lang":"zh-CN", "lang":"zh-CN",
// "customization": { // "customization": {
+5 -5
View File
@@ -6649,13 +6649,13 @@ var PDFPageView = function () {
watermark_txt: msg, watermark_txt: msg,
watermark_x: 50,//水印起始位置x轴坐标 watermark_x: 50,//水印起始位置x轴坐标
watermark_y: 0,//水印起始位置Y轴坐标 watermark_y: 0,//水印起始位置Y轴坐标
watermark_rows: 7,//水印行数 watermark_rows: 15,//水印行数
watermark_cols: 5,//水印列数 watermark_cols: 7,//水印列数
watermark_x_space: 80,//水印x轴间隔 watermark_x_space: 18,//水印x轴间隔
watermark_y_space: 120,//水印y轴间隔 watermark_y_space: 20,//水印y轴间隔
watermark_color: 'rgba(192, 192, 192)',//水印字体颜色 watermark_color: 'rgba(192, 192, 192)',//水印字体颜色
watermark_alpha: 0.3,//水印透明度 watermark_alpha: 0.3,//水印透明度
watermark_fontsize: '30px',//水印字体大小 watermark_fontsize: '40px',//水印字体大小
watermark_font: '微软雅黑',//水印字体 watermark_font: '微软雅黑',//水印字体
watermark_width: 120,//水印宽度 watermark_width: 120,//水印宽度
watermark_height: 80,//水印长度 watermark_height: 80,//水印长度
@@ -96,7 +96,6 @@
#upload .placeholder .webuploader-pick { #upload .placeholder .webuploader-pick {
font-size: 18px; font-size: 18px;
background: #00b7ee; background: #00b7ee;
3px;
line-height: 44px; line-height: 44px;
padding: 0 30px; padding: 0 30px;
*width: 120px; *width: 120px;
@@ -198,7 +197,6 @@
overflow: hidden; overflow: hidden;
z-index: 50; z-index: 50;
margin: 0; margin: 0;
0;
background: none; background: none;
-webkit-box-shadow: 0 0 0; -webkit-box-shadow: 0 0 0;
} }
@@ -317,7 +315,6 @@
height: 113px; height: 113px;
background: url(./images/image.png) no-repeat center 12px; background: url(./images/image.png) no-repeat center 12px;
border: 1px solid #eeeeee; border: 1px solid #eeeeee;
0;
} }
#upload .filelist li.filePickerBlock div.webuploader-pick { #upload .filelist li.filePickerBlock div.webuploader-pick {
width: 100%; width: 100%;
@@ -447,7 +444,6 @@
color: #565656; color: #565656;
padding: 0 18px; padding: 0 18px;
display: inline-block; display: inline-block;
3px;
margin-left: 10px; margin-left: 10px;
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 14px;
+10
View File
@@ -0,0 +1,10 @@
import axios from "@/common/axiosV2";
export function getImg (data) {
return axios({
url: 'api/sarUrl/tsUrl/getIconImg',
method: 'get',
params: data,
responseType: 'arraybuffer'
})
}
+2
View File
@@ -1,6 +1,8 @@
/*liuyan 全局公共样式*/ /*liuyan 全局公共样式*/
@import './style'; @import './style';
@import './mixins'; @import './mixins';
// 移动端公共样式
@import './phone';
// 左侧菜单样式 // 左侧菜单样式
@import './navMenu'; @import './navMenu';
// tree组件父组件内样式 // tree组件父组件内样式
+9
View File
@@ -0,0 +1,9 @@
.phoneBox {
width: 100%;
height: 100%;
}
@media screen and (max-width: 1366px) {
.el-message {
min-width: 200px !important;
}
}
+6 -1
View File
@@ -18,7 +18,12 @@ mark{background-color:transparent}
a,ins,s,u,del{text-decoration:none} a,ins,s,u,del{text-decoration:none}
sup,sub{vertical-align:baseline} sup,sub{vertical-align:baseline}
html {width:100%;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;} html {width:100%;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;}
body {font-family: 'PingFang SC', 'Microsoft Yahei', '微软雅黑', Arial, sans-serif !important;color: #333;font-size: 14px;line-height: 1;-webkit-text-size-adjust: none;width:100%;height:100%;min-width:1280px;overflow-x:auto;} @media screen and (min-width: 1366px) {
body {
min-width:1280px;
}
}
body {font-family: 'PingFang SC', 'Microsoft Yahei', '微软雅黑', Arial, sans-serif !important;color: #333;font-size: 14px;line-height: 1;-webkit-text-size-adjust: none;width:100%;height:100%;overflow-x:auto;}
hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;} hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;}
a {text-decoration: none;} a {text-decoration: none;}
/*意见反馈页面富文本表格宽度*/ /*意见反馈页面富文本表格宽度*/
+21 -22
View File
@@ -38,7 +38,6 @@
class="form-upload-btn" class="form-upload-btn"
> >
<!-- {{ (value === 'null' || value === '' || value == null) && (!processModel || (processModel && !disabled)) ? '点击上传' : '查看已上传的文件' }}--> <!-- {{ (value === 'null' || value === '' || value == null) && (!processModel || (processModel && !disabled)) ? '点击上传' : '查看已上传的文件' }}-->
上传
</el-button> </el-button>
</template> </template>
<el-dialog <el-dialog
@@ -347,26 +346,26 @@ export default {
handlePreview(file) { handlePreview(file) {
const attId = file.response.data.id const attId = file.response.data.id
if (this.preview) { if (this.preview) {
if (attId) { if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else { } else {
this.$message.warning('文件不存在,下载失败') this.$message.warning('文件不存在,下载失败')
} }
} else { } else {
this.getBusStandFileByAttId(attId) this.getBusStandFileByAttId(attId)
.then(res => { .then(res => {
console.log(res) console.log(res)
if(res){ if(res){
const editFileInfo = res const editFileInfo = res
console.log(editFileInfo) console.log(editFileInfo)
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){ if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl) window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else { }else {
const nowTime = new Date().getTime() const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))); // 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/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)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
} }
// switch (res.convertState) { // switch (res.convertState) {
// case 'ERROR': // case 'ERROR':
@@ -380,10 +379,10 @@ export default {
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id))
// break // break
// } // }
}).catch(e => { }).catch(e => {
console.log(e) console.log(e)
this.$message.warning('文件不存在,预览失败') this.$message.warning('文件不存在,预览失败')
}) })
} }
}, },
@@ -10,6 +10,7 @@
<el-select <el-select
v-model="valueArr" v-model="valueArr"
:placeholder="placeholder" :placeholder="placeholder"
filterable
:disabled="disabled" :disabled="disabled"
clearable clearable
multiple multiple
File diff suppressed because it is too large Load Diff
@@ -177,7 +177,7 @@
if (node.level >= 1) { if (node.level >= 1) {
setTimeout(() => { setTimeout(() => {
this.getChildByList(node.data.level,node.data.id, resolve); this.getChildByList(node.data.level,node.data.id,node.data.model, resolve);
}, 500); }, 500);
return resolve([]); // 加上这个,防止在该节点没有子节点时一直转圈的问题发生。 return resolve([]); // 加上这个,防止在该节点没有子节点时一直转圈的问题发生。
} }
@@ -194,8 +194,8 @@
} }
}) })
}, },
getChildByList( level,id,resolve) { // 获取子节点请求 getChildByList( level,id,model,resolve) { // 获取子节点请求
let params = {level : level,id :id,type : this.type}; let params = {level : level,id :id,type : this.type,model :model};
this.$http.get(this.urlChild, params, { this.$http.get(this.urlChild, params, {
_this: this _this: this
}, res => { }, res => {
+57 -382
View File
@@ -1,393 +1,68 @@
<!-- 配置管理 - 链接管理 --> <!-- 配置管理 - 链接管理 -->
<template> <template>
<div id="post-manage"> <div class="data-link">
<!-- 头部操作按钮--> <el-tabs v-model="activeName">
<div class="action-bar"> <el-tab-pane label="第一行链接" name="firstLink">
<el-button type="primary" <first-link v-if="activeName === 'firstLink'"></first-link>
class="common-button-primary add-button" </el-tab-pane>
@click="addLink" <el-tab-pane label="第二行链接" name="secondLink">
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'" <second-link v-if="activeName === 'secondLink'"></second-link>
size="mini">新增</el-button> </el-tab-pane>
<!-- <el-button type="primary"--> </el-tabs>
<!-- class="common-button-primary add-button"--> </div>
<!-- @click="linkOrder"-->
<!-- v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"-->
<!-- size="mini">顺序调整</el-button>-->
<el-button type="primary"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">删除</el-button>
</div>
<!-- 表格-->
<div class="content">
<el-table
:data="linkList"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="orderBy"
label="序号"
align="center"
width="50px">
</el-table-column>
<el-table-column
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
label="链接">
<template slot-scope="scope" >
<span v-if="scope.row.url.slice(0,7) === 'http://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ scope.row.url }}
</span>
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">{{ scope.row.url }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="50px">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="Loading">加载中...</loading>
<!-- 新增链接弹窗-->
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<el-form
ref="sarStandardsInfoForm"
:model="sarStandardsInfoEO"
:rules="sarStandardsInfoRules"
class="label-input-form"
>
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
<el-input v-model="sarStandardsInfoEO.name"
placeholder="请输入链接名称"
maxlength="30"
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input v-model="sarStandardsInfoEO.url"
maxlength="100"
show-word-limit
placeholder="请输入链接">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import Sortable from 'sortablejs' import firstLink from "./linkType/firstLink";
export default { import secondLink from "./linkType/secondLink";
name: "linkManage", export default {
data () { name: "linkManage",
return { components: {
editId: '', firstLink,
type: '', // 1为新增 2为编辑 secondLink
dialogTitle: '', },
submitLoading: false, data() {
// 向后台传参使用 return {
data: [], activeName: 'firstLink',
Loading: false,
modalshowflag: false,
// 排序
order:[],
// 表格选取的
selectList:[],
selectId:[],
ids:'',
// 向后台传参使用
sarStandardsInfoEO: {
name: '',
url: '',
// sortId: ''
},
//新增链接未输入时提示
sarStandardsInfoRules: {
name: [
{ required: true, message: '请输入链接名称', trigger: 'blur' }
],
url: [
{ required: true, message: '请输入链接', trigger: 'blur' }
]
},
modalRole: false,
props: {
label: 'name',
children: 'children'
},
linkList: [],
sortData: [],
}
},
methods: {
//链接点击跳转,链接形式为http://xxxxxx
linkto(link_href){
window.open(link_href)
},
//头部新增按钮
addLink () {
this.type = 1
this.dialogTitle = '新增链接'
this.modalshowflag = true
},
//表格中操作列删除操作弹窗
deleteLink (row) {
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = []
for (let a = 0; a < this.linkList.length; a++) {
if (this.linkList[a].id === row.id) {
this.linkList.splice(a, 1)
}
}
this.linkList.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
this.getLink()
})
}else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//头部删除按钮
deleteAllLink() {
this.selectId=[]
for (var i=0;i<this.selectList.length;i++){
this.selectId.push(this.selectList[i].id)
}
this.ids = this.selectId.join(",")
if (this.selectList.length === 0) {
this.$message.warning('请选择要删除的链接')
} else {
this.modalRole = true
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
ids: this.ids
}, {}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = this.linkList.filter(items => {
if (!this.ids.includes(items.id)) return items;
})
let newArr = []
arr.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
newArr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
this.getLink()
})
}else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
//弹窗关闭操作
resetForm () {
this.$refs['sarStandardsInfoForm'].resetFields();
this.modalshowflag = false
},
//弹窗确认操作
submit () {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
}, {
_this: this,
loading: 'Loading'
}, res=> {
if (res.ok) {
this.$message.success('新增成功')
this.modalshowflag = false
this.getLink()
} else {
this.$message.warning(res.message)
}
})
} else {
// 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId,
name: this.sarStandardsInfoEO.name,
url: this.sarStandardsInfoEO.url,
}, {
_this: this,
loading: 'Loading'
}, res=> {
if (res.ok) {
this.$message.success('修改成功')
this.modalshowflag = false
this.getLink()
} else {
this.$message.warning(res.message)
}
})
}
} else {
return false;
}
});
},
//表格中操作列
handleCommand (command) {
switch (command[1]) {
case '删除':
this.deleteLink(command[0])
break
case '编辑':
this.editLink(command[0])
break
}
},
//表格中操作列编辑操作弹窗
editLink (row) {
this.type = 2
this.editId = row.id
this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.sortId = row.sortId
this.dialogTitle = '修改链接'
this.modalshowflag = true
},
//多选框选择
handleSelectionChange (val) {
this.selectList = val
},
// 获取链接数据
getLink () {
this.$http.get('sarUrl/tsUrl', {
}, {
_this: this,
loading: 'Loading'
}, res=> {
this.linkList = res.data
this.initSortable()
})
},
initSortable () {
this.sortData = [...this.linkList]
const el = document.querySelector('.el-table__body-wrapper tbody')
//创建拖拽对象
this.sortable = Sortable.create(el, {
sort: true, //是否可进行拖拽排序
animation: 150,
onEnd: ({newIndex, oldIndex}) => {
const val = this.sortData[oldIndex]
this.sortData.splice(oldIndex, 1)
this.sortData.splice(newIndex, 0, val)
this.sortData.forEach((item, index) => {
item.orderBy = index + 1
})
let arr = []
this.sortData.forEach(item => {
let json = {}
json.id = item.id
json.orderBy = item.orderBy
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.$message.success('保存成功')
} else {
this.$message.warning('保存失败!')
}
})
}
})
},
},
mounted() {
this.getLink();
}
} }
},
methods: {
},
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
#post-manage { .data-link{
height: 100%; height: 100%;
.content { padding: 0 10px;
height: calc(~'100% - 53px') background: #fff;
} display: flex;
.filter-tree { flex-direction: column;
height: calc(~'100% - 50px')
} /deep/ .el-tabs {
flex: auto;
display: flex;
flex-direction: column;
/deep/ .el-tabs__header {
margin: 0 !important;
} }
.el-tabs__content {
height: 100% !important;
flex: auto;
position: relative;
display: flex;
flex-direction: column;
.el-tab-pane {
height: 100%;
flex: auto;
display: flex;
flex-direction: column;
}
}
}
}
</style> </style>
@@ -0,0 +1,566 @@
<!-- 配置管理 - 链接管理 -->
<template>
<div id="post-manage">
<!-- 头部操作按钮-->
<div class="action-bar">
<el-button
type="primary"
class="common-button-primary add-button"
@click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
size="mini">新增
</el-button>
<!-- <el-button
type="primary"
class="common-button-primary add-button"
@click="linkOrder"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">顺序调整
</el-button>-->
<el-button
type="danger"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">删除
</el-button>
</div>
<!-- 表格-->
<div class="content">
<el-table
:data="linkListFirst"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="orderBy"
label="序号"
align="center"
width="50px">
</el-table-column>
<el-table-column
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
prop="icon"
label="链接图标">
<template slot-scope="scope">
<img v-if="scope.row.icon !== ''" style="height: 50px;width: 50px" :src="scope.row.icon">
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="url"
show-overflow-tooltip
label="链接">
<template slot-scope="scope">
<span v-if="scope.row.url.slice(0,7) === 'http://' || scope.row.url.slice(0,8) === 'https://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ scope.row.url }}
</span>
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ 'http://' + scope.row.url }}
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="50px">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="Loading">加载中...</loading>
<!-- 新增链接弹窗-->
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<el-form
ref="sarStandardsInfoForm"
:model="sarStandardsInfoEO"
:rules="sarStandardsInfoRules"
class="label-input-form"
>
<el-form-item label="链接类型" prop="type" label-width="150px" class="add-form-item">
<el-input :disabled="true" v-if="sarStandardsInfoEO.type === 1" value="第一行链接"/>
</el-form-item>
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.name"
placeholder="请输入链接名称"
maxlength="20"
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<el-upload
v-model="sarStandardsInfoEO.icon"
class="upload-demo"
:action="uploadUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img width="100%" v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.url"
maxlength="100"
show-word-limit
placeholder="请输入链接">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Sortable from 'sortablejs'
import {getImg} from '@/api/linkApi.js'
export default {
name: "firstLink",
data() {
return {
editId: '',
type: '', // 1为新增 2为编辑
dialogTitle: '',
submitLoading: false,
// 向后台传参使用
data: [],
Loading: false,
modalshowflag: false,
// 排序
order: [],
// 表格选取的
selectList: [],
selectId: [],
ids: '',
// 向后台传参使用
sarStandardsInfoEO: {
name: '',
url: '',
icon: '',
type: 1,
// sortId: ''
},
//新增链接未输入时提示
sarStandardsInfoRules: {
name: [
{required: true, message: '请输入链接名称', trigger: 'blur'}
],
url: [
{required: true, message: '请输入链接', trigger: 'blur'}
]
},
modalRole: false,
props: {
label: 'name',
children: 'children'
},
linkListFirst: [],
linkList: [],
sortData: [],
imageUrl: '',
uploadUrl: 'api/att/attFile/upload',
}
},
methods: {
//链接点击跳转,链接形式为http://xxxxxx
linkto(link_href) {
window.open(link_href)
},
//头部新增按钮
addLink() {
this.type = 1
this.dialogTitle = '新增链接'
this.modalshowflag = true
},
//表格中操作列删除操作弹窗
deleteLink(row) {
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = []
for (let a = 0; a < this.linkList.length; a++) {
if (this.linkList[a].id === row.id) {
this.linkList.splice(a, 1)
}
}
this.linkList.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.linkListFirst = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//头部删除按钮
deleteAllLink() {
this.selectId = []
for (var i = 0; i < this.selectList.length; i++) {
this.selectId.push(this.selectList[i].id)
}
this.ids = this.selectId.join(",")
if (this.selectList.length === 0) {
this.$message.warning('请选择要删除的链接')
} else {
this.modalRole = true
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
ids: this.ids
}, {}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = this.linkList.filter(items => {
if (!this.ids.includes(items.id)) return items;
})
let newArr = []
arr.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
newArr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
if (res.ok) {
this.linkListFirst = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
/** 链接图片上传 */
//
handleAvatarSuccess(res, file, fileList) {
if (res.ok) {
this.imageUrl = URL.createObjectURL(file.raw)
this.sarStandardsInfoEO.icon = res.data.attId
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
}
},
// 链接图片上传格式限制
beforeAvatarUpload(file) {
const index = file.name.lastIndexOf('.')
const ext = file.name.substr(index + 1)
const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
const isType = (ext === 'jpg' || ext === 'png')
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG || !isType) {
this.$message.error('上传头像图片只能是 .jpg、.png 格式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M && isType;
},
//弹窗关闭操作
resetForm() {
this.$refs['sarStandardsInfoForm'].resetFields();
this.imageUrl = ''
this.modalshowflag = false
},
//弹窗确认操作
submit() {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('新增成功')
this.modalshowflag = false
this.imageUrl = ''
this.linkListFirst = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
} else {
// 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId,
name: this.sarStandardsInfoEO.name,
type: this.sarStandardsInfoEO.type,
url: this.sarStandardsInfoEO.url,
icon: this.sarStandardsInfoEO.icon
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('修改成功')
this.modalshowflag = false
this.linkListFirst = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
}
} else {
return false;
}
});
},
//表格中操作列
handleCommand(command) {
switch (command[1]) {
case '删除':
this.deleteLink(command[0])
break
case '编辑':
this.editLink(command[0])
break
}
},
//表格中操作列编辑操作弹窗
editLink(row) {
this.type = 2
this.editId = row.id
this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.sortId = row.sortId
this.sarStandardsInfoEO.icon = row.icon
if (row.icon !== '') {
let imgId = {
id: row.id
}
// 图片转base64
getImg(imgId).then(res => {
if (res.ok) {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
this.imageUrl = src
}
})
}
this.dialogTitle = '修改链接'
this.modalshowflag = true
},
//多选框选择
handleSelectionChange(val) {
this.selectList = val
},
// 获取链接数据
getLink() {
this.$http.get('sarUrl/tsUrl', {}, {
_this: this,
loading: 'Loading'
}, res => {
this.Loading = true
this.linkList = res.data
res.data.forEach(item => {
if (item.type === 1) {
this.linkListFirst.push(item)
}
})
if (this.linkListFirst.length === 0) {
this.Loading = false
}
this.linkListFirst.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
this.Loading = false
}
})
this.initSortable()
})
},
initSortable() {
this.sortData = [...this.linkListFirst]
const el = document.querySelector('.el-table__body-wrapper tbody')
//创建拖拽对象
this.sortable = Sortable.create(el, {
sort: true, //是否可进行拖拽排序
animation: 150,
onEnd: ({newIndex, oldIndex}) => {
const val = this.sortData[oldIndex]
this.sortData.splice(oldIndex, 1)
this.sortData.splice(newIndex, 0, val)
this.sortData.forEach((item, index) => {
item.orderBy = index + 1
})
let arr = []
this.sortData.forEach(item => {
let json = {}
json.id = item.id
json.orderBy = item.orderBy
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.$message.success('保存成功')
} else {
this.$message.warning('保存失败!')
}
})
}
})
},
},
mounted() {
this.getLink();
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
#post-manage {
height: 100%;
.content {
height: calc(~'100% - 53px')
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
margin-top: 10px;
border-color: #409EFF;
}
.avatar-uploader {
margin-top: 10px;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
.filter-tree {
height: calc(~'100% - 50px')
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
}
</style>
@@ -0,0 +1,564 @@
<!-- 配置管理 - 链接管理 -->
<template>
<div id="post-manage">
<!-- 头部操作按钮-->
<div class="action-bar">
<el-button
type="primary"
class="common-button-primary add-button"
@click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
size="mini">新增
</el-button>
<!-- <el-button
type="primary"
class="common-button-primary add-button"
@click="linkOrder"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">顺序调整
</el-button>-->
<el-button
type="danger"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">删除
</el-button>
</div>
<!-- 表格-->
<div class="content">
<el-table
:data="linkListSecond"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="orderBy"
label="序号"
align="center"
width="50px">
</el-table-column>
<el-table-column
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
prop="icon"
label="链接图标">
<template slot-scope="scope">
<img v-if="scope.row.icon !== ''" style="height: 50px;width: 50px" :src="scope.row.icon">
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="url"
show-overflow-tooltip
label="链接">
<template slot-scope="scope">
<span v-if="scope.row.url.slice(0,7) === 'http://' || scope.row.url.slice(0,8) === 'https://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ scope.row.url }}
</span>
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ 'http://' + scope.row.url }}
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="50px">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="Loading">加载中...</loading>
<!-- 新增链接弹窗-->
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<el-form
ref="sarStandardsInfoForm"
:model="sarStandardsInfoEO"
:rules="sarStandardsInfoRules"
class="label-input-form"
>
<el-form-item label="链接类型" prop="type" label-width="150px" class="add-form-item">
<el-input :disabled="true" v-if="sarStandardsInfoEO.type === 2" value="第二行链接"/>
</el-form-item>
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.name"
placeholder="请输入链接名称"
maxlength="30"
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<el-upload
v-model="sarStandardsInfoEO.icon"
class="avatar-uploader"
:action="uploadUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.url"
maxlength="100"
show-word-limit
placeholder="请输入链接">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Sortable from 'sortablejs'
import {getImg} from '@/api/linkApi.js'
import listOfCost from "../../../../regulatoryRepository/dataStatis/page/listOfCost";
export default {
name: "secondLink",
data() {
return {
editId: '',
type: '', // 1为新增 2为编辑
dialogTitle: '',
submitLoading: false,
// 向后台传参使用
data: [],
Loading: false,
modalshowflag: false,
// 排序
order: [],
// 表格选取的
selectList: [],
selectId: [],
ids: '',
// 向后台传参使用
sarStandardsInfoEO: {
name: '',
url: '',
icon: '',
type: 2,
// sortId: ''
},
//新增链接未输入时提示
sarStandardsInfoRules: {
name: [
{required: true, message: '请输入链接名称', trigger: 'blur'}
],
url: [
{required: true, message: '请输入链接', trigger: 'blur'}
]
},
modalRole: false,
props: {
label: 'name',
children: 'children'
},
linkList: [],
linkListSecond: [],
sortData: [],
imageUrl: '',
uploadUrl: 'api/att/attFile/upload',
verifyImg: ''
}
},
methods: {
//链接点击跳转,链接形式为http://xxxxxx
linkto(link_href) {
window.open(link_href)
},
//头部新增按钮
addLink() {
this.type = 1
this.dialogTitle = '新增链接'
this.modalshowflag = true
},
//表格中操作列删除操作弹窗
deleteLink(row) {
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = []
for (let a = 0; a < this.linkList.length; a++) {
if (this.linkList[a].id === row.id) {
this.linkList.splice(a, 1)
}
}
this.linkList.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.linkListSecond = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//头部删除按钮
deleteAllLink() {
this.selectId = []
for (var i = 0; i < this.selectList.length; i++) {
this.selectId.push(this.selectList[i].id)
}
this.ids = this.selectId.join(",")
if (this.selectList.length === 0) {
this.$message.warning('请选择要删除的链接')
} else {
this.modalRole = true
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
ids: this.ids
}, {}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = this.linkList.filter(items => {
if (!this.ids.includes(items.id)) return items;
})
let newArr = []
arr.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
newArr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
if (res.ok) {
this.linkListSecond = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
/** 链接图片上传 */
//
handleAvatarSuccess(res, file, fileList) {
if (res.ok) {
this.imageUrl = URL.createObjectURL(file.raw)
this.sarStandardsInfoEO.icon = res.data.attId
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
}
},
// 链接图片上传格式限制
beforeAvatarUpload(file) {
const index = file.name.lastIndexOf('.')
const ext = file.name.substr(index + 1)
const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
const isType = (ext === 'jpeg' || ext === 'jpg' || ext === 'png')
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG || !isType) {
this.$message.error('上传头像图片只能是 .jpg、.jpeg、.png 格式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M && isType;
},
//弹窗关闭操作
resetForm() {
this.$refs['sarStandardsInfoForm'].resetFields();
this.imageUrl = ''
this.modalshowflag = false
},
//弹窗确认操作
submit() {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('新增成功')
this.modalshowflag = false
this.linkListSecond = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
} else {
// 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId,
type: this.sarStandardsInfoEO.type,
url: this.sarStandardsInfoEO.url,
icon: this.sarStandardsInfoEO.icon
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('修改成功')
this.modalshowflag = false
this.linkListSecond = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
}
} else {
return false;
}
});
},
//表格中操作列
handleCommand(command) {
switch (command[1]) {
case '删除':
this.deleteLink(command[0])
break
case '编辑':
this.editLink(command[0])
break
}
},
//表格中操作列编辑操作弹窗
editLink(row) {
this.type = 2
this.editId = row.id
this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.sortId = row.sortId
this.sarStandardsInfoEO.icon = row.icon
if (row.icon !== '') {
let imgId = {
id: row.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
this.imageUrl = src
})
}
this.dialogTitle = '修改链接'
this.modalshowflag = true
},
//多选框选择
handleSelectionChange(val) {
this.selectList = val
},
// 获取链接数据
getLink() {
this.$http.get('sarUrl/tsUrl', {}, {
_this: this,
loading: 'Loading'
}, res => {
this.Loading = true
this.linkList = res.data
res.data.forEach(item => {
if (item.type === 2) {
this.linkListSecond.push(item)
}
})
if (this.linkListSecond.length === 0) {
this.Loading = false
}
this.linkListSecond.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
this.Loading = false
}
})
this.initSortable()
})
},
initSortable() {
this.sortData = [...this.linkListSecond]
const el = document.querySelector('.el-table__body-wrapper tbody')
//创建拖拽对象
this.sortable = Sortable.create(el, {
sort: true, //是否可进行拖拽排序
animation: 150,
onEnd: ({newIndex, oldIndex}) => {
const val = this.sortData[oldIndex]
this.sortData.splice(oldIndex, 1)
this.sortData.splice(newIndex, 0, val)
this.sortData.forEach((item, index) => {
item.orderBy = index + 1
})
let arr = []
this.sortData.forEach(item => {
let json = {}
json.id = item.id
json.orderBy = item.orderBy
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.$message.success('保存成功')
} else {
this.$message.warning('保存失败!')
}
})
}
})
},
},
mounted() {
this.getLink();
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
#post-manage {
height: 100%;
.content {
height: calc(~'100% - 53px')
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
margin-top: 10px;
border-color: #409EFF;
}
.avatar-uploader {
margin-top: 10px;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
.filter-tree {
height: calc(~'100% - 50px')
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
}
</style>
+12 -21
View File
@@ -1,17 +1,16 @@
<!--符合性详情--> <!--符合性详情-->
<template> <template>
<div id="complianceDetails"> <div id="complianceDetails">
<el-divider content-position="left" v-if="unfit.length < 1 && fit.length < 1" >暂无评估结果</el-divider>
<!-- 不满足--> <!-- 不满足-->
<el-divider content-position="left" v-if="unfit.length" >不满足</el-divider> <el-divider content-position="left" v-if="unfit.length" >不满足</el-divider>
<div class="content">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
v-if="unfit.length" v-if="unfit.length"
:data="unfit" :data="unfit"
tooltip-effect="dark" tooltip-effect="dark"
border border
style="width: 100%; min-height: 300px; margin-bottom: 30px;" style="width: 100%; min-height: 400px; margin-bottom: 30px;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}">
<el-table-column <el-table-column
@@ -21,25 +20,28 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="noCompliance" prop="researchNonCompliance"
label="不合规项目" label="不合规项目"
align="center" align="center"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="countermeasures " prop="researchCountermeasures"
label="应对措施" label="应对措施"
align="center" align="center"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="completionTime " prop="researchImplementationTime"
label="完成时间" label="完成时间"
align="center" align="center"
> >
<template slot-scope="scope">
<span>{{ scope.row.researchImplementationTime ? $moment(scope.row.researchImplementationTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assessor" prop="evaluationPeople"
label="评估人" label="评估人"
align="center" align="center"
> >
@@ -56,19 +58,16 @@
</el-table> </el-table>
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"--> <!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
<!-- @pageSizeChange="pageSizeChange"></pagination>--> <!-- @pageSizeChange="pageSizeChange"></pagination>-->
</div>
<!--满足--> <!--满足-->
<el-divider content-position="left" v-if="fit.length">满足</el-divider> <el-divider content-position="left" v-if="fit.length">满足</el-divider>
<div class="content">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
v-if="fit.length" v-if="fit.length"
:data="fit" :data="fit"
tooltip-effect="dark" tooltip-effect="dark"
border border
style="width: 100%; min-height: 300px; margin-bottom: 30px;" style="width: 100%; min-height: 400px; margin-bottom: 30px;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}">
<el-table-column <el-table-column
@@ -78,13 +77,13 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="complianceReasons" prop="researchCompliance"
label="合规" label="合规"
align="center" align="center"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assessor" prop="evaluationPeople"
label="评估人" label="评估人"
align="center" align="center"
> >
@@ -99,7 +98,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div>
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"--> <!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
<!-- @pageSizeChange="pageSizeChange"></pagination>--> <!-- @pageSizeChange="pageSizeChange"></pagination>-->
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
@@ -166,12 +164,5 @@ export default {
//width: 1200px; //width: 1200px;
//margin: 0 auto; //margin: 0 auto;
height: 100%; height: 100%;
.content{
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'50% - 30px');
overflow: auto;
}
} }
</style> </style>
@@ -22,6 +22,56 @@
style="border-top:none;position: absolute;right: 36px;"> style="border-top:none;position: absolute;right: 36px;">
<div class="modular-header" style="height: 50px;"> <div class="modular-header" style="height: 50px;">
<div class="modular-header-btn"> <div class="modular-header-btn">
<el-button type="warning" icon="el-icon-edit" @click="businessCommentDialog = true">企标评价</el-button>
<el-dialog title="企业标准动态评价表" :visible.sync="businessCommentDialog" width="80%">
<el-table ref="businessCommentTable" :data="businessCommentTable" border style="width: 100%; flex: auto;margin-bottom: 2%"
class="drag-table"
: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 property="commentTarget" label="评价指标" width="300">
</el-table-column>
<el-table-column prop="targetScore" label="指标分值" width="160">
<template slot-scope="scope">
<el-rate
v-model="scope.row.targetScore"
@change="targetScoreChange"
allow-half>
</el-rate>
</template>
</el-table-column>
<el-table-column property="averageScore" label="动态评价分值">
<template slot-scope="scope">
<el-rate
v-model="value"
disabled
show-score
text-color="#ff9900"
score-template="{value}">
</el-rate>
<el-input v-model="scope.row.averageScore" style="margin: 10px 0;" />
</template>
</el-table-column>
<el-table-column property="address" label="简述理由"></el-table-column>
</el-table>
<el-form :model="businessCommentForm">
<el-form-item label="对标准的意见和建议,是否需要修订">
<template>
<el-radio v-model="revise" label="1">是</el-radio>
<el-radio v-model="revise" label="0">否</el-radio>
<el-input v-show="revise === '1'"
placeholder="请填写修订理由"
type="textarea"
:rows="2"></el-input>
</template>
</el-form-item>
</el-form>
</el-dialog>
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button> <el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button>
<el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button> <el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button>
<el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button> <el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button>
@@ -987,6 +1037,19 @@ export default {
}, },
data () { data () {
return { return {
targetScore: '',
businessCommentDialog: false,
businessCommentForm: {},
revise: '',
businessCommentTable: [{
commentTarget: '企业标准内容完整、要求合理(指标、流程等。)',
}, {
commentTarget: '企业标准便于实施应用',
}, {
commentTarget: '标准编写规范,内容清晰易理解',
}, {
commentTarget: '标准对我的实际工作很有帮助',
}],
activeNames: ['基础信息','过程稿件','实施日期'], activeNames: ['基础信息','过程稿件','实施日期'],
activeState: true, activeState: true,
visiblePlanCheck: false, visiblePlanCheck: false,
@@ -1194,6 +1257,9 @@ export default {
watch: { watch: {
}, },
methods: { methods: {
targetScoreChange(row){
console.log('1234',row)
},
child1Func(child1){ child1Func(child1){
const list = [] const list = []
if(child1 && child1.length > 1){ if(child1 && child1.length > 1){
@@ -3,7 +3,10 @@
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}"> <div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
<!--title 标题--> <!--title 标题-->
<div class="details-header"> <div class="details-header">
<span>{{ sarStandardsInfoEO.standSortShow || '' }} {{ <span v-if="sarStandardsInfoEO.standYear === null">{{ sarStandardsInfoEO.standSortShow || '' }} {{
sarStandardsInfoEO.standNumber
}} 《{{ sarStandardsInfoEO.standName }}》</span>
<span v-else>{{ sarStandardsInfoEO.standSortShow || '' }} {{
sarStandardsInfoEO.standNumber sarStandardsInfoEO.standNumber
}}-{{ sarStandardsInfoEO.standYear }} 《{{ sarStandardsInfoEO.standName }}》</span> }}-{{ sarStandardsInfoEO.standYear }} 《{{ sarStandardsInfoEO.standName }}》</span>
</div> </div>
@@ -46,7 +49,7 @@
<div class="details-content-modular basic-information" style="border-top:none"> <div class="details-content-modular basic-information" style="border-top:none">
<div class="basic-information-content"> <div class="basic-information-content">
<!-- <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>--> <!-- <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>-->
<p style="color: #C42626;" class=""> <p class="">
<label style=" margin-right: 164px;">标准号</label> <label style=" margin-right: 164px;">标准号</label>
<span v-if="sarStandardsInfoEO.standYear">{{ <span v-if="sarStandardsInfoEO.standYear">{{
sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear
@@ -106,7 +109,7 @@
<label style=" margin-right: 150px;" <label style=" margin-right: 150px;"
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
>文本状态</label> >文本状态</label>
<span style="color: #409EFF;">{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span> <span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{ <p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{
sarStandardsInfoEO.issueTime || '-' sarStandardsInfoEO.issueTime || '-'
@@ -3599,13 +3602,14 @@ export default {
} }
& > div:not(.modular-item-more) { & > div:not(.modular-item-more) {
/*border-bottom: 1px solid #E5E5E5;*/ //英文名称变粗
border-bottom: 1px solid #E5E5E5;
min-height: 43px; min-height: 43px;
line-height: 43px; line-height: 43px;
.modular-content-p-name { .modular-content-p-name {
display: inline-block; display: inline-block;
width: 220px; width: 213px;
height: 43px; height: 43px;
line-height: 43px; line-height: 43px;
font-size: 16px; font-size: 16px;
@@ -3619,10 +3623,10 @@ export default {
.modular-content-p-val { .modular-content-p-val {
display: inline-block; display: inline-block;
width: calc(~'100% - 225px'); width: calc(~'100% - 225px');
min-height: 50px; //min-height: 50px;
line-height: 50px; //line-height: 50px;
font-size: 16px; //font-size: 16px;
color: #999999; //color: #999999;
word-break: break-all; word-break: break-all;
//overflow: hidden; //overflow: hidden;
//white-space: nowrap; //white-space: nowrap;
@@ -3636,9 +3640,10 @@ export default {
& > .files-title { & > .files-title {
width: calc(~'100% - 120px'); width: calc(~'100% - 120px');
min-height: 50px; //报批稿撑开
line-height: 50px; //min-height: 50px;
font-size: 16px; //line-height: 50px;
//font-size: 16px;
color: #409EFF; color: #409EFF;
& > a { & > a {
@@ -3668,7 +3673,8 @@ export default {
.decomposition-btn { .decomposition-btn {
position: absolute; position: absolute;
top: 10px; //报批稿撑开
//top: 10px;
right: 0; right: 0;
padding: 0 10px; padding: 0 10px;
height: 30px; height: 30px;
+6 -6
View File
@@ -3,7 +3,7 @@
<div> <div>
<div v-if="label" class="icon-style"> <div v-if="label" class="icon-style">
<span v-for="item in icons" v-if="item.label === label" :class="item.icon" style="font-size: 20px;"> <span v-for="item in icons" v-if="item.label === label" :class="item.icon" style="font-size: 20px;">
<span style="padding-left: 10px; font-size: 16px"> <span style="font-size: 15px;">
{{ label }} {{ label }}
</span> </span>
</span> </span>
@@ -67,7 +67,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.wx-card { .wx-card {
line-height: 70px; line-height: 50px;
text-align: center; text-align: center;
background: #fff; background: #fff;
display: flex; display: flex;
@@ -79,7 +79,7 @@
& > div { & > div {
border-radius: 5px; border-radius: 5px;
width: 100%; width: 100%;
height: 70px; height: 50px;
color: #fff; color: #fff;
background-color: #4788c0; background-color: #4788c0;
} }
@@ -91,7 +91,7 @@
} }
} }
.wx-card1 { .wx-card1 {
line-height: 70px; line-height: 50px;
text-align: center; text-align: center;
background: #fff; background: #fff;
display: flex; display: flex;
@@ -102,7 +102,7 @@
padding-left: 10px; padding-left: 10px;
& > div { & > div {
width: 100%; width: 100%;
height: 70px; height: 50px;
background: #fff; background: #fff;
border: 2px dashed #E4E4E4; border: 2px dashed #E4E4E4;
border-radius: 5px; border-radius: 5px;
@@ -119,7 +119,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
.el-icon-circle-plus-outline { .el-icon-circle-plus-outline {
font-size: 50px; font-size: 40px;
color: #E4E4E4; color: #E4E4E4;
} }
} }
+207 -189
View File
@@ -1,202 +1,220 @@
<!-- 尾部链接 --> <!-- 尾部链接 -->
<template> <template>
<div class="link" id="link"> <div class="link" id="link">
<!-- 此部分暂时这样写,到后面做修改 --> <!-- 此部分暂时这样写,到后面做修改 -->
<div style="display: inline-block;width: 15%;"> <div style="display: inline-block;width: 15%;">
<span class="title borderRight">友情链接</span> <span class="title borderRight">友情链接</span>
</div>
<div style="display: inline-block;width: 80%;text-align: center">
<div>
<el-row>
<el-col :span="4">
<a style="color: #0068B7;" href="http://www.sac.gov.cn/" target="_blank">国标委</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://www.catarc.org.cn/" target="_blank">汽标委</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://openstd.samr.gov.cn/bzgk/gb/index" target="_blank">国标全文公开</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://std.samr.gov.cn/" target="_blank">全国标准信息公共服务</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://jtst.mot.gov.cn/" target="_blank">交通部标准信息</a>
</el-col>
</el-row>
</div>
<div>
<el-row>
<el-col :span="4">
<a style="color: #0068B7;" href="https://www.un.org/zh/aboutun/structure/unece/" target="_blank">欧洲经济委员会</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://eur-lex.europa.eu" target="_blank">欧盟</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://www.interregs.com/" target="_blank">InterRegs </a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://tbt.sist.org.cn/cslm/wtotbttb/" target="_blank">WTO/TBT通报</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://www.iso.org/home.html" target="_blank">ISO</a>
</el-col>
</el-row>
</div>
</div>
<div style="display: inline-block;width: 15%;">
<span class="borderLeft"></span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span></div>
<!-- <div>
<span class="myLi1 borderRight" v-for="(link, index) in linkList" :key="index" @click="openLinkUrl(link.url)" :title="link.name" >
{{ link.name }}
</span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div>
<div v-show="false">
<span class="myLi1 borderRight" v-for="(link, index) in linkList" :key="index" @click="openLinkUrl(link.url)" :title="link.name" >
{{ link.name }}
</span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div>-->
</div> </div>
<div style="display: inline-block;width: 80%;text-align: center">
<div>
<el-row>
<span v-for="(item, index) in linkListFirst" :key="index">
<el-col :span="4">
<img
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
{{ item.name }}
</a>
</el-col>
<el-col :span="1" v-if="index < 4" v-show="true">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="1" v-else v-show="false">
<span class="borderMiddle"></span>
</el-col>
</span>
</el-row>
</div>
<div>
<el-row>
<span v-for="(item, index) in linkListSecond" :key="index">
<el-col :span="4">
<img
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
{{ item.name }}
</a>
</el-col>
<el-col :span="1" v-if="index < 4" v-show="true">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="1" v-else v-show="false">
<span class="borderMiddle"></span>
</el-col>
</span>
</el-row>
</div>
</div>
<div style="display: inline-block;width: 15%;">
<span class="borderLeft"></span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div>
</div>
</template> </template>
<script> <script>
export default { import {getImg} from '@/api/linkApi.js'
name: 'Empennage',
components: {},
mixins: [],
data() {
return {
linkList: [],
width: ''
}
},
computed: {},
watch: {
width(val) {
console.log(val);
}
},
mounted() {
this.getLink();
this.width = document.getElementById("link").offsetWidth
let self = this
this.screenWidth = document.body.clientWidth
window.onresize = () => {
return (() => {
console.log(document.body.clientWidth);
})
}
},
methods: {
// 跳转链接
openLinkUrl (linkUri) {
let getHttp = linkUri.substring(0, 7)
let getHttps = linkUri.substring(0, 8)
if (getHttp === 'http://' || getHttps === 'https://') {
window.open(linkUri)
} else {
window.open('https://' + linkUri)
}
},
// 获取链接数据
getLink () {
var width = document.getElementById("link").offsetWidth
this.$http.get('sarUrl/tsUrl', {
}, {
_this: this,
loading: 'Loading'
}, res=> {
let b = 0
let c = 0
for (let a = 0; a < res.data.length; a++) {
b += res.data[a].name.length * 14 + 100
if (b > width) {
c = a - 1
} else {
c = a
}
}
let list
list = res.data.slice(0, c)
this.linkList = list
})
}
},
export default {
name: 'Empennage',
components: {},
mixins: [],
data() {
return {
linkListFirst: [],
linkListSecond: [],
width: '',
verifyImg: '',
} }
},
computed: {},
watch: {
width(val) {
console.log(val);
}
},
mounted() {
this.getLink();
/*this.width = document.getElementById("link").offsetWidth
let self = this
this.screenWidth = document.body.clientWidth
window.onresize = () => {
return (() => {
console.log(document.body.clientWidth);
})
}*/
},
methods: {
// 跳转链接
openLinkUrl(linkUri) {
let getHttp = linkUri.substring(0, 7)
let getHttps = linkUri.substring(0, 8)
if (getHttp === 'http://' || getHttps === 'https://') {
window.open(linkUri)
} else {
window.open('https://' + linkUri)
}
},
// 获取链接数据
getLink() {
// var width = document.getElementById("link").offsetWidth
this.$http.get('sarUrl/tsUrl', {}, {
_this: this,
loading: 'Loading'
}, res => {
/* let b = 0
let c = 0
for (let a = 0; a < res.data.length; a++) {
b += res.data[a].name.length * 14 + 100
if (b > width) {
c = a - 1
} else {
c = a
}
}*/
/*let list
list = res.data*/
res.data.forEach(item => {
if (item.type === 1) {
this.linkListFirst.push(item)
} else if (item.type === 2) {
this.linkListSecond.push(item)
}
})
this.linkListFirst.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
}
})
this.linkListSecond.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
}
})
})
},
},
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.link { .link {
margin-right: 10px; margin-right: 10px;
display: flex; display: flex;
border-radius: 3px; border-radius: 3px;
height: 100%; height: 100%;
align-items: center; align-items: center;
box-shadow: 1px 1px 10px rgba(0,0,0,0.1); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.borderRight {
//padding-right: 50px; .borderRight {
//margin-right: 50px; //padding-right: 50px;
border-right: 2px dotted #aaa; //margin-right: 50px;
} border-right: 2px dotted #aaa;
.borderLeft { }
margin-right: 50px;
//padding-left: 50px; .borderLeft {
//margin-left: 50px; margin-right: 50px;
border-left: 2px dotted #aaa; //padding-left: 50px;
} //margin-left: 50px;
.borderMiddle { border-left: 2px dotted #aaa;
border-left: 2px dotted #aaa; }
}
.title { .borderMiddle {
padding-right: 40px; border-left: 2px dotted #aaa;
font-weight: bold; }
padding-left: 40px;
width: 80px; .title {
} font-size: 15px;
.myLi1 { padding-right: 40px;
cursor: pointer; font-weight: bold;
color: #0068B7; padding-left: 40px;
} width: 80px;
.el-col-4 { }
white-space: nowrap;
text-overflow: ellipsis; .myLi1 {
overflow: hidden; font-size: 15px;
word-break: break-all; cursor: pointer;
line-height: normal; color: #0068B7;
margin-top: 10px; }
font-size: 5px;
} .el-col-4 {
} white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
}
</style> </style>
+3 -3
View File
@@ -77,7 +77,7 @@
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
background: #fff; background: #fff;
font-size: 14px; font-size: 15px;
border-radius: 10px; border-radius: 10px;
} }
.menu-wrap { .menu-wrap {
@@ -92,11 +92,11 @@
margin-bottom: 0; margin-bottom: 0;
} }
.wx-card { .wx-card {
height: 70px; height: 50px;
width: 33.333333%; width: 33.333333%;
} }
.wx-card1 { .wx-card1 {
height: 70px; height: 50px;
width: 33.333333%; width: 33.333333%;
} }
.menu-item { .menu-item {
+7 -1
View File
@@ -21,7 +21,7 @@
label="序号" label="序号"
type="index" type="index"
align="center" align="center"
width="50"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standName" prop="standName"
@@ -98,6 +98,12 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.release { .release {
/deep/.el-table th > .cell {
font-size: 15px;
}
/deep/.el-table td > .cell{
font-size: 13px;
}
width: 100%; width: 100%;
.time-title { .time-title {
margin: 15px; margin: 15px;
@@ -22,8 +22,8 @@
placeholder="请输入关键词" placeholder="请输入关键词"
clearable clearable
></el-input> ></el-input>
<el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;" type="primary" @click="search">一般检索</el-button> <el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="search">一般检索</el-button>
<el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;" type="primary" @click="seniorSearch">高级检索</el-button> <el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="seniorSearch">高级检索</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -106,7 +106,7 @@ export default {
width: 18vm; width: 18vm;
height: 40px; height: 40px;
color: #333333; color: #333333;
font-size: 14px; font-size: 15px;
border: 0; border: 0;
border-radius: 3px; border-radius: 3px;
background-color: #FFFFFF; background-color: #FFFFFF;
@@ -21,7 +21,7 @@
label="序号" label="序号"
type="index" type="index"
align="center" align="center"
width="50"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="cid" prop="cid"
@@ -91,6 +91,12 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.solicitopinions { .solicitopinions {
/deep/.el-table th > .cell {
font-size: 15px;
}
/deep/.el-table td > .cell{
font-size: 13px;
}
height: 100%; height: 100%;
width: 100%; width: 100%;
.time-title { .time-title {
+17 -4
View File
@@ -10,7 +10,8 @@
<ul> <ul>
<li v-for="item in toDoTaskList" :key="item.id" class="time-title"> <li v-for="item in toDoTaskList" :key="item.id" class="time-title">
<div style="height: 30px"> <div style="height: 30px">
<span @click="dealWith(item)" style="line-height: 30px; font-size: 12px;">{{ item.prcName }}</span> <span @click="dealWith(item)" v-if="item.prcName.length<25" style="line-height: 30px; font-size: 13px;">{{ item.prcName }}</span>
<span @click="dealWith(item)" v-else style="line-height: 30px; font-size: 13px;">{{ item.prcName.substring(0,25)+'...' }}</span>
</div> </div>
</li> </li>
</ul> </ul>
@@ -614,7 +615,7 @@ export default {
break break
//项目清单确认流程 //项目清单确认流程
case '10' : case '10' :
if(row.taskInfo === '确认人确认'){ if(row.taskInfo === '产品工程经理分发清单'){
this.$router.push({ this.$router.push({
name: 'xmqdqrStep2', name: 'xmqdqrStep2',
query: { query: {
@@ -625,7 +626,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '标准法规部经理审批') { } else if (row.taskInfo === '确认人确认') {
this.$router.push({ this.$router.push({
name: 'xmqdqrStep3', name: 'xmqdqrStep3',
query: { query: {
@@ -636,6 +637,17 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
}else if(row.taskInfo === '标准法规部经理审批'){
this.$router.push({
name: 'xmqdqrStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} }
break break
case '14': case '14':
@@ -1284,9 +1296,10 @@ export default {
display: inline-block; display: inline-block;
margin: 15px; margin: 15px;
color: #333333; color: #333333;
font-size: 14px; font-size: 15px;
} }
.more { .more {
font-size: 15px;
float: right; float: right;
color: #4788c0; color: #4788c0;
margin: 15px 15px; margin: 15px 15px;
+1 -1
View File
@@ -172,7 +172,7 @@ export default {
.right_wrapper { .right_wrapper {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 37vw; width: 30vw;
height: 100%; height: 100%;
} }
.search-condition { .search-condition {
+28 -3
View File
@@ -402,6 +402,19 @@ export default {
}, },
//查找适用车型 //查找适用车型
searchBtnClick() { searchBtnClick() {
if (this.dynamic.putTime === null) {
this.dynamic.putTime = []
}
if (this.dynamic.SSRQ === null) {
this.dynamic.SSRQ = []
}
if (this.dynamic.XCXSSRQ === null) {
this.dynamic.XCXSSRQ = []
}
if (this.dynamic.ZCCSSRQ === null) {
this.dynamic.ZCCSSRQ = []
}
this.warningTableLoading = true this.warningTableLoading = true
this.$http.get('sys/EarlyWarning/getStandWarning', { this.$http.get('sys/EarlyWarning/getStandWarning', {
...this.pageConfig, ...this.pageConfig,
@@ -628,7 +641,20 @@ export default {
}, { }, {
_this: this _this: this
}, res => { }, res => {
console.log('805',res) // 适用车型转换
for (let a = 0; a < res.data.records.length; a++) {
if (res.data.records[a].applyType !== null) {
let k = (res.data.records[a].applyType || "").split(",");
for (let i in this.energyKindOptions) {
for (let m = 0; m < k.length; m++) {
if (this.energyKindOptions[i].value === k[m]) {
k[m] = this.energyKindOptions[i].label;
}
res.data.records[a].applyType = k.join(",");
}
}
}
}
this.warningTableDatas = res.data.records this.warningTableDatas = res.data.records
this.pageConfig.page = res.data.current this.pageConfig.page = res.data.current
this.pageConfig.pageSize = res.data.size this.pageConfig.pageSize = res.data.size
@@ -637,9 +663,8 @@ export default {
this.warningTableLoading = false this.warningTableLoading = false
}, e => { }, e => {
}); });
}); });
this.searchBtnClick()
} }
}; };
@@ -0,0 +1,83 @@
<!-- 流程信息公共头部 -->
<template>
<div class="prc-header-wrap">
<div class="process-header">
<span class="process-title">
<slot name="proName"></slot>
<a>(<slot name="proNode"></slot>)</a>
</span>
</div>
<el-divider></el-divider>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
name: 'ProcessHeaderPhone',
mixins: [],
props: {
toggle: {
type: Boolean,
default: false
}
},
components: {},
data () {
return {
activeName: '',
opacityStyle: {},
headerFixed: false
}
},
methods: {
handleBack() {
if (this.$store.state.detailMap !== '') {
this.$router.push({
path: this.$store.state.detailMap,
query: {
prcNum: this.$store.getters.getHandleInfo.prcNum,
tabsName: this.$store.getters.getHandleInfo.tabsName
}
})
this.$store.commit('setDetailMap', '')
} else {
this.$router.push({
name: 'ProcessCenter'
})
}
}
},
computed: {
...mapGetters(['isCollapse'])
},
watch: {},
mounted () {
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.el-divider {
margin: 10px 0 0;
}
.process-header {
position: relative;
padding-top: 10px;
}
.process-title {
margin-left: 10px;
font-size: 18px;
font-weight: bold;
display: inline-block;
height: 30px;
line-height: 30px;
a {
font-size: 14px;
margin-left: 5px;
cursor: default;
color: #888;
}
}
</style>
@@ -67,7 +67,7 @@
v-for="item in comityRoleOptions" v-for="item in comityRoleOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.label"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -80,7 +80,7 @@
v-for="item in comityStateOptions" v-for="item in comityStateOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.label"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -93,7 +93,7 @@
v-for="item in comityKindOptions" v-for="item in comityKindOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.label"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -161,7 +161,7 @@
</el-form> </el-form>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath"> <el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea"/> <el-input v-model="rh_pageData.workPath" type="textarea" placeholder="请填写工作方向"/>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-bottom: 50px"> <el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-bottom: 50px">
<div class="comityTel_btn"> <div class="comityTel_btn">
@@ -196,7 +196,7 @@
align="center" align="center"
label="联络人"> label="联络人">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.tel_name"/> <el-input v-model="scope.row.tel_name" placeholder="请填写联络人"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -204,7 +204,7 @@
align="center" align="center"
label="单位"> label="单位">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.tel_unit"/> <el-input v-model="scope.row.tel_unit" placeholder="请填写单位"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -212,7 +212,7 @@
align="center" align="center"
label="电话"> label="电话">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.tel_phone"/> <el-input v-model="scope.row.tel_phone" placeholder="请填写单位"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -220,7 +220,7 @@
align="center" align="center"
label="邮箱"> label="邮箱">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.tel_mail"/> <el-input v-model="scope.row.tel_mail" placeholder="请填写邮箱"/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -228,6 +228,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '2'"> <div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
@@ -469,6 +482,8 @@ export default {
nodeListOne: [], nodeListOne: [],
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
commentText: '',
} }
}, },
@@ -530,6 +545,7 @@ export default {
this.fileTextList.splice(index, 1) this.fileTextList.splice(index, 1)
} }
}) })
this.rh_pageData.infoSources = this.fileTextList
}, },
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file, fileList) { handleOnsuccess(res, file, fileList) {
@@ -547,6 +563,7 @@ export default {
}) })
} }
this.fileListData.fileText = this.newDataList this.fileListData.fileText = this.newDataList
this.rh_pageData.infoSources = this.newDataList
this.$message({ this.$message({
showClose: true, showClose: true,
message: res.message, message: res.message,
@@ -663,7 +680,8 @@ export default {
_formData.append('prcType', '20') _formData.append('prcType', '20')
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleForm: this.roleForm, roleForm: this.roleForm,
rh_pageData: this.rh_pageData rh_pageData: this.rh_pageData,
commentText: this.commentText
})) }))
saveTaskFirst(_formData).then(res => { saveTaskFirst(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -675,41 +693,46 @@ export default {
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
prcCreateUser: this.$store.getters.userInfo.userId, this.$message.warning('请输入回执说明')
prcCreateUserName: this.$store.getters.userInfo.userName, } else {
roleList: this.roleForm, let json = {
rh_pageData: this.rh_pageData, prcCreateUser: this.$store.getters.userInfo.userId,
directorList: this.rh_pageData.comityInRoleId, prcCreateUserName: this.$store.getters.userInfo.userName,
} roleList: this.roleForm,
this.$refs['rh_pageData'].validate((valid) => { rh_pageData: this.rh_pageData,
if (valid) { commentText: this.commentText,
this.$refs['roleForm'].validate((valid) => { directorList: this.rh_pageData.comityInRoleId,
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '20'
}
startProcess(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskID)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
})
})
} else {
this.$message.warning('请完成流程信息的人员选择')
}
})
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '20'
}
startProcess(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskID)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
})
})
} else {
this.$message.warning('请完成流程信息的人员选择')
}
})
}
})
}
} }
} }
} }
@@ -15,18 +15,6 @@
</ProcessTitle> </ProcessTitle>
<div class="content_form"> <div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules"> <el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件编号:" prop="comityFileNum">
{{ rh_pageData.comityFileNum || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件名称:" prop="comityFileName">
{{ rh_pageData.comityFileName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:"> <el-form-item class="add-form-item" label="协会名称:">
@@ -75,8 +63,18 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath"> <el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea" :disabled="true" style="width: 50%;height: auto"></el-input> <el-input v-model="rh_pageData.workPath" type="textarea" readonly style="width: 50%;height: auto"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:"> <el-form-item class="add-form-item" label="协会外部联系方式:">
<el-table <el-table
@@ -108,7 +106,7 @@
</div> </div>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="回执说明"> <el-collapse-item title="审批意见">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -257,6 +255,8 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
infoSourcesLength: ''
} }
}, },
computed: { computed: {
@@ -298,6 +298,7 @@ export default {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.comityOpRole = this.$store.getters.userInfo.userName this.rh_pageData.comityOpRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
@@ -305,57 +306,73 @@ export default {
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入审批意见')
memberId: this.$store.getters.userInfo.userId, } else {
passFlag: '0', let json = {
commentText: this.commentText, roleList: this.roleForm,
rh_pageData: this.rh_pageData, memberId: this.$store.getters.userInfo.userId,
} passFlag: '0',
this.$refs['rh_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { rh_pageData: this.rh_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入审批意见')
memberId: this.$store.getters.userInfo.userId, } else {
passFlag: '1', let json = {
commentText: this.commentText, roleList: this.roleForm,
rh_pageData: this.rh_pageData, memberId: this.$store.getters.userInfo.userId,
} passFlag: '1',
this.$refs['rh_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { rh_pageData: this.rh_pageData,
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -14,19 +14,7 @@
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
</ProcessTitle> </ProcessTitle>
<div class="content_form"> <div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px"> <el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" :rules="rh_rules" label-width="150px">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件编号:" prop="comityFileNum">
{{ rh_pageData.comityFileNum || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件名称:" prop="comityFileName">
{{ rh_pageData.comityFileName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:"> <el-form-item class="add-form-item" label="协会名称:">
@@ -75,6 +63,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px"> <el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px">
<el-table <el-table
:data="rh_pageData.comityTel" :data="rh_pageData.comityTel"
@@ -155,9 +153,10 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="参与人部门领导:"> <el-form-item class="add-form-item" prop="fillLeader" label="参与人部门领导:">
<el-input <el-input
style="width: 100%" style="width: 100%"
readonly
placeholder="请填写" placeholder="请填写"
v-model="rh_pageData.fillLeader" v-model="rh_pageData.fillLeader"
@click.native="choiceZRR" @click.native="choiceZRR"
@@ -177,6 +176,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
@@ -303,6 +315,7 @@ export default {
workPath: '', workPath: '',
comityTel: [], comityTel: [],
fillPeople: '', fillPeople: '',
fillPeopleId: '',
fillUnit: '', fillUnit: '',
fillDept: '', fillDept: '',
fillPost: '', fillPost: '',
@@ -312,6 +325,13 @@ export default {
fillLeaderId: '', fillLeaderId: '',
fillFile: '', fillFile: '',
}, },
rh_rules: {
fillLeader: [
{required: true, message: "请选择参与人部门领导", trigger: 'blur'},
{ trigger: 'change' }
]
},
roleForm: {}, roleForm: {},
unqualidiedData: [], unqualidiedData: [],
roleShowflag: false, roleShowflag: false,
@@ -324,6 +344,8 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
commentText: '',
infoSourcesLength: ''
} }
}, },
computed: { computed: {
@@ -364,7 +386,9 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.fillPeople = this.$store.getters.userInfo.userName this.rh_pageData.fillPeople = this.$store.getters.userInfo.userName
this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
@@ -409,29 +433,41 @@ export default {
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入回执说明')
selfUser: this.$store.getters.userInfo.userId, } else {
charge: this.rh_pageData.fillLeaderId, let json = {
rh_pageData: this.rh_pageData, roleList: this.roleForm,
} selfUser: this.$store.getters.userInfo.userId,
this.$refs['rh_pageData'].validate((valid) => { charge: this.rh_pageData.fillLeaderId,
if (valid) { rh_pageData: this.rh_pageData,
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
} if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
} }
} }
</script> </script>
@@ -15,18 +15,6 @@
</ProcessTitle> </ProcessTitle>
<div class="content_form"> <div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules"> <el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件编号:" prop="comityFileNum">
{{ rh_pageData.comityFileNum || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件名称:" prop="comityFileName">
{{ rh_pageData.comityFileName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:"> <el-form-item class="add-form-item" label="协会名称:">
@@ -75,6 +63,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath"> <el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea" :disabled="true" style="width: 50%;height: auto"></el-input> <el-input v-model="rh_pageData.workPath" type="textarea" :disabled="true" style="width: 50%;height: auto"></el-input>
</el-form-item> </el-form-item>
@@ -116,7 +114,7 @@
</div> </div>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="回执说明"> <el-collapse-item title="审批意见">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -250,6 +248,7 @@ export default {
workPath: '', workPath: '',
comityTel: [], comityTel: [],
fillPeople: '', fillPeople: '',
fillPeopleId: '',
fillUnit: '', fillUnit: '',
fillDept: '', fillDept: '',
fillPost: '', fillPost: '',
@@ -271,6 +270,8 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
infoSourcesLength: ''
} }
}, },
computed: { computed: {
@@ -314,7 +315,9 @@ export default {
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.infoSourcesLength = this.rh_pageData.infoSources.length
this.rh_pageData.myPartRole = [{ this.rh_pageData.myPartRole = [{
fillPeopleId: this.rh_pageData.fillPeopleId,
fillPeople: this.rh_pageData.fillPeople, fillPeople: this.rh_pageData.fillPeople,
fillUnit: this.rh_pageData.fillUnit, fillUnit: this.rh_pageData.fillUnit,
fillDept: this.rh_pageData.fillDept, fillDept: this.rh_pageData.fillDept,
@@ -331,57 +334,73 @@ export default {
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if(this.textarea === '') {
member: this.selfUser, this.$message.warning('请输入审批意见')
passFlag: '0', } else {
roleList: this.roleForm, let json = {
commentText: this.textarea, member: this.selfUser,
rh_pageData: this.rh_pageData, passFlag: '0',
} roleList: this.roleForm,
this.$refs['rh_pageData'].validate((valid) => { commentText: this.textarea,
if (valid) { rh_pageData: this.rh_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if(this.textarea === '') {
member: this.selfUser, this.$message.warning('请输入审批意见')
passFlag: '1', } else {
engineerSum: this.roleForm.startUser, let json = {
roleList: this.roleForm, member: this.selfUser,
commentText: this.textarea, passFlag: '1',
rh_pageData: this.rh_pageData, engineerSum: this.roleForm.startUser,
} roleList: this.roleForm,
this.$refs['rh_pageData'].validate((valid) => { commentText: this.textarea,
if (valid) { rh_pageData: this.rh_pageData,
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
} if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
} }
} }
</script> </script>
@@ -15,18 +15,6 @@
</ProcessTitle> </ProcessTitle>
<div class="content_form"> <div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules"> <el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件编号:" prop="comityFileNum">
{{ rh_pageData.comityFileNum || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件名称:" prop="comityFileName">
{{ rh_pageData.comityFileName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:"> <el-form-item class="add-form-item" label="协会名称:">
@@ -75,6 +63,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath"> <el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea" style="width: 50%;height: auto"></el-input> <el-input v-model="rh_pageData.workPath" type="textarea" style="width: 50%;height: auto"></el-input>
</el-form-item> </el-form-item>
@@ -154,6 +152,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
@@ -294,6 +305,10 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
deleteDataList: [],
infoSourcesLength: '',
commentText: ''
} }
}, },
computed: { computed: {
@@ -338,6 +353,7 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
@@ -356,7 +372,7 @@ export default {
this.deleteDataList.map(item => { this.deleteDataList.map(item => {
let index; let index;
index = this.rh_pageData.myPartRole.findIndex(items => { index = this.rh_pageData.myPartRole.findIndex(items => {
return items.id === item; return items === item;
}); });
if (index > -1) { if (index > -1) {
this.rh_pageData.myPartRole.splice(index, 1); this.rh_pageData.myPartRole.splice(index, 1);
@@ -374,13 +390,32 @@ export default {
}, },
// 保存按钮 // 保存按钮
handleSave() { handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
rh_pageData: this.rh_pageData,
roleList: this.roleForm,
commentText: this.commentText
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入回执说明')
} else {
let json = { let json = {
leader: this.roleForm.leaderUserId, leader: this.roleForm.leaderUserId,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
roleList: this.roleForm, roleList: this.roleForm,
commentText: this.commentText
} }
this.$refs['rh_pageData'].validate((valid) => { this.$refs['rh_pageData'].validate((valid) => {
if (valid) { if (valid) {
@@ -398,7 +433,17 @@ export default {
}); });
} }
}) })
} }
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
} }
} }
</script> </script>
@@ -0,0 +1,507 @@
<template>
<div class="bzrhStep6">
<ProcessHeader toggle>
<template slot="proName">外部标准化协会入会流程</template>
<template slot="proNode">批准</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState">
{{ rh_pageData.comityState || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="资质:">
{{ rh_pageData.comityMake.makeQualification || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用估计:">
{{ rh_pageData.comityMake.makeCost || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" readonly type="textarea" style="width: 50%;height: auto"></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px">
<el-table
:data="rh_pageData.comityTel"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="tel_name" align="center" label="联络人"/>
<el-table-column prop="tel_unit" align="center" label="单位"/>
<el-table-column prop="tel_phone" align="center" label="电话"/>
<el-table-column prop="tel_mail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px">
<el-table
:data="rh_pageData.myPartRole"
border
ref="entryTable"
@selection-change="selectedDelete"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column prop="fillPeople" align="center" label="参与人"/>
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
</el-table>
</el-form-item>
</el-form>
</div>
</div>
<el-collapse accordion>
<el-collapse-item :title="textTitle">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
:placeholder="textHolder"
v-model="textarea">
</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>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js"
export default {
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
name: "bzrhStep6-1",
data() {
return {
active: '1', // 默认显示
rh_rules: {},
rh_pageData: {
comityFileNum: '',
comityFileName: '',
comityName: '',
comityRole: '',
comityState: '',
comityKind: '',
InfoSources: '',
comityMake: {
makeQualification: '',
makeRole: '',
makeCost: '',
makeDuties: '',
makeTime: '',
},
workPath: '',
comityTel: [],
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
myPartRole: [],
},
detailData: [],
loading: false,
roleForm: {},
textarea: '',
isSubmit: false,
isBack: false,
saveLoading: false,
taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: '',
textTitle: '审批意见',
textHolder: '请输入审批意见'
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
// 右上标签页面切换
handleTabs(name) {
this.active = name
},
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() {
if (this.taskInfo === '标准法规工程师汇总修订完毕') {
this.textTitle = '回执说明'
this.textHolder = '请输入回执说明'
}
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
this.textarea = JSON.parse(JSON.stringify(item)).commentText
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
selectedDelete(val) {
this.deleteDataList = val
},
// 退回按钮
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入反馈意见')
} else {
let json = {
passFlag: '0',
rh_pageData: this.rh_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else {
json = {
rh_pageData: this.rh_pageData,
roleList: this.roleForm
}
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
// 提交按钮
handleSubmit() {
if (this.textarea === '') {
if (this.taskInfo === '标准法规工程师汇总修订完毕') {
this.$message.warning('请输入回执说明')
} else {
this.$message.warning('请输入反馈意见')
}
} else {
let json = {
passFlag: '1',
rh_pageData: this.rh_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else {
json = {
rh_pageData: this.rh_pageData,
roleList: this.roleForm
}
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzrhStep6 {
position: relative;
height: 100%;
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
.content_form {
padding: 15px;
.comityTel_btn {
text-align: right;
}
/deep/ .el-table th {
padding: 0px;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.myPart_btn {
text-align: right;
}
}
}
</style>
@@ -18,18 +18,6 @@
</ProcessTitle> </ProcessTitle>
<div class="content_form"> <div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules"> <el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件编号:" prop="comityFileNum">
{{ rh_pageData.comityFileNum || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="文件名称:" prop="comityFileName">
{{ rh_pageData.comityFileName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:"> <el-form-item class="add-form-item" label="协会名称:">
@@ -78,8 +66,18 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath"> <el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea" style="width: 50%;height: auto"></el-input> <el-input v-model="rh_pageData.workPath" readonly type="textarea" style="width: 50%;height: auto"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px"> <el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px">
<el-table <el-table
@@ -98,15 +96,6 @@
</el-table> </el-table>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px"> <el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px">
<div class="myPart_btn">
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="del_paryForm">
批量删除
</el-button>
</div>
<el-table <el-table
:data="rh_pageData.myPartRole" :data="rh_pageData.myPartRole"
border border
@@ -129,6 +118,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item :title="textTitle">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
:placeholder="textHolder"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
@@ -277,6 +279,11 @@ export default {
taskInfo: this.$route.query.taskInfo, taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
infoSourcesLength: '',
textTitle: '审批意见',
textHolder: '请输入审批意见'
} }
}, },
computed: { computed: {
@@ -308,6 +315,10 @@ export default {
}, },
getData() { getData() {
if (this.taskInfo === '标准法规工程师汇总修订完毕') {
this.textTitle = '回执说明'
this.textHolder = '请输入回执说明'
}
const params = { const params = {
taskIds: this.taskIds, taskIds: this.taskIds,
pId: this.pId, pId: this.pId,
@@ -321,114 +332,107 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
/** 批量删除 */ /** 点击对应附件进行下载*/
del_paryForm() { previews(val) {
if (this.deleteDataList.length < 1) { let attId = val
this.$message.warning("请选择一条数据进行删除"); if (attId != null && attId !== "") {
} else { window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteDataList.map(item => {
let index;
index = this.rh_pageData.myPartRole.findIndex(items => {
return items.id === item;
});
if (index > -1) {
this.rh_pageData.myPartRole.splice(index, 1);
}
exits.push(item);
});
this.deleteDataList = [];
}).catch(() => {
});
} }
}, },
selectedDelete(val) { selectedDelete(val) {
this.deleteDataList = val this.deleteDataList = val
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
passFlag: '0', this.$message.warning('请输入反馈意见')
rh_pageData: this.rh_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else { } else {
json = { let json = {
passFlag: '0',
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
roleList: this.roleForm roleList: this.roleForm
} }
} if (this.taskInfo === '标准法规部主管领导审核') {
this.$refs['rh_pageData'].validate((valid) => { json.manageDepartmentList = this.roleForm.feeUserId
if (valid) { } else if (this.taskInfo === '费用管理部门会签') {
this.isBack = true json.manageDepartment = this.$store.getters.userInfo.userId
const params = new FormData(); json.president = this.roleForm.engineerUserId
params.set('json', JSON.stringify(json)) } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
params.set('userId', this.$store.getters.userInfo.userId) json.engineerSumDone = this.roleForm.startUser
params.set('taskId', this.taskIds) } else {
completeTask(params).then(res => { json = {
if (res.success === true) { rh_pageData: this.rh_pageData,
this.$message.success('提交成功') roleList: this.roleForm
this.$router.push("/processCenter"); }
}
this.isBack = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.textarea === '') {
passFlag: '1', if (this.taskInfo === '标准法规工程师汇总修订完毕') {
rh_pageData: this.rh_pageData, this.$message.warning('请输入回执说明')
roleList: this.roleForm } else {
} this.$message.warning('请输入反馈意见')
if (this.taskInfo === '标准法规部主管领导审核') { }
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else { } else {
json = { let json = {
passFlag: '1',
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
} if (this.taskInfo === '标准法规部主管领导审核') {
this.$refs['rh_pageData'].validate((valid) => { json.manageDepartmentList = this.roleForm.feeUserId
if (valid) { } else if (this.taskInfo === '费用管理部门会签') {
this.isSubmit = true json.manageDepartment = this.$store.getters.userInfo.userId
const params = new FormData(); json.president = this.roleForm.engineerUserId
params.set('json', JSON.stringify(json)) } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
params.set('userId', this.$store.getters.userInfo.userId) json.engineerSumDone = this.roleForm.startUser
params.set('taskId', this.taskIds) } else {
completeTask(params).then(res => { json = {
if (res.success === true) { rh_pageData: this.rh_pageData,
this.$message.success('提交成功') roleList: this.roleForm
this.$router.push("/processCenter"); }
}
this.isSubmit = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -97,7 +97,8 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
<el-select <el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input>
<!-- <el-select
v-model="ch_pageData.feeKind" v-model="ch_pageData.feeKind"
placeholder="请选择费用列支"> placeholder="请选择费用列支">
<el-option <el-option
@@ -105,7 +106,7 @@
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.label"/> :value="item.label"/>
</el-select> </el-select>-->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -170,6 +171,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '2'"> <div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
@@ -319,7 +333,7 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, saveTaskFirst, completeTask} from '@/api/process.js' import {startProcess, queryTaskFirst, saveTaskFirst, completeTask} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -393,6 +407,13 @@ export default {
roleShowflagOne: false, roleShowflagOne: false,
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
commentText: ''
}
},
mounted() {
this.bpnId = this.$route.query.bpnId
if (this.bpnId !== undefined) {
this.getData()
} }
}, },
methods: { methods: {
@@ -400,6 +421,16 @@ export default {
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
getData() {
queryTaskFirst({
bpnId: this.$route.query.bpnId
}).then(res => {
let mes = JSON.parse(res.mes)
this.ch_pageData = mes.ch_pageData
this.commentText = mes.commentText
this.roleForm = mes.roleForm
});
},
//上传按钮 //上传按钮
/* uploadFile(val) { /* uploadFile(val) {
@@ -557,10 +588,12 @@ export default {
_formData.append('id', this.bpnId || '') _formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId) _formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName) _formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '20') _formData.append('prcType', '21')
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleForm: this.roleForm, roleForm: this.roleForm,
ch_pageData: this.ch_pageData ch_pageData: this.ch_pageData,
commentText: this.commentText
})) }))
saveTaskFirst(_formData).then(res => { saveTaskFirst(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -572,39 +605,44 @@ export default {
}, },
/** 提交按钮*/ /** 提交按钮*/
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
prcCreateUser: this.$store.getters.userInfo.userId, this.$message.warning('请输入回执说明')
prcCreateUserName: this.$store.getters.userInfo.userName, } else {
roleList: this.roleForm, let json = {
ch_pageData: this.ch_pageData, prcCreateUser: this.$store.getters.userInfo.userId,
directorList: this.roleForm.dockUser, prcCreateUserName: this.$store.getters.userInfo.userName,
} roleList: this.roleForm,
this.$refs['ch_pageData'].validate((valid) => { ch_pageData: this.ch_pageData,
if (valid) { commentText: this.commentText,
this.$refs['roleForm'].validate((valid) => { directorList: this.roleForm.dockUser,
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '21'
}
startProcess(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskID)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
})
})
}
})
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '21'
}
startProcess(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskID)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
})
})
}
})
}
})
}
} }
} }
@@ -59,19 +59,18 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <span v-if="uploadFileLength < 1">{{ '-' }}</span>
action="" <span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
name="file" {{ item.name }} {{ ';'}}
:disabled="acceptShow" </span>
:file-list="ch_pageData.fileTextList"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="类别:"> <el-form-item class="add-form-item" label="类别:">
{{ ch_pageData.sort || '-'}} <span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -104,14 +103,14 @@
</div> </div>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="回执说明"> <el-collapse-item title="审批意见">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="textContent"> v-model="commentText">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -217,7 +216,7 @@ export default {
ch_pageData: {}, ch_pageData: {},
ch_rules: {}, ch_rules: {},
nodeList: [], nodeList: [],
textContent: '', commentText: '',
isBack: false, isBack: false,
isSubmit: false, isSubmit: false,
@@ -228,6 +227,7 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: ''
} }
}, },
computed: { computed: {
@@ -272,61 +272,72 @@ export default {
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
}) })
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入审批意见')
memberId: this.$store.getters.userInfo.userId, } else {
passFlag: '0', let json = {
commentText: this.textContent, roleList: this.roleForm,
ch_pageData: this.ch_pageData, memberId: this.$store.getters.userInfo.userId,
} passFlag: '0',
this.$refs['ch_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { ch_pageData: this.ch_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入审批意见')
memberId: this.$store.getters.userInfo.userId, } else {
passFlag: '1', let json = {
commentText: this.textContent, roleList: this.roleForm,
ch_pageData: this.ch_pageData, memberId: this.$store.getters.userInfo.userId,
} passFlag: '1',
this.$refs['ch_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { ch_pageData: this.ch_pageData,
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -59,18 +59,18 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <span v-if="uploadFileLength < 1">{{ '-' }}</span>
action="" <span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
name="file" {{ item.name }} {{ ';'}}
:file-list="ch_pageData.fileTextList" </span>
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="类别:"> <el-form-item class="add-form-item" label="类别:">
{{ ch_pageData.sort || '-' }} <span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -123,9 +123,10 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="参与人部门领导:"> <el-form-item class="add-form-item" prop="fillLeader" label="参与人部门领导:">
<el-input <el-input
style="width: 100%" style="width: 100%"
readonly
placeholder="请选择" placeholder="请选择"
v-model="ch_pageData.fillLeader" v-model="ch_pageData.fillLeader"
@click.native="choiceZRR" @click.native="choiceZRR"
@@ -154,6 +155,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
@@ -269,7 +283,12 @@ export default {
fillLeader: '', fillLeader: '',
fillFile: '', fillFile: '',
}, },
ch_rules: {}, ch_rules: {
fillLeader: [
{required: true, message: "请选择参与人部门领导", trigger: 'blur'},
{ trigger: 'change' }
]
},
detailData: [], detailData: [],
loading: false, loading: false,
@@ -284,6 +303,9 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: '',
commentText: ''
} }
}, },
computed: { computed: {
@@ -327,6 +349,7 @@ export default {
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.fillPeopleId = this.$store.getters.userInfo.userId this.ch_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.ch_pageData.fillPeople = this.$store.getters.userInfo.userName this.ch_pageData.fillPeople = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
@@ -356,6 +379,7 @@ export default {
_formData.append('taskIds', this.taskIds) _formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleList: this.roleForm, roleList: this.roleForm,
commentText: this.commentText,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
charge: this.ch_pageData.fillLeaderId, charge: this.ch_pageData.fillLeaderId,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
@@ -370,28 +394,34 @@ export default {
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入回执说明')
selfUser: this.$store.getters.userInfo.userId, } else {
charge: this.ch_pageData.fillLeaderId, let json = {
ch_pageData: this.ch_pageData, roleList: this.roleForm,
} selfUser: this.$store.getters.userInfo.userId,
this.$refs['ch_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { charge: this.ch_pageData.fillLeaderId,
this.isSubmit = true ch_pageData: this.ch_pageData,
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -59,18 +59,18 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <span v-if="uploadFileLength < 1">{{ '-' }}</span>
action="" <span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
name="file" {{ item.name }} {{ ';'}}
:file-list="ch_pageData.fileTextList" </span>
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="类别:"> <el-form-item class="add-form-item" label="类别:">
{{ ch_pageData.sort || '-' }} <span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -109,7 +109,7 @@
</div> </div>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="回执说明"> <el-collapse-item title="审批意见">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -232,6 +232,7 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: ''
} }
}, },
computed: { computed: {
@@ -275,6 +276,7 @@ export default {
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.myPartRole = [{ this.ch_pageData.myPartRole = [{
fillPeopleId: this.ch_pageData.fillPeopleId, fillPeopleId: this.ch_pageData.fillPeopleId,
fillPeople: this.ch_pageData.fillPeople, fillPeople: this.ch_pageData.fillPeople,
@@ -292,56 +294,64 @@ export default {
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
member: this.selfUser, this.$message.warning('请输入审批意见')
passFlag: '0', } else {
roleList: this.roleForm, let json = {
commentText: this.textarea, member: this.selfUser,
ch_pageData: this.ch_pageData, passFlag: '0',
} roleList: this.roleForm,
this.$refs['ch_pageData'].validate((valid) => { commentText: this.textarea,
if (valid) { ch_pageData: this.ch_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.textarea === '') {
member: this.selfUser, this.$message.warning('请输入审批意见')
passFlag: '1', } else {
engineerSum: this.roleForm.startUser, let json = {
roleList: this.roleForm, member: this.selfUser,
commentText: this.textarea, passFlag: '1',
ch_pageData: this.ch_pageData, engineerSum: this.roleForm.startUser,
} roleList: this.roleForm,
this.$refs['ch_pageData'].validate((valid) => { commentText: this.textarea,
if (valid) { ch_pageData: this.ch_pageData,
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -59,18 +59,18 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <span v-if="uploadFileLength < 1">{{ '-' }}</span>
action="" <span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
name="file" {{ item.name }} {{ ';'}}
:file-list="ch_pageData.fileTextList" </span>
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="类别:"> <el-form-item class="add-form-item" label="类别:">
{{ ch_pageData.sort || '-' }} <span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -126,6 +126,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
@@ -210,7 +223,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import { startProcess, saveTaskFirst,completeTask, inboundLiaisonDetail } from '@/api/process.js' import { startProcess, saveTaskForPub,completeTask, inboundLiaisonDetail } from '@/api/process.js'
export default { export default {
components: { components: {
ProcessHeader, ProcessHeader,
@@ -237,6 +250,9 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: '',
commentText: ''
} }
}, },
computed: { computed: {
@@ -280,6 +296,7 @@ export default {
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList // this.ch_pageData.comityFileNum = this.fileTextList
}) })
@@ -318,30 +335,51 @@ export default {
}, },
// 保存按钮 // 保存按钮
handleSave() { handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
ch_pageData: this.ch_pageData,
roleList: this.roleForm,
commentText: this.commentText
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.commentText === '') {
leader: this.roleForm.leaderUserId, this.$message.warning('请输入审批意见')
ch_pageData: this.ch_pageData, } else {
roleList: this.roleForm, let json = {
} leader: this.roleForm.leaderUserId,
this.$refs['ch_pageData'].validate((valid) => { ch_pageData: this.ch_pageData,
if (valid) { commentText: this.commentText,
this.isSubmit = true roleList: this.roleForm,
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -0,0 +1,377 @@
<template>
<div class="bzchStep6">
<ProcessHeader toggle>
<template slot="proName">外部标准化协会参会流程</template>
<template slot="proNode">批准</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="主办单位:">
{{ ch_pageData.primaryUnit || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用标准:">
{{ ch_pageData.feeStand || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="类别:">
<span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="议题:">
<el-table
class="meeting_table"
:data="ch_pageData.meetingTable"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column label="议题" align="center" prop="meetingTheme"/>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="入会人员:">
<el-table
:data="ch_pageData.myPartRole"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column prop="fillPeople" align="center" label="人员"/>
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
</el-form>
</div>
</div>
<el-collapse accordion>
<el-collapse-item :title="passTitle">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
:placeholder="passHolder"
v-model="textarea">
</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>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { startProcess, saveTaskFirst,completeTask, inboundLiaisonDetail } from '@/api/process.js'
export default {
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
name: "bzchStep6-1",
data() {
return {
active: '1',
ch_pageData: {
myPartRole: [],
},
ch_rules: {},
textarea: '',
isBack: false,
isSubmit: false,
saveLoading: false,
deleteDataList: [],
detailData: [],
loading: false,
taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
uploadFileLength: '',
passTitle: '回执说明',
passHolder: '请输入回执说明'
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
// 右上标签页面切换
handleTabs(name) {
this.active = name
},
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() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList (item) {
this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.textarea = JSON.parse(JSON.stringify(item)).commentText
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList
})
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzchStep6 {
position: relative;
height: 100%;
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/.el-table__body-wrapper {
height: auto!important;
}
/deep/.el-textarea__inner {
font-family: inherit;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/.el-upload {
display: unset;
}
/deep/.el-upload-list__item-status-label {
font-size: 0;
}
/deep/.el-upload-list__item {
.el-icon-close {
font-size: 0;
}
.el-icon-close-tip {
font-size: 0;
}
}
/deep/.el-table th {
padding: 0px;
}
}
}
</style>
@@ -62,18 +62,18 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <span v-if="uploadFileLength < 1">{{ '-' }}</span>
action="" <span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
name="file" {{ item.name }} {{ ';'}}
:file-list="ch_pageData.fileTextList" </span>
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="类别:"> <el-form-item class="add-form-item" label="类别:">
{{ ch_pageData.sort || '-' }} <span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -111,6 +111,19 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-collapse accordion>
<el-collapse-item :title="passTitle">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
:placeholder="passHolder"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
@@ -230,6 +243,10 @@ export default {
taskInfo: this.$route.query.taskInfo, taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: '',
passTitle: '审批意见',
passHolder: '请输入审批意见'
} }
}, },
computed: { computed: {
@@ -261,6 +278,10 @@ export default {
}, },
getData() { getData() {
if (this.taskInfo === '标准法规工程师修订完毕') {
this.passTitle = '回执说明',
this.passHolder = '请输入回执说明'
}
const params = { const params = {
taskIds: this.taskIds, taskIds: this.taskIds,
pId: this.pId, pId: this.pId,
@@ -273,6 +294,7 @@ export default {
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList // this.ch_pageData.comityFileNum = this.fileTextList
}) })
@@ -293,7 +315,7 @@ export default {
this.deleteDataList.map(item => { this.deleteDataList.map(item => {
let index; let index;
index = this.ch_pageData.myPartRole.findIndex(items => { index = this.ch_pageData.myPartRole.findIndex(items => {
return items.id === item; return items === item;
}); });
if (index > -1) { if (index > -1) {
this.ch_pageData.myPartRole.splice(index, 1); this.ch_pageData.myPartRole.splice(index, 1);
@@ -311,77 +333,90 @@ export default {
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
passFlag: '0', this.$message.warning('请输入审批意见')
ch_pageData: this.ch_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '技术管理中心主任审批') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else { } else {
json = { let json = {
passFlag: '0',
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
} if (this.taskInfo === '技术管理中心主任审批') {
this.$refs['ch_pageData'].validate((valid) => { json.manageDepartmentList = this.roleForm.feeUserId
if (valid) { } else if (this.taskInfo === '费用管理部门会签') {
this.isBack = true json.manageDepartment = this.$store.getters.userInfo.userId
const params = new FormData(); json.president = this.roleForm.engineerUserId
params.set('json', JSON.stringify(json)) } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
params.set('userId', this.$store.getters.userInfo.userId) json.engineerSumDone = this.roleForm.startUser
params.set('taskId', this.taskIds) } else {
completeTask(params).then(res => { json = {
if (res.success === true) { ch_pageData: this.ch_pageData,
this.$message.success('提交成功') commentText: this.textarea,
this.$router.push("/processCenter"); roleList: this.roleForm
} }
this.isBack = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { if (this.textarea === '') {
passFlag: '1', this.$message.warning('请输入审批意见')
ch_pageData: this.ch_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '技术管理中心主任审批') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else { } else {
json = { let json = {
passFlag: '1',
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
} if (this.taskInfo === '技术管理中心主任审批') {
this.$refs['ch_pageData'].validate((valid) => { json.manageDepartmentList = this.roleForm.feeUserId
if (valid) { } else if (this.taskInfo === '费用管理部门会签') {
this.isSubmit = true json.manageDepartment = this.$store.getters.userInfo.userId
const params = new FormData(); json.president = this.roleForm.engineerUserId
params.set('json', JSON.stringify(json)) } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
params.set('userId', this.$store.getters.userInfo.userId) json.engineerSumDone = this.roleForm.startUser
params.set('taskId', this.taskIds) } else {
completeTask(params).then(res => { json = {
if (res.success === true) { ch_pageData: this.ch_pageData,
this.$message.success('提交成功') commentText: this.textarea,
this.$router.push("/processCenter"); roleList: this.roleForm
} }
this.isSubmit = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
} }
} }
} }
@@ -325,12 +325,6 @@
submitBTNText="同意" submitBTNText="同意"
> >
</ProcessFooter> </ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog <el-dialog
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
@@ -385,6 +379,9 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzjdStep4')
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -29,7 +29,7 @@
<el-radio label="1">海外标准入库</el-radio> <el-radio label="1">海外标准入库</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="标准类别" prop="standSort" class="add-form-item form-item-disabled" v-show="form.standInData === '0'"> <el-form-item label="标准类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" filterable v-model="form.standSort" placeholder="请选择标准类别"> <el-select :popper-append-to-body="false" filterable v-model="form.standSort" placeholder="请选择标准类别">
<el-option <el-option
v-for="item in standSortOptions" v-for="item in standSortOptions"
@@ -262,28 +262,21 @@
v-model="form.xgdName" v-model="form.xgdName"
clearable clearable
></el-input> ></el-input>
<div v-if="xgdFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.xgdName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in xgdFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('xgd')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('xgd')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled"> <el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -292,28 +285,21 @@
v-model="form.fbgbjbdName" v-model="form.fbgbjbdName"
clearable clearable
></el-input> ></el-input>
<div v-if="FBGBJBDFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.fbgbjbdName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in FBGBJBDFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('fbgbjbd')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('fbgbjbd')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled"> <el-form-item v-show="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -322,28 +308,21 @@
v-model="form.ssgName" v-model="form.ssgName"
clearable clearable
></el-input> ></el-input>
<div v-if="ssgFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.ssgName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in ssgFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('ssg')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('ssg')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled"> <el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -352,28 +331,21 @@
v-model="form.caName" v-model="form.caName"
clearable clearable
></el-input> ></el-input>
<div v-if="caFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.caName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in caFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('ca')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('ca')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled"> <el-form-item v-show="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -382,28 +354,21 @@
v-model="form.zbjbdName" v-model="form.zbjbdName"
clearable clearable
></el-input> ></el-input>
<div v-if="zbjbdFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.zbjbdName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in zbjbdFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('zbjbd')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('zbjbd')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -414,28 +379,21 @@
v-model="form.kwjName" v-model="form.kwjName"
clearable clearable
></el-input> ></el-input>
<div v-if="kwjFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.kwjName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in kwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('kwj')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('kwj')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************--> <!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************-->
<el-form-item v-show="form.standInData === '0'" label="相关文件" prop="jdwj" class="add-form-item form-item-disabled"> <el-form-item v-show="form.standInData === '0'" label="相关文件" prop="jdwj" class="add-form-item form-item-disabled">
@@ -446,28 +404,21 @@
v-model="form.jdwjName" v-model="form.jdwjName"
clearable clearable
></el-input> ></el-input>
<div v-if="jdwjFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.jdwjName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in jdwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('jdwj')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('jdwj')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled"> <el-form-item v-show="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -476,28 +427,21 @@
v-model="form.bpgName" v-model="form.bpgName"
clearable clearable
></el-input> ></el-input>
<div v-if="bpgFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.bpgName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in bpgFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('bpg')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('bpg')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled"> <el-form-item v-show="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -506,28 +450,21 @@
v-model="form.zqyjgName" v-model="form.zqyjgName"
clearable clearable
></el-input> ></el-input>
<div v-if="zqyjgFileList.length>0"> <div style="display: flex;justify-content: space-between">
<!-- {{ form.zqyjgName }}--> <div style="width: 80%;">
<el-button <div v-for="(item,index) in zqyjgFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
style="margin-left: 10px" type="primary"
@click="fileUpload('zqyjg')"> class="common-button-primary"
<i class="el-icon-upload el-icon--right"></i> size="mini"
查看已上传的文件 style="margin-left: 10px; margin-top: 11px; float: right;"
</el-button> @click="fileUpload('zqyjg')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary" </div>
class="common-button-primary"
size="mini"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -771,27 +708,20 @@
v-model="form.glwjName" v-model="form.glwjName"
clearable clearable
></el-input> ></el-input>
<div v-if="glwjFileList.length>0"> <div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<el-button <div v-for="(item,index) in glwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
type="primary" </div>
class="common-button-primary" <div style="width: 20%;">
size="mini" <el-button
@click="fileUpload('glwj')"> type="primary"
<i class="el-icon-upload el-icon--right"></i> class="common-button-primary"
查看已上传文件 size="mini"
</el-button> style="margin-left: 10px; margin-top: 11px; float: right;"
<!-- {{ form.glwjName }}--> @click="fileUpload('glwj')">
</div> <i class="el-icon-upload el-icon--right"></i>
<div v-else> </el-button>
<el-button </div>
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -1117,7 +1047,7 @@
<el-drawer <el-drawer
ref="standard" ref="standard"
title="查询结果" title="查询结果"
size="1300px" size="800px"
:visible.sync="standardDrawer" :visible.sync="standardDrawer"
direction="rtl" direction="rtl"
:before-close="handleReviseDrawerClose"> :before-close="handleReviseDrawerClose">
@@ -1125,7 +1055,8 @@
<div class="content"> <div class="content">
<div class="standard-table-search"> <div class="standard-table-search">
<el-form :model="standardSearchForm" inline class="label-input-form search-area"> <el-form :model="standardSearchForm" inline class="label-input-form search-area">
<el-formItem label="标准来源" style="margin-right:-20px" prop="standType" class="search-item" > <el-row>
<el-formItem label="标准来源" prop="standType" class="search-item" >
<el-select <el-select
:popper-append-to-body="false" :popper-append-to-body="false"
v-model="standardSearchForm.standType" v-model="standardSearchForm.standType"
@@ -1134,7 +1065,7 @@
<el-option value="FOREIGN" label="海外标准库"></el-option> <el-option value="FOREIGN" label="海外标准库"></el-option>
</el-select> </el-select>
</el-formItem> </el-formItem>
<el-form-item label="标准类别" style="margin-right:-20px" prop="standSort" class="search-item" > <el-form-item label="标准类别" prop="standSort" class="search-item" >
<el-select :popper-append-to-body="false" v-model="standardSearchForm.standSort" placeholder="请选择标准类别" filterable clearable> <el-select :popper-append-to-body="false" v-model="standardSearchForm.standSort" placeholder="请选择标准类别" filterable clearable>
<el-option <el-option
v-for="item in standSortOptions" v-for="item in standSortOptions"
@@ -1144,20 +1075,21 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="标准编号" style="margin-right:-20px" prop="standNumber" class="search-item" > <el-form-item label="标准编号" prop="standNumber" class="search-item" >
<el-input <el-input
v-model="standardSearchForm.standNumber" v-model="standardSearchForm.standNumber"
placeholder="请输入标准编号" placeholder="请输入标准编号"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="中文名称" style="margin-right:-20px" prop="standName" class="search-item" > </el-row>
<el-form-item label="中文名称" prop="standName" class="search-item" >
<el-input v-model="standardSearchForm.standName" <el-input v-model="standardSearchForm.standName"
placeholder="请输入标准名称" placeholder="请输入标准名称"
clearable clearable
:maxlength="500"></el-input> :maxlength="500"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="英文名称" style="margin-right:-20px" prop="standEnName" class="search-item"> <el-form-item label="英文名称" prop="standEnName" class="search-item">
<el-input <el-input
v-model="standardSearchForm.standEnName" v-model="standardSearchForm.standEnName"
maxlength="1000" maxlength="1000"
@@ -1207,6 +1139,7 @@
<el-table-column <el-table-column
label="标准号" label="标准号"
align="center" align="center"
min-width="40"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.standYear" @click="handlePreview(scope.row)"> <a v-if="scope.row.standYear" @click="handlePreview(scope.row)">
@@ -1222,21 +1155,22 @@
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
label="文本状态" label="文本状态"
align="center"> align="center"
min-width="30">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span> <span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="80"> <!-- <el-table-column label="操作" align="center" width="80">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<el-button <!-- <el-button-->
class="opera-btn" <!-- class="opera-btn"-->
size="mini" <!-- size="mini"-->
type="primary" <!-- type="primary"-->
@click="handlePreview(scope.row)">查看 <!-- @click="handlePreview(scope.row)">查看-->
</el-button> <!-- </el-button>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> </el-table>
</div> </div>
<pagination <pagination
@@ -1802,6 +1736,34 @@
this.getFormFieldList(mes.form) this.getFormFieldList(mes.form)
}) })
}, },
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.defaultCheckedKeys = [this.form.standSystem]
this.defaultCheckedKeys1 = [this.form.cycvppsbm]
this.defaultCheckedKeys2 = [this.form.kccvppsbm]
this.defaultCheckedKeys3 = [this.form.dybxh]
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
this.form.standYear = this.form.standYear ? parseInt(this.form.standYear) : ''
if( this.form.country !== undefined && this.form.country !== null && this.form.country !== ''){
this.form.country=this.form.country.split(",");
}
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
// 遍历对象初始化文件信息
for(const p in this.form) {
if (typeof (this.form[p ]) != "function") {
this.initializeFileList(p,this.form[p]);
}
}
})
},
// 将文本状态的id与name对应 // 将文本状态的id与name对应
setMap(data){ setMap(data){
data.forEach(item => { data.forEach(item => {
@@ -1892,7 +1854,7 @@
this.verifySarStandard = true this.verifySarStandard = true
this.clearFormData(this.form) this.clearFormData(this.form)
break break
// 带入 // 带入(确认)
case 2: case 2:
if (this.standardCheckedList.length === 1) { if (this.standardCheckedList.length === 1) {
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoUpdateById', {id: this.standardCheckedList[0].id}, { this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoUpdateById', {id: this.standardCheckedList[0].id}, {
@@ -1905,7 +1867,6 @@
const json = Object.assign(bringData, bringData.attrInfoCaseMap); const json = Object.assign(bringData, bringData.attrInfoCaseMap);
this.form = JSON.parse(JSON.stringify(json)) this.form = JSON.parse(JSON.stringify(json))
this.form.qcdw = JSON.parse(JSON.stringify(json)).qcdw && JSON.parse(JSON.stringify(json)).qcdw !== '[]' ? JSON.parse(JSON.stringify(json)).qcdw.split(',') : [] this.form.qcdw = JSON.parse(JSON.stringify(json)).qcdw && JSON.parse(JSON.stringify(json)).qcdw !== '[]' ? JSON.parse(JSON.stringify(json)).qcdw.split(',') : []
this.form.wssmr = JSON.parse(JSON.stringify(json)).wssmr && JSON.parse(JSON.stringify(json)).wssmr !== '[]' ? JSON.parse(JSON.stringify(json)).wssmr.split(',') : [] this.form.wssmr = JSON.parse(JSON.stringify(json)).wssmr && JSON.parse(JSON.stringify(json)).wssmr !== '[]' ? JSON.parse(JSON.stringify(json)).wssmr.split(',') : []
this.form.zrgcs = JSON.parse(JSON.stringify(json)).zrgcs && JSON.parse(JSON.stringify(json)).zrgcs !== '[]' ? JSON.parse(JSON.stringify(json)).zrgcs.split(',') : [] this.form.zrgcs = JSON.parse(JSON.stringify(json)).zrgcs && JSON.parse(JSON.stringify(json)).zrgcs !== '[]' ? JSON.parse(JSON.stringify(json)).zrgcs.split(',') : []
@@ -1924,6 +1885,10 @@
this.key3++ this.key3++
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN' this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
this.form.standYear = bringData.standYear ? parseInt(bringData.standYear) : '' this.form.standYear = bringData.standYear ? parseInt(bringData.standYear) : ''
console.log(this.form)
this.form.ssrq = this.form.ssrq?this.$moment(this.form.ssrq).format("YYYY-MM-DD"):null
this.form.zccssrq = this.form.zccssrq?this.$moment(this.form.zccssrq).format("YYYY-MM-DD"):null
this.form.xcxssrq = this.form.xcxssrq?this.$moment(this.form.xcxssrq).format("YYYY-MM-DD"):null
this.form.prcNum = this.prcNum this.form.prcNum = this.prcNum
this.form.prcName = this.prcName this.form.prcName = this.prcName
this.form['id'] = bringData.id this.form['id'] = bringData.id
@@ -2857,6 +2822,11 @@
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzrkStep1 { .bzrkStep1 {
/deep/ .search-area {
display: contents;
flex-wrap: wrap;
justify-content: space-around;
}
/deep/ .el-upload-dragger { /deep/ .el-upload-dragger {
background-color: #fff; background-color: #fff;
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
@@ -2868,6 +2838,12 @@
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.fileClass {
width: 100%;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
.prc-content-border { .prc-content-border {
/deep/ .el-input__inner { /deep/ .el-input__inner {
padding-left: 30px; padding-left: 30px;
@@ -423,7 +423,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
addfjList() { addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfo', { this.$http.get('lawss/sarStandFile/queryFileInfo', {
@@ -275,7 +275,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData () { getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -422,7 +422,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
addfjList() { addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfo', { this.$http.get('lawss/sarStandFile/queryFileInfo', {
@@ -249,7 +249,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -340,7 +340,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -313,7 +313,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -353,7 +353,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -337,7 +337,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -334,7 +334,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -334,7 +334,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -334,7 +334,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -235,7 +235,6 @@
v-else v-else
:disabled="acceptShow" :disabled="acceptShow"
clearable clearable
@click.native="handlePrice(scope.row)"
v-model="dataList[scope.$index].complianceReasons" v-model="dataList[scope.$index].complianceReasons"
placeholder="请输入合规原因" placeholder="请输入合规原因"
> >
@@ -263,7 +262,6 @@
<el-input <el-input
v-else v-else
:disabled="acceptShow" :disabled="acceptShow"
@click.native="handlePrice(scope.row)"
v-model="dataList[scope.$index].noCompliance" v-model="dataList[scope.$index].noCompliance"
placeholder="请输入不合规项目" placeholder="请输入不合规项目"
> >
@@ -285,7 +283,6 @@
</el-input> </el-input>
<el-input <el-input
v-else v-else
@click.native="handlePrice(scope.row)"
:disabled="acceptShow" :disabled="acceptShow"
v-model="dataList[scope.$index].countermeasures" v-model="dataList[scope.$index].countermeasures"
placeholder="请输入应对措施" placeholder="请输入应对措施"
@@ -312,7 +309,6 @@
class="datePickLen" class="datePickLen"
clearable clearable
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
@click.native="handlePrice(scope.row)"
v-model="dataList[scope.$index].completionTime" v-model="dataList[scope.$index].completionTime"
type="date" type="date"
placeholder="请选择日期"> placeholder="请选择日期">
@@ -811,40 +807,43 @@ export default {
this.isSubmit = false this.isSubmit = false
}) })
}, },
handlePrice(row){ handlePrice(){
if(row.complianceReasons !== '' || (row.noCompliance !== '' && row.countermeasures !== '' && row.completionTime !== '') || (row.complianceReasons === '' && row.noCompliance === '' && row.countermeasures === '' && row.completionTime === '')){ for (let i = 0; i < this.dataList.length; i++) {
this.comFlag = 0 if (this.dataList[i].complianceReasons !== '' || (this.dataList[i].noCompliance !== '' && this.dataList[i].countermeasures !== '' && this.dataList[i].completionTime !== '') || (this.dataList[i].complianceReasons === '' && this.dataList[i].noCompliance === '' && this.dataList[i].countermeasures === '' && this.dataList[i].completionTime === '')){
}else{ }else {
this.comFlag = this.comFlag + 1 this.comFlag ++
}
} }
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
this.handlePrice()
if(this.comFlag > 0) { if(this.comFlag > 0) {
this.$message.warning('请填写完整的不符合项信息') this.$message.warning('请填写完整的不符合项信息')
this.comFlag = 0
}else{ }else{
// this.listForm.prcCreateUser = this.$store.getters.userInfo.userId; this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
// this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
// this.listForm.approvalOpinion = ""; this.listForm.approvalOpinion = "";
// this.listForm.signFlag = ""; this.listForm.signFlag = "";
// this.listForm.dataList = this.dataList; this.listForm.dataList = this.dataList;
// const json = JSON.stringify(this.listForm); const json = JSON.stringify(this.listForm);
// this.isSubmit = true; this.isSubmit = true;
// this.$http.post("lawss/activiti/completeTask", { this.$http.post("lawss/activiti/completeTask", {
// taskIds: this.taskIds, taskIds: this.taskIds,
// userId: this.userId, userId: this.userId,
// json: json json: json
// }, { }, {
// _this: this _this: this
// }, res => { }, res => {
// if (res.success) { if (res.success) {
// this.$message.success(res.message); this.$message.success(res.message);
// this.$router.push("/processCenter"); this.$router.push("/processCenter");
// } }
// this.isSubmit = false; this.isSubmit = false;
// }, e => { }, e => {
//
// }); });
} }
}, },
//批量编辑 //批量编辑
@@ -310,7 +310,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model.trim="commentText">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -110,10 +110,6 @@
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="productType"
align="center"
label="在研产品">
<el-table-column <el-table-column
prop="complianceReasons" prop="complianceReasons"
align="center" align="center"
@@ -147,43 +143,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
</el-table-column>
<el-table-column
align="center"
label="在产产品">
<el-table-column
prop="zcComplianceReasons"
align="center"
width="160"
label="合规(具体情况)">
</el-table-column>
<el-table-column
align="center"
width="160"
label="不合规">
<el-table-column
prop="zcNoCompliance"
align="center"
width="170"
label="不合规项目">
</el-table-column>
<el-table-column
prop="zcCountermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="zcCompletionTime"
align="center"
width="120"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.zcCompletionTime ? $moment(scope.row.zcCompletionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column <el-table-column
prop="workPeople" prop="workPeople"
align="center" align="center"
@@ -142,7 +142,6 @@
> >
</el-input> </el-input>
<el-input <el-input
@click.native="handlePrice(scope.row)"
v-else v-else
:disabled="acceptShow" :disabled="acceptShow"
v-model="scope.row.complianceReasons" v-model="scope.row.complianceReasons"
@@ -172,7 +171,6 @@
<el-input <el-input
v-else v-else
:disabled="acceptShow" :disabled="acceptShow"
@click.native="handlePrice(scope.row)"
v-model="scope.row.noCompliance" v-model="scope.row.noCompliance"
placeholder="请输入不合规项目" placeholder="请输入不合规项目"
> >
@@ -195,7 +193,6 @@
<el-input <el-input
v-else v-else
:disabled="acceptShow" :disabled="acceptShow"
@click.native="handlePrice(scope.row)"
v-model="scope.row.countermeasures" v-model="scope.row.countermeasures"
placeholder="请输入应对措施" placeholder="请输入应对措施"
> >
@@ -220,7 +217,6 @@
:disabled="acceptShow" :disabled="acceptShow"
class="datePickLen" class="datePickLen"
clearable clearable
@click.native="handlePrice(scope.row)"
v-model="scope.row.completionTime" v-model="scope.row.completionTime"
type="date" type="date"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
@@ -527,6 +523,7 @@
clearable clearable
v-model="batchEditForm.completionTime" v-model="batchEditForm.completionTime"
type="date" type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择日期"> placeholder="请选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@@ -561,7 +558,7 @@ export default {
}, },
data() { data() {
return { return {
comFlag: true, comFlag: 0,
total: 0, total: 0,
currentPage: 1, currentPage: 1,
pageSize: 20, pageSize: 20,
@@ -898,17 +895,20 @@ export default {
this.isSubmit = false; this.isSubmit = false;
}); });
}, },
handlePrice(row){ handlePrice(){
if(row.complianceReasons !== '' || (row.noCompliance !== '' && row.countermeasures !== '' && row.completionTime !== '') || (row.complianceReasons === '' && row.noCompliance === '' && row.countermeasures === '' && row.completionTime === '')){ for (let i = 0; i < this.dataList.length; i++) {
this.comFlag = true if (this.dataList[i].complianceReasons !== '' || (this.dataList[i].noCompliance !== '' && this.dataList[i].countermeasures !== '' && this.dataList[i].completionTime !== undefined) || (this.dataList[i].complianceReasons === '' && this.dataList[i].noCompliance === '' && this.dataList[i].countermeasures === '' && this.dataList[i].completionTime === undefined)){
}else{ }else {
this.comFlag = false this.comFlag ++
}
} }
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
if(!this.comFlag){ this.handlePrice()
if(this.comFlag > 0) {
this.$message.warning('请填写完整的不符合项信息') this.$message.warning('请填写完整的不符合项信息')
this.comFlag = 0
}else{ }else{
this.isSubmit = true; this.isSubmit = true;
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
@@ -96,15 +96,15 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择确认人" placement="top" <el-timeline-item timestamp="选择产品经理" placement="top"
:color="roleForm.confirmId ? '#66b1ff' : ''"> :color="roleForm.confirmId ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="confirmName" style="margin-bottom: 0"> <el-form-item prop="confirmName" style="margin-bottom: 0">
<h4>确认人</h4> <h4>产品经理</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input> <el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择确认人" <el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
@click.native="choiceZRR('confirmId', '选择确认人', roleForm.confirmId)"></el-input> @click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -449,7 +449,7 @@ export default {
// 角色验证 // 角色验证
roleFormRules: { roleFormRules: {
confirmName: [ confirmName: [
{ required: true, message: "请选择确认人", trigger: "change" } { required: true, message: "请选择产品经理", trigger: "change" }
] ]
} }
}; };
@@ -691,7 +691,7 @@ export default {
_formData.append("createUserName", this.$store.getters.userInfo.userName); _formData.append("createUserName", this.$store.getters.userInfo.userName);
_formData.append("prcType", "10"); _formData.append("prcType", "10");
_formData.append("json", JSON.stringify({ _formData.append("json", JSON.stringify({
taskInfo: "确认人确认", taskInfo: "产品经理分发",
form: this.qdform, form: this.qdform,
roleForm: this.roleForm, roleForm: this.roleForm,
commentText: this.commentText commentText: this.commentText
@@ -80,7 +80,7 @@
prop="standName" prop="standName"
align="center" align="center"
label="中文名称" label="中文名称"
width="180px" min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -90,7 +90,7 @@
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
align="center" align="center"
width="180px" min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
@@ -133,30 +133,16 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip prop="involve"
prop="kccvppsbm" width="160px"
width="180px"
align="center" align="center"
label="卡车VPPS编码"> label="标准是否涉及">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip prop="remarks"
prop="kccvppscn"
width="180px"
align="center" align="center"
label="卡车vpps中文名称"> width="180"
</el-table-column> label="备注">
<el-table-column
prop="cycvppsbm"
width="180px"
align="center"
label="乘用车VPPS编码">
</el-table-column>
<el-table-column
prop="cycvppscn"
width="180px"
align="center"
label="乘用车vpps中文名称">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@@ -356,8 +342,13 @@ export default {
this.qdform.prcName = this.prcName; this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id; this.qdform["id"] = item.id;
this.dataList = item.dataList this.dataList = item.dataList
this.projectId = item.projectId this.dataList.forEach(item => {
// this.getStandData(); if(item.involve === 'involve'){
item.involve = '涉及'
}else if(item.involve === 'noInvolve'){
item.involve = '不涉及'
}
})
}else{ }else{
this.qdform = item.form this.qdform = item.form
this.dataList =item.form.dataList this.dataList =item.form.dataList
@@ -103,15 +103,15 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择确认人" placement="top" <el-timeline-item timestamp="选择产品经理" placement="top"
:color="roleForm.confirmId ? '#66b1ff' : ''"> :color="roleForm.confirmId ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="confirmName" style="margin-bottom: 0"> <el-form-item prop="confirmName" style="margin-bottom: 0">
<h4>确认人</h4> <h4>产品经理</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input> <el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择确认人" <el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
@click.native="choiceZRR('confirmId', '选择确认人', roleForm.confirmId)"></el-input> @click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -461,7 +461,7 @@ export default {
// 角色验证 // 角色验证
roleFormRules: { roleFormRules: {
confirmName: [ confirmName: [
{ required: true, message: "请选择确认人", trigger: "change" } { required: true, message: "请选择产品经理", trigger: "change" }
], ],
approveName: [ approveName: [
{ required: true, message: "请选择审批人", trigger: "change" } { required: true, message: "请选择审批人", trigger: "change" }
@@ -695,7 +695,7 @@ export default {
_formData.append("createUserName", this.$store.getters.userInfo.userName); _formData.append("createUserName", this.$store.getters.userInfo.userName);
_formData.append("prcType", "10"); _formData.append("prcType", "10");
_formData.append("json", JSON.stringify({ _formData.append("json", JSON.stringify({
taskInfo: "确认人确认", taskInfo: "产品经理分发",
form: this.qdform, form: this.qdform,
roleForm: this.roleForm, roleForm: this.roleForm,
commentText: this.commentText commentText: this.commentText
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,713 @@
<template>
<div class="xmqdqr-step2">
<ProcessHeader toggle>
<template slot="proName">项目清单确认流程</template>
<template slot="proNode">产品经理汇总</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="qdform"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="清单名称" prop="detailedListName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.detailedListName"
placeholder="请输入清单名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title style="margin-top:5px; margin-bottom: 5px">
<template slot="title">填写信息</template>
</process-title>
<el-table
:data="dataList"
border
ref="selection"
height="63%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
: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>
<el-table-column
align="center"
width="200px"
label="标准号"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSort }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="中文名称"
min-width="300"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
label="英文名称"
align="center"
min-width="300"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="ssrq"
width="190px"
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
label="责任部门"
align="center"
width="180px"
>
</el-table-column>
<el-table-column
prop="involve"
width="160px"
align="center"
label="标准是否涉及">
</el-table-column>
<el-table-column
prop="remarks"
align="center"
width="180"
label="备注">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list" style="height: 100%">
<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
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 { inboundLiaisonDetail, queryDetail, saveTaskForPub ,changeAssigneeNew, execTask} from "api/process";
export default {
name: "xmqdqrStep5",
components: {
ProcessTitle,
ProcessHeader,
ProcessFooter
},
data() {
return {
lawInfoTableLoading: true,
lawInfoTable:[],
isTransfer: false,
// 调整处理人抽屉状态
drawerModal: false,
drawerTitle:'',
active: "1",
nodeList: [],
nodeList2: [],
loading: false,
// 当前流程类型(1待办/2已办)
processType: 1,
isSubmit: false,
saveLoading: false,
submitShow: false,
acceptShow: false,
todoId: '',
projectId: "",
detailedId: "",
standSortOptions: [],
standList: [],
projectStand:[],
standardData: [],
handleSelectTableList: [], //标准数据
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
//查询清单下标准数据
standCommonlySearch: {
standSort: "",
standNumber: "",
standType: "",
page: 1,
Size: this.$store.getters.userInfo.configContent
},
//表单的数据
qdform: {
BZFlag: " ", //1审批通过 其他为驳回
projectNumber: "", //项目编号
projectName: "", //项目名称
dataList: [], //项目下的标准数据
breakdownList: [] //标准下的分解单数据
},
dataList: [], //展示的标准数据
commentText: "", //审批意见
detailData: [],//流程历史数据
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
standMap: new Map(),
textStatusMap: {},// 文本状态id与name对应
};
},
mounted() {
this.processTable();
this.getData();
// 查询各下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this,
loading: "loading"
}, res => {
this.energyKindOptions = res.data.ENERGYTYPES; //适用车型
this.standSortOptions = res.data.STANDCLASSIFY; // 标准类别
this.setMap(res.data.WBZTCLASS);// 文本状态
this.setMap(this.zrbmMap, res.data.ZRBMCLASS);
this.showLocalProductData(this.getLocalPro);
}, e => {
});
},
methods: {
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
//确认转办
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)
}
})
},
// 请求转换流程图
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 => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
// 将文本状态的id与name对应
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
//tab改变
handleTabs(type) {
this.active = type;
},
// 点击查看
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
//获取数据
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = 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.todoId = res.id
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
//动态表单读取
getFormFieldList(item) {
this.$nextTick(() => {
if(item.form === undefined){
this.qdform = JSON.parse(JSON.stringify(item));
this.qdform.prcNum = this.prcNum;
this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id;
this.dataList = item.dataList
this.dataList.forEach(item => {
if(item.involve === 'involve'){
item.involve = '涉及'
}else if(item.involve === 'noInvolve'){
item.involve = '不涉及'
}
})
// this.projectId = item.projectId;
// //获取清单id 查询对应清单下的标准
// this.detailedId = item.detailedListId;
// this.getStandData();
}else{
this.qdform = item.form
this.dataList =item.form.dataList
this.detailedId = item.form.detailedListId;
}
});
},
//查询清单下的标准
getStandData() {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, {
_this: this
}, res => {
this.dataList = res.data.records;
this.dataList.forEach(item => {
// 责任部门转换
if (item.zrbm !== null || item.zrbm !== "" ) {
let k = (item.zrbm || "").split(",");
for (let i in this.zrbmOptions) {
for (let m = 0; m < k.length; m++) {
if (this.zrbmOptions[i].value === k[m]) {
k[m] = this.zrbmOptions[i].label;
}
item.zrbm = k.join(",");
}
}
}
});
this.dataList.map(item => {
if(item.zrbm === '[]'){
item.zrbm = ''
}
})
});
},
// 接受按钮
handleAccept(){
this.isSubmit = true
execTask({
todoId: this.todoId // 当前节点ID
}).then(res => {
if (res.sign && res.sign === '0') {
this.$message.success('接收成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
//保存事件
handleSave() {
this.saveLoading = true;
let _formData = new FormData();
this.qdform.dataList = this.dataList
_formData.append("id", this.bpnId || "");
_formData.append("prcType", "10");
_formData.append('taskIds', this.taskIds)
_formData.append("json", JSON.stringify({
form: this.qdform,
commentText: this.commentText
}));
saveTaskForPub(_formData).then(res => {
this.saveLoading = false;
this.$message.success("保存成功");
this.bpnId = res.result;
}).catch(e => {
this.saveLoading = false;
});
},
handleRemark(){
this.dataList.map(item => {
if(item.involve === 'noInvolve'){
comFlag
}
})
},
//驳回事件
beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") {
this.$message.warning("请填写审批意见");
} else {
this.qdform.passFlag = "1";
this.qdform.commentText = this.commentText;
const json = JSON.stringify(this.qdform);
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 => {
});
}
},
//提交事件
handleSubmit() {
this.isSubmit = true;
this.qdform.passFlag = "0";
this.qdform.commentText = this.commentText;
this.qdform.dataList = this.dataList
const json = JSON.stringify(this.qdform);
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 => {
});
},
//添加标准勾选框数据
handleSelectTableChange (data) {
this.handleSelectTableList = data
console.log(this.handleSelectTableList);
},
selectStandChange(data){
this.projectStand = data
},
cancelStand() {
this.standModel = false;
},
//添加标准带入事件
okStand() {
if(this.standList.length < 1){
this.$message.warning('请至少选择一条数据进行添加')
}else{
this.standList.forEach(item =>{
if(item.ssrq === "-"){
item.ssrq = ''
}
if(item.zrbm === '[]'){
item.zrbm =''
}
})
this.standList.map(item => {
let addIndex
addIndex = this.dataList.findIndex(items =>{
return items.id === item.id
})
if(addIndex > -1){
this.$message.warning('请勿重复添加数据')
}else{
this.dataList.push(item)
}
})
this.standModel = false
}
},
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmqdqr-step2 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -127,7 +127,7 @@
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'14f54ef4475d9210b1ee7872ab69eca8'"> <el-col :span="size ? 6 : 8" v-btn-permission="''">
<el-card shadow="hover"> <el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('11')"> <div class="card-box" @click="handleCreateProcess('11')">
<div class="card-top"> <div class="card-top">
@@ -0,0 +1,548 @@
<template>
<div class="phoneBzjdStep4 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template slot="proNode">责任人审核</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<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.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<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.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="technicalRequir"
width="200"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="150"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="150"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
align="center">
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</el-table-column>
</el-table>
<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"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
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="完成时间"
width="130"
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="流程信息"
width="130"
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"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzjdStep4",
data() {
return {
drawerModal: false,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
histortData: [],
sarType: '',
itemList: [],
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', // 意见
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
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)
})
},
//折叠/展开基础信息方法
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
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.resolveFlag = 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')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.resolveFlag = 2
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.isSubmit = false
})
} 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.itemsNum = data.itemsNum || data.form.itemsNum
this.form.itemsName = data.itemsName || data.form.itemsName
if (data.form) {
this.form.itemsName1 = data.form.itemsName1 || ''
this.form.itemsNum1 = data.form.itemsNum1 || ''
} else {
this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || ''
}
this.sarType = data.standInData || data.sarType
this.json = data
this.itemList = data.itemList
this.loading = false
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzjdStep4 {
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
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 {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
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>
@@ -258,6 +258,12 @@ export default {
}else if(prcType === '10'){ }else if(prcType === '10'){
//项目清单确认 //项目清单确认
this.toProcessDetail('xmqdqrStep1-3',row) this.toProcessDetail('xmqdqrStep1-3',row)
} else if(prcType === '20') {
// 入会流程
this.toProcessDetail('bzrhStep6-1',row)
} else if(prcType === '21') {
// 参会流程
this.toProcessDetail('bzchStep6-1',row)
} }
} else { } else {
this.$message.warning('当前流程未全部办理完成,无法查看') this.$message.warning('当前流程未全部办理完成,无法查看')
@@ -980,7 +980,7 @@ export default {
}) })
} else if (row.taskInfo === '责任人审核') { } else if (row.taskInfo === '责任人审核') {
this.$router.push({ this.$router.push({
name: 'bzjdStep4', name: 'phoneBzjdStep4',
query: { query: {
taskIds: row.taskIds, taskIds: row.taskIds,
prcId: row.prcId, prcId: row.prcId,
@@ -1014,7 +1014,7 @@ export default {
} }
break break
case '10': case '10':
if (row.taskInfo === '确认人确认') { if (row.taskInfo === '产品工程经理分发清单') {
this.$router.push({ this.$router.push({
name: 'xmqdqrStep2', name: 'xmqdqrStep2',
query: { query: {
@@ -1025,7 +1025,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if(row.taskInfo === '标准法规部经理审批'){ } else if(row.taskInfo === '确认人确认'){
this.$router.push({ this.$router.push({
name: 'xmqdqrStep3', name: 'xmqdqrStep3',
query: { query: {
@@ -1036,6 +1036,28 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
}else if(row.taskInfo === '产品工程经理汇总清单'){
this.$router.push({
name: 'xmqdqrStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部经理审批'){
this.$router.push({
name: 'xmqdqrStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} }
break break
case 'laws2': case 'laws2':
@@ -1641,6 +1641,7 @@ export default {
}, res => { }, res => {
console.log('1640',res) console.log('1640',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){ }else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
@@ -1649,6 +1650,7 @@ export default {
}, res => { }, res => {
console.log('1648',res) console.log('1648',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
} }
@@ -1538,6 +1538,7 @@ export default {
}, res => { }, res => {
console.log('1640',res) console.log('1640',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){ }else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
@@ -1546,6 +1547,7 @@ export default {
}, res => { }, res => {
console.log('1648',res) console.log('1648',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
} }
@@ -1636,6 +1636,7 @@ export default {
}, res => { }, res => {
console.log('1640',res) console.log('1640',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){ }else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
@@ -1644,6 +1645,7 @@ export default {
}, res => { }, res => {
console.log('1648',res) console.log('1648',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
} }
@@ -20,8 +20,7 @@
default-expanded-keys="['64df1d5522bb49c09af2']" default-expanded-keys="['64df1d5522bb49c09af2']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)"
@mouseleave="mouseleave(data)"> @mouseleave="mouseleave(data)">
<span <span
@@ -151,7 +150,7 @@
:loading="delLoading" :loading="delLoading"
size="mini" size="mini"
@click="deleteStand(2)" @click="deleteStand(2)"
v-btn-permission="'c09dc12531085e30e39bbdc6cb6116ba'"><i class="iconfont">&#xe61b;</i>批量删除 v-btn-permission="'dbaf9df2990a595c8abea28e68b1a681'"><i class="iconfont">&#xe61b;</i>批量删除
</el-button> </el-button>
<el-button class="common-button-default" <el-button class="common-button-default"
size="mini" size="mini"
@@ -196,8 +195,8 @@
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="standSelectChange"> @selection-change="standSelectChange">
<!-- v-if="isPermission('b17f1d035219c47344032e261342d87d,c09dc12531085e30e39bbdc6cb6116ba,5aedea192a77b14c364f19bdcee3513a')>0"-->
<el-table-column <el-table-column
v-if="isPermission('b17f1d035219c47344032e261342d87d,c09dc12531085e30e39bbdc6cb6116ba,5aedea192a77b14c364f19bdcee3513a')>0"
type="selection" type="selection"
min-width="5%" min-width="5%"
align="center"> align="center">
@@ -698,7 +697,6 @@
:disabled="formdisableflag" :disabled="formdisableflag"
></custom-textarea> ></custom-textarea>
</template> </template>
<!-- 起草单位-->
<template v-else-if="field.attrType === 'SEL_OPTION'"> <template v-else-if="field.attrType === 'SEL_OPTION'">
<template> <template>
<custom-select <custom-select
@@ -717,7 +715,6 @@
class="add-form-item" class="add-form-item"
> >
<template slot="label">责任部门</template> <template slot="label">责任部门</template>
<el-input <el-input
:key="field.attrField" :key="field.attrField"
:config="field" :config="field"
@@ -766,6 +763,43 @@
<!-- </el-input>--> <!-- </el-input>-->
</el-form-item> </el-form-item>
</template> </template>
<template v-else-if="field.attrField === 'QCDW'">
<el-form-item
prop="QCDW"
label-width="150px"
class="add-form-item"
>
<template slot="label">起草单位</template>
<div style="display: flex;justify-content: space-between;align-items: center;">
<el-tooltip v-if="sarStandardsInfoEO['QCDW']" class="item" effect="dark" :content="sarStandardsInfoEO['QCDW']" placement="top-start">
<el-input
:key="field.attrField"
:config="field"
clearable
v-model="sarStandardsInfoEO['QCDW']"
:disabled="formdisableflag" placeholder="选择或输入起草单位">
</el-input>
</el-tooltip>
<div v-else>
<el-input
:key="field.attrField"
:config="field"
clearable
v-model="sarStandardsInfoEO['QCDW']"
:disabled="formdisableflag" placeholder="选择或输入起草单位">
</el-input>
</div>
<div>
<el-button
size="mini"
type="primary"
@click="QCDWClick(field.options)"
class="common-button-primary">手动查找</el-button>
</div>
</div>
<!-- @click.native="choiceZRBM('QCDWId', '起草单位', sarStandardsInfoEO.QCDWId)">-->
</el-form-item>
</template>
<template v-else> <template v-else>
<custom-select-array <custom-select-array
:key="field.attrField" :key="field.attrField"
@@ -1891,6 +1925,27 @@
</div> </div>
</div> </div>
</el-drawer> </el-drawer>
<el-dialog
:visible.sync="QCDWmodal"
width="500px"
title="选择起草部门"
destroy-on-close
:close-on-click-modal="false"
@closed="QCDWmodal = false">
<el-select v-model="QCDWValue" multiple filterable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in QCDWList"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
<div slot="footer" class="demo-drawer-footer">
<el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
@click="QCDWOK">确认
</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@@ -1947,6 +2002,9 @@ export default {
}, },
data() { data() {
return { return {
QCDWValue: [],
QCDWmodal: false,
QCDWList: [],
OCRSubmitLoading: false, OCRSubmitLoading: false,
OCRSubmitButton: '', OCRSubmitButton: '',
OCRType: '', OCRType: '',
@@ -2651,6 +2709,21 @@ export default {
} }
}, },
methods: { methods: {
QCDWOK() {
let arr1 = []
if (this.sarStandardsInfoEO['QCDW']) {
let str = this.sarStandardsInfoEO['QCDW'].replace(/,/g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.sarStandardsInfoEO['QCDW'] = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick(row) {
this.QCDWValue = []
this.QCDWmodal = true
this.QCDWList = row
},
setWBType(type) { setWBType(type) {
let text = '' let text = ''
for (let a = 0; a < this.OCRoptions.length; a++) { for (let a = 0; a < this.OCRoptions.length; a++) {
@@ -3248,6 +3321,7 @@ export default {
}) })
}) })
this.dynamicFormField = displayLocation this.dynamicFormField = displayLocation
console.log(this.dynamicFormField);
this.loading = false this.loading = false
}) })
}) })
@@ -146,7 +146,6 @@
@click="clearSearch" @click="clearSearch"
></el-button> ></el-button>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
type="primary" type="primary"
@@ -10,8 +10,6 @@
</el-input> </el-input>
<div class="tree"> <div class="tree">
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto"> <el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
<el-tree <el-tree
ref="tree" ref="tree"
node-key="id" node-key="id"
@@ -23,8 +21,7 @@
default-expanded-keys="['22179d54d4e640098e30']" default-expanded-keys="['22179d54d4e640098e30']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span> <span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span>
<span style="font-size:12px"> {{ node.label }} </span> <span style="font-size:12px"> {{ node.label }} </span>
@@ -19,13 +19,13 @@
</el-form-item> </el-form-item>
<el-form-item label="企标名称" class="search-item"> <el-form-item label="企标名称" class="search-item">
<el-input v-model="form.esName" <el-input v-model="form.esName"
placeholder="请输入计划状态" placeholder="请输入企标名称"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="起草责任部门" class="search-item"> <el-form-item label="起草责任部门" class="search-item">
<el-input v-model="form.unit" <el-input v-model="form.unit"
placeholder="请输入计划状态" placeholder="请输入起草责任部门"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
@@ -101,27 +101,33 @@
label="计划状态" label="计划状态"
align="center" align="center"
width="150"> width="150">
<template slot-scope="scope">
<div>{{ scope.row.planStatus === '0'? '完成' : (scope.row.planStatus === '1'? '修订' : '制定') }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="reviseStatus" prop="reviseStatus"
width="150" width="150"
align="center" align="center"
label="制修订状态"> label="制修订状态">
<template slot-scope="scope">
<div>{{ scope.row.reviseStatus === '0'? '制定完成' : (scope.row.reviseStatus === '1'? '制定中' : '未制定') }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="drafter" prop="drafterName"
width="120" width="120"
align="center" align="center"
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="resPerson" prop="resPersonName"
width="120" width="120"
align="center" align="center"
label="评审责任人"> label="评审责任人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="wgLeader" prop="wgLeaderName"
width="120" width="120"
align="center" align="center"
label="工作组组长"> label="工作组组长">
@@ -180,7 +186,7 @@
</div> </div>
<el-drawer <el-drawer
ref="standard" ref="standard"
size="1000px" size="700px"
:title="addDrawerTitle" :title="addDrawerTitle"
:visible.sync="addDrawer" :visible.sync="addDrawer"
:before-close="addDrawerClose"> :before-close="addDrawerClose">
@@ -199,38 +205,38 @@
</el-form-item> </el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-select :disabled="DrawerType === 'see'" v-model="addForm.planStatus" placeholder="请选择计划状态"> <el-select :disabled="DrawerType === 'see'" v-model="addForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option> <el-option label="制定" value="2"></el-option>
<el-option label="修订" value="修订"></el-option> <el-option label="修订" value="1"></el-option>
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-select :disabled="DrawerType === 'see'" v-model="addForm.reviseStatus" placeholder="请选择制修订状态"> <el-select :disabled="DrawerType === 'see'" v-model="addForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option> <el-option label="制定完成" value="0"></el-option>
<el-option label="制定中" value="制定中"></el-option> <el-option label="制定中" value="1"></el-option>
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" style="display: none;"
v-model="addForm.drafter" v-model="addForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/> :maxlength="500"/>
<el-input :disabled="DrawerType === 'see'" v-model="addForm.drafterName" placeholder="请选择起草人" readonly="readonly" @click.native="choiceZRRS('drafter', '选择起草人', addForm.drafter)"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" style="display: none;"
v-model="addForm.resPerson" v-model="addForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/> :maxlength="500"/>
<el-input :disabled="DrawerType === 'see'" v-model="addForm.resPersonName" placeholder="请选择评审责任人" readonly="readonly" @click.native="choiceZRRS('resPerson', '选择评审责任人', addForm.resPerson)"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" style="display: none;"
v-model="addForm.wgLeader" v-model="addForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/> :maxlength="500"/>
<el-input :disabled="DrawerType === 'see'" v-model="addForm.wgLeaderName" placeholder="请选择工作组组长" readonly="readonly" @click.native="choiceZRR('wgLeader', '选择工作组组长', addForm.wgLeader)"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-date-picker <el-date-picker
@@ -251,18 +257,33 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <div style="display: flex;justify-content: space-between;align-items: center;">
:disabled="DrawerType === 'see'" <el-tooltip v-if="addForm.unit" class="item" effect="dark" :content="addForm.unit" placement="top-start">
v-model="addForm.unit" <el-input
placeholder="请输入起草责任单位" :disabled="DrawerType === 'see'"
:maxlength="500"/> clearable
v-model="addForm.unit"
placeholder="选择或输入起草单位">
</el-input>
</el-tooltip>
<div v-else>
<el-input
:disabled="DrawerType === 'see'"
clearable
v-model="addForm.unit"
placeholder="选择或输入起草单位">
</el-input>
</div>
<div>
<el-button
:disabled="DrawerType === 'see'"
size="mini"
type="primary"
@click="QCDWClick"
class="common-button-primary">手动查找</el-button>
</div>
</div>
</el-form-item> </el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="addForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form> </el-form>
</el-col> </el-col>
</el-row> </el-row>
@@ -285,6 +306,40 @@
@click="addDrawerClose">取消</el-button> @click="addDrawerClose">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
<Role-tree
:is-title="drawerTitle"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog
:visible.sync="QCDWmodal"
width="500px"
title="选择起草部门"
destroy-on-close
:close-on-click-modal="false"
@closed="QCDWmodal = false">
<el-select v-model="QCDWValue" multiple filterable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in QCDWList"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
<div slot="footer" class="demo-drawer-footer">
<el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
@click="QCDWOK">确认
</el-button>
</div>
</el-dialog>
</div> </div>
</div> </div>
</template> </template>
@@ -295,6 +350,15 @@
components: {}, components: {},
data() { data() {
return { return {
QCDWmodal: false,
QCDWValue: [],
QCDWList: [],
type: '',
drawerTitle: '',
modalshowflag2: false,
modalshowflag: false,
nodeList: [],
nodeList2: [],
loading: false, loading: false,
submitLoading: false, submitLoading: false,
addDrawerTitle: '', addDrawerTitle: '',
@@ -307,10 +371,13 @@
planStatus: '', // 计划状态 planStatus: '', // 计划状态
reviseStatus: '', // 制修订状态 reviseStatus: '', // 制修订状态
resPerson: '', // 评审责任人 resPerson: '', // 评审责任人
resPersonName: '',
wgLeader: '', // 工作组组长 wgLeader: '', // 工作组组长
wgLeaderName: '',
draftTime: '', // 计划标准初稿完成时间 draftTime: '', // 计划标准初稿完成时间
releaseTime: '', // 计划标准发布时间 releaseTime: '', // 计划标准发布时间
drafter: '', // 起草人 drafter: '', // 起草人
drafterName: '',
// remarks: '', // 备注 // remarks: '', // 备注
}, },
addFormRules: { addFormRules: {
@@ -327,19 +394,19 @@
{required: true, message: '请选择制修订状态', trigger: 'change'}, {required: true, message: '请选择制修订状态', trigger: 'change'},
], ],
resPerson: [ resPerson: [
{required: true, message: '请输入评审责任人', trigger: 'blur'}, {required: true, message: '请选择评审责任人', trigger: 'change'},
], ],
wgLeader: [ wgLeader: [
{required: true, message: '请输入工作组组长', trigger: 'blur'}, {required: true, message: '请选择工作组组长', trigger: 'change'},
], ],
draftTime: [ draftTime: [
{required: true, message: '请输入计划标准初稿完成时间', trigger: 'blur'}, {required: true, message: '请输入计划标准初稿完成时间', trigger: 'change'},
], ],
releaseTime: [ releaseTime: [
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'}, {required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
], ],
drafter: [ drafter: [
{required: true, message: '请输入起草人', trigger: 'blur'}, {required: true, message: '请选择起草人', trigger: 'change'},
], ],
}, },
form: { form: {
@@ -358,6 +425,59 @@
props: {}, props: {},
watch: {}, watch: {},
methods: { methods: {
QCDWOK () {
let arr1 = []
if (this.addForm.unit) {
let str = this.addForm.unit.replace(/,/g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.addForm.unit = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick () {
this.QCDWValue = []
this.QCDWmodal = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
checkedRole (data) {
this.addForm.wgLeader = data[0].id
this.addForm.wgLeaderName = data[0].name
},
choiceZRRS (type, title, id) {
this.type = type
this.drawerTitle = title
this.nodeList2 = []
if (id) {
this.nodeList2 = id.split(',')
}
this.modalshowflag2 = true
},
checkedRole2 (data) {
var idList = ''
var nameList = ''
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
if (this.type === 'resPerson') {
this.addForm.resPerson = idList
this.addForm.resPersonName = nameList
} else if (this.type === 'drafter') {
this.addForm.drafter = idList
this.addForm.drafterName = nameList
}
},
addDrawerSubmit () { addDrawerSubmit () {
this.$refs['addForm'].validate((valid) => { this.$refs['addForm'].validate((valid) => {
if (valid) { if (valid) {
@@ -376,9 +496,15 @@
}, res => { }, res => {
this.submitLoading = false this.submitLoading = false
if (res.ok) { if (res.ok) {
this.addDrawer = false if (res.data === '操作成功') {
this.$message.success(tips + '成功') this.addDrawer = false
this.getData() this.$message.success(tips + '成功')
this.getData()
} else {
this.addDrawer = false
this.$message.warning(res.data)
this.getData()
}
} else { } else {
this.$message.warning(tips + '失败') this.$message.warning(tips + '失败')
} }
@@ -473,9 +599,12 @@
reviseStatus: command[0].reviseStatus, // 制修订状态 reviseStatus: command[0].reviseStatus, // 制修订状态
resPerson: command[0].resPerson, // 评审责任人 resPerson: command[0].resPerson, // 评审责任人
wgLeader: command[0].wgLeader, // 工作组组长 wgLeader: command[0].wgLeader, // 工作组组长
resPersonName: command[0].resPersonName, // 评审责任人
wgLeaderName: command[0].wgLeaderName, // 工作组组长
draftTime: command[0].draftTime, // 计划标准初稿完成时间 draftTime: command[0].draftTime, // 计划标准初稿完成时间
releaseTime: command[0].releaseTime, // 计划标准发布时间 releaseTime: command[0].releaseTime, // 计划标准发布时间
drafter: command[0].drafter, // 起草人 drafterName: command[0].drafterName, // 起草人
drafter: command[0].drafter,
} }
break break
case '删除': case '删除':
@@ -525,6 +654,12 @@
computed: {}, computed: {},
mounted() { mounted() {
this.getData() this.getData()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.QCDWList = res.data.QCDW // 起草单位
}, e => {
})
}, },
} }
</script> </script>
@@ -21,8 +21,7 @@
default-expanded-keys="['64df1d5522bb49c09af6']" default-expanded-keys="['64df1d5522bb49c09af6']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span> <span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span>
<span style="font-size:12px"> {{ node.label }} </span> <span style="font-size:12px"> {{ node.label }} </span>
@@ -182,8 +181,8 @@
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="standSelectChange" @selection-change="standSelectChange"
> >
<!-- v-if="isPermission('fd83032ae5f41a0021b00e93c88edbbj,fd83032ae5f41a0021b00e93c88edbbe,fd83032ae5f41a0021b00e93c88edbbd')>0"-->
<el-table-column <el-table-column
v-if="isPermission('fd83032ae5f41a0021b00e93c88edbbj,fd83032ae5f41a0021b00e93c88edbbe,fd83032ae5f41a0021b00e93c88edbbd')>0"
type="selection" type="selection"
min-width="5%" min-width="5%"
@@ -9,7 +9,6 @@
</el-input> </el-input>
<div class="tree"> <div class="tree">
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto"> <el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
<el-tree <el-tree
ref="tree" ref="tree"
node-key="id" node-key="id"
@@ -21,8 +20,7 @@
default-expanded-keys="['22179d54d4e640098e29']" default-expanded-keys="['22179d54d4e640098e29']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span> <span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span>
<span style="font-size:12px"> {{ node.label }} </span> <span style="font-size:12px"> {{ node.label }} </span>
@@ -185,8 +183,8 @@
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="standSelectChange" @selection-change="standSelectChange"
@sort-change="sortChange"> @sort-change="sortChange">
<!-- v-if="isPermission('4d01342db0f56f01bfceaee7b46904f4,8871ed1be74cf65851659514880bb50a,29bf24bbd156c06f136cc89b1c7b2bb0')>0"-->
<el-table-column <el-table-column
v-if="isPermission('4d01342db0f56f01bfceaee7b46904f4,8871ed1be74cf65851659514880bb50a,29bf24bbd156c06f136cc89b1c7b2bb0')>0"
type="selection" type="selection"
min-width="5%" min-width="5%"
align="center"> align="center">
@@ -4894,14 +4892,14 @@ export default {
let idList = '' let idList = ''
let nameList = '' let nameList = ''
data.forEach(item => { data.forEach(item => {
if (item.hasChild === '0' && item.children === null) { // if (item.hasChild === '0' && item.children === null) {
if (nameList.length > 0) { if (nameList.length > 0) {
nameList += ',' nameList += ','
idList += ',' idList += ','
} }
idList += item.id idList += item.id
nameList += item.name nameList += item.name
} // }
}) })
this.sarStandardsInfoEO.ZRBMId = idList; this.sarStandardsInfoEO.ZRBMId = idList;
this.sarStandardsInfoEO['ZRBM'] = nameList; this.sarStandardsInfoEO['ZRBM'] = nameList;
@@ -100,12 +100,14 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
label="中文名称" label="中文名称"
min-width="300"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
min-width="300"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
@@ -190,7 +190,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>--> <!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>-->
<div class="table-jump" @click="changeState(scope.row)"> <div class="table-jump" @click="changeState(scope.row)">
<div v-if="scope.row.sarState === 0">符合</div> <div v-if="scope.row.unCount === '0'">符合</div>
<div v-else >不符合</div> <div v-else >不符合</div>
</div> </div>
</template> </template>
@@ -1,77 +1,77 @@
<!--未符合项整改--> <!--未符合项整改-->
<template> <template>
<div id="non-cnfomity" > <div id="non-cnfomity" >
<div class="non-content"> <div class="non-content">
<el-tabs v-model="activeName" @tab-click="handleClick" style="height: 100%"> <el-tabs v-model="activeName" @tab-click="handleClick" style="height: 100%">
<el-tab-pane label="未符合项整改数据库" name="database"> <el-tab-pane label="未符合项整改数据库" name="database">
<rectification-database></rectification-database> <rectification-database></rectification-database>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="重点问题项管控" name="keynote"> <!-- <el-tab-pane label="重点问题项管控" name="keynote">-->
<key-issues :keynoteActiveName="keynoteActiveName"></key-issues> <!-- <key-issues :keynoteActiveName="keynoteActiveName"></key-issues>-->
</el-tab-pane> <!-- </el-tab-pane>-->
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import keyIssues from "@/pages/regulatoryRepository/nonConfomity/pages/keyIssues"; import keyIssues from "@/pages/regulatoryRepository/nonConfomity/pages/keyIssues";
import rectificationDatabase from "@/pages/regulatoryRepository/nonConfomity/pages/rectificationDatabase"; import rectificationDatabase from "@/pages/regulatoryRepository/nonConfomity/pages/rectificationDatabase";
export default { export default {
name: 'NonConfomity', name: 'NonConfomity',
components: { components: {
keyIssues, keyIssues,
rectificationDatabase, rectificationDatabase,
},
data () {
return {
activeName: 'database',
keynoteActiveName: 'cause'
}
},
methods: {
handleClick(tab, event) {
}, },
getActiveName(){ data () {
if (this.$route.query.activeName){ return {
this.activeName = this.$route.query.activeName activeName: 'database',
keynoteActiveName: 'cause'
} }
if (this.$route.query.keynoteActiveName){ },
this.keynoteActiveName = this.$route.query.keynoteActiveName methods: {
handleClick(tab, event) {
},
getActiveName(){
if (this.$route.query.activeName){
this.activeName = this.$route.query.activeName
}
if (this.$route.query.keynoteActiveName){
this.keynoteActiveName = this.$route.query.keynoteActiveName
}
console.log('35',this.keynoteActiveName)
} }
console.log('35',this.keynoteActiveName) },
} created() {
}, this.getActiveName()
created() { },
this.getActiveName() watch: {},
}, mounted () {}
watch: {}, }
mounted () {}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
#non-cnfomity { #non-cnfomity {
height: 100%;
display: flex;
flex-direction: column;
background-color: #FFFFFF;
.non-content {
padding: 0 10px;
height: 100%; height: 100%;
/deep/ .el-tabs { display: flex;
display: flex; flex-direction: column;
flex-direction: column; background-color: #FFFFFF;
.non-content {
padding: 0 10px;
height: 100%; height: 100%;
.el-tabs__content { /deep/ .el-tabs {
flex: 1; display: flex;
overflow: hidden; flex-direction: column;
.el-tab-pane { height: 100%;
height: 100%; .el-tabs__content {
flex: 1;
overflow: hidden;
.el-tab-pane {
height: 100%;
}
} }
} }
} }
.el-tabs__nav {
margin-left:20px;
}
} }
.el-tabs__nav {
margin-left:20px;
}
}
</style> </style>
@@ -1120,7 +1120,7 @@ export default {
this.roleShowflag = true this.roleShowflag = true
}, },
drawerCheck(data) { drawerCheck(data) {
this.addForm.dutyEngineer = data[0].name.slice(0,data[0].name.indexOf('(')) this.addForm.dutyEngineer = data[0].name
this.roleShowflag = false this.roleShowflag = false
}, },
/** 选择认证工程师和质量工程师 */ /** 选择认证工程师和质量工程师 */
@@ -1140,7 +1140,7 @@ export default {
idList += ',' idList += ','
} }
idList += item.id idList += item.id
nameList += item.name.slice(0,item.name.indexOf('(')) nameList += item.name
}) })
if (this.type === 'authEngineer') { if (this.type === 'authEngineer') {
this.addForm.authEngineer = nameList this.addForm.authEngineer = nameList
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -127,10 +127,10 @@
:label="selectIndex === 'stand'||'bussstand' ? $t('m.standStateShow') : (selectIndex === 'laws' ? $t('m.fileStatus') : $t('m.enterpriseStandardStatus'))" :label="selectIndex === 'stand'||'bussstand' ? $t('m.standStateShow') : (selectIndex === 'laws' ? $t('m.fileStatus') : $t('m.enterpriseStandardStatus'))"
width="200"> width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <span v-if="selectIndex === 'laws'">{{ getLawsState(scope.row.statecode) }}</span>--> <!-- <span v-if="selectIndex === 'laws'">{{ getLawsState(scope.row.statecode) }}</span>-->
<div :class="selectIndex === 'enterprise' || selectIndex === 'laws' ? (scope.row.textStatusBussName === '参考' ? 'yellowClass' : <div :class="selectIndex === 'enterprise' || selectIndex === 'laws' ? (scope.row.textStatusBussName === '参考' ? 'yellowClass' :
(scope.row.textStatusBussName || scope.row.lawsTextStateName === '作废' || scope.row.textStatusBussName === '被代替' ? 'redClass' : '')) : ''"> (scope.row.textStatusBussName || scope.row.lawsTextStateName === '作废' || scope.row.textStatusBussName === '被代替' ? 'redClass' : '')) : ''">
{{ selectIndex === 'stand'|| (selectIndex === 'bussstand' && scope.row.standType === 'FOREIGN') ? scope.row.textStatusName : (selectIndex === 'laws' ? scope.row.lawsTextStateName : scope.row.textStatusBussName) }}</div> {{ selectIndex === 'stand'|| (selectIndex === 'bussstand' && scope.row.standType === 'FOREIGN') ? scope.row.textStatusName : (selectIndex === 'laws' ? scope.row.lawsTextStateName : scope.row.textStatusBussName) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -217,7 +217,7 @@
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="beforeHandleCommand('a',scope.row)" v-if="scope.row.collectId">取消收藏</el-dropdown-item> <el-dropdown-item :command="beforeHandleCommand('a',scope.row)" v-if="scope.row.collectId">取消收藏</el-dropdown-item>
<el-dropdown-item :command="beforeHandleCommand('d',scope.row)" v-else>收藏</el-dropdown-item> <el-dropdown-item :command="beforeHandleCommand('d',scope.row)" v-else>收藏</el-dropdown-item>
<!-- <el-dropdown-item :command="beforeHandleCommand('b',scope.row)">分享</el-dropdown-item>--> <!-- <el-dropdown-item :command="beforeHandleCommand('b',scope.row)">分享</el-dropdown-item>-->
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<!-- <el-button size="mini" type="primary" v-if="scope.row.collectId" @click="clickCollection(scope.row)">取消收藏</el-button>--> <!-- <el-button size="mini" type="primary" v-if="scope.row.collectId" @click="clickCollection(scope.row)">取消收藏</el-button>-->
@@ -388,10 +388,10 @@
label: '海外标准法规', // value没改 label: '海外标准法规', // value没改
value: 'bussstand' value: 'bussstand'
}, },
{ // {
label: '国内外政策', // label: '国内外政策',
value: 'laws' // value: 'laws'
}, // },
{ {
label: '企业标准', label: '企业标准',
value: 'enterprise' value: 'enterprise'
@@ -420,10 +420,10 @@
label: '海外标准法规', // value没改 label: '海外标准法规', // value没改
value: 'bussstand' value: 'bussstand'
}, },
{ // {
label: '国内外政策', // label: '国内外政策',
value: 'laws' // value: 'laws'
}, // },
{ {
label: '企业标准', label: '企业标准',
value: 'enterprise' value: 'enterprise'
@@ -760,10 +760,10 @@
label: '海外标准法规', label: '海外标准法规',
value: 'bussstand' value: 'bussstand'
}, },
{ // {
label: '国内外政策', // label: '国内外政策',
value: 'laws' // value: 'laws'
}, // },
{ {
label: '企业标准', label: '企业标准',
value: 'enterprise' value: 'enterprise'
@@ -1099,7 +1099,7 @@
"JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN", "JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN",
"ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"]; "ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"];
const bussStandVerify = ["Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M", const bussStandVerify = ["Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M",
"Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"]; "Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"];
if(data[key]){ if(data[key]){
console.log(data[key]) console.log(data[key])
const list = [] const list = []
+56 -10
View File
@@ -736,6 +736,33 @@ const routes = [
title: '项目清单确认流程' title: '项目清单确认流程'
} }
}, },
{
path: '/xmqdqrStep3',
name: 'xmqdqrStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step3.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{
path: '/xmqdqrStep4',
name: 'xmqdqrStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step4.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{
path: '/xmqdqrStep5',
name: 'xmqdqrStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step5.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{ {
path: '/xmqdqrStep1-1', path: '/xmqdqrStep1-1',
name: 'xmqdqrStep1-1', name: 'xmqdqrStep1-1',
@@ -763,15 +790,6 @@ const routes = [
title: '项目清单确认流程' title: '项目清单确认流程'
} }
}, },
{
path: '/xmqdqrStep3',
name: 'xmqdqrStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step3.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{ {
path: '/wfhxzgStep1', path: '/wfhxzgStep1',
name: 'wfhxzgStep1', name: 'wfhxzgStep1',
@@ -1728,6 +1746,15 @@ const routes = [
title: '外部标准化协会入会流程(审批)' title: '外部标准化协会入会流程(审批)'
} }
}, },
{
path: '/bzrhStep6-1',
name: 'bzrhStep6-1',
component: () => import('@/pages/processCenter/pages/creatProcess/bzhHd-rh/step6-1.vue'),
meta: {
requireAuth: true,
title: '外部标准化协会入会流程'
}
},
// 外部标准化协会参会流程 // 外部标准化协会参会流程
{ {
@@ -1784,6 +1811,15 @@ const routes = [
title: '外部标准化协会参会流程(审定)' title: '外部标准化协会参会流程(审定)'
} }
}, },
{
path: '/bzchStep6-1',
name: 'bzchStep6-1',
component: () => import('@/pages/processCenter/pages/creatProcess/bzhHy-ch/step6-1.vue'),
meta: {
requireAuth: true,
title: '外部标准化协会参会流程'
}
},
{ {
path: '/bzhhStep1', path: '/bzhhStep1',
name: 'bzhhStep1', name: 'bzhhStep1',
@@ -1802,7 +1838,18 @@ const routes = [
title: '外部标准化会后管理流程(审批)' title: '外部标准化会后管理流程(审批)'
} }
}, },
{
path: '/phoneBzjdStep4',
name: 'phoneBzjdStep4',
component: () => import('@/pages/processCenter/pages/phone/bzjd/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准解读流程'
}
},
] ]
}, },
// 本地工具 // 本地工具
{ {
@@ -2108,7 +2155,6 @@ const routes = [
menuId: 'PCZKM8TQJAH5UP5EAXTJ' menuId: 'PCZKM8TQJAH5UP5EAXTJ'
} }
}, },
// 工作组 // 工作组
{ {
path: '/workingGroup', path: '/workingGroup',
+15 -14
View File
@@ -6,16 +6,17 @@
// 服务器地址 // 服务器地址
// const devIp = '39.98.140.126' // const devIp = '39.98.140.126'
// const devInterfacePORT = '10005' // const devInterfacePORT = '10005'
// const devIp = '192.168.10.249' // const devIp = '192.168.10.248'
const devIp = '62.234.136.153' // const devIp = '62.234.136.153'
// const devInterfacePORT = '9999' // const devInterfacePORT = '8033'
const devInterfacePORT = '8033' const devIp = '10.19.11.243'
const devInterfacePORT = '4304'
// 配置 idm 认证 // 配置 idm 认证
const ssoLogin = 'http://sso.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&response_type=code&redirect_uri=' const ssoLogin = 'http://sso.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&response_type=code&redirect_uri='
// 配置 前端服务 // 配置 前端服务
const devWebUrl = 'http://62.234.136.153:8038/#/' const devWebUrl = 'https://srms.foton.com.cn/#/'
// webLoginType : idm (线上统一登录) 、 webLoginType: dev (测试环境登录) // webLoginType : idm (线上统一登录) 、 webLoginType: dev (测试环境登录)
const webLoginType = 'dev' const webLoginType = 'idm'
// 云端端口号 // 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777' const DEV_CLOUD_RES_INTERFACE_PORT = '7777'
const simpleFilePath = 'att/attFile/upload' const simpleFilePath = 'att/attFile/upload'
@@ -38,10 +39,10 @@ const processPort = '17210'
*****************************************************************/ *****************************************************************/
// 生产环境配置 // 生产环境配置
const prodIp = '62.234.136.153' // const prodIp = '62.234.136.153'
const prodInterfacePORT = '8033' // const prodInterfacePORT = '8033'
// const prodIp = 'slrs.foton.com.cn' const prodIp = 'srms.foton.com.cn'
// const prodInterfacePORT = '' const prodInterfacePORT = ''
// 判断环境 // 判断环境
const serverIP = process.env.NODE_ENV === 'production' ? prodIp : devIp const serverIP = process.env.NODE_ENV === 'production' ? prodIp : devIp
@@ -49,13 +50,13 @@ const interfacePORT = process.env.NODE_ENV === 'production' ? prodInterfacePORT
const CLOUD_RES_INTERFACE_PORT = process.env.NODE_ENV === 'production' ? DEV_CLOUD_RES_INTERFACE_PORT : DEV_CLOUD_RES_INTERFACE_PORT const CLOUD_RES_INTERFACE_PORT = process.env.NODE_ENV === 'production' ? DEV_CLOUD_RES_INTERFACE_PORT : DEV_CLOUD_RES_INTERFACE_PORT
module.exports = { module.exports = {
baseUrl: 'http://' + serverIP + ':' + interfacePORT, baseUrl: 'https://' + serverIP + ':' + interfacePORT,
webLoginType: webLoginType, webLoginType: webLoginType,
ssoLoginUrlDev: ssoLogin + devWebUrl, ssoLoginUrlDev: ssoLogin + devWebUrl,
ssoLoginUrl: ssoLogin, ssoLoginUrl: ssoLogin,
devWebUrl: devWebUrl, devWebUrl: devWebUrl,
serverUrl: 'http://' + serverIP, // 服务器IP地址 serverUrl: 'https://' + serverIP, // 服务器IP地址
interfaceUrl: 'http://' + serverIP + ':' + interfacePORT + '/api/', // 服务器端接口访问地址, interfaceUrl: 'https://' + serverIP + ':' + interfacePORT + '/api/', // 服务器端接口访问地址,
cloudResInterFaceUrl: 'http://' + serverIP + ':' + interfacePORT + '/busApi/', // 云端资源库服务器端接口访问地址, cloudResInterFaceUrl: 'http://' + serverIP + ':' + interfacePORT + '/busApi/', // 云端资源库服务器端接口访问地址,
simpleUploadPath: 'api/' + simpleFilePath, // 单文件上传地址 simpleUploadPath: 'api/' + simpleFilePath, // 单文件上传地址
multipleUploadPath: 'api/' + multipleFilePath, // 多文件上传地址 multipleUploadPath: 'api/' + multipleFilePath, // 多文件上传地址
@@ -64,5 +65,5 @@ module.exports = {
webSocket: webSocket + ':' + devInterfacePORT + '/websocket/socketServer', // webSocket连接 webSocket: webSocket + ':' + devInterfacePORT + '/websocket/socketServer', // webSocket连接
enterprise: enterprise, // GQ广汽 SJZX数据中心 enterprise: enterprise, // GQ广汽 SJZX数据中心
theme: theme, // 主题 theme: theme, // 主题
processInterfaceURL: `http://${serverIP}:${processPort}/bat-wkflow` processInterfaceURL: `https://${serverIP}:${processPort}/bat-wkflow`
} }