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;}
/*意见反馈页面富文本表格宽度*/ /*意见反馈页面富文本表格宽度*/
@@ -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
@@ -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
+49 -49
View File
@@ -1,7 +1,7 @@
<!--左侧导航菜单 liuyan --> <!--左侧导航菜单 liuyan -->
<template> <template>
<div class="nav-menu v-class" :class="{'is-collapse': isCollapse}"> <div class="nav-menu v-class" :class="{'is-collapse': isCollapse}">
<!-- <div class="nav-menu-header" style="height: 65px; background-color: #4788c0;"> <!-- <div class="nav-menu-header" style="height: 65px; background-color: #4788c0;">
<div class="header-left"> <div class="header-left">
<div class="logo"> <div class="logo">
<img :src="logo" height="58" width="149" /> <img :src="logo" height="58" width="149" />
@@ -76,8 +76,8 @@
</div> </div>
</template> </template>
<script> <script>
import { mapGetters, mapMutations } from 'vuex' import { mapGetters, mapMutations } from 'vuex'
export default { export default {
name: 'NavMenu', name: 'NavMenu',
data () { data () {
return { return {
@@ -509,14 +509,14 @@ export default {
} }
} }
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
/deep/.el-menu--popup > div { /deep/.el-menu--popup > div {
border-radius: 5px; border-radius: 5px;
} }
.el-menu--collapse { .el-menu--collapse {
.is-active { .is-active {
background-color: #697178 !important; background-color: #697178 !important;
.shangqi-icon { .shangqi-icon {
@@ -524,8 +524,8 @@ export default {
} }
color: #697178 !important; color: #697178 !important;
} }
} }
.nav-menu { .nav-menu {
width: 58px; width: 58px;
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
@@ -584,58 +584,58 @@ export default {
background: #4788c0 !important; background: #4788c0 !important;
color: #fff !important; color: #fff !important;
} }
} }
.has-no-read{ .has-no-read{
position: relative; position: relative;
top:-15px; top:-15px;
left:10px left:10px
} }
/*.el-menu--collapse {*/ /*.el-menu--collapse {*/
/* .shangqi-icon {*/ /* .shangqi-icon {*/
/* color: #4091FF !important;*/ /* color: #4091FF !important;*/
/* }*/ /* }*/
/* .is-active /deep/.shangqi-icon {*/ /* .is-active /deep/.shangqi-icon {*/
/* color: #4091FF !important;*/ /* color: #4091FF !important;*/
/* }*/ /* }*/
/* /deep/.el-submenu__title i {*/ /* /deep/.el-submenu__title i {*/
/* color: #fff;*/ /* color: #fff;*/
/* }*/ /* }*/
/* /deep/.el-submenu__title i {*/ /* /deep/.el-submenu__title i {*/
/* color: #fff;*/ /* color: #fff;*/
/* }*/ /* }*/
/*}*/ /*}*/
.is-active /deep/.shangqi-icon { .is-active /deep/.shangqi-icon {
color: #fff; color: #fff;
} }
/deep/.el-submenu__title i { /deep/.el-submenu__title i {
color: #fff; color: #fff;
} }
.nav-menu /deep/.el-submenu__title i { .nav-menu /deep/.el-submenu__title i {
color: #fff; color: #fff;
} }
.nav-menu{ .nav-menu{
background-color: #697178; background-color: #697178;
scrollbar-width: none; scrollbar-width: none;
-ms-overflow-style: none; /* IE 10+ */ -ms-overflow-style: none; /* IE 10+ */
} }
.nav-menu::-webkit-scrollbar { .nav-menu::-webkit-scrollbar {
display: none; /* Chrome Safari */ display: none; /* Chrome Safari */
} }
.nav-menu-popper .el-menu .el-menu-item { .nav-menu-popper .el-menu .el-menu-item {
color: #fff !important; color: #fff !important;
} }
.nav-menu-popper .el-menu .el-menu-item.is-active { .nav-menu-popper .el-menu .el-menu-item.is-active {
background-color: #fff !important; background-color: #fff !important;
color: #4788c0 !important; color: #4788c0 !important;
font-weight: bold; font-weight: bold;
} }
.nav-menu-popper .el-menu .el-menu-item:hover { .nav-menu-popper .el-menu .el-menu-item:hover {
background-color: #697178 !important; background-color: #697178 !important;
color: #fff !important; color: #fff !important;
font-weight: bold; font-weight: bold;
} }
.el-menu-item { .el-menu-item {
span { span {
margin-left: 5px; margin-left: 5px;
font-weight: normal; font-weight: normal;
@@ -666,8 +666,8 @@ export default {
background-image: url("~assets/images/shangqi/sideBar/liucheng.png"); background-image: url("~assets/images/shangqi/sideBar/liucheng.png");
} }
} }
} }
.el-submenu { .el-submenu {
.is-opened { .is-opened {
background-color: red; background-color: red;
} }
@@ -716,8 +716,8 @@ export default {
/deep/.el-menu { /deep/.el-menu {
/*padding-left: 18px;*/ /*padding-left: 18px;*/
} }
} }
.el-menu--collapse{ .el-menu--collapse{
width: 100%; width: 100%;
.shangqi-icon{ .shangqi-icon{
width: 24px; width: 24px;
@@ -731,6 +731,6 @@ export default {
} }
} }
} }
} }
</style> </style>
@@ -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 => {
+48 -373
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"-->
<!-- @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> </div>
</template> </template>
<script> <script>
import Sortable from 'sortablejs' import firstLink from "./linkType/firstLink";
export default { import secondLink from "./linkType/secondLink";
export default {
name: "linkManage", name: "linkManage",
data () { components: {
firstLink,
secondLink
},
data() {
return { return {
editId: '', activeName: 'firstLink',
type: '', // 1为新增 2为编辑
dialogTitle: '',
submitLoading: false,
// 向后台传参使用
data: [],
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: { 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();
}
}
</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;
flex-direction: column;
/deep/ .el-tabs {
flex: auto;
display: flex;
flex-direction: column;
/deep/ .el-tabs__header {
margin: 0 !important;
} }
.filter-tree {
height: calc(~'100% - 50px') .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;
} }
} }
+92 -74
View File
@@ -8,96 +8,67 @@
<div style="display: inline-block;width: 80%;text-align: center"> <div style="display: inline-block;width: 80%;text-align: center">
<div> <div>
<el-row> <el-row>
<span v-for="(item, index) in linkListFirst" :key="index">
<el-col :span="4"> <el-col :span="4">
<a style="color: #0068B7;" href="http://www.sac.gov.cn/" target="_blank">国标委</a> <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>
<el-col :span="1"> <el-col :span="1" v-if="index < 4" v-show="true">
<span class="borderMiddle"></span> <span class="borderMiddle"></span>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="1" v-else v-show="false">
<a style="color: #0068B7;" href="http://www.catarc.org.cn/" target="_blank">汽标委</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span> <span class="borderMiddle"></span>
</el-col> </el-col>
<el-col :span="4"> </span>
<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> </el-row>
</div> </div>
<div> <div>
<el-row> <el-row>
<span v-for="(item, index) in linkListSecond" :key="index">
<el-col :span="4"> <el-col :span="4">
<a style="color: #0068B7;" href="https://www.un.org/zh/aboutun/structure/unece/" target="_blank">欧洲经济委员会</a> <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>
<el-col :span="1"> <el-col :span="1" v-if="index < 4" v-show="true">
<span class="borderMiddle"></span> <span class="borderMiddle"></span>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="1" v-else v-show="false">
<a style="color: #0068B7;" href="https://eur-lex.europa.eu" target="_blank">欧盟</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span> <span class="borderMiddle"></span>
</el-col> </el-col>
<el-col :span="4"> </span>
<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> </el-row>
</div> </div>
</div> </div>
<div style="display: inline-block;width: 15%;"> <div style="display: inline-block;width: 15%;">
<span class="borderLeft"></span> <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> <span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div> </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>
</template> </template>
<script> <script>
export default { import {getImg} from '@/api/linkApi.js'
export default {
name: 'Empennage', name: 'Empennage',
components: {}, components: {},
mixins: [], mixins: [],
data() { data() {
return { return {
linkList: [], linkListFirst: [],
width: '' linkListSecond: [],
width: '',
verifyImg: '',
} }
}, },
computed: {}, computed: {},
@@ -108,18 +79,18 @@
}, },
mounted() { mounted() {
this.getLink(); this.getLink();
this.width = document.getElementById("link").offsetWidth /*this.width = document.getElementById("link").offsetWidth
let self = this let self = this
this.screenWidth = document.body.clientWidth this.screenWidth = document.body.clientWidth
window.onresize = () => { window.onresize = () => {
return (() => { return (() => {
console.log(document.body.clientWidth); console.log(document.body.clientWidth);
}) })
} }*/
}, },
methods: { methods: {
// 跳转链接 // 跳转链接
openLinkUrl (linkUri) { openLinkUrl(linkUri) {
let getHttp = linkUri.substring(0, 7) let getHttp = linkUri.substring(0, 7)
let getHttps = linkUri.substring(0, 8) let getHttps = linkUri.substring(0, 8)
if (getHttp === 'http://' || getHttps === 'https://') { if (getHttp === 'http://' || getHttps === 'https://') {
@@ -129,14 +100,13 @@
} }
}, },
// 获取链接数据 // 获取链接数据
getLink () { getLink() {
var width = document.getElementById("link").offsetWidth // var width = document.getElementById("link").offsetWidth
this.$http.get('sarUrl/tsUrl', { this.$http.get('sarUrl/tsUrl', {}, {
}, {
_this: this, _this: this,
loading: 'Loading' loading: 'Loading'
}, res=> { }, res => {
let b = 0 /* let b = 0
let c = 0 let c = 0
for (let a = 0; a < res.data.length; a++) { for (let a = 0; a < res.data.length; a++) {
b += res.data[a].name.length * 14 + 100 b += res.data[a].name.length * 14 + 100
@@ -145,49 +115,97 @@
} else { } else {
c = a 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)
} }
let list })
list = res.data.slice(0, c) this.linkListFirst.forEach(item => {
this.linkList = list 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 { .borderRight {
//padding-right: 50px; //padding-right: 50px;
//margin-right: 50px; //margin-right: 50px;
border-right: 2px dotted #aaa; border-right: 2px dotted #aaa;
} }
.borderLeft { .borderLeft {
margin-right: 50px; margin-right: 50px;
//padding-left: 50px; //padding-left: 50px;
//margin-left: 50px; //margin-left: 50px;
border-left: 2px dotted #aaa; border-left: 2px dotted #aaa;
} }
.borderMiddle { .borderMiddle {
border-left: 2px dotted #aaa; border-left: 2px dotted #aaa;
} }
.title { .title {
font-size: 15px;
padding-right: 40px; padding-right: 40px;
font-weight: bold; font-weight: bold;
padding-left: 40px; padding-left: 40px;
width: 80px; width: 80px;
} }
.myLi1 { .myLi1 {
font-size: 15px;
cursor: pointer; cursor: pointer;
color: #0068B7; color: #0068B7;
} }
.el-col-4 { .el-col-4 {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -197,6 +215,6 @@
margin-top: 10px; margin-top: 10px;
font-size: 5px; 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,11 +693,15 @@ export default {
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入回执说明')
} else {
let json = { let json = {
prcCreateUser: this.$store.getters.userInfo.userId, prcCreateUser: this.$store.getters.userInfo.userId,
prcCreateUserName: this.$store.getters.userInfo.userName, prcCreateUserName: this.$store.getters.userInfo.userName,
roleList: this.roleForm, roleList: this.roleForm,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
commentText: this.commentText,
directorList: this.rh_pageData.comityInRoleId, directorList: this.rh_pageData.comityInRoleId,
} }
this.$refs['rh_pageData'].validate((valid) => { this.$refs['rh_pageData'].validate((valid) => {
@@ -712,6 +734,7 @@ export default {
}) })
} }
} }
}
} }
</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,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,8 +306,19 @@ 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() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId, memberId: this.$store.getters.userInfo.userId,
@@ -330,9 +342,13 @@ export default {
}); });
} }
}) })
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId, memberId: this.$store.getters.userInfo.userId,
@@ -358,6 +374,7 @@ export default {
}) })
} }
} }
}
} }
</script> </script>
@@ -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,6 +433,9 @@ export default {
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入回执说明')
} else {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
@@ -432,6 +459,15 @@ export default {
} }
}) })
} }
},
/** 点击对应附件进行下载*/
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,6 +334,9 @@ export default {
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
if(this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
member: this.selfUser, member: this.selfUser,
passFlag: '0', passFlag: '0',
@@ -354,9 +360,14 @@ export default {
}); });
} }
}) })
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if(this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
member: this.selfUser, member: this.selfUser,
passFlag: '1', passFlag: '1',
@@ -382,6 +393,14 @@ export default {
} }
}) })
} }
},
/** 点击对应附件进行下载*/
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) {
@@ -399,6 +434,16 @@ 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,42 +332,25 @@ 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() {
if (this.textarea === '') {
this.$message.warning('请输入反馈意见')
} else {
let json = { let json = {
passFlag: '0', passFlag: '0',
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
@@ -391,13 +385,22 @@ export default {
}); });
} }
}) })
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.textarea === '') {
if (this.taskInfo === '标准法规工程师汇总修订完毕') {
this.$message.warning('请输入回执说明')
} else {
this.$message.warning('请输入反馈意见')
}
} else {
let json = { let json = {
passFlag: '1', passFlag: '1',
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
if (this.taskInfo === '标准法规部主管领导审核') { if (this.taskInfo === '标准法规部主管领导审核') {
@@ -431,6 +434,7 @@ export default {
}) })
} }
} }
}
} }
</script> </script>
@@ -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,11 +605,15 @@ export default {
}, },
/** 提交按钮*/ /** 提交按钮*/
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入回执说明')
} else {
let json = { let json = {
prcCreateUser: this.$store.getters.userInfo.userId, prcCreateUser: this.$store.getters.userInfo.userId,
prcCreateUserName: this.$store.getters.userInfo.userName, prcCreateUserName: this.$store.getters.userInfo.userName,
roleList: this.roleForm, roleList: this.roleForm,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.commentText,
directorList: this.roleForm.dockUser, directorList: this.roleForm.dockUser,
} }
this.$refs['ch_pageData'].validate((valid) => { this.$refs['ch_pageData'].validate((valid) => {
@@ -606,6 +643,7 @@ export default {
} }
}) })
} }
}
} }
} }
@@ -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,17 +272,21 @@ 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() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId, memberId: this.$store.getters.userInfo.userId,
passFlag: '0', passFlag: '0',
commentText: this.textContent, commentText: this.commentText,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
} }
this.$refs['ch_pageData'].validate((valid) => { this.$refs['ch_pageData'].validate((valid) => {
@@ -301,14 +305,19 @@ export default {
}); });
} }
}) })
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId, memberId: this.$store.getters.userInfo.userId,
passFlag: '1', passFlag: '1',
commentText: this.textContent, commentText: this.commentText,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
} }
this.$refs['ch_pageData'].validate((valid) => { this.$refs['ch_pageData'].validate((valid) => {
@@ -328,6 +337,8 @@ export default {
} }
}) })
} }
}
} }
} }
</script> </script>
@@ -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,9 +394,13 @@ export default {
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.commentText === '') {
this.$message.warning('请输入回执说明')
} else {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
commentText: this.commentText,
charge: this.ch_pageData.fillLeaderId, charge: this.ch_pageData.fillLeaderId,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
} }
@@ -393,6 +421,8 @@ export default {
} }
}) })
} }
}
} }
} }
</script> </script>
@@ -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,6 +294,9 @@ export default {
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
member: this.selfUser, member: this.selfUser,
passFlag: '0', passFlag: '0',
@@ -315,9 +320,13 @@ export default {
}); });
} }
}) })
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
member: this.selfUser, member: this.selfUser,
passFlag: '1', passFlag: '1',
@@ -344,6 +353,7 @@ export default {
}) })
} }
} }
}
} }
</script> </script>
@@ -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,12 +335,31 @@ 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() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
leader: this.roleForm.leaderUserId, leader: this.roleForm.leaderUserId,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.commentText,
roleList: this.roleForm, roleList: this.roleForm,
} }
this.$refs['ch_pageData'].validate((valid) => { this.$refs['ch_pageData'].validate((valid) => {
@@ -343,6 +379,8 @@ export default {
} }
}) })
} }
}
} }
} }
</script> </script>
@@ -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,9 +333,13 @@ export default {
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
passFlag: '0', passFlag: '0',
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
if (this.taskInfo === '技术管理中心主任审批') { if (this.taskInfo === '技术管理中心主任审批') {
@@ -326,6 +352,7 @@ export default {
} else { } else {
json = { json = {
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
} }
@@ -345,12 +372,17 @@ export default {
}); });
} }
}) })
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = { let json = {
passFlag: '1', passFlag: '1',
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
if (this.taskInfo === '技术管理中心主任审批') { if (this.taskInfo === '技术管理中心主任审批') {
@@ -363,6 +395,7 @@ export default {
} else { } else {
json = { json = {
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
} }
@@ -383,6 +416,8 @@ export default {
} }
}) })
} }
}
} }
} }
</script> </script>
@@ -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,27 +262,20 @@
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%;">
<div v-for="(item,index) in xgdFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('xgd')"> @click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </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">
@@ -292,27 +285,20 @@
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%;">
<div v-for="(item,index) in FBGBJBDFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('fbgbjbd')"> @click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </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">
@@ -322,27 +308,20 @@
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%;">
<div v-for="(item,index) in ssgFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('ssg')"> @click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled"> <el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
@@ -352,27 +331,20 @@
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%;">
<div v-for="(item,index) in caFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('ca')"> @click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </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">
@@ -382,27 +354,20 @@
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%;">
<div v-for="(item,index) in zbjbdFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('zbjbd')"> @click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -414,27 +379,20 @@
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%;">
<div v-for="(item,index) in kwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('kwj')"> @click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
<!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************--> <!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************-->
@@ -446,27 +404,20 @@
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%;">
<div v-for="(item,index) in jdwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('jdwj')"> @click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </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">
@@ -476,27 +427,20 @@
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%;">
<div v-for="(item,index) in bpgFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('bpg')"> @click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </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">
@@ -506,27 +450,20 @@
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%;">
<div v-for="(item,index) in zqyjgFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px" style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('zqyjg')"> @click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button> </el-button>
</div> </div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -771,28 +708,21 @@
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"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传文件
</el-button>
<!-- {{ form.glwjName }}-->
</div> </div>
<div v-else> <div style="width: 20%;">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('glwj')"> @click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button> </el-button>
</div> </div>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -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
@@ -2,7 +2,7 @@
<div class="xmqdqr-step2"> <div class="xmqdqr-step2">
<ProcessHeader toggle> <ProcessHeader toggle>
<template slot="proName">项目清单确认流程</template> <template slot="proName">项目清单确认流程</template>
<template slot="proNode">确认人确认</template> <template slot="proNode">产品经理分发任务</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -44,6 +44,14 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="确认人" prop="detailPeopleName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.detailPeopleName"
placeholder="请选择确认人"
clearable
@click.native="choiceZRRS"
></el-input>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
@@ -85,8 +93,8 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
align="center" align="center"
min-width="300"
label="中文名称" label="中文名称"
width="180px"
> >
<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>
@@ -95,8 +103,8 @@
<el-table-column <el-table-column
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
min-width="300"
align="center" align="center"
width="180px"
> >
<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>
@@ -138,32 +146,6 @@
width="180px" width="180px"
> >
</el-table-column> </el-table-column>
<el-table-column
show-overflow-tooltip
prop="kccvppsbm"
width="180px"
align="center"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="kccvppscn"
width="180px"
align="center"
label="卡车vpps中文名称">
</el-table-column>
<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> </el-table>
</div> </div>
<div> <div>
@@ -252,163 +234,439 @@
<!-- 添加标准抽屉--> <!-- 添加标准抽屉-->
<el-drawer <el-drawer
title="添加标准" title="添加标准"
:wrapperClosable="false"
:visible.sync="standModel" :visible.sync="standModel"
size="900px" size="900px"
custom-class="demo-drawer" custom-class="demo-drawer"
> >
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0"> <el-form
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0"> class="label-input-form"
<div class="left"> style="margin-top: 15px;"
<el-form :model="standCommonlySearch" inline class="label-input-form"> label-width="130px"
<el-formItem label="标准号/名称" prop="standNumber" class="search-item"> :modal="handleSelectForm"
<el-input v-model="standCommonlySearch.standNumber" placeholder="根据标准号/名称查找" clearable /> :inline="true"
</el-formItem> >
<!-- <el-formItem label="标准类别" prop="standSort" class="search-item">--> <el-form-item label="标准/政策来源" class="search-item">
<!-- <el-select v-model="standCommonlySearch.standSort" placeholder="根据标准类别查找" clearable>--> <el-select
<!-- <el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value"--> v-model="handleSelectForm.dataSource"
<!-- :key="opt.value" :label="opt.label">{{ opt.label }}--> @change="dataSourceChange"
<!-- </el-option>--> :popper-append-to-body="false"
<!-- </el-select>--> placeholder="请选择标准来源">
<!-- </el-formItem>--> <el-option value="INLAND" label="国内标准库"></el-option>
<el-formItem label="标准来源" prop="standType" class="search-item"> <el-option value="FOREIGN" label="海外标准库"></el-option>
<el-select v-model="standCommonlySearch.standType" placeholder="根据标准来源查找" clearable> <!-- <el-option value="FOREIGN_LAWS" label="国内外政策库"></el-option>-->
<el-option value="INLAND" key="1" label="国内标准"></el-option> <el-option value="BUSINESS_STAND" label="企业标准库"></el-option>
<el-option value="FOREIGN" key="2" label="海外标准"></el-option>
</el-select> </el-select>
</el-formItem> </el-form-item>
<el-formItem class="search-item btn-box"> <el-form-item label="标准编号" class="search-item">
<el-input
v-model="handleSelectForm.lawNumber"
@change="lawNumberSearch"
placeholder="根据标准编号查找"
clearable
:maxlength="100"></el-input>
</el-form-item>
<!-- <el-form-item label="标准名称/政策名称" class="search-item">-->
<!-- <el-input-->
<!-- v-model="handleSelectForm.lawName"-->
<!-- @change="lawNameSearch"-->
<!-- placeholder="根据标准名称/政策名称查找"-->
<!-- clearable-->
<!-- :maxlength="100"></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="search-item btn-box">
<el-button <el-button
size="small"
type="primary" type="primary"
size="mini"
class="common-button-primary" class="common-button-primary"
@click="search">查询 @click="searchLawBtn">
查询
</el-button> </el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button <el-button
class="common-button-default" class="common-button-default"
size="mini" size="small"
@click="clearSearch">清空 type="default"
@click="clearLawBtn">
清空
</el-button> </el-button>
</el-formItem> </el-form-item>
</el-form> </el-form>
</div> <loading :loading="lawInfoTableLoading">数据获取中</loading>
<el-table <el-table
:data="standardData" ref="selections"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%;overflow-y: auto;overflow-x: hidden;"
border border
ref="table" :loading="lawInfoTableLoading"
height="100%" :data="lawInfoTable"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px', :height="300"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="selectStand" @selection-change="handleSelectTableChange"
> >
<el-table-column <el-table-column
fixed="left"
type="selection" type="selection"
width="55" width="55"
align="center"> align="center">
</el-table-column> </el-table-column>
<div v-if="handleSelectForm.dataSource === 'INLAND'">
<el-table-column <el-table-column
prop="code" label="标准号"
align="center" width="150"
label="标准号"> >
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" <a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" class="table-jump" style="color: #F56C6C"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber scope.row.standNumber
}}-{{ scope.row.standYear }}</a> }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ <a v-else-if="scope.row.standYear" class="table-jump" style="color: #333333"
scope.row.standSortShow }} @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump" style="color: #333333">
{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}</a> {{ scope.row.standNumber }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip
prop="standName" prop="standName"
align="center"
label="标准名称" label="标准名称"
min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" @click="handlePreview(scope.row)" class="table-jump" style="color: #F56C6C">{{ scope.row.standName }}</a>
<a v-else @click="handlePreview(scope.row)" style="color: #333333" class="table-jump">{{ scope.row.standName }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
align="center" sortable="custom"
width="120"
label="发布日期"> label="发布日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span> <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ formatIssueDate(scope.row.issueTime) }}</span>
<span v-else>{{ formatIssueDate(scope.row.issueTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="SSRQ"
align="center" sortable="custom"
width="120"
label="实施日期">
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span> <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip prop="ZCCSSRQ"
prop="zccssrqgj" sortable="custom"
align="center" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span> <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态<i class="el-icon-warning-outline"></i></span>-->
<!-- </el-tooltip>-->
<!-- </template>-->
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus]
}}</span>
<span v-else>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</div>
<div v-if="handleSelectForm.dataSource === 'FOREIGN'">
<el-table-column
label="标准号"
width="150"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standSortShow
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standSortShow
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else-if="scope.row.standYear" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standSortShow
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else style="color: #333333" @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow
}}
{{ scope.row.standNumber }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="textStatus" prop="standName"
align="center" label="标准名称"
label="文本状态"> min-width="300"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span> <a v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standName
}}</a>
<a v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standName
}}</a>
<a v-else style="color: #333333" @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standName
}}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
<div v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">
{{ formatIssueDate(scope.row.issueTime) }}
</div>
<div v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">
{{ formatIssueDate(scope.row.issueTime) }}
</div>
<div v-else style="color: #333333">
{{ formatIssueDate(scope.row.issueTime) }}
</div>
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
width="120"
label="实施日期">
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{ scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
width="150"
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
width="150"
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态 <i class="el-icon-warning-outline"></i></span>-->
<!-- </el-tooltip>-->
<!-- </template>-->
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
textStatusMap[scope.row.textStatus]
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
textStatusMap[scope.row.textStatus]
}}</span>
<span v-else style="color: #333333">{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</div>
<div v-if="handleSelectForm.dataSource === 'BUSINESS_STAND'">
<el-table-column
show-overflow-tooltip
label="企标编号"
width="150"
>
<template slot-scope="scope">
<!-- <a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>-->
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standCode }}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standCode }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standCode }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="中文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
<a v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standEnName"
label="英文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
sortable
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
</template>
</el-table-column>
<el-table-column
prop="putTime"
label="实施日期"
sortable
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
sortable
prop="standStatusShow"
label="文本状态"
width="110"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
{{scope.row.standStatusShow}}
</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">
{{scope.row.standStatusShow}}
</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
{{scope.row.standStatusShow}}
</span>
</template>
</el-table-column>
</div>
</el-table> </el-table>
</div> <!--分页-->
<pagination <pagination
:page="page" v-show="this.lawInfoTableLoading === false"
:pageSize="pageSize" style="position: relative;"
:total="total" :page="handleSelectForm.page"
@pageChange="pageChange" :total="handleSelectForm.total"
@pageSizeChange="pageSizeChange" @pageChange="handleSelectPageChange"
/> @pageSizeChange="handleSelectPageSizeChange"></pagination>
<div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" @click="standModel = false">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" @click="handleSelectConfirm" v-show="lawInfoTableLoading === false">确定</el-button>
</div> </div>
</div> </div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="cancelStand">取消</el-button>
<el-button type="primary" size="mini" @click="okStand">添加</el-button>
</div>
</el-drawer> </el-drawer>
<!-- <ProcessFooter-->
<!-- show-save-->
<!-- show-transfer-->
<!-- show-affirm-->
<!-- :submitLoading="isSubmit"-->
<!-- :transfer-loading="isTransfer"-->
<!-- :saveLoading="saveLoading"-->
<!-- @submit="handleSubmit"-->
<!-- @transfer="handleTransfer"-->
<!-- @save="handleSave"-->
<!-- :approval="true"-->
<!-- >-->
<!-- </ProcessFooter>-->
<ProcessFooter <ProcessFooter
:show-save="submitShow" show-save
:show-transfer="submitShow" show-transfer
:show-affirm="submitShow" show-affirm
show-confirm
:submitLoading="isSubmit" :submitLoading="isSubmit"
:transfer-loading="isTransfer" :transfer-loading="isTransfer"
:saveLoading="saveLoading" :saveLoading="saveLoading"
@submit="handleSubmit" @submit="handleSubmit"
@transfer="handleTransfer" @transfer="handleTransfer"
@save="handleSave" @save="handleSave"
@accept="handleAccept"
:approval="true" :approval="true"
> >
</ProcessFooter> </ProcessFooter>
<!-- <ProcessFooter-->
<!-- :show-save="submitShow"-->
<!-- :show-transfer="submitShow"-->
<!-- :show-affirm="submitShow"-->
<!-- show-confirm-->
<!-- :submitLoading="isSubmit"-->
<!-- :transfer-loading="isTransfer"-->
<!-- :saveLoading="saveLoading"-->
<!-- @submit="handleSubmit"-->
<!-- @transfer="handleTransfer"-->
<!-- @save="handleSave"-->
<!-- @accept="handleAccept"-->
<!-- :approval="true"-->
<!-- >-->
<!-- </ProcessFooter>-->
<!-- 多选确认人-->
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<!-- 福田全公司选人解决方案 --> <!-- 福田全公司选人解决方案 -->
<Role-tree <Role-tree
check-box check-box
@@ -435,13 +693,34 @@ export default {
}, },
data() { data() {
return { return {
lawInfoTableLoading: true,
lawInfoTable:[],
handleSelectForm: {
standName: '', //标准名称
numberName: '', //政策名称
lawsNumber: '', //政策编号
standNumber: '', //标准编号
standCode: '', //企标编号
dataSource: 'INLAND',
standType: 'INLAND',
lawNumber: '', // 标准编号/政策编号
lawName: '', // 标准名称/政策名称
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
quoteIdList: '',
validFlag: '0',
menuId: 'nomenu'
},
isTransfer: false, isTransfer: false,
// 调整处理人抽屉状态 // 调整处理人抽屉状态
drawerModal: false, drawerModal: false,
drawerTitle:'', drawerTitle:'',
active: "1", active: "1",
nodeList: [], nodeList: [],
nodeList2: [],
loading: false, loading: false,
modalshowflag: false,
// 当前流程类型(1待办/2已办) // 当前流程类型(1待办/2已办)
processType: 1, processType: 1,
isSubmit: false, isSubmit: false,
@@ -456,6 +735,7 @@ export default {
standList: [], standList: [],
projectStand:[], projectStand:[],
standardData: [], standardData: [],
handleSelectTableList: [], //标准数据
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
@@ -469,6 +749,7 @@ export default {
}, },
//表单的数据 //表单的数据
qdform: { qdform: {
detailPeople: "", //确认人
BZFlag: " ", //1审批通过 其他为驳回 BZFlag: " ", //1审批通过 其他为驳回
projectNumber: "", //项目编号 projectNumber: "", //项目编号
projectName: "", //项目名称 projectName: "", //项目名称
@@ -502,6 +783,14 @@ export default {
}); });
}, },
methods: { methods: {
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
//确认转办 //确认转办
checkedTransferRole (data) { checkedTransferRole (data) {
this.assigneeNewLoading = true this.assigneeNewLoading = true
@@ -609,41 +898,44 @@ export default {
this.qdform.prcNum = this.prcNum; this.qdform.prcNum = this.prcNum;
this.qdform.prcName = this.prcName; this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id; this.qdform["id"] = item.id;
// this.projectId = item.projectId; this.projectId = item.projectId;
//获取清单id 查询对应清单下的标准 //获取清单id 查询对应清单下的标准
this.detailedId = item.detailedListId; this.detailedId = item.detailedListId;
// this.getStandData(); this.getStandData();
this.getStand();
}else{ }else{
this.qdform = item.form this.qdform = item.form
this.dataList =item.form.dataList this.dataList =item.form.dataList
this.detailedId = item.form.detailedListId; this.detailedId = item.form.detailedListId;
this.getStand();
} }
}); });
}, },
//查询清单下的标准 //查询清单下的标准
// getStandData() { getStandData() {
// this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, { this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, {
// _this: this _this: this
// }, res => { }, res => {
// this.dataList = res.data.records; this.dataList = res.data.records;
// this.dataList.forEach(item => { this.dataList.forEach(item => {
// // 责任部门转换 // 责任部门转换
// if (item.zrbm !== null || item.zrbm !== "") { if (item.zrbm !== null || item.zrbm !== "" ) {
// let k = (item.zrbm || "").split(","); let k = (item.zrbm || "").split(",");
// for (let i in this.zrbmOptions) { for (let i in this.zrbmOptions) {
// for (let m = 0; m < k.length; m++) { for (let m = 0; m < k.length; m++) {
// if (this.zrbmOptions[i].value === k[m]) { if (this.zrbmOptions[i].value === k[m]) {
// k[m] = this.zrbmOptions[i].label; k[m] = this.zrbmOptions[i].label;
// } }
// item.zrbm = k.join(","); item.zrbm = k.join(",");
// } }
// } }
// } }
// }); });
// }); this.dataList.map(item => {
// }, if(item.zrbm === '[]'){
item.zrbm = ''
}
})
});
},
// 接受按钮 // 接受按钮
handleAccept(){ handleAccept(){
this.isSubmit = true this.isSubmit = true
@@ -699,6 +991,7 @@ export default {
}); });
}, },
addList() { addList() {
this.searchLawBtn()
this.standModel = true; this.standModel = true;
}, },
//批量删除 //批量删除
@@ -726,12 +1019,34 @@ export default {
} }
}, },
//添加标准勾选框数据 //添加标准勾选框数据
selectStand(data) { handleSelectTableChange (data) {
this.standList = data; this.handleSelectTableList = data
console.log(this.handleSelectTableList);
}, },
selectStandChange(data){ selectStandChange(data){
this.projectStand = data this.projectStand = data
}, },
choiceZRRS() {
this.nodeList2 = [];
if (this.qdform.detailPeople) {
this.nodeList2 = this.qdform.detailPeople.split(",");
}
this.modalshowflag = true;
},
checkedRole2(data) {
var idList = "";
var nameList = "";
data.forEach(item => {
if (nameList.length > 0) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
this.qdform.detailPeople = idList;
this.qdform.detailPeopleName = nameList;
},
cancelStand() { cancelStand() {
this.standModel = false; this.standModel = false;
}, },
@@ -764,52 +1079,138 @@ export default {
} }
}, },
//手动查找的清空按钮
clearLawBtn(){
this.lawInfoTableLoading = true
this.handleSelectForm.lawNumber = ''
this.handleSelectForm.standNumber = ''
this.handleSelectForm.lawsNumber = ''
this.handleSelectForm.standCode = ''
//清空标准名称/政策名称的查询
this.handleSelectForm.lawName = ''
this.handleSelectForm.standName = ''
this.handleSelectForm.numberName = ''
this.searchLawBtn()
},
//添加标准的查询按钮 //添加标准的查询按钮
search() { searchLawBtn(){
this.page = 1; console.log(this.handleSelectForm);
this.getStand(); this.lawInfoTableLoading = true
}, if (this.handleSelectForm.dataSource === 'INLAND'){
clearSearch() { this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',this.handleSelectForm,{
this.standCommonlySearch = {
standSort: "",
standNumber: "",
standType: ""
};
this.getStand();
},
pageChange(page) {
this.page = page;
this.getStand();
},
pageSizeChange(pageSize) {
this.pageSize = pageSize;
this.getStand();
},
//查询清单下的标准
getStand() {
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", {
id: this.detailedId,
page: this.page,
Size: this.pageSize,
...this.standCommonlySearch
}, {
_this: this _this: this
}, res => { },res=>{
if (res.data === null) { console.log('国内标准库数据',res)
this.standardData = ""; if (res.ok){
this.totalDo = ""; this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
if ((this.lawInfoTable.length === 0 || this.lawInfoTable === []) && this.handleSelectForm.page !== 1) {
this.lawInfoTableLoading = true
this.handleSelectPageChange(1)
}else {
this.lawInfoTableLoading = false
this.lawInfoTableLoading = false
} }
this.standardData = res.data.records; }else {
this.standardData.forEach(item => { this.$message.error(res.message)
if (item.zccssrqgj === "-" || item.zccssrqgj === 'null' || item.zccssrqgj === 'undefined') {
item.zccssrqgj = "";
} }
if (item.xcxssrqgj === "-" || item.xcxssrqgj === 'null' || item.xcxssrqgj === 'undefined' ) { },e=>{
item.xcxssrqgj = ""; this.lawInfoTable = []
this.handleSelectForm.total = 0
})
}else if(this.handleSelectForm.dataSource === 'FOREIGN'){
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',this.handleSelectForm,{
_this: this
},res=>{
if (res.ok){
this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
if ((this.lawInfoTable.length === 0 || this.lawInfoTable === []) && this.handleSelectForm.page !== 1) {
this.lawInfoTableLoading = true
this.handleSelectPageChange(1)
}else {
this.lawInfoTableLoading = false
} }
}); }else {
this.total = res.data.total; this.$message.error(res.message)
}); this.lawInfoTableLoading = false
}
},e=>{
this.lawInfoTable = []
this.handleSelectForm.total = 0
})
}else if(this.handleSelectForm.dataSource === 'BUSINESS_STAND'){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',this.handleSelectForm,{
_this: this
},res=>{
if (res.ok){
this.lawInfoTable = res.data.list
this.handleSelectForm.total = res.data.count
if ((this.lawInfoTable.length === 0 || this.lawInfoTable === []) && this.handleSelectForm.page !== 1) {
this.lawInfoTableLoading = true
this.handleSelectPageChange(1)
}else {
this.lawInfoTableLoading = false
}
}else {
this.$message.error(res.message)
this.lawInfoTableLoading = false
}
},e=>{
this.lawInfoTable = []
this.handleSelectForm.total = 0
})
}else {
this.$message.warning('请先选择标准/政策来源')
}
},
handleSelectConfirm(){
if(this.handleSelectTableList.length < 1){
this.$message.warning('请至少选择一条数据进行添加')
}else{
this.standList.forEach(item =>{
if(item.ssrq === "-"){
item.ssrq = ''
}
if(item.zrbm === '[]'){
item.zrbm =''
}
})
this.handleSelectTableList.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
}
},
dataSourceChange() {
this.handleSelectForm.page = 1
this.lawInfoTableLoading = true
this.handleSelectForm.standType = this.handleSelectForm.dataSource
this.searchLawBtn()
},
//根据标准编号的查询
lawNumberSearch() {
this.handleSelectForm.standNumber = this.handleSelectForm.lawNumber
this.handleSelectForm.lawsNumber = this.handleSelectForm.lawNumber
this.handleSelectForm.standCode = this.handleSelectForm.lawNumber
},
handleSelectPageChange(page){
this.lawInfoTableLoading = true
this.handleSelectForm.page = page
this.searchLawBtn()
},
handleSelectPageSizeChange(pageSize){
this.lawInfoTableLoading = true
this.handleSelectForm.pageSize = pageSize
this.searchLawBtn()
}, },
}, },
computed: { computed: {
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' : ''">
<div style="display: flex;justify-content: space-between;align-items: center;">
<el-tooltip v-if="addForm.unit" class="item" effect="dark" :content="addForm.unit" placement="top-start">
<el-input <el-input
:disabled="DrawerType === 'see'" :disabled="DrawerType === 'see'"
clearable
v-model="addForm.unit" v-model="addForm.unit"
placeholder="请输入起草责任单位" placeholder="选择或输入起草单位">
:maxlength="500"/> </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) {
if (res.data === '操作成功') {
this.addDrawer = false this.addDrawer = false
this.$message.success(tips + '成功') this.$message.success(tips + '成功')
this.getData() 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>
@@ -6,17 +6,17 @@
<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,
@@ -46,10 +46,10 @@ export default {
}, },
watch: {}, watch: {},
mounted () {} mounted () {}
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
#non-cnfomity { #non-cnfomity {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -73,5 +73,5 @@ export default {
.el-tabs__nav { .el-tabs__nav {
margin-left:20px; 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
+48 -48
View File
@@ -27,8 +27,8 @@
{{ $t("m.clearQuery") }} {{ $t("m.clearQuery") }}
</el-button> </el-button>
</div> </div>
<!-- <el-button type="primary" @click="exportSearchResult" v-if="!kindtext" style="position: absolute;right:0px;width: 98px;background:#3391CE;border-color:#3391CE;">{{ $t("m.export") }}--> <!-- <el-button type="primary" @click="exportSearchResult" v-if="!kindtext" style="position: absolute;right:0px;width: 98px;background:#3391CE;border-color:#3391CE;">{{ $t("m.export") }}-->
<!-- </el-button>--> <!-- </el-button>-->
</div> </div>
<div class="search-condition showWidth" v-if="kindtext"> <div class="search-condition showWidth" v-if="kindtext">
<div class="search-content"> <div class="search-content">
@@ -39,9 +39,9 @@
<el-radio label="INLAND_STAND"> <el-radio label="INLAND_STAND">
<span>{{ $t("m.standAll") }}</span> <span>{{ $t("m.standAll") }}</span>
</el-radio> </el-radio>
<el-radio label="INLAND_LAWS"> <!--<el-radio label="INLAND_LAWS">
<span>{{ $t("m.lawsAll") }}</span> <span>{{ $t("m.lawsAll") }}</span>
</el-radio> </el-radio>-->
<el-radio label="BUSINESS_STAND"> <el-radio label="BUSINESS_STAND">
<span>{{ $t("m.enterpriseStandard") }}</span> <span>{{ $t("m.enterpriseStandard") }}</span>
</el-radio> </el-radio>
@@ -832,11 +832,11 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row type="flex" justify="space-around" class="code-row-bg"> <el-row type="flex" justify="space-around" class="code-row-bg">
<!-- <el-col :span="12">--> <!-- <el-col :span="12">-->
<!-- <el-form-item label="文件上传人员" prop="nameShow">--> <!-- <el-form-item label="文件上传人员" prop="nameShow">-->
<!-- <el-input v-model="standForm.nameShow" clearable></el-input>--> <!-- <el-input v-model="standForm.nameShow" clearable></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="适用车型" prop="standNumber"> <el-form-item label="适用车型" prop="standNumber">
<el-select v-model="standForm.SYCXCLASS" filterable clearable> <el-select v-model="standForm.SYCXCLASS" filterable clearable>
@@ -938,23 +938,23 @@
</el-row> </el-row>
<el-row type="flex" justify="space-around" class="code-row-bg"> <el-row type="flex" justify="space-around" class="code-row-bg">
<!-- <el-col :span="12">--> <!-- <el-col :span="12">-->
<!-- <el-form-item label="宣贯记录" prop="standNumber">--> <!-- <el-form-item label="宣贯记录" prop="standNumber">-->
<!-- <el-input v-model="standForm.standNumber" clearable--> <!-- <el-input v-model="standForm.standNumber" clearable-->
<!-- placeholder="根据宣贯记录查找"--> <!-- placeholder="根据宣贯记录查找"-->
<!-- @keyup.enter.native="btnSearch"></el-input>--> <!-- @keyup.enter.native="btnSearch"></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- </el-row>--> <!-- </el-row>-->
<!-- <el-row type="flex" justify="space-around" class="code-row-bg">--> <!-- <el-row type="flex" justify="space-around" class="code-row-bg">-->
<!-- <el-col :span="12">--> <!-- <el-col :span="12">-->
<!-- <el-form-item label="上传时间" prop="nameShow">--> <!-- <el-form-item label="上传时间" prop="nameShow">-->
<!-- <el-input v-model="standForm.nameShow" clearable placeholder="根据上传时间查找"--> <!-- <el-input v-model="standForm.nameShow" clearable placeholder="根据上传时间查找"-->
<!-- @keyup.enter.native="btnSearch"></el-input>--> <!-- @keyup.enter.native="btnSearch"></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- <el-col :span="12">--> <!-- <el-col :span="12">-->
<!-- </el-col>--> <!-- </el-col>-->
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
@@ -1131,7 +1131,7 @@
> >
取消收藏 取消收藏
</el-dropdown-item> </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>
@@ -1172,7 +1172,7 @@
取消收藏 取消收藏
</el-dropdown-item> </el-dropdown-item>
<el-button size="mini" type="primary" v-else @click="clickCollection(scope.row)">收藏</el-button> <el-button size="mini" type="primary" v-else @click="clickCollection(scope.row)">收藏</el-button>
<!-- <el-button sizi="mini" @click="clickShare(scope.row)">分享</el-button>--> <!-- <el-button sizi="mini" @click="clickShare(scope.row)">分享</el-button>-->
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@@ -1235,12 +1235,12 @@
</template> </template>
<script> <script>
import "../../../assets/zTree/js/jquery.ztree.core.js"; import "../../../assets/zTree/js/jquery.ztree.core.js";
import "../../../assets/zTree/js/jquery.ztree.excheck.js"; import "../../../assets/zTree/js/jquery.ztree.excheck.js";
import "../../../assets/zTree/js/jquery.ztree.exedit.js"; import "../../../assets/zTree/js/jquery.ztree.exedit.js";
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue'; import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
export default { export default {
name: "advancedSearch", name: "advancedSearch",
components: { components: {
TreeSelectNew TreeSelectNew
@@ -2709,22 +2709,22 @@ export default {
destroyed() { destroyed() {
// 检索中心特殊处理 // 检索中心特殊处理
} }
}; };
</script> </script>
<style lang="less"> <style lang="less">
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
/deep/ .yellowClass{ /deep/ .yellowClass{
color: #E6A23C !important; color: #E6A23C !important;
} }
/deep/ .redClass{ /deep/ .redClass{
color: #F56C6C !important; color: #F56C6C !important;
} }
#advancedSearch { #advancedSearch {
background: #fff; background: #fff;
@borderColor: #BFBFBF; @borderColor: #BFBFBF;
height: auto !important; height: auto !important;
@@ -3117,17 +3117,17 @@ export default {
height: 40px height: 40px
} }
} }
} }
.showWidth { .showWidth {
width: 100% !important; width: 100% !important;
} }
.ivu-select-dropdown { .ivu-select-dropdown {
max-width: none; max-width: none;
} }
.celect-btn-box { .celect-btn-box {
/deep/ button.el-button.el-button--default { /deep/ button.el-button.el-button--default {
padding: 5px 18px; padding: 5px 18px;
} }
@@ -3135,5 +3135,5 @@ export default {
/deep/ .el-button + .el-button { /deep/ .el-button + .el-button {
padding: 5px 18px; padding: 5px 18px;
} }
} }
</style> </style>
+14 -14
View File
@@ -127,7 +127,7 @@
: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>
@@ -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'
+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`
} }