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

This commit is contained in:
yanyizhou
2021-12-05 14:27:24 +08:00
68 changed files with 15174 additions and 3947 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": {
+21 -21
View File
@@ -346,26 +346,26 @@ export default {
handlePreview(file) { handlePreview(file) {
const attId = file.response.data.id const attId = file.response.data.id
if (this.preview) { if (this.preview) {
if (attId) { if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else { } else {
this.$message.warning('文件不存在,下载失败') this.$message.warning('文件不存在,下载失败')
} }
} else { } else {
this.getBusStandFileByAttId(attId) this.getBusStandFileByAttId(attId)
.then(res => { .then(res => {
console.log(res) console.log(res)
if(res){ if(res){
const editFileInfo = res const editFileInfo = res
console.log(editFileInfo) console.log(editFileInfo)
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){ if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl) window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else { }else {
const nowTime = new Date().getTime() const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))); // window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName) window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
} }
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
} }
// switch (res.convertState) { // switch (res.convertState) {
// case 'ERROR': // case 'ERROR':
@@ -379,10 +379,10 @@ export default {
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id))
// break // break
// } // }
}).catch(e => { }).catch(e => {
console.log(e) console.log(e)
this.$message.warning('文件不存在,预览失败') this.$message.warning('文件不存在,预览失败')
}) })
} }
}, },
File diff suppressed because it is too large Load Diff
@@ -468,8 +468,9 @@ export default {
(data, byte) => data + String.fromCharCode(byte), "") (data, byte) => data + String.fromCharCode(byte), "")
) )
item.icon = src item.icon = src
}) }, setTimeout(()=>{
this.Loading = false this.Loading = false
},1200))
} }
}) })
this.initSortable() this.initSortable()
@@ -466,8 +466,9 @@ export default {
(data, byte) => data + String.fromCharCode(byte), "") (data, byte) => data + String.fromCharCode(byte), "")
) )
item.icon = src item.icon = src
}) }, setTimeout(()=>{
this.Loading = false this.Loading = false
},1200))
} }
}) })
this.initSortable() this.initSortable()
+24 -12
View File
@@ -6,16 +6,16 @@
<span class="title borderRight">友情链接</span> <span class="title borderRight">友情链接</span>
</div> </div>
<div style="display: inline-block;width: 80%;text-align: center"> <div style="display: inline-block;width: 80%;text-align: center">
<div> <el-row>
<el-row> <span v-for="(item, index) in linkListFirst" :key="index">
<span v-for="(item, index) in linkListFirst" :key="index">
<el-col :span="4"> <el-col :span="4">
<img <img
style="height: 10px;width: 10px;margin-bottom: 3px" style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon" :src="item.icon"
v-if="index < 5"> v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank"> <a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
{{ item.name }} <a v-if="item.name.length > 8"> {{ item.name.slice(0, 8) + '...' }}</a>
<a v-else>{{ item.name }}</a>
</a> </a>
</el-col> </el-col>
<el-col :span="1" v-if="index < 4" v-show="true"> <el-col :span="1" v-if="index < 4" v-show="true">
@@ -25,18 +25,17 @@
<span class="borderMiddle"></span> <span class="borderMiddle"></span>
</el-col> </el-col>
</span> </span>
</el-row> </el-row>
</div> <el-row style="margin-bottom: 10px;">
<div> <span v-for="(item, index) in linkListSecond" :key="index">
<el-row>
<span v-for="(item, index) in linkListSecond" :key="index">
<el-col :span="4"> <el-col :span="4">
<img <img
style="height: 10px;width: 10px;margin-bottom: 3px" style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon" :src="item.icon"
v-if="index < 5"> v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank"> <a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
{{ item.name }} <a v-if="item.name.length > 8"> {{ item.name.slice(0, 8) + '...' }}</a>
<a v-else>{{ item.name }}</a>
</a> </a>
</el-col> </el-col>
<el-col :span="1" v-if="index < 4" v-show="true"> <el-col :span="1" v-if="index < 4" v-show="true">
@@ -46,8 +45,7 @@
<span class="borderMiddle"></span> <span class="borderMiddle"></span>
</el-col> </el-col>
</span> </span>
</el-row> </el-row>
</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>
@@ -61,6 +59,15 @@ import {getImg} from '@/api/linkApi.js'
export default { export default {
name: 'Empennage', name: 'Empennage',
filters: {
snippet: function (value) {
if (value && value.length > 8) {
return value.slice(0, 8) + '...'
} else {
return value
}
}
},
components: {}, components: {},
mixins: [], mixins: [],
data() { data() {
@@ -168,6 +175,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.link { .link {
background-color: #fff;
margin-right: 10px; margin-right: 10px;
display: flex; display: flex;
border-radius: 3px; border-radius: 3px;
@@ -206,6 +214,10 @@ export default {
color: #0068B7; color: #0068B7;
} }
.el-col-1 {
margin-top: 10px;
}
.el-col-4 { .el-col-4 {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
+2 -4
View File
@@ -29,9 +29,7 @@
</div> </div>
</div> </div>
<div calss="home_footer" style="padding: 0"> <div calss="home_footer" style="padding: 0">
<el-card class="footer">
<Empennage></Empennage> <Empennage></Empennage>
</el-card>
</div> </div>
</div> </div>
</template> </template>
@@ -142,7 +140,7 @@ export default {
} }
::v-deep { ::v-deep {
.el-tabs__item { .el-tabs__item {
font-size: 14px; font-size: 15px;
font-weight: 600; font-weight: 600;
/*color: #333333;*/ /*color: #333333;*/
} }
@@ -185,7 +183,7 @@ export default {
/deep/.el-card__body { /deep/.el-card__body {
padding: 0; padding: 0;
} }
.footer { .home_footer {
height: 70px; height: 70px;
line-height: 33px; line-height: 33px;
//margin-top: 0.3vh; //margin-top: 0.3vh;
@@ -18,7 +18,7 @@
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" :rules="rh_rules" label-width="150px"> <el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" :rules="rh_rules" label-width="150px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:" prop="comityName"> <el-form-item class="add-form-item" label="协会名称:" prop="comityName">
<el-select <el-select
v-model="rh_pageData.comityName" v-model="rh_pageData.comityName"
placeholder="请选择标委会"> placeholder="请选择标委会">
@@ -31,7 +31,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" v-if="rh_pageData.comityName !== ''" prop="comityNameOne"> <el-form-item class="add-form-item" v-if="rh_pageData.comityName !== ''" prop="comityNameOne">
<el-select <el-select
v-model="rh_pageData.comityNameOne" v-model="rh_pageData.comityNameOne"
placeholder="请选择分标委"> placeholder="请选择分标委">
@@ -44,7 +44,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" prop="comityNameTwo" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''"> <el-form-item class="add-form-item" prop="comityNameTwo" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''">
<el-select <el-select
v-model="rh_pageData.comityNameTwo" v-model="rh_pageData.comityNameTwo"
placeholder="请选择工作组"> placeholder="请选择工作组">
@@ -59,7 +59,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="会员角色:" prop="comityRole"> <el-form-item class="add-form-item" label="会员角色:" prop="comityRole">
<el-select <el-select
v-model="rh_pageData.comityRole" v-model="rh_pageData.comityRole"
placeholder="请选择会员角色"> placeholder="请选择会员角色">
@@ -67,12 +67,12 @@
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>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState"> <el-form-item class="add-form-item" label="协会状态:" prop="comityState">
<el-select <el-select
v-model="rh_pageData.comityState" v-model="rh_pageData.comityState"
placeholder="选择协会状态"> placeholder="选择协会状态">
@@ -80,12 +80,12 @@
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>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind"> <el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
<el-select <el-select
v-model="rh_pageData.comityKind" v-model="rh_pageData.comityKind"
placeholder="请选择入会性质"> placeholder="请选择入会性质">
@@ -93,12 +93,12 @@
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>
</el-row> </el-row>
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<el-upload <el-upload
style="width: 30%" style="width: 30%"
class="upload_style" class="upload_style"
@@ -122,7 +122,7 @@
</el-button> </el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="协会构成:" prop="comityMake"> <el-form-item class="add-form-item" label="协会构成:" prop="comityMake">
<el-form <el-form
class="make_form" class="make_form"
ref="rh_pageData.comityMake" ref="rh_pageData.comityMake"
@@ -130,40 +130,40 @@
label-width="auto"> label-width="auto">
<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="资质:">
<el-input <el-input
v-model="rh_pageData.comityMake.makeQualification" placeholder="请填写资质"/> v-model="rh_pageData.comityMake.makeQualification" placeholder="请填写资质"/>
</el-form-item> </el-form-item>
</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-input v-model="rh_pageData.comityMake.makeRole" placeholder="请填写成员"/> <el-input v-model="rh_pageData.comityMake.makeRole" placeholder="请填写成员"/>
</el-form-item> </el-form-item>
</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-input v-model="rh_pageData.comityMake.makeCost" placeholder="请填写费用估计"/> <el-input v-model="rh_pageData.comityMake.makeCost" placeholder="请填写费用估计"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</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" label="职责:">
<el-input v-model="rh_pageData.comityMake.makeDuties" placeholder="请填写职责"/> <el-input v-model="rh_pageData.comityMake.makeDuties" placeholder="请填写职责"/>
</el-form-item> </el-form-item>
</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-input v-model="rh_pageData.comityMake.makeTime" placeholder="请填写任期"/> <el-input v-model="rh_pageData.comityMake.makeTime" placeholder="请填写任期"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</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">
<el-button <el-button
type="primary" type="primary"
@@ -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;">
@@ -302,7 +315,7 @@
<h4>标准法规部主管领导</h4> <h4>标准法规部主管领导</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.leaderUserId" style="display: none;"></el-input> <el-input v-model="roleForm.leaderUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.leaderUser" placeholder="选择标准法规部主管领导" @click.native="choiceZRROne('leaderUser', '选择标准法规部主管领导', roleForm.leaderUser)"> <el-input v-model="roleForm.leaderUser" placeholder="选择标准法规部主管领导" @click.native="choiceZRROne('leaderUser', '选择标准法规部主管领导', roleForm.leaderUser)">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -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
@@ -680,6 +698,7 @@ export default {
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) => {
@@ -17,68 +17,66 @@
<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-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="文件编号:" prop="comityFileNum"> <el-form-item class="add-form-item" label="协会名称:">
{{ 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-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }} {{ rh_pageData.comityName || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState"> <el-form-item class="add-form-item" label="协会状态:" prop="comityState">
{{ rh_pageData.comityState || '-' }} {{ rh_pageData.comityState || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind"> <el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }} {{ rh_pageData.comityKind || '-' }}
</el-form-item> </el-form-item>
</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="资质:">
{{ rh_pageData.comityMake.makeQualification || '-' }} {{ rh_pageData.comityMake.makeQualification || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</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" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }} {{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item> </el-form-item>
</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="费用估计:">
{{ rh_pageData.comityMake.makeCost || '-' }} {{ rh_pageData.comityMake.makeCost || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</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" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }} {{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item> </el-form-item>
</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="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }} {{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath"> <el-row>
<el-input v-model="rh_pageData.workPath" type="textarea" :disabled="true" style="width: 50%;height: auto"></el-input> <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-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
:data="rh_pageData.comityTel" :data="rh_pageData.comityTel"
border border
@@ -97,7 +95,7 @@
<ProcessTitle> <ProcessTitle>
<template slot="title">选择人员</template> <template slot="title">选择人员</template>
</ProcessTitle> </ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:"> <el-form-item class="add-form-item" label="入会人员:">
<el-input <el-input
:disabled="true" :disabled="true"
style="width: 30%" style="width: 30%"
@@ -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,31 +306,43 @@ export default {
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入审批意见')
memberId: this.$store.getters.userInfo.userId, } else {
passFlag: '0', let json = {
commentText: this.commentText, roleList: this.roleForm,
rh_pageData: this.rh_pageData, memberId: this.$store.getters.userInfo.userId,
} passFlag: '0',
this.$refs['rh_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { rh_pageData: this.rh_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
@@ -431,12 +444,15 @@ export default {
.comityTel_btn { .comityTel_btn {
text-align: right; text-align: right;
} }
/deep/.el-input.is-disabled .el-input__inner {
background-color: #fff ; /deep/ .el-input.is-disabled .el-input__inner {
}
/deep/.el-textarea.is-disabled .el-textarea__inner {
background-color: #fff; background-color: #fff;
} }
/deep/ .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper { /deep/ .el-table__body-wrapper {
height: auto !important; height: auto !important;
} }
@@ -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="rh_pageData.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: {
@@ -360,11 +382,13 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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.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
}) })
}, },
@@ -379,7 +403,7 @@ export default {
this.drawerTitle = title this.drawerTitle = title
this.roleShowflag = true this.roleShowflag = true
}, },
drawerCheck (data) { drawerCheck(data) {
this.unqualidiedData.forEach(item => { this.unqualidiedData.forEach(item => {
item.engineer = data[0].name item.engineer = data[0].name
item.engineerId = data[0].id item.engineerId = data[0].id
@@ -413,6 +437,7 @@ export default {
roleList: this.roleForm, roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
charge: this.rh_pageData.fillLeaderId, charge: this.rh_pageData.fillLeaderId,
commentText: this.commentText,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
} }
this.$refs['rh_pageData'].validate((valid) => { this.$refs['rh_pageData'].validate((valid) => {
@@ -431,22 +456,33 @@ export default {
}); });
} }
}) })
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzrhStep3 { .bzrhStep3 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -454,6 +490,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -461,21 +498,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -483,6 +524,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -490,18 +532,23 @@ export default {
} }
} }
} }
.content_form { .content_form {
padding: 15px; padding: 15px;
.comityTel_btn { .comityTel_btn {
text-align: right; text-align: right;
} }
/deep/.el-input.is-disabled .el-input__inner {
background-color: #fff ; /deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
} }
/deep/ .el-table__body-wrapper { /deep/ .el-table__body-wrapper {
height: auto !important; height: auto !important;
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
} }
@@ -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"
@@ -220,6 +218,7 @@ import {
saveTaskForPub, saveTaskForPub,
changeAssigneeNew changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
components: { components: {
ProcessHeader, ProcessHeader,
@@ -250,6 +249,7 @@ export default {
workPath: '', workPath: '',
comityTel: [], comityTel: [],
fillPeople: '', fillPeople: '',
fillPeopleId: '',
fillUnit: '', fillUnit: '',
fillDept: '', fillDept: '',
fillPost: '', fillPost: '',
@@ -271,6 +271,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: {
@@ -311,10 +313,12 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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,29 +335,34 @@ export default {
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
member: this.selfUser, this.$message.warning('请输入审批意见')
passFlag: '0', } else {
roleList: this.roleForm, let json = {
commentText: this.textarea, member: this.selfUser,
rh_pageData: this.rh_pageData, passFlag: '0',
} roleList: this.roleForm,
this.$refs['rh_pageData'].validate((valid) => { commentText: this.textarea,
if (valid) { rh_pageData: this.rh_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
@@ -381,22 +390,32 @@ export default {
}); });
} }
}) })
} },
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzrhStep4 { .bzrhStep4 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -404,6 +423,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -411,21 +431,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -433,6 +457,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -440,18 +465,23 @@ export default {
} }
} }
} }
.content_form { .content_form {
padding: 15px; padding: 15px;
.comityTel_btn { .comityTel_btn {
text-align: right; text-align: right;
} }
/deep/.el-textarea.is-disabled .el-textarea__inner {
/deep/ .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff; background-color: #fff;
} }
/deep/ .el-table__body-wrapper { /deep/ .el-table__body-wrapper {
height: auto !important; height: auto !important;
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
} }
@@ -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">
@@ -245,6 +256,7 @@ import {
saveTaskForPub, saveTaskForPub,
changeAssigneeNew changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
components: { components: {
ProcessHeader, ProcessHeader,
@@ -294,6 +306,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: {
@@ -334,10 +350,11 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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.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 +373,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,46 +391,74 @@ 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() {
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) => {
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
});
} }
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) previews(val) {
params.set('taskId', this.taskIds) let attId = val
completeTask(params).then(res => { if (attId != null && attId !== "") {
if (res.success === true) { window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
this.$message.success('提交成功') }
this.$router.push("/processCenter"); },
}
this.isSubmit = false
});
}
})
}
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzrhStep5 { .bzrhStep5 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -421,6 +466,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -428,21 +474,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -450,6 +500,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -460,15 +511,19 @@ export default {
.content_form { .content_form {
padding: 15px; padding: 15px;
.comityTel_btn { .comityTel_btn {
text-align: right; text-align: right;
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-table__body-wrapper {
height: auto!important; /deep/ .el-table__body-wrapper {
height: auto !important;
} }
.myPart_btn { .myPart_btn {
text-align: right; text-align: right;
} }
@@ -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,76 +332,60 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
/** 批量删除 */ /** 点击对应附件进行下载*/
del_paryForm() { previews(val) {
if (this.deleteDataList.length < 1) { let attId = val
this.$message.warning("请选择一条数据进行删除"); if (attId != null && attId !== "") {
} else { window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteDataList.map(item => {
let index;
index = this.rh_pageData.myPartRole.findIndex(items => {
return items.id === item;
});
if (index > -1) {
this.rh_pageData.myPartRole.splice(index, 1);
}
exits.push(item);
});
this.deleteDataList = [];
}).catch(() => {
});
} }
}, },
selectedDelete(val) { selectedDelete(val) {
this.deleteDataList = val this.deleteDataList = val
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
passFlag: '0', this.$message.warning('请输入反馈意见')
rh_pageData: this.rh_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else { } else {
json = { let json = {
passFlag: '0',
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
roleList: this.roleForm roleList: this.roleForm
} }
} if (this.taskInfo === '标准法规部主管领导审核') {
this.$refs['rh_pageData'].validate((valid) => { json.manageDepartmentList = this.roleForm.feeUserId
if (valid) { } else if (this.taskInfo === '费用管理部门会签') {
this.isBack = true json.manageDepartment = this.$store.getters.userInfo.userId
const params = new FormData(); json.president = this.roleForm.engineerUserId
params.set('json', JSON.stringify(json)) } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
params.set('userId', this.$store.getters.userInfo.userId) json.engineerSumDone = this.roleForm.startUser
params.set('taskId', this.taskIds) } else {
completeTask(params).then(res => { json = {
if (res.success === true) { rh_pageData: this.rh_pageData,
this.$message.success('提交成功') roleList: this.roleForm
this.$router.push("/processCenter"); }
}
this.isBack = false
});
} }
}) this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
@@ -398,6 +393,7 @@ export default {
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 === '标准法规部主管领导审核') {
@@ -512,6 +508,7 @@ export default {
/deep/ .el-table__body-wrapper { /deep/ .el-table__body-wrapper {
height: auto !important; height: auto !important;
} }
.myPart_btn { .myPart_btn {
text-align: right; text-align: right;
} }
@@ -97,15 +97,16 @@
</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>
v-model="ch_pageData.feeKind" <!-- <el-select
placeholder="请选择费用列支"> v-model="ch_pageData.feeKind"
<el-option placeholder="请选择费用列支">
v-for="item in feeKindOptions" <el-option
:key="item.value" v-for="item in feeKindOptions"
:label="item.label" :key="item.value"
:value="item.label"/> :label="item.label"
</el-select> :value="item.label"/>
</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: {
@@ -352,10 +366,10 @@ export default {
{value: '1', label: '标准法规技术评估流程'}, {value: '1', label: '标准法规技术评估流程'},
], ],
feeKindOptions: [ feeKindOptions: [
{ value: '0', label: '列支1' }, {value: '0', label: '列支1'},
{ value: '1', label: '列支2' }, {value: '1', label: '列支2'},
{ value: '2', label: '列支3' }, {value: '2', label: '列支3'},
{ value: '3', label: '列支4' }, {value: '3', label: '列支4'},
], ],
/** 上传相关 */ /** 上传相关 */
acceptShow: false, acceptShow: false,
@@ -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,11 +421,21 @@ 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) {
this.fileListData = val this.fileListData = val
},*/ },*/
// 文件上传限制条件 // 文件上传限制条件
handleBeforeUpload(file) { handleBeforeUpload(file) {
var filename = file.name var filename = file.name
@@ -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
@@ -577,6 +610,7 @@ export default {
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) => {
@@ -59,23 +59,22 @@
</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>
<el-form-item class="add-form-item" > <el-form-item class="add-form-item">
<el-table <el-table
class="meeting_table" class="meeting_table"
:data="ch_pageData.meetingTable" :data="ch_pageData.meetingTable"
@@ -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>
@@ -201,7 +200,8 @@
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, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
ProcessHeader, ProcessHeader,
@@ -217,7 +217,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 +228,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: {
@@ -269,38 +270,44 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
getFormFieldList (item) { getFormFieldList(item) {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
}) })
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.commentText === '') {
roleList: this.roleForm, this.$message.warning('请输入审批意见')
memberId: this.$store.getters.userInfo.userId, } else {
passFlag: '0', let json = {
commentText: this.textContent, roleList: this.roleForm,
ch_pageData: this.ch_pageData, memberId: this.$store.getters.userInfo.userId,
} passFlag: '0',
this.$refs['ch_pageData'].validate((valid) => { commentText: this.commentText,
if (valid) { ch_pageData: this.ch_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
@@ -308,7 +315,7 @@ export default {
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) => {
@@ -327,6 +334,7 @@ export default {
}); });
} }
}) })
} }
} }
} }
@@ -334,15 +342,18 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzchStep2 { .bzchStep2 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -350,6 +361,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -357,21 +369,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -379,6 +395,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -386,41 +403,52 @@ export default {
} }
} }
} }
.content_form { .content_form {
padding-top: 15px; padding-top: 15px;
padding-left: 30px; padding-left: 30px;
.el-divider--horizontal { .el-divider--horizontal {
margin-top: 0px; margin-top: 0px;
} }
/deep/.el-input.is-disabled .el-input__inner {
background-color: #fff ; /deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
} }
/deep/.el-table__body-wrapper {
height: auto!important; /deep/ .el-table__body-wrapper {
height: auto !important;
} }
.meeting_table { .meeting_table {
/deep/ .el-input__inner { /deep/ .el-input__inner {
text-align: center; text-align: center;
} }
} }
/deep/.el-textarea__inner {
/deep/ .el-textarea__inner {
font-family: inherit; font-family: inherit;
} }
/deep/.el-upload {
/deep/ .el-upload {
display: unset; display: unset;
} }
/deep/.el-upload-list__item-status-label {
/deep/ .el-upload-list__item-status-label {
font-size: 0; font-size: 0;
} }
/deep/.el-upload-list__item {
/deep/ .el-upload-list__item {
.el-icon-close { .el-icon-close {
font-size: 0; font-size: 0;
} }
.el-icon-close-tip { .el-icon-close-tip {
font-size: 0; font-size: 0;
} }
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
} }
@@ -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,10 +123,11 @@
</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="ch_pageData.fillLeader" label="参与人部门领导:">
<el-input <el-input
style="width: 100%" style="width: 100%"
placeholder="请选择" readonly
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">
@@ -245,7 +259,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, saveTaskForPub, completeTask, inboundLiaisonDetail } from '@/api/process.js' import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -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: {
@@ -324,9 +346,10 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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
@@ -340,7 +363,7 @@ export default {
this.drawerTitle = title this.drawerTitle = title
this.roleShowflag = true this.roleShowflag = true
}, },
drawerCheck (data) { drawerCheck(data) {
this.unqualidiedData.forEach(item => { this.unqualidiedData.forEach(item => {
item.engineer = data[0].name item.engineer = data[0].name
item.engineerId = data[0].id item.engineerId = data[0].id
@@ -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,
@@ -373,6 +397,7 @@ export default {
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,
} }
@@ -392,6 +417,7 @@ export default {
}); });
} }
}) })
} }
} }
} }
@@ -465,9 +491,10 @@ export default {
padding-left: 30px; padding-left: 30px;
padding-top: 15px; padding-top: 15px;
/deep/.el-input.is-disabled .el-input__inner { /deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff ; background-color: #fff;
} }
.el-divider--horizontal { .el-divider--horizontal {
margin-top: 0px; margin-top: 0px;
} }
@@ -477,6 +504,7 @@ export default {
text-align: center; text-align: center;
} }
} }
/deep/ .el-table__body-wrapper { /deep/ .el-table__body-wrapper {
height: auto !important; height: auto !important;
} }
@@ -485,13 +513,15 @@ export default {
font-family: inherit; font-family: inherit;
} }
/deep/.el-upload { /deep/ .el-upload {
display: unset; display: unset;
} }
/deep/.el-upload-list__item-status-label {
/deep/ .el-upload-list__item-status-label {
font-size: 0; font-size: 0;
} }
/deep/.el-upload-list__item {
/deep/ .el-upload-list__item {
.el-icon-close { .el-icon-close {
font-size: 0; font-size: 0;
} }
@@ -500,6 +530,7 @@ export default {
font-size: 0; font-size: 0;
} }
} }
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
@@ -17,64 +17,64 @@
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px"> <el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<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.meetingName || '-' }} {{ ch_pageData.meetingName || '-' }}
</el-form-item> </el-form-item>
</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="主办单位:">
{{ ch_pageData.primaryUnit || '-' }} {{ ch_pageData.primaryUnit || '-' }}
</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.associaName || '-' }} {{ ch_pageData.associaName || '-' }}
</el-form-item> </el-form-item>
</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="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }} {{ ch_pageData.meetingStartTime || '-' }}
</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.meetingPlace || '-' }} {{ ch_pageData.meetingPlace || '-' }}
</el-form-item> </el-form-item>
</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="费用标准:">
{{ ch_pageData.feeStand || '-' }} {{ ch_pageData.feeStand || '-' }}
</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.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</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>
<el-form-item class="add-form-item" label="议题:"> <el-form-item class="add-form-item" label="议题:">
<el-table <el-table
class="meeting_table" class="meeting_table"
:data="ch_pageData.meetingTable" :data="ch_pageData.meetingTable"
@@ -88,7 +88,7 @@
<el-table-column label="议题" align="center" prop="meetingTheme"/> <el-table-column label="议题" align="center" prop="meetingTheme"/>
</el-table> </el-table>
</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
:data="ch_pageData.myPartRole" :data="ch_pageData.myPartRole"
border border
@@ -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"
@@ -205,7 +205,8 @@
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, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
ProcessHeader, ProcessHeader,
@@ -232,6 +233,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,9 +274,10 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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,29 +295,33 @@ export default {
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
member: this.selfUser, this.$message.warning('请输入审批意见')
passFlag: '0', } else {
roleList: this.roleForm, let json = {
commentText: this.textarea, member: this.selfUser,
ch_pageData: this.ch_pageData, passFlag: '0',
} roleList: this.roleForm,
this.$refs['ch_pageData'].validate((valid) => { commentText: this.textarea,
if (valid) { ch_pageData: this.ch_pageData,
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
@@ -349,15 +356,18 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzchStep4 { .bzchStep4 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -365,6 +375,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -372,21 +383,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -394,6 +409,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -401,30 +417,38 @@ export default {
} }
} }
} }
.content_form { .content_form {
padding-top: 15px; padding-top: 15px;
padding-left: 30px; padding-left: 30px;
.el-divider--horizontal { .el-divider--horizontal {
margin-top: 0px; margin-top: 0px;
} }
.meeting_table { .meeting_table {
/deep/ .el-input__inner { /deep/ .el-input__inner {
text-align: center; text-align: center;
} }
} }
/deep/.el-table__body-wrapper {
height: auto!important; /deep/ .el-table__body-wrapper {
height: auto !important;
} }
/deep/.el-textarea__inner {
/deep/ .el-textarea__inner {
font-family: inherit; font-family: inherit;
} }
/deep/.el-upload {
/deep/ .el-upload {
display: unset; display: unset;
} }
/deep/.el-upload-list__item-status-label {
/deep/ .el-upload-list__item-status-label {
font-size: 0; font-size: 0;
} }
/deep/.el-upload-list__item {
/deep/ .el-upload-list__item {
.el-icon-close { .el-icon-close {
font-size: 0; font-size: 0;
} }
@@ -433,7 +457,8 @@ export default {
font-size: 0; font-size: 0;
} }
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
} }
@@ -17,64 +17,64 @@
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px"> <el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<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.meetingName || '-' }} {{ ch_pageData.meetingName || '-' }}
</el-form-item> </el-form-item>
</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="主办单位:">
{{ ch_pageData.primaryUnit || '-' }} {{ ch_pageData.primaryUnit || '-' }}
</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.associaName || '-' }} {{ ch_pageData.associaName || '-' }}
</el-form-item> </el-form-item>
</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="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }} {{ ch_pageData.meetingStartTime || '-' }}
</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.meetingPlace || '-' }} {{ ch_pageData.meetingPlace || '-' }}
</el-form-item> </el-form-item>
</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="费用标准:">
{{ ch_pageData.feeStand || '-' }} {{ ch_pageData.feeStand || '-' }}
</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.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</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>
<el-form-item class="add-form-item" label="议题:"> <el-form-item class="add-form-item" label="议题:">
<el-table <el-table
class="meeting_table" class="meeting_table"
:data="ch_pageData.meetingTable" :data="ch_pageData.meetingTable"
@@ -95,7 +95,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="入会人员:"> <el-form-item class="add-form-item" label="入会人员:">
<div class="myPart_btn"> <div class="myPart_btn">
<el-button <el-button
type="danger" type="danger"
@@ -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,8 @@
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 +251,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: {
@@ -277,9 +294,10 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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 +336,28 @@ export default {
}, },
// 保存按钮 // 保存按钮
handleSave() { handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
ch_pageData: this.ch_pageData,
roleList: this.roleForm,
commentText: this.commentText
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { 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) => {
@@ -342,6 +376,7 @@ export default {
}); });
} }
}) })
} }
} }
} }
@@ -349,15 +384,18 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzchStep5 { .bzchStep5 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -365,6 +403,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -372,21 +411,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -394,6 +437,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -401,38 +445,48 @@ export default {
} }
} }
} }
.content_form { .content_form {
padding-top: 15px; padding-top: 15px;
padding-left: 30px; padding-left: 30px;
.el-divider--horizontal { .el-divider--horizontal {
margin-top: 0px; margin-top: 0px;
} }
.meeting_table { .meeting_table {
/deep/ .el-input__inner { /deep/ .el-input__inner {
text-align: center; text-align: center;
} }
} }
/deep/.el-table__body-wrapper {
height: auto!important; /deep/ .el-table__body-wrapper {
height: auto !important;
} }
/deep/.el-textarea__inner {
/deep/ .el-textarea__inner {
font-family: inherit; font-family: inherit;
} }
.meeting_table { .meeting_table {
/deep/ .el-input__inner { /deep/ .el-input__inner {
text-align: center; text-align: center;
} }
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-upload {
/deep/ .el-upload {
display: unset; display: unset;
} }
/deep/.el-upload-list__item-status-label {
/deep/ .el-upload-list__item-status-label {
font-size: 0; font-size: 0;
} }
/deep/.el-upload-list__item {
/deep/ .el-upload-list__item {
.el-icon-close { .el-icon-close {
font-size: 0; font-size: 0;
} }
@@ -441,6 +495,7 @@ export default {
font-size: 0; font-size: 0;
} }
} }
.myPart_btn { .myPart_btn {
text-align: right; text-align: right;
} }
@@ -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>
@@ -20,64 +20,64 @@
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px"> <el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<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.meetingName || '-' }} {{ ch_pageData.meetingName || '-' }}
</el-form-item> </el-form-item>
</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="主办单位:">
{{ ch_pageData.primaryUnit || '-' }} {{ ch_pageData.primaryUnit || '-' }}
</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.associaName || '-' }} {{ ch_pageData.associaName || '-' }}
</el-form-item> </el-form-item>
</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="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }} {{ ch_pageData.meetingStartTime || '-' }}
</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.meetingPlace || '-' }} {{ ch_pageData.meetingPlace || '-' }}
</el-form-item> </el-form-item>
</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="费用标准:">
{{ ch_pageData.feeStand || '-' }} {{ ch_pageData.feeStand || '-' }}
</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.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</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>
<el-form-item class="add-form-item" label="议题:"> <el-form-item class="add-form-item" label="议题:">
<el-table <el-table
class="meeting_table" class="meeting_table"
:data="ch_pageData.meetingTable" :data="ch_pageData.meetingTable"
@@ -91,7 +91,7 @@
<el-table-column label="议题" align="center" prop="meetingTheme"/> <el-table-column label="议题" align="center" prop="meetingTheme"/>
</el-table> </el-table>
</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
:data="ch_pageData.myPartRole" :data="ch_pageData.myPartRole"
border border
@@ -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">
@@ -201,7 +214,8 @@
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, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
ProcessHeader, ProcessHeader,
@@ -230,6 +244,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 +279,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,
@@ -270,9 +292,10 @@ export default {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
}) })
}, },
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 +316,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,46 +334,53 @@ export default {
}, },
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
let json = { if (this.textarea === '') {
passFlag: '0', this.$message.warning('请输入审批意见')
ch_pageData: this.ch_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '技术管理中心主任审批') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else { } else {
json = { let json = {
passFlag: '0',
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm roleList: this.roleForm
} }
} if (this.taskInfo === '技术管理中心主任审批') {
this.$refs['ch_pageData'].validate((valid) => { json.manageDepartmentList = this.roleForm.feeUserId
if (valid) { } else if (this.taskInfo === '费用管理部门会签') {
this.isBack = true json.manageDepartment = this.$store.getters.userInfo.userId
const params = new FormData(); json.president = this.roleForm.engineerUserId
params.set('json', JSON.stringify(json)) } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
params.set('userId', this.$store.getters.userInfo.userId) json.engineerSumDone = this.roleForm.startUser
params.set('taskId', this.taskIds) } else {
completeTask(params).then(res => { json = {
if (res.success === true) { ch_pageData: this.ch_pageData,
this.$message.success('提交成功') commentText: this.textarea,
this.$router.push("/processCenter"); roleList: this.roleForm
} }
this.isBack = false
});
} }
}) this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
}, },
// 提交按钮 // 提交按钮
handleSubmit() { handleSubmit() {
let json = { 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 +393,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
} }
} }
@@ -382,6 +413,7 @@ export default {
}); });
} }
}) })
} }
} }
} }
@@ -389,15 +421,18 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzchStep6 { .bzchStep6 {
position: relative; position: relative;
height: 100%; height: 100%;
/deep/.el-drawer__container {
/deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -405,6 +440,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -412,21 +448,25 @@ export default {
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content-center { .content-center {
padding: 10px 0px 10px 10px; padding: 10px 0px 10px 10px;
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; overflow: auto;
.tableTitle { .tableTitle {
margin-bottom: 10px; margin-bottom: 10px;
height: 30px; height: 30px;
@@ -434,6 +474,7 @@ export default {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
.tableButton { .tableButton {
position: absolute; position: absolute;
right: 0; right: 0;
@@ -441,30 +482,38 @@ export default {
} }
} }
} }
.content_form { .content_form {
padding-top: 15px; padding-top: 15px;
padding-left: 30px; padding-left: 30px;
.el-divider--horizontal { .el-divider--horizontal {
margin-top: 0px; margin-top: 0px;
} }
/deep/.el-table__body-wrapper {
height: auto!important; /deep/ .el-table__body-wrapper {
height: auto !important;
} }
/deep/.el-textarea__inner {
/deep/ .el-textarea__inner {
font-family: inherit; font-family: inherit;
} }
.meeting_table { .meeting_table {
/deep/ .el-input__inner { /deep/ .el-input__inner {
text-align: center; text-align: center;
} }
} }
/deep/.el-upload {
/deep/ .el-upload {
display: unset; display: unset;
} }
/deep/.el-upload-list__item-status-label {
/deep/ .el-upload-list__item-status-label {
font-size: 0; font-size: 0;
} }
/deep/.el-upload-list__item {
/deep/ .el-upload-list__item {
.el-icon-close { .el-icon-close {
font-size: 0; font-size: 0;
} }
@@ -473,7 +522,8 @@ export default {
font-size: 0; font-size: 0;
} }
} }
/deep/.el-table th {
/deep/ .el-table th {
padding: 0px; padding: 0px;
} }
} }
@@ -1754,6 +1754,14 @@
this.form.prcNum = this.prcNum this.form.prcNum = this.prcNum
this.form.prcName = this.prcName this.form.prcName = this.prcName
this.form['id'] = item.id 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对应
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -37,10 +37,10 @@
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="未制定"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled"> <el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.resPerson" v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人" placeholder="请输入评审责任人"
clearable clearable
></el-input> ></el-input>
@@ -70,18 +70,18 @@
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="完成"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled"> <el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.drafter" v-model="qbfsForm.drafterName"
placeholder="请输入起草人" placeholder="请输入起草人"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled"> <el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.wgLeader" v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长" placeholder="请输入工作组组长"
clearable clearable
></el-input> ></el-input>
@@ -181,17 +181,17 @@
label="制修订状态"> label="制修订状态">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="drafter" prop="drafterName"
align="center" align="center"
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="resPerson" prop="resPersonName"
align="center" align="center"
label="评审责任人"> label="评审责任人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="wgLeader" prop="wgLeaderName"
align="center" align="center"
label="工作组组长"> label="工作组组长">
</el-table-column> </el-table-column>
@@ -305,7 +305,7 @@ export default {
//企业标准查询 //企业标准查询
getStandDataBtn(){ getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{ this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus, reviseStatus: this.standardSearch.reviseStatus || '',
esName: this.standardSearch.standName, esName: this.standardSearch.standName,
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
@@ -336,15 +336,16 @@ export default {
}else if(this.selectList.length < 1){ }else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入') this.$message.warning('请至少选择一条数据进行带入')
}else{ }else{
this.qbfsForm.esId = this.selectList[0].id
this.qbfsForm.esName = this.selectList[0].esName this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter this.qbfsForm.drafterName = this.selectList[0].drafterName
this.qbfsForm.planStatus = this.selectList[0].planStatus this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson this.qbfsForm.resPersonName = this.selectList[0].resPersonName
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader this.qbfsForm.wgLeaderName = this.selectList[0].wgLeaderName
this.ListModel = false this.ListModel = false
} }
}, },
@@ -37,10 +37,10 @@
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="未制定"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled"> <el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.resPerson" v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人" placeholder="请输入评审责任人"
clearable clearable
></el-input> ></el-input>
@@ -78,18 +78,18 @@
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="完成"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled"> <el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.drafter" v-model="qbfsForm.drafterName"
placeholder="请输入起草人" placeholder="请输入起草人"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled"> <el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.wgLeader" v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长" placeholder="请输入工作组组长"
clearable clearable
></el-input> ></el-input>
@@ -197,17 +197,17 @@
label="制修订状态"> label="制修订状态">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="drafter" prop="drafterName"
align="center" align="center"
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="resPerson" prop="resPersonName"
align="center" align="center"
label="评审责任人"> label="评审责任人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="wgLeader" prop="wgLeaderName"
align="center" align="center"
label="工作组组长"> label="工作组组长">
</el-table-column> </el-table-column>
@@ -327,7 +327,7 @@ export default {
//企业标准查询 //企业标准查询
getStandDataBtn(){ getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{ this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus, reviseStatus: this.standardSearch.reviseStatus || '',
esName: this.standardSearch.standName, esName: this.standardSearch.standName,
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
@@ -358,15 +358,16 @@ export default {
}else if(this.selectList.length < 1){ }else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入') this.$message.warning('请至少选择一条数据进行带入')
}else{ }else{
this.qbfsForm.esId = this.selectList[0].id
this.qbfsForm.esName = this.selectList[0].esName this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter this.qbfsForm.drafterName = this.selectList[0].drafterName
this.qbfsForm.planStatus = this.selectList[0].planStatus this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson this.qbfsForm.resPersonName = this.selectList[0].resPersonName
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader this.qbfsForm.wgLeaderName = this.selectList[0].wgLeaderName
this.ListModel = false this.ListModel = false
} }
}, },
@@ -1,91 +1,146 @@
<template> <template>
<div> <div>
<process-title> <process-title>
<template slot="title">立项信息</template> <template slot="title">立项信息</template>
</process-title> </process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border" <el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px" :rules="qbfsFormRules" ref="qbfsForm"> label-width="150px" :rules="qbfsFormRules" ref="qbfsForm">
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled"> <el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input <el-input
v-model="qbfsForm.type" v-model="qbfsForm.type"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input <el-input
v-model="qbfsForm.esName" v-model="qbfsForm.esName"
placeholder="请输入企标名称" placeholder="请输入企标名称"
:maxlength="500"/> :maxlength="500"/>
</el-form-item> </el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态"> <el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option> <el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option> <el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.drafter" style="display: none;"></el-input>
<el-input v-model="qbfsForm.drafterName" placeholder="请选择起草人"
@click.native="choiceZRRS('1')">
</el-input>
</el-form-item>
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.resPerson" style="display: none;"></el-input>
<el-input v-model="qbfsForm.resPersonName" placeholder="请选择评审责任人"
@click.native="choiceZRRS('2')">
</el-input>
</el-form-item>
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.wgLeader" style="display: none;"></el-input>
<el-input v-model="qbfsForm.wgLeaderName" placeholder="请选择工作组组长"
@click.native="choiceZRR"></el-input>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" >
<div style="display: flex;justify-content: space-between;align-items: center;">
<el-input
clearable
v-model="qbfsForm.unit"
placeholder="选择或输入起草单位">
</el-input>
<div>
<el-button
size="mini"
type="primary"
@click="QCDWClick"
class="common-button-primary">手动查找</el-button>
</div>
</div>
</el-form-item>
<!-- <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="qbfsForm.unit" filterable multiple clearable>-->
<!-- <el-option-->
<!-- v-for="item in qcdwOptions"-->
<!-- placeholder="请选择起草责任单位"-->
<!-- :key="item.value"-->
<!-- :value="item.label"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
<!-- 多选择责任人-->
<Role-tree
:is-title="drawerTitle2"
: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 qcdwOptions"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select> </el-select>
</el-form-item> <div slot="footer" class="demo-drawer-footer">
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态"> @click="QCDWOK">确认
<el-option label="制定完成" value="制定完成"></el-option> </el-button>
<el-option label="制定中" value="制定中"></el-option> </div>
<el-option label="未制定" value="未制定"></el-option> </el-dialog>
</el-select> </div>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
</template> </template>
<script> <script>
@@ -100,6 +155,17 @@ export default {
props: ['message'], props: ['message'],
data(){ data(){
return { return {
QCDWmodal: false,
QCDWValue: [],
QCDWList: [],
drawerTitle2: '',
drawerTitle: '',
roleType: '',
modalshowflag2: false,
modalshowflag: false,
nodeList2: [],
nodeList: [],
qcdwOptions: [],
qbfsForm: { qbfsForm: {
type: '5', type: '5',
unit: '', // 单位 unit: '', // 单位
@@ -107,10 +173,13 @@ export default {
planStatus: '', // 计划状态 planStatus: '', // 计划状态
reviseStatus: '', // 制修订状态 reviseStatus: '', // 制修订状态
resPerson: '', // 评审责任人 resPerson: '', // 评审责任人
resPersonName: '',
wgLeader: '', // 工作组组长 wgLeader: '', // 工作组组长
wgLeaderName: '',
draftTime: '', // 计划标准初稿完成时间 draftTime: '', // 计划标准初稿完成时间
releaseTime: '', // 计划标准发布时间 releaseTime: '', // 计划标准发布时间
drafter: '', // 起草人 drafter: '', // 起草人
drafterName: '',
newReason: '', //新增原因 newReason: '', //新增原因
// remarks: '', // 备注 // remarks: '', // 备注
}, },
@@ -127,10 +196,10 @@ export default {
reviseStatus: [ reviseStatus: [
{required: true, message: '请选择制修订状态', trigger: 'change'}, {required: true, message: '请选择制修订状态', trigger: 'change'},
], ],
resPerson: [ resPersonName: [
{required: true, message: '请输入评审责任人', trigger: 'blur'}, {required: true, message: '请输入评审责任人', trigger: 'blur'},
], ],
wgLeader: [ wgLeaderName: [
{required: true, message: '请输入工作组组长', trigger: 'blur'}, {required: true, message: '请输入工作组组长', trigger: 'blur'},
], ],
draftTime: [ draftTime: [
@@ -139,7 +208,7 @@ export default {
releaseTime: [ releaseTime: [
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'}, {required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
], ],
drafter: [ drafterName: [
{required: true, message: '请输入起草人', trigger: 'blur'}, {required: true, message: '请输入起草人', trigger: 'blur'},
], ],
newReason: [ newReason: [
@@ -158,7 +227,76 @@ export default {
} }
} }
}, },
mounted(){
//查询下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '',{
_this: this
}, res => {
console.log(res);
this.qcdwOptions = res.data.QCDW // 起草单位
})
},
methods: { methods: {
QCDWOK () {
let arr1 = []
if (this.qbfsForm.unit.length > 0) {
let str = this.qbfsForm.unit.replace(//g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.qbfsForm.unit = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick () {
this.QCDWValue = []
this.QCDWmodal = true
},
choiceZRR() {
this.nodeList = [];
this.drawerTitle = '请选择工作组组长';
this.modalshowflag = true;
},
checkedRole(data) {
this.qbfsForm.wgLeader = data[0].id;
this.qbfsForm.wgLeaderName = data[0].name;
this.modalshowflag = false;
},
choiceZRRS(type) {
this.roleType = type
if(type === '1' ){
this.drawerTitle2 = '请选择起草人'
this.nodeList2 = [];
if (this.qbfsForm.drafter !== undefined) {
this.nodeList2 = this.qbfsForm.drafter.split(",");
}
}else if(type === '2'){
this.drawerTitle2 = '请选择评审责任人'
this.nodeList2 = [];
if (this.qbfsForm.resPerson !== undefined) {
this.nodeList2 = this.qbfsForm.resPerson.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.roleType === '1'){
this.qbfsForm.drafter = idList;
this.qbfsForm.drafterName = nameList;
}else if(this.roleType === '2'){
this.qbfsForm.resPerson = idList;
this.qbfsForm.resPersonName = nameList;
}
},
validateForm () { validateForm () {
let flag = null let flag = null
this.$refs['qbfsForm'].validate((valid) => { this.$refs['qbfsForm'].validate((valid) => {
@@ -170,7 +308,7 @@ export default {
}) })
return flag return flag
} }
} },
}; };
</script> </script>
@@ -3,86 +3,48 @@
<process-title> <process-title>
<template slot="title">合并企标信息</template> <template slot="title">合并企标信息</template>
</process-title> </process-title>
<el-form
ref="qbzxdForm"
:model="qbzxdForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="选择合并标准1" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">根据企标编号名称查询</el-button>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划状态" prop="planStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm.planStatus"
placeholder="请输入计划状态"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="standShow" label="制修订状态" prop="reviseStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm.reviseStatus"
placeholder="请输入制修订状态"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="选择合并标准2" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow2">根据企标编号名称类别查询</el-button>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm2.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划状态" prop="planStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm2.planStatus"
placeholder="请输入计划状态"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="standShow2" label="制修订状态" prop="reviseStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm2.reviseStatus"
placeholder="请输入制修订状态"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">合并后企标信息</template>
</process-title>
<el-form <el-form
ref="qbfsForm" ref="qbfsForm"
:model="qbfsForm" :model="qbfsForm"
:rules="formRules" :rules="qbfsFormRules"
class="label-input-form prc-content-border" class="label-input-form prc-content-border"
label-width="150px" label-width="150px"
> >
<div v-if="foldFormFlag"> <div v-if="foldFormFlag">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="选择合并标准1" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">根据企标编号名称查询</el-button>
</el-form-item>
<el-form-item label="企标名称" prop="esName1" class="add-form-item form-item-disabled">
<el-input readonly v-model="qbfsForm.esName1" placeholder="请输入企标名称" clearable></el-input>
</el-form-item>
<el-form-item label="计划状态" prop="planStatus1" class="add-form-item form-item-disabled">
<el-input readonly v-model="qbfsForm.planStatus1" placeholder="请输入计划状态" clearable></el-input>
</el-form-item>
<el-form-item v-show="standShow" label="制修订状态" prop="reviseStatus1" class="add-form-item form-item-disabled">
<el-input readonly v-model="qbfsForm.reviseStatus1" placeholder="请输入制修订状态" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="选择合并标准2" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow2">根据企标编号名称类别查询</el-button>
</el-form-item>
<el-form-item label="企标名称" prop="esName2" class="add-form-item form-item-disabled">
<el-input readonly v-model="qbfsForm.esName2" placeholder="请输入企标名称" clearable></el-input>
</el-form-item>
<el-form-item label="计划状态" prop="planStatus2" class="add-form-item form-item-disabled">
<el-input readonly v-model="qbfsForm.planStatus2" placeholder="请输入计划状态" clearable></el-input>
</el-form-item>
<el-form-item v-show="standShow2" label="制修订状态" prop="reviseStatus2" class="add-form-item form-item-disabled">
<el-input readonly v-model="qbfsForm.reviseStatus2" placeholder="请输入制修订状态" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<process-title>
<template slot="title">合并后企标信息</template>
</process-title>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled"> <el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
@@ -105,12 +67,11 @@
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="未制定"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled"> <el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input <el-input v-model="qbfsForm.resPerson" style="display: none;"></el-input>
v-model="qbfsForm.resPerson" <el-input v-model="qbfsForm.resPersonName" placeholder="请选择评审责任人"
placeholder="请输入评审责任人" @click.native="choiceZRRS('2')">
clearable </el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled"> <el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker <el-date-picker
@@ -120,12 +81,21 @@
placeholder="请选择初稿完成时间"> placeholder="请选择初稿完成时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled"> <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" >
<el-input <div style="display: flex;justify-content: space-between;align-items: center;">
v-model="qbfsForm.unit" <el-input
placeholder="请输入起草责任单位" clearable
clearable v-model="qbfsForm.unit"
></el-input> placeholder="选择或输入起草单位">
</el-input>
<div>
<el-button
size="mini"
type="primary"
@click="QCDWClick"
class="common-button-primary">手动查找</el-button>
</div>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -136,19 +106,16 @@
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="完成"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled"> <el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input <el-input v-model="qbfsForm.drafter" style="display: none;"></el-input>
v-model="qbfsForm.drafter" <el-input v-model="qbfsForm.drafterName" placeholder="请选择起草人"
placeholder="请输入起草人" @click.native="choiceZRRS('1')">
clearable </el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled"> <el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input <el-input v-model="qbfsForm.wgLeader" style="display: none;"></el-input>
v-model="qbfsForm.wgLeader" <el-input v-model="qbfsForm.wgLeaderName" placeholder="请选择工作组组长"
placeholder="请输入工作组组长" @click.native="choiceZRR"></el-input>
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled"> <el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker <el-date-picker
@@ -245,17 +212,17 @@
label="制修订状态"> label="制修订状态">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="drafter" prop="drafterName"
align="center" align="center"
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="resPerson" prop="resPersonName"
align="center" align="center"
label="评审责任人"> label="评审责任人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="wgLeader" prop="wgLeaderName"
align="center" align="center"
label="工作组组长"> label="工作组组长">
</el-table-column> </el-table-column>
@@ -296,6 +263,41 @@
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button> <el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div> </div>
</el-drawer> </el-drawer>
<!-- 多选择责任人-->
<Role-tree
:is-title="drawerTitle2"
: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 qcdwOptions"
: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>
@@ -310,6 +312,17 @@ export default {
props: ['message'], props: ['message'],
data(){ data(){
return { return {
QCDWmodal: false,
QCDWValue: [],
QCDWList: [],
drawerTitle2: '',
drawerTitle: '',
type: '',
modalshowflag2: false,
modalshowflag: false,
nodeList2: [],
nodeList: [],
qcdwOptions: [],
standShow: false, standShow: false,
standShow2: false, standShow2: false,
ListModel: false, ListModel: false,
@@ -319,7 +332,44 @@ export default {
total: 0, total: 0,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
selectList: [], selectList: [],
formRules: {}, qbfsFormRules: {
esName1: [
{required: true, message: '请选择合并计划企标名称', trigger: 'blur'},
],
esName2: [
{required: true, message: '请选择合并计划企标名称', trigger: 'blur'},
],
unit: [
{required: true, message: '请输入单位', trigger: 'blur'},
],
esName: [
{required: true, message: '请输入企标名称', trigger: 'blur'},
],
planStatus: [
{required: true, message: '请选择计划状态', trigger: 'change'},
],
reviseStatus: [
{required: true, message: '请选择制修订状态', trigger: 'change'},
],
resPersonName: [
{required: true, message: '请输入评审责任人', trigger: 'blur'},
],
wgLeaderName: [
{required: true, message: '请输入工作组组长', trigger: 'blur'},
],
draftTime: [
{required: true, message: '请输入计划标准初稿完成时间', trigger: 'blur'},
],
releaseTime: [
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
],
drafterName: [
{required: true, message: '请输入起草人', trigger: 'blur'},
],
mergeReason: [
{required: true, message: '请输入合并原因', trigger: 'blur'},
],
},
standinfoList: [], standinfoList: [],
standardSearch: { standardSearch: {
reviseStatus: "", reviseStatus: "",
@@ -334,6 +384,9 @@ export default {
isSubTime: "", isSubTime: "",
mergeReason: "", mergeReason: "",
company: "", company: "",
resPersonName: '',
drafterName: '',
wgLeaderName:'',
groupLeader: "", groupLeader: "",
drafterPeople: "", drafterPeople: "",
formulateStatus: "", formulateStatus: "",
@@ -357,21 +410,16 @@ export default {
reviewDate: '', reviewDate: '',
abolishCause:'', abolishCause:'',
}, },
qbzxdForm2: {
standCode: "",
standName: "",
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
abolishCause:'',
},
} }
}, },
mounted() { mounted() {
//查询下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '',{
_this: this
}, res => {
console.log(res);
this.qcdwOptions = res.data.QCDW // 起草单位
})
this.getStandDataBtn() this.getStandDataBtn()
}, },
@@ -385,6 +433,66 @@ export default {
} }
}, },
methods: { methods: {
QCDWOK () {
let arr1 = []
if (this.qbfsForm.unit !== undefined) {
let str = this.qbfsForm.unit.replace(//g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.qbfsForm.unit = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick () {
this.QCDWValue = []
this.QCDWmodal = true
},
choiceZRR() {
this.nodeList = [];
this.drawerTitle = '请选择工作组组长';
this.modalshowflag = true;
},
checkedRole(data) {
this.qbfsForm.wgLeader = data[0].id;
this.qbfsForm.wgLeaderName = data[0].name;
this.modalshowflag = false;
},
choiceZRRS(type) {
this.type = type
if(type === '1' ){
this.drawerTitle2 = '请选择起草人'
this.nodeList2 = [];
if (this.qbfsForm.drafter !== undefined) {
this.nodeList2 = this.qbfsForm.drafter.split(",");
}
}else if(type === '2'){
this.drawerTitle2 = '请选择评审责任人'
this.nodeList2 = [];
if (this.qbfsForm.resPerson !== undefined) {
this.nodeList2 = this.qbfsForm.resPerson.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 === '1'){
this.qbfsForm.drafter = idList;
this.qbfsForm.drafterName = nameList;
}else if(this.type === '2'){
this.qbfsForm.resPerson = idList;
this.qbfsForm.resPersonName = nameList;
}
},
validateForm () { validateForm () {
let flag = null let flag = null
this.$refs['qbfsForm'].validate((valid) => { this.$refs['qbfsForm'].validate((valid) => {
@@ -418,14 +526,16 @@ export default {
this.$message.warning('请至少选择一条数据进行带入') this.$message.warning('请至少选择一条数据进行带入')
}else{ }else{
if(this.showType === 'one'){ if(this.showType === 'one'){
this.qbzxdForm.esName = this.selectList[0].esName || '--' this.qbfsForm.esId1 = this.selectList[0].id || '--'
this.qbzxdForm.planStatus = this.selectList[0].planStatus || '--' this.qbfsForm.esName1 = this.selectList[0].esName || '--'
this.qbzxdForm.reviseStatus = this.selectList[0].reviseStatus || '--' this.qbfsForm.planStatus1 = this.selectList[0].planStatus || '--'
this.qbfsForm.reviseStatus1 = this.selectList[0].reviseStatus || '--'
this.standShow = true this.standShow = true
}else{ }else{
this.qbzxdForm2.esName = this.selectList[0].esName || '--' this.qbfsForm.esId2 = this.selectList[0].id || '--'
this.qbzxdForm2.planStatus = this.selectList[0].planStatus || '--' this.qbfsForm.esName2 = this.selectList[0].esName || '--'
this.qbzxdForm2.reviseStatus = this.selectList[0].reviseStatus || '--' this.qbfsForm.planStatus2 = this.selectList[0].planStatus || '--'
this.qbfsForm.reviseStatus2= this.selectList[0].reviseStatus || '--'
this.standShow2 = true this.standShow2 = true
} }
this.ListModel = false this.ListModel = false
@@ -434,7 +544,7 @@ export default {
//企业标准查询 //企业标准查询
getStandDataBtn(){ getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{ this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus, reviseStatus: this.standardSearch.reviseStatus || '',
esName: this.standardSearch.standName, esName: this.standardSearch.standName,
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
@@ -37,10 +37,10 @@
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="未制定"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled"> <el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.resPerson" v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人" placeholder="请输入评审责任人"
clearable clearable
></el-input> ></el-input>
@@ -69,18 +69,18 @@
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="完成"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled"> <el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.drafter" v-model="qbfsForm.drafterName"
placeholder="请输入起草人" placeholder="请输入起草人"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled"> <el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input <el-input
readonly readonly
v-model="qbfsForm.wgLeader" v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长" placeholder="请输入工作组组长"
clearable clearable
></el-input> ></el-input>
@@ -188,17 +188,17 @@
label="制修订状态"> label="制修订状态">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="drafter" prop="drafterName"
align="center" align="center"
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="resPerson" prop="resPersonName"
align="center" align="center"
label="评审责任人"> label="评审责任人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="wgLeader" prop="wgLeaderName"
align="center" align="center"
label="工作组组长"> label="工作组组长">
</el-table-column> </el-table-column>
@@ -315,7 +315,7 @@ export default {
//企业标准查询 //企业标准查询
getStandDataBtn(){ getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{ this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus, reviseStatus: this.standardSearch.reviseStatus || '',
esName: this.standardSearch.standName, esName: this.standardSearch.standName,
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
@@ -346,15 +346,16 @@ export default {
}else if(this.selectList.length < 1){ }else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入') this.$message.warning('请至少选择一条数据进行带入')
}else{ }else{
this.qbfsForm.esId = this.selectList[0].id
this.qbfsForm.esName = this.selectList[0].esName this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter this.qbfsForm.drafterName = this.selectList[0].drafterName
this.qbfsForm.planStatus = this.selectList[0].planStatus this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson this.qbfsForm.resPersonName = this.selectList[0].resPersonName
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader this.qbfsForm.wgLeaderName = this.selectList[0].wgLeaderName
this.ListModel = false this.ListModel = false
} }
}, },
@@ -268,6 +268,7 @@ export default {
}, },
data() { data() {
return { return {
comFlag: 0,
active: "1", active: "1",
commentText: "", commentText: "",
comName: "merge", comName: "merge",
@@ -380,7 +381,7 @@ export default {
toggleComName(name) { toggleComName(name) {
this.comName = name; this.comName = name;
if(this.comName === 'merge'){ if(this.comName === 'merge'){
this.$refs["childForm"].qbfsForm = '1' this.$refs["childForm"].qbfsForm.type = '1'
}else if(this.comName === 'delay'){ }else if(this.comName === 'delay'){
this.$refs["childForm"].qbfsForm.type = '2' this.$refs["childForm"].qbfsForm.type = '2'
}else if(this.comName === 'cancel'){ }else if(this.comName === 'cancel'){
@@ -390,7 +391,6 @@ export default {
}else if(this.comName === 'establish'){ }else if(this.comName === 'establish'){
this.$refs["childForm"].qbfsForm.type = '5' this.$refs["childForm"].qbfsForm.type = '5'
} }
}, },
//流程保存 //流程保存
handleSave() { handleSave() {
@@ -414,22 +414,71 @@ export default {
this.saveLoading = false this.saveLoading = false
}) })
}, },
repeatName(){
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
this.$http.get('esRevisePlan/es-revise-plan/getDataByName', {esName: qbzxdFrom.esName, id : qbzxdFrom.esId}, {
_this: this
}, res => {
let dataList = res.data
dataList.forEach(item => {
if(item.esName === qbzxdFrom.esName1 || item.esName === qbzxdFrom.esName2){
this.comFlag++
}else{
this.comFlag = 0
}
})
})
},
//流程提交 //流程提交
handleSubmit() { handleSubmit() {
if (this.$route.query.prcNum === undefined) { this.repeatName()
let flag = this.$refs["childForm"].validateForm(); if(this.comFlag === '0'){
let qbzxdFrom = this.$refs["childForm"].qbfsForm; this.$message.warning('请更改企标名称')
if (flag) { }else {
this.$refs["roleForm"].validate((valid) => { if (this.$route.query.prcNum === undefined) {
if (valid) { let flag = this.$refs["childForm"].validateForm();
this.isSubmit = true; let qbzxdFrom = this.$refs["childForm"].qbfsForm;
var json = Object.assign(qbzxdFrom, this.roleForm); if (flag) {
this.$http.get("lawss/activiti/startProcess", { type: "25" }, { this.$refs["roleForm"].validate((valid) => {
_this: this if (valid) {
}, res => { this.isSubmit = true;
if (res.ok) { var json = Object.assign(qbzxdFrom, this.roleForm);
this.$http.get("lawss/activiti/startProcess", { type: "25" }, {
_this: this
}, res => {
if (res.ok) {
this.$http.post("lawss/activiti/completeTask", {
taskIds: res.data,
userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.isSubmit = false;
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
}
});
}
});
} else {
this.$message.warning("请完善人员信息");
}
});
} else {
this.$message.warning("请完善基础信息");
}
} else {
let flag = this.$refs["childForm"].validateForm();
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
if (flag) {
this.$refs["roleForm"].validate((valid) => {
if (valid) {
this.isSubmit = true;
var json = Object.assign(qbzxdFrom, this.roleForm);
this.$http.post("lawss/activiti/completeTask", { this.$http.post("lawss/activiti/completeTask", {
taskIds: res.data, taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId, userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json) json: JSON.stringify(json)
}, { }, {
@@ -441,46 +490,15 @@ export default {
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" }); this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
} }
}); });
} else {
this.$message.warning("请完善人员信息");
} }
}); });
} else { } else {
this.$message.warning("请完善人员信息"); this.$message.warning("请完善基础信息");
} }
}); }
} else {
this.$message.warning("请完善基础信息");
} }
} else {
let flag = this.$refs["childForm"].validateForm();
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
if (flag) {
this.$refs["roleForm"].validate((valid) => {
if (valid) {
this.isSubmit = true;
var json = Object.assign(qbzxdFrom, this.roleForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.isSubmit = false;
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
}
});
} else {
this.$message.warning("请完善人员信息");
}
});
} else {
this.$message.warning("请完善基础信息");
}
}
}, },
// 流程阶段负责人选择 // 流程阶段负责人选择
choiceZRR(type, title, id) { choiceZRR(type, title, id) {
@@ -36,21 +36,21 @@
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="未制定"></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 form-item-disabled"> <el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="qbfsForm.drafter" v-model="qbfsForm.drafter"
placeholder="请输入起草人" placeholder="请输入起草人"
:maxlength="500"/> :maxlength="500"/>
</el-form-item> </el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="qbfsForm.resPerson" v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人" placeholder="请输入评审责任人"
:maxlength="500"/> :maxlength="500"/>
</el-form-item> </el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="qbfsForm.wgLeader" v-model="qbfsForm.wgLeader"
@@ -148,7 +148,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"
@@ -391,26 +391,29 @@ export default {
}); });
}, },
beforeBack(){ beforeBack(){
this.isSubmit = true if(!this.commentText){
this.qbfsForm.passFlag = '1' this.$message.warning('请填写审批意见')
this.qbfsForm.commentText = this.commentText }else{
let json = JSON.stringify(this.qbfsForm); this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', { this.qbfsForm.passFlag = '1'
taskIds: this.$route.query.taskIds, this.qbfsForm.commentText = this.commentText
userId: this.$store.getters.userInfo.userId, let json = JSON.stringify(this.qbfsForm);
json: json, this.$http.post('lawss/activiti/completeTask', {
}, { taskIds: this.$route.query.taskIds,
_this: this userId: this.$store.getters.userInfo.userId,
}, res => { json: json,
if (res.success) { }, {
this.$message.success(res.message) _this: this
this.$router.push('/processCenter') }, res => {
} if (res.success) {
this.isSubmit = false this.$message.success(res.message)
}, e => { this.$router.push('/processCenter')
}); }
this.isSubmit = false
}, e => {
});
}
}, },
}, },
}; };
</script> </script>
@@ -148,7 +148,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"
@@ -391,26 +391,29 @@ export default {
}); });
}, },
beforeBack(){ beforeBack(){
this.isSubmit = true if(!this.commentText){
this.qbfsForm.deptCenterFlag = '1' this.$message.warning('请填写审批意见')
this.qbfsForm.commentText = this.commentText }else{
let json = JSON.stringify(this.qbfsForm); this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', { this.qbfsForm.deptCenterFlag = '1'
taskIds: this.$route.query.taskIds, this.qbfsForm.commentText = this.commentText
userId: this.$store.getters.userInfo.userId, let json = JSON.stringify(this.qbfsForm);
json: json, this.$http.post('lawss/activiti/completeTask', {
}, { taskIds: this.$route.query.taskIds,
_this: this userId: this.$store.getters.userInfo.userId,
}, res => { json: json,
if (res.success) { }, {
this.$message.success(res.message) _this: this
this.$router.push('/processCenter') }, res => {
} if (res.success) {
this.isSubmit = false this.$message.success(res.message)
}, e => { this.$router.push('/processCenter')
}); }
this.isSubmit = false
}, e => {
});
}
}, },
}, },
}; };
</script> </script>
@@ -148,7 +148,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"
@@ -391,24 +391,28 @@ export default {
}); });
}, },
beforeBack(){ beforeBack(){
this.isSubmit = true if(!this.commentText){
this.qbfsForm.bzFlag = '1' this.$message.warning('请填写审批意见')
this.qbfsForm.commentText = this.commentText }else{
let json = JSON.stringify(this.qbfsForm); this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', { this.qbfsForm.bzFlag = '1'
taskIds: this.$route.query.taskIds, this.qbfsForm.commentText = this.commentText
userId: this.$store.getters.userInfo.userId, let json = JSON.stringify(this.qbfsForm);
json: json, this.$http.post('lawss/activiti/completeTask', {
}, { taskIds: this.$route.query.taskIds,
_this: this userId: this.$store.getters.userInfo.userId,
}, res => { json: json,
if (res.success) { }, {
this.$message.success(res.message) _this: this
this.$router.push('/processCenter') }, res => {
} if (res.success) {
this.isSubmit = false this.$message.success(res.message)
}, e => { this.$router.push('/processCenter')
}); }
this.isSubmit = false
}, e => {
});
}
}, },
}, },
@@ -148,7 +148,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"
@@ -391,24 +391,28 @@ export default {
}); });
}, },
beforeBack(){ beforeBack(){
this.isSubmit = true if(!this.commentText){
this.qbfsForm.bzfgbzFlag = '1' this.$message.warning('请填写审批意见')
this.qbfsForm.commentText = this.commentText }else{
let json = JSON.stringify(this.qbfsForm); this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', { this.qbfsForm.bzfgbzFlag = '1'
taskIds: this.$route.query.taskIds, this.qbfsForm.commentText = this.commentText
userId: this.$store.getters.userInfo.userId, let json = JSON.stringify(this.qbfsForm);
json: json, this.$http.post('lawss/activiti/completeTask', {
}, { taskIds: this.$route.query.taskIds,
_this: this userId: this.$store.getters.userInfo.userId,
}, res => { json: json,
if (res.success) { }, {
this.$message.success(res.message) _this: this
this.$router.push('/processCenter') }, res => {
} if (res.success) {
this.isSubmit = false this.$message.success(res.message)
}, e => { this.$router.push('/processCenter')
}); }
this.isSubmit = false
}, e => {
});
}
}, },
}, },
@@ -239,7 +239,7 @@
@pageSizeChange="pageSizeChange"/> @pageSizeChange="pageSizeChange"/>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button> <el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button> <el-button type="primary" size="mini" @click="OkDrawer">确认</el-button>
</div> </div>
</el-drawer> </el-drawer>
<ProcessFooter <ProcessFooter
@@ -13,72 +13,6 @@
<ProcessTitle> <ProcessTitle>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
</ProcessTitle> </ProcessTitle>
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
size="small"
slot="reference"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>-->
<div class="content-center"> <div class="content-center">
<el-button <el-button
style="text-align: end" style="text-align: end"
@@ -301,6 +235,9 @@ export default {
} }
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneWfhxStep4')
},
processTable() { processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum, prcNum: this.$route.query.prcNum,
@@ -326,14 +263,15 @@ export default {
}, },
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
if (item.passInfo !== undefined) { if (item.passInfo !== 0) {
this.passInfo = JSON.parse(JSON.stringify(item)).passInfo this.passInfo = JSON.parse(JSON.stringify(item)).passInfo
} } else {
let fileData = JSON.parse(JSON.stringify(item)).dockUserList let fileData = JSON.parse(JSON.stringify(item)).dockUserList
for (let i = 0; i<fileData.length; i++) { for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name === this.$store.getters.userInfo.userName) { if (fileData[i].name.slice(0,fileData[i].name.indexOf('(')) === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList this.dataList = fileData[i].standardInfoList
this.standardInfoList = this.dataList this.standardInfoList = this.dataList
}
} }
} }
}) })
@@ -13,72 +13,6 @@
<ProcessTitle> <ProcessTitle>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
</ProcessTitle> </ProcessTitle>
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
size="small"
slot="reference"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>-->
<el-table <el-table
:data="dataList" :data="dataList"
border border
@@ -528,7 +528,6 @@ export default {
} else { } else {
this.qdform.projectNumber = this.selectProject[0].projectNumber; this.qdform.projectNumber = this.selectProject[0].projectNumber;
this.qdform.projectName = this.selectProject[0].projectName; this.qdform.projectName = this.selectProject[0].projectName;
this.qdform.projectId = this.selectProject[0].id;
this.projectModel = false; this.projectModel = false;
} }
@@ -117,26 +117,26 @@
sortable sortable
label="标准实施日期"> label="标准实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrq"
width="190px" width="190px"
align="center" align="center"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="zccssrqgj" prop="zccssrq"
align="center" align="center"
sortable sortable
width="190px" width="190px"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -314,7 +314,6 @@
width="55" width="55"
align="center"> align="center">
</el-table-column> </el-table-column>
<div v-if="handleSelectForm.dataSource === 'INLAND'"> <div v-if="handleSelectForm.dataSource === 'INLAND'">
<el-table-column <el-table-column
label="标准号" label="标准号"
@@ -356,36 +355,36 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ 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-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> <span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <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-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> <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
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <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-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> <span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -463,53 +462,53 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ 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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
@@ -616,7 +615,6 @@
</template> </template>
</el-table-column> </el-table-column>
</div> </div>
</el-table> </el-table>
<!--分页--> <!--分页-->
<pagination <pagination
@@ -702,12 +700,12 @@ export default {
standNumber: '', //标准编号 standNumber: '', //标准编号
standCode: '', //企标编号 standCode: '', //企标编号
dataSource: 'INLAND', dataSource: 'INLAND',
standType: 'INLAND',
lawNumber: '', // 标准编号/政策编号 lawNumber: '', // 标准编号/政策编号
lawName: '', // 标准名称/政策名称 lawName: '', // 标准名称/政策名称
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
standType: '',
quoteIdList: '', quoteIdList: '',
validFlag: '0', validFlag: '0',
menuId: 'nomenu' menuId: 'nomenu'
@@ -898,7 +896,6 @@ 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;
//获取清单id 查询对应清单下的标准 //获取清单id 查询对应清单下的标准
this.detailedId = item.detailedListId; this.detailedId = item.detailedListId;
this.getStandData(); this.getStandData();
@@ -911,7 +908,11 @@ export default {
}, },
//查询清单下的标准 //查询清单下的标准
getStandData() { getStandData() {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, { this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", {
id: this.detailedId,
page: 1,
Size: 100
}, {
_this: this _this: this
}, res => { }, res => {
this.dataList = res.data.records; this.dataList = res.data.records;
@@ -1094,6 +1095,7 @@ export default {
}, },
//添加标准的查询按钮 //添加标准的查询按钮
searchLawBtn(){ searchLawBtn(){
console.log(this.handleSelectForm);
this.lawInfoTableLoading = true this.lawInfoTableLoading = true
if (this.handleSelectForm.dataSource === 'INLAND'){ if (this.handleSelectForm.dataSource === 'INLAND'){
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',this.handleSelectForm,{ this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',this.handleSelectForm,{
@@ -60,7 +60,7 @@
:data="dataList" :data="dataList"
border border
ref="selection" ref="selection"
height="59%" height="65%"
@selection-change="selectStandChange" @selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc" style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -85,8 +85,8 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
align="center" align="center"
label="中文名称"
min-width="300" min-width="300"
label="中文名称"
> >
<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 +95,8 @@
<el-table-column <el-table-column
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
align="center"
min-width="300" min-width="300"
align="center"
> >
<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>
@@ -109,26 +109,26 @@
sortable sortable
label="标准实施日期"> label="标准实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrq"
width="190px" width="190px"
align="center" align="center"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="zccssrqgj" prop="zccssrq"
align="center" align="center"
sortable sortable
width="190px" width="190px"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -138,35 +138,6 @@
width="180px" width="180px"
> >
</el-table-column> </el-table-column>
<el-table-column
prop="involve"
width="160px"
align="center"
label="标准是否涉及">
<template slot-scope="scope">
<el-select v-model="scope.row.involve"
placeholder="请选择涉不涉及"
max-length="30"
clearable>
<el-option value="involve" label="涉及"></el-option>
<el-option value="noInvolve" label="不涉及"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="remarks"
align="center"
width="180"
label="备注">
<template slot-scope="scope">
<el-input
v-model.trim="dataList[scope.$index].remarks"
placeholder="请输入备注"
>
</el-input>
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<div> <div>
@@ -377,36 +348,36 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ 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-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> <span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <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-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> <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
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <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-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> <span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -484,53 +455,53 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ 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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
@@ -721,7 +692,7 @@ export default {
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
standType: '', standType: 'INLAND',
quoteIdList: '', quoteIdList: '',
validFlag: '0', validFlag: '0',
menuId: 'nomenu' menuId: 'nomenu'
@@ -60,7 +60,7 @@
:data="dataList" :data="dataList"
border border
ref="selection" ref="selection"
height="59%" height="65%"
@selection-change="selectStandChange" @selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc" style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -85,8 +85,8 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
align="center" align="center"
label="中文名称"
min-width="300" min-width="300"
label="中文名称"
> >
<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 +95,8 @@
<el-table-column <el-table-column
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
align="center"
min-width="300" min-width="300"
align="center"
> >
<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>
@@ -109,26 +109,26 @@
sortable sortable
label="标准实施日期"> label="标准实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrq"
width="190px" width="190px"
align="center" align="center"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="zccssrqgj" prop="zccssrq"
align="center" align="center"
sortable sortable
width="190px" width="190px"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -138,19 +138,6 @@
width="180px" width="180px"
> >
</el-table-column> </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> </el-table>
</div> </div>
<div> <div>
@@ -361,36 +348,36 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ 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-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> <span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <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-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> <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
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <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-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> <span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -468,53 +455,53 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ 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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
@@ -705,7 +692,7 @@ export default {
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
standType: '', standType: 'INLAND',
quoteIdList: '', quoteIdList: '',
validFlag: '0', validFlag: '0',
menuId: 'nomenu' menuId: 'nomenu'
@@ -54,7 +54,7 @@
:data="dataList" :data="dataList"
border border
ref="selection" ref="selection"
height="63%" height="65%"
@selection-change="selectStandChange" @selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc" style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -79,8 +79,8 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
align="center" align="center"
label="中文名称"
min-width="300" min-width="300"
label="中文名称"
> >
<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>
@@ -89,8 +89,8 @@
<el-table-column <el-table-column
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
align="center"
min-width="300" min-width="300"
align="center"
> >
<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>
@@ -103,26 +103,26 @@
sortable sortable
label="标准实施日期"> label="标准实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrq"
width="190px" width="190px"
align="center" align="center"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="zccssrqgj" prop="zccssrq"
align="center" align="center"
sortable sortable
width="190px" width="190px"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -132,19 +132,6 @@
width="180px" width="180px"
> >
</el-table-column> </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> </el-table>
</div> </div>
<div> <div>
@@ -1092,7 +1092,6 @@
_this: this _this: this
}, res => { }, res => {
if (res.success) { if (res.success) {
debugger
if(this.formTongGuo.approvalOpinion === '1'){ if(this.formTongGuo.approvalOpinion === '1'){
this.$message.warning("驳回成功") this.$message.warning("驳回成功")
this.isSubmit = false this.isSubmit = false
@@ -298,6 +298,21 @@
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('buss1')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">企标制修订流程及企业标准库流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission=""> <el-col :span="size ? 6 : 8" v-btn-permission="">
<el-card shadow="hover"> <el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('23')"> <div class="card-box" @click="handleCreateProcess('23')">
@@ -379,6 +394,12 @@ export default {
this.$store.commit('setDetailMap', this.$route.path) this.$store.commit('setDetailMap', this.$route.path)
this.$store.commit('setHandleInfo') this.$store.commit('setHandleInfo')
switch (prcType) { switch (prcType) {
case 'buss1':
// 企标制修订流程及企业标准库流程
this.$router.push({
name: 'bussLibrary1'
})
break
case '2': case '2':
// 标准调研流程 // 标准调研流程
this.$router.push({ this.$router.push({
@@ -0,0 +1,445 @@
<template>
<div class="phoneBzchStep2 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 === '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">
<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>
<ProcessTitle>
<template slot="title">选择人员</template>
</ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:">
<el-input
:disabled="true"
style="width: 30%"
placeholder="请选择入会人员"
v-model="ch_pageData.meetingInRole"
/>
</el-form-item>
</el-form>
</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 class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
backBTNTexts="不涉及"
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
name: "phoneBzchStep2",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1',
acceptShow: false,
ch_pageData: {},
ch_rules: {},
nodeList: [],
commentText: '',
isBack: false,
isSubmit: false,
saveLoading: false,
roleShowflag: false,
detailData: [],
loading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
uploadFileLength: ''
}
},
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.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
})
},
// 退回按钮
handleSubmitNo() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '0',
commentText: this.commentText,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
// 提交按钮
handleSubmit() {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '1',
commentText: this.commentText,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep2 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/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>
@@ -0,0 +1,459 @@
<template>
<div class="phoneBzchStep4 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 === '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="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
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>
<ProcessFooter
show-submit
show-back
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
name: "phoneBzchStep4",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1',
ch_pageData: {
myPartRole: [],
},
ch_rules: {},
textarea: '',
isBack: false,
isSubmit: false,
saveLoading: false,
detailData: [],
loading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
uploadFileLength: ''
}
},
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.ch_pageData.myPartRole = [{
fillPeopleId: this.ch_pageData.fillPeopleId,
fillPeople: this.ch_pageData.fillPeople,
fillUnit: this.ch_pageData.fillUnit,
fillDept: this.ch_pageData.fillDept,
fillPost: this.ch_pageData.fillPost,
fillTel: this.ch_pageData.fillTel,
fillMail: this.ch_pageData.fillMail,
fillFile: this.ch_pageData.fillFile,
}]
this.selfUser = JSON.parse(JSON.stringify(item)).selfUser
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList
})
},
// 退回按钮
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
member: this.selfUser,
passFlag: '0',
roleList: this.roleForm,
commentText: this.textarea,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
// 提交按钮
handleSubmit() {
let json = {
member: this.selfUser,
passFlag: '1',
engineerSum: this.roleForm.startUser,
roleList: this.roleForm,
commentText: this.textarea,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep4 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/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>
@@ -0,0 +1,506 @@
<template>
<div class="phoneBzchStep6 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template v-if="taskInfo === '技术管理中心主任审批'" slot="proNode">审批</template>
<template v-else-if="taskInfo === '费用管理部门会签'" slot="proNode">会签</template>
<template v-else-if="taskInfo === '技术委员会常务副主任/总院院长审定'" slot="proNode">审定</template>
</ProcessHeaderPhone>
<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>
<ProcessFooter
v-if="taskInfo !== '标准法规工程师修订完毕'"
show-submit
show-back
:isSubmitBack="isBack"
:submitLoading="isSubmit"
@back="handleSubmitNo"
@submit="handleSubmit"
/>
<ProcessFooter
v-else
show-submit
:submitLoading="isSubmit"
@submit="handleSubmit"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
export default {
name: "phoneBzchStep6",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
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.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList
})
},
/** 批量删除 */
del_paryForm() {
if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteDataList.map(item => {
let index;
index = this.ch_pageData.myPartRole.findIndex(items => {
return items === item;
});
if (index > -1) {
this.ch_pageData.myPartRole.splice(index, 1);
}
exits.push(item);
});
this.deleteDataList = [];
}).catch(() => {
});
}
},
selectedDelete(val) {
this.deleteDataList = val
},
// 退回按钮
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
passFlag: '0',
ch_pageData: this.ch_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
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
// 提交按钮
handleSubmit() {
let json = {
passFlag: '1',
ch_pageData: this.ch_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
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep6 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/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>
@@ -0,0 +1,506 @@
<template>
<div class="phoneBzhhStep2 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 === '3' ? 'active' : ''" @click="handleTabs('2')">审批历史</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="hh_pageData" :model="hh_pageData" :rules="hh_rules" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="标委会:">
{{ hh_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="分标委:">
{{ hh_pageData.associaNameOne || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="工作组:">
{{ hh_pageData.associaNameTwo || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="参会人:">
{{ hh_pageData.partPeople || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="参会时间:">
{{ hh_pageData.meetingStartTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
{{ hh_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" style="margin-top: 10px">
<el-table
:data="hh_pageData.standardTable"
border
ref="standardTable"
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" align="center"/>
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column prop="standardId" label="标准编号" align="center"/>
<el-table-column prop="standardName" label="标准名称" align="center"/>
<el-table-column prop="material" label="资料" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="materialBtn(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" style="margin-top: 10px">
<el-table
:data="hh_pageData.themeTable"
border
ref="themeTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column label="议题" align="center" prop="meetingTheme"></el-table-column>
<el-table-column label="资料" align="center" prop="meetingFile">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="meetingFileBtn(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="其他资料:" prop="otherFile">
<el-upload
:action="''"
name="name"
:file-list="otherFile"
:on-preview="onPreviewOther"
>
</el-upload>
</el-form-item>
</el-form>
</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 class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
/>
<el-dialog
:visible.sync="materialDialog"
width="30%"
:before-close="handleClose">
<el-upload
:action="''"
name="file"
:file-list="fileTextList"
:on-preview="handleOnPreview"
>
</el-upload>
</el-dialog>
<el-dialog
:visible.sync="meetingFileDialog"
width="30%"
:before-close="handleClose">
<el-upload
:action="''"
name="file"
:file-list="themeFileList"
:on-preview="onPreviewTheme"
>
</el-upload>
</el-dialog>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
name: "phoneBzhhStep2",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
// 上传地址
actionPath: 'api/att/attFile/upload',
acceptShow: false,
active: '1',
loading: false,
hh_pageData: {
associaName: '',
associaNameOne: '',
associaNameTwo: '',
meetingStartTime: '',
meetingName: '',
partPeople: '',
standardTable: [],
themeTable: [],
},
commentText: '',
fileTextList: [],
themeFileList: [],
otherFile: [],
materialDialog: false,
meetingFileDialog: false,
hh_rules: {},
detailData: [],
isBack: false,
isSubmit: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}
},
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.hh_pageData = JSON.parse(JSON.stringify(item)).hh_pageData
this.otherFile = this.hh_pageData.otherFileList
})
},
/** 标准号列表查看按钮 */
materialBtn(val) {
this.fileTextList = val.material
this.materialDialog = true
},
/** 议题列表查看按钮 */
meetingFileBtn(val) {
this.themeFileList = val.material
this.meetingFileDialog = true
},
handleClose() {
this.materialDialog = false
this.meetingFileDialog = false
},
// 点击上传的文件进行下载
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 点击上传的文件进行下载
onPreviewTheme(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 点击上传的文件进行下载
onPreviewOther(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 退回按钮
handleSubmitNo() {
let json = {
passFlag: '0',
commentText: this.commentText,
hh_pageData: this.hh_pageData,
}
this.$refs['hh_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() {
let json = {
passFlag: '1',
commentText: this.commentText,
ch_pageData: this.ch_pageData,
}
this.$refs['hh_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/phone';
.phoneBzhhStep2 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/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>
@@ -0,0 +1,448 @@
<template>
<div class="phoneBzrhStep2 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 === '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 === 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-input v-model="rh_pageData.workPath" type="textarea" readonly style="width: 50%;height: auto"></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:">
<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 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>
<ProcessTitle>
<template slot="title">选择人员</template>
</ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:">
<el-input
:disabled="true"
style="width: 30%"
v-model="rh_pageData.comityOpRole"
/>
</el-form-item>
</el-form>
</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 class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
backBTNTexts="不涉及"
:isSubmitBack="isBack"
:submitLoading="isSubmit"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { completeTask, inboundLiaisonDetail } from "@/api/process.js"
export default {
name: "phoneBzrhStep2",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1', // 默认显示
rh_rules: {},
rh_pageData: {
comityFileNum: '',
comityFileName: '',
comityName: '',
comityRole: '',
comityState: '',
comityKind: '',
infoSources: '',
comityMake: {
makeQualification: '',
makeRole: '',
makeCost: '',
makeDuties: '',
makeTime: '',
},
workPath: '',
comityTel: [],
comityOpRole: '',
comityInRoleId: '',
},
roleForm: {},
commentText: '',
roleShowflag: false,
nodeList: [],
detailData: [],
loading: false,
isSubmit: false,
isBack: false,
saveLoading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: ''
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
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.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.comityOpRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 退回按钮
handleSubmitNo() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '0',
commentText: this.commentText,
rh_pageData: this.rh_pageData,
}
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() {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '1',
commentText: this.commentText,
rh_pageData: this.rh_pageData,
}
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/phone';
.phoneBzrhStep2 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding: 15px;
.comityTel_btn {
text-align: right;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,472 @@
<template>
<div class="phoneBzrhStep4 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 === '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 === 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-input v-model="rh_pageData.workPath" type="textarea" :disabled="true" 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 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"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<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="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
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>
<ProcessFooter
show-submit
show-back
backBTNTexts="驳回"
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { completeTask, inboundLiaisonDetail } from "@/api/process.js"
export default {
name: "phoneBzrhStep4",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1', // 默认显示
rh_rules: {},
rh_pageData: {
comityFileNum: '',
comityFileName: '',
comityName: '',
comityRole: '',
comityState: '',
comityKind: '',
InfoSources: '',
comityMake: {
makeQualification: '',
makeRole: '',
makeCost: '',
makeDuties: '',
makeTime: '',
},
prcCreateUser: {},
workPath: '',
comityTel: [],
fillPeople: '',
fillPeopleId: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
myPartRole: [],
},
roleForm: {},
selfUser: '',
detailData: [],
loading: false,
textarea: '',
isSubmit: false,
isBack: false,
saveLoading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: ''
}
},
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.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.infoSourcesLength = this.rh_pageData.infoSources.length
this.rh_pageData.myPartRole = [{
fillPeopleId: this.rh_pageData.fillPeopleId,
fillPeople: this.rh_pageData.fillPeople,
fillUnit: this.rh_pageData.fillUnit,
fillDept: this.rh_pageData.fillDept,
fillPost: this.rh_pageData.fillPost,
fillTel: this.rh_pageData.fillTel,
fillMail: this.rh_pageData.fillMail,
fillFile: this.rh_pageData.fillFile,
}]
this.selfUser = JSON.parse(JSON.stringify(item)).selfUser
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
// 退回按钮
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
member: this.selfUser,
passFlag: '0',
roleList: this.roleForm,
commentText: this.textarea,
rh_pageData: this.rh_pageData,
}
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() {
let json = {
member: this.selfUser,
passFlag: '1',
engineerSum: this.roleForm.startUser,
roleList: this.roleForm,
commentText: this.textarea,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzrhStep4 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding: 15px;
.comityTel_btn {
text-align: right;
}
/deep/ .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,485 @@
<template>
<div class="phoneBzrhStep6 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template v-if="taskInfo === '标准法规部主管领导审核'" slot="proNode">审批</template>
<template v-else-if="taskInfo === '费用管理部门会签'" slot="proNode">会签</template>
<template v-else-if="taskInfo === '技术委员会常务副主任/总院院长审定'" slot="proNode">审定</template>
</ProcessHeaderPhone>
<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>
<ProcessFooter
v-if="taskInfo !== '标准法规工程师汇总修订完毕'"
show-submit
show-back
:isSubmitBack="isBack"
:submitLoading="isSubmit"
@back="handleSubmitNo"
@submit="handleSubmit"
/>
<ProcessFooter
v-else
show-submit
:submitLoading="isSubmit"
@submit="handleSubmit"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { completeTask, inboundLiaisonDetail } from "@/api/process.js"
export default {
name: "phoneBzrhStep6",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
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() {
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.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
}
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() {
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
}
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/phone';
.phoneBzrhStep6 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.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>
@@ -0,0 +1,473 @@
<template>
<div class="phoneWfhxStep5 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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active === '1'">
<div style="flex: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
<el-table-column prop="planCloseTime" label="整改完成时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.planCloseTime ? $moment(scope.row.planCloseTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="responsibleUnit" label="责任部门" align="center"/>
<el-table-column prop="dutyPeople" label="负责人" align="center"/>
<el-table-column prop="fileText" label="佐证材料" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="queryFile(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
approval
@back="handleSubmitNo"
:submitLoading="isSubmit"
:isSubmitBack="backLoading"
:transferLoading="turnLoading"
@transfer="handleTurnTo"
@submit="handleSubmit"
submitBTNText="同意"
>
</ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
:action="''"
name="file"
:file-list="fileTextList"
:on-preview="handleOnPreview"
>
</el-upload>
</el-dialog>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, changeAssigneeNew} from "@/api/process";
export default {
name: "phoneWfhxStep5",
data() {
return {
drawerTitle: '',
nodeList: [],
modalshowflag: false, // drawer开关
fileMadel: false,
detailData: [],
loading: false,
commentText: '',
title: '', // 新增编辑抽屉标题
saveLoading: false,
ListModel: false, // 新增编辑抽屉开关
nonSearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
fileTextList: [],
active: '1', // 默认显示
isSubmit: false,
backLoading: false,
turnLoading: false,
dataList: [],
json: {},
taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
userId: this.$route.query.taskAssignee,
// 当前页数
pageNo: 1,
total: 0,
myLoading: false,
// 责任部门
zNodesSItem: [],
// 驳回弹窗状态
backDialog: false,
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
created() {
this.processTable()
this.getData()
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
methods: {
queryFile(row) {
this.fileTextList = row.fileText
this.fileMadel = true
},
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.dataList = JSON.parse(JSON.stringify(item)).info.fileDataList
/*this.dataList.forEach(item => {
item.fileText.forEach(item1 => {
this.fileTextList.push({
id: item1.id,
name: item1.name
})
})
})*/
})
},
handleTabs(name) {
this.active = name
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
// pageType: 'FOREIGN_STAND'
pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
// 点击上传的文件进行下载
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 提交按钮
handleSubmit() {
this.isSubmit = true
var json = this.json
json.info = {
fileDataList: this.dataList
}
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
drawerCheck (data) {
this.turnLoading = true
changeAssigneeNew({
taskId: this.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.userId, // 委托人
pId: this.pId // 流程实例
}).then(res =>{
if (res.success) {
this.turnLoading = false
this.$message.success('调整成功')
this.$router.push("/processCenter")
} else {
this.$message.warning(res.message)
}
})
this.modalshowflag = false
},
// 转办按钮
handleTurnTo() {
this.modalshowflag = true
this.drawerTitle = '转办处理人'
},
handleSubmitNo() {
this.backLoading = true
if (this.commentText) {
var json = {
responUserList: {
standardInfoList: this.dataList
},
actionFlag: 1,
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.backLoading = false
}
})
} else {
this.$message.warning('请输入反馈意见')
this.backLoading = false
}
},
//未整改项抽屉中的查询按钮
getTableByPage({ standId, productName, responsibleUnit }) {//多条件和模糊查询
this.realList = this.dataList.filter(item => {
let matchId = true; // 标准号 筛选
let matchName = true; // 项目名称 筛选
let matchUnit = true; // 部门 筛选
if (standId) {
const keysId = standId
.toUpperCase() // 转大写
.replace(' ', '') // 删掉空格
.split('') // 切割成 单个字
matchId = keysId.every(key => item.standId.toUpperCase().includes(key));
}
if (productName) {
matchName = item.productName === productName;
}
if (responsibleUnit) {
matchUnit = item.responsibleUnit === responsibleUnit;
}
return matchId && matchName && matchUnit;
})
this.dataList = this.realList
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonSearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getData()
},
download(row) {
let attId = row.fileTextId
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneWfhxStep5 {
.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;
}
}
}
/deep/.el-upload{
display: block;
}
// 上传信息回显多余隐藏
/deep/.el-upload-list__item .el-icon-close {
font-size: 0;
}
/deep/.el-upload-list__item .el-icon-close-tip {
font-size: 0;
}
.content-center {
padding: 10px 0px 10px 10px;
}
}
</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('当前流程未全部办理完成,无法查看')
@@ -318,6 +318,152 @@ export default {
}) })
} }
break break
case 'buss1':
if (row.taskInfo === '企标编写') {
this.$router.push({
name: 'bussLibrary2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '企标汇总修订'){
this.$router.push({
name: 'bzrkStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准化员审批'){
this.$router.push({
name: 'bzrkStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '重新企标汇总修订'){
this.$router.push({
name: 'bzrkStepC3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '会签征求意见'){
this.$router.push({
name: 'bzrkStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '主起草人修订并组织评审'){
this.$router.push({
name: 'bzrkStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准法规工程师复审'){
this.$router.push({
name: 'bzrkStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '重新修订并组织评审'){
this.$router.push({
name: 'bzrkStepC6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '技术委员会负责人/起草中心主任审核'){
this.$router.push({
name: 'bzrkStep8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准法规部部长审核'){
this.$router.push({
name: 'bzrkStep9',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '专委会副主任/起草单位中心主任审定'){
this.$router.push({
name: 'bzrkStep10',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '专委会主任/总院院长或主管副院长批准'){
this.$router.push({
name: 'bzrkStep11',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '主起草人培训'){
this.$router.push({
name: 'bzrkStep12',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
case 'laws1': case 'laws1':
if (row.taskInfo === '政策入库审批') { if (row.taskInfo === '政策入库审批') {
this.$router.push({ this.$router.push({
@@ -325,8 +325,8 @@
<div v-if="handleSelectForm.dataSource === 'INLAND'"> <div v-if="handleSelectForm.dataSource === 'INLAND'">
<el-table-column <el-table-column
label="标准号" label="标准号"
width="150" width="150"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" class="table-jump" style="color: #F56C6C" <a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" class="table-jump" style="color: #F56C6C"
@@ -343,10 +343,10 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="standName" prop="standName"
label="标准名称" label="标准名称"
min-width="300" min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<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-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" @click="handlePreview(scope.row)" class="table-jump" style="color: #F56C6C">{{ scope.row.standName }}</a>
@@ -354,53 +354,53 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
sortable="custom" sortable="custom"
width="120" width="120"
label="发布日期"> label="发布日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ formatIssueDate(scope.row.issueTime) }}</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> <span v-else>{{ formatIssueDate(scope.row.issueTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ 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-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> <span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <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-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> <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
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <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-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> <span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
sortable="custom" sortable="custom"
width="110" width="110"
label="文本状态"> label="文本状态">
<!-- <template slot="header" slot-scope="scope">--> <!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">--> <!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态<i class="el-icon-warning-outline"></i></span>--> <!-- <span>文本状态<i class="el-icon-warning-outline"></i></span>-->
@@ -416,8 +416,8 @@
</div> </div>
<div v-if="handleSelectForm.dataSource === 'FOREIGN'"> <div v-if="handleSelectForm.dataSource === 'FOREIGN'">
<el-table-column <el-table-column
label="标准号" label="标准号"
width="150" width="150"
> >
<template slot-scope="scope"> <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)">{{ <a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
@@ -436,10 +436,10 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="standName" prop="standName"
label="标准名称" label="标准名称"
min-width="300" min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{ <a v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{
@@ -454,10 +454,10 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
sortable="custom" sortable="custom"
width="120" width="120"
label="发布日期"> label="发布日期">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C"> <div v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">
{{ formatIssueDate(scope.row.issueTime) }} {{ formatIssueDate(scope.row.issueTime) }}
@@ -471,61 +471,61 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="SSRQ" prop="ssrq"
sortable="custom" sortable="custom"
width="120" width="120"
label="实施日期"> label="实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}--> <!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ 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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="XCXSSRQ" prop="xcxssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="ZCCSSRQ" prop="zccssrq"
sortable="custom" sortable="custom"
width="150" width="150"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ <span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{ <span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
<span v-else style="color: #333333">{{ <span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
sortable="custom" sortable="custom"
width="110" width="110"
label="文本状态"> label="文本状态">
<!-- <template slot="header" slot-scope="scope">--> <!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">--> <!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态 <i class="el-icon-warning-outline"></i></span>--> <!-- <span>文本状态 <i class="el-icon-warning-outline"></i></span>-->
@@ -195,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">
@@ -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"
@@ -19,13 +19,13 @@
</el-form-item> </el-form-item>
<el-form-item label="企标名称" class="search-item"> <el-form-item label="企标名称" class="search-item">
<el-input v-model="form.esName" <el-input v-model="form.esName"
placeholder="请输入计划状态" placeholder="请输入企标名称"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="起草责任部门" class="search-item"> <el-form-item label="起草责任部门" class="search-item">
<el-input v-model="form.unit" <el-input v-model="form.unit"
placeholder="请输入计划状态" placeholder="请输入起草责任部门"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
@@ -101,27 +101,33 @@
label="计划状态" label="计划状态"
align="center" align="center"
width="150"> width="150">
<template slot-scope="scope">
<div>{{ scope.row.planStatus === '0'? '完成' : (scope.row.planStatus === '1'? '修订' : '制定') }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="reviseStatus" prop="reviseStatus"
width="150" width="150"
align="center" align="center"
label="制修订状态"> label="制修订状态">
<template slot-scope="scope">
<div>{{ scope.row.reviseStatus === '0'? '制定完成' : (scope.row.reviseStatus === '1'? '制定中' : '未制定') }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="drafter" prop="drafterName"
width="120" width="120"
align="center" align="center"
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="resPerson" prop="resPersonName"
width="120" width="120"
align="center" align="center"
label="评审责任人"> label="评审责任人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="wgLeader" prop="wgLeaderName"
width="120" width="120"
align="center" align="center"
label="工作组组长"> label="工作组组长">
@@ -180,7 +186,7 @@
</div> </div>
<el-drawer <el-drawer
ref="standard" ref="standard"
size="1000px" size="700px"
:title="addDrawerTitle" :title="addDrawerTitle"
:visible.sync="addDrawer" :visible.sync="addDrawer"
:before-close="addDrawerClose"> :before-close="addDrawerClose">
@@ -199,38 +205,38 @@
</el-form-item> </el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-select :disabled="DrawerType === 'see'" v-model="addForm.planStatus" placeholder="请选择计划状态"> <el-select :disabled="DrawerType === 'see'" v-model="addForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option> <el-option label="制定" value="2"></el-option>
<el-option label="修订" value="修订"></el-option> <el-option label="修订" value="1"></el-option>
<el-option label="完成" value="完成"></el-option> <el-option label="完成" value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-select :disabled="DrawerType === 'see'" v-model="addForm.reviseStatus" placeholder="请选择制修订状态"> <el-select :disabled="DrawerType === 'see'" v-model="addForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option> <el-option label="制定完成" value="0"></el-option>
<el-option label="制定中" value="制定中"></el-option> <el-option label="制定中" value="1"></el-option>
<el-option label="未制定" value="未制定"></el-option> <el-option label="未制定" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" style="display: none;"
v-model="addForm.drafter" v-model="addForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/> :maxlength="500"/>
<el-input :disabled="DrawerType === 'see'" v-model="addForm.drafterName" placeholder="请选择起草人" readonly="readonly" @click.native="choiceZRRS('drafter', '选择起草人', addForm.drafter)"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" style="display: none;"
v-model="addForm.resPerson" v-model="addForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/> :maxlength="500"/>
<el-input :disabled="DrawerType === 'see'" v-model="addForm.resPersonName" placeholder="请选择评审责任人" readonly="readonly" @click.native="choiceZRRS('resPerson', '选择评审责任人', addForm.resPerson)"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" style="display: none;"
v-model="addForm.wgLeader" v-model="addForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/> :maxlength="500"/>
<el-input :disabled="DrawerType === 'see'" v-model="addForm.wgLeaderName" placeholder="请选择工作组组长" readonly="readonly" @click.native="choiceZRR('wgLeader', '选择工作组组长', addForm.wgLeader)"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-date-picker <el-date-picker
@@ -251,18 +257,33 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <div style="display: flex;justify-content: space-between;align-items: center;">
:disabled="DrawerType === 'see'" <el-tooltip v-if="addForm.unit" class="item" effect="dark" :content="addForm.unit" placement="top-start">
v-model="addForm.unit" <el-input
placeholder="请输入起草责任单位" :disabled="DrawerType === 'see'"
:maxlength="500"/> clearable
v-model="addForm.unit"
placeholder="选择或输入起草单位">
</el-input>
</el-tooltip>
<div v-else>
<el-input
:disabled="DrawerType === 'see'"
clearable
v-model="addForm.unit"
placeholder="选择或输入起草单位">
</el-input>
</div>
<div>
<el-button
:disabled="DrawerType === 'see'"
size="mini"
type="primary"
@click="QCDWClick"
class="common-button-primary">手动查找</el-button>
</div>
</div>
</el-form-item> </el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="addForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form> </el-form>
</el-col> </el-col>
</el-row> </el-row>
@@ -285,6 +306,40 @@
@click="addDrawerClose">取消</el-button> @click="addDrawerClose">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
<Role-tree
:is-title="drawerTitle"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog
:visible.sync="QCDWmodal"
width="500px"
title="选择起草部门"
destroy-on-close
:close-on-click-modal="false"
@closed="QCDWmodal = false">
<el-select v-model="QCDWValue" multiple filterable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in QCDWList"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
<div slot="footer" class="demo-drawer-footer">
<el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
@click="QCDWOK">确认
</el-button>
</div>
</el-dialog>
</div> </div>
</div> </div>
</template> </template>
@@ -295,6 +350,15 @@
components: {}, components: {},
data() { data() {
return { return {
QCDWmodal: false,
QCDWValue: [],
QCDWList: [],
type: '',
drawerTitle: '',
modalshowflag2: false,
modalshowflag: false,
nodeList: [],
nodeList2: [],
loading: false, loading: false,
submitLoading: false, submitLoading: false,
addDrawerTitle: '', addDrawerTitle: '',
@@ -307,10 +371,13 @@
planStatus: '', // planStatus: '', //
reviseStatus: '', // reviseStatus: '', //
resPerson: '', // resPerson: '', //
resPersonName: '',
wgLeader: '', // wgLeader: '', //
wgLeaderName: '',
draftTime: '', // 稿 draftTime: '', // 稿
releaseTime: '', // releaseTime: '', //
drafter: '', // drafter: '', //
drafterName: '',
// remarks: '', // // remarks: '', //
}, },
addFormRules: { addFormRules: {
@@ -327,19 +394,19 @@
{required: true, message: '请选择制修订状态', trigger: 'change'}, {required: true, message: '请选择制修订状态', trigger: 'change'},
], ],
resPerson: [ resPerson: [
{required: true, message: '请输入评审责任人', trigger: 'blur'}, {required: true, message: '请选择评审责任人', trigger: 'change'},
], ],
wgLeader: [ wgLeader: [
{required: true, message: '请输入工作组组长', trigger: 'blur'}, {required: true, message: '请选择工作组组长', trigger: 'change'},
], ],
draftTime: [ draftTime: [
{required: true, message: '请输入计划标准初稿完成时间', trigger: 'blur'}, {required: true, message: '请输入计划标准初稿完成时间', trigger: 'change'},
], ],
releaseTime: [ releaseTime: [
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'}, {required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
], ],
drafter: [ drafter: [
{required: true, message: '请输入起草人', trigger: 'blur'}, {required: true, message: '请选择起草人', trigger: 'change'},
], ],
}, },
form: { form: {
@@ -358,6 +425,59 @@
props: {}, props: {},
watch: {}, watch: {},
methods: { methods: {
QCDWOK () {
let arr1 = []
if (this.addForm.unit) {
let str = this.addForm.unit.replace(//g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.addForm.unit = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick () {
this.QCDWValue = []
this.QCDWmodal = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
checkedRole (data) {
this.addForm.wgLeader = data[0].id
this.addForm.wgLeaderName = data[0].name
},
choiceZRRS (type, title, id) {
this.type = type
this.drawerTitle = title
this.nodeList2 = []
if (id) {
this.nodeList2 = id.split(',')
}
this.modalshowflag2 = true
},
checkedRole2 (data) {
var idList = ''
var nameList = ''
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
if (this.type === 'resPerson') {
this.addForm.resPerson = idList
this.addForm.resPersonName = nameList
} else if (this.type === 'drafter') {
this.addForm.drafter = idList
this.addForm.drafterName = nameList
}
},
addDrawerSubmit () { addDrawerSubmit () {
this.$refs['addForm'].validate((valid) => { this.$refs['addForm'].validate((valid) => {
if (valid) { if (valid) {
@@ -376,9 +496,15 @@
}, res => { }, res => {
this.submitLoading = false this.submitLoading = false
if (res.ok) { if (res.ok) {
this.addDrawer = false if (res.data === '操作成功') {
this.$message.success(tips + '成功') this.addDrawer = false
this.getData() this.$message.success(tips + '成功')
this.getData()
} else {
this.addDrawer = false
this.$message.warning(res.data)
this.getData()
}
} else { } else {
this.$message.warning(tips + '失败') this.$message.warning(tips + '失败')
} }
@@ -473,9 +599,12 @@
reviseStatus: command[0].reviseStatus, // reviseStatus: command[0].reviseStatus, //
resPerson: command[0].resPerson, // resPerson: command[0].resPerson, //
wgLeader: command[0].wgLeader, // wgLeader: command[0].wgLeader, //
resPersonName: command[0].resPersonName, //
wgLeaderName: command[0].wgLeaderName, //
draftTime: command[0].draftTime, // 稿 draftTime: command[0].draftTime, // 稿
releaseTime: command[0].releaseTime, // releaseTime: command[0].releaseTime, //
drafter: command[0].drafter, // drafterName: command[0].drafterName, //
drafter: command[0].drafter,
} }
break break
case '删除': case '删除':
@@ -525,6 +654,12 @@
computed: {}, computed: {},
mounted() { mounted() {
this.getData() this.getData()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.QCDWList = res.data.QCDW //
}, e => {
})
}, },
} }
</script> </script>
@@ -181,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%"
@@ -183,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">
@@ -1,77 +1,77 @@
<!--未符合项整改--> <!--未符合项整改-->
<template> <template>
<div id="non-cnfomity" > <div id="non-cnfomity" >
<div class="non-content"> <div class="non-content">
<el-tabs v-model="activeName" @tab-click="handleClick" style="height: 100%"> <el-tabs v-model="activeName" @tab-click="handleClick" style="height: 100%">
<el-tab-pane label="未符合项整改数据库" name="database"> <el-tab-pane label="未符合项整改数据库" name="database">
<rectification-database></rectification-database> <rectification-database></rectification-database>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="重点问题项管控" name="keynote"> <!-- <el-tab-pane label="重点问题项管控" name="keynote">-->
<key-issues :keynoteActiveName="keynoteActiveName"></key-issues> <!-- <key-issues :keynoteActiveName="keynoteActiveName"></key-issues>-->
</el-tab-pane> <!-- </el-tab-pane>-->
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import keyIssues from "@/pages/regulatoryRepository/nonConfomity/pages/keyIssues"; import keyIssues from "@/pages/regulatoryRepository/nonConfomity/pages/keyIssues";
import rectificationDatabase from "@/pages/regulatoryRepository/nonConfomity/pages/rectificationDatabase"; import rectificationDatabase from "@/pages/regulatoryRepository/nonConfomity/pages/rectificationDatabase";
export default { export default {
name: 'NonConfomity', name: 'NonConfomity',
components: { components: {
keyIssues, keyIssues,
rectificationDatabase, rectificationDatabase,
},
data () {
return {
activeName: 'database',
keynoteActiveName: 'cause'
}
},
methods: {
handleClick(tab, event) {
}, },
getActiveName(){ data () {
if (this.$route.query.activeName){ return {
this.activeName = this.$route.query.activeName activeName: 'database',
keynoteActiveName: 'cause'
} }
if (this.$route.query.keynoteActiveName){ },
this.keynoteActiveName = this.$route.query.keynoteActiveName methods: {
handleClick(tab, event) {
},
getActiveName(){
if (this.$route.query.activeName){
this.activeName = this.$route.query.activeName
}
if (this.$route.query.keynoteActiveName){
this.keynoteActiveName = this.$route.query.keynoteActiveName
}
console.log('35',this.keynoteActiveName)
} }
console.log('35',this.keynoteActiveName) },
} created() {
}, this.getActiveName()
created() { },
this.getActiveName() watch: {},
}, mounted () {}
watch: {}, }
mounted () {}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
#non-cnfomity { #non-cnfomity {
height: 100%;
display: flex;
flex-direction: column;
background-color: #FFFFFF;
.non-content {
padding: 0 10px;
height: 100%; height: 100%;
/deep/ .el-tabs { display: flex;
display: flex; flex-direction: column;
flex-direction: column; background-color: #FFFFFF;
.non-content {
padding: 0 10px;
height: 100%; height: 100%;
.el-tabs__content { /deep/ .el-tabs {
flex: 1; display: flex;
overflow: hidden; flex-direction: column;
.el-tab-pane { height: 100%;
height: 100%; .el-tabs__content {
flex: 1;
overflow: hidden;
.el-tab-pane {
height: 100%;
}
} }
} }
} }
.el-tabs__nav {
margin-left:20px;
}
} }
.el-tabs__nav {
margin-left:20px;
}
}
</style> </style>
@@ -1120,7 +1120,7 @@ export default {
this.roleShowflag = true this.roleShowflag = true
}, },
drawerCheck(data) { drawerCheck(data) {
this.addForm.dutyEngineer = data[0].name.slice(0,data[0].name.indexOf('(')) this.addForm.dutyEngineer = data[0].name
this.roleShowflag = false this.roleShowflag = false
}, },
/** 选择认证工程师和质量工程师 */ /** 选择认证工程师和质量工程师 */
@@ -1140,7 +1140,7 @@ export default {
idList += ',' idList += ','
} }
idList += item.id idList += item.id
nameList += item.name.slice(0,item.name.indexOf('(')) nameList += item.name
}) })
if (this.type === 'authEngineer') { if (this.type === 'authEngineer') {
this.addForm.authEngineer = nameList this.addForm.authEngineer = nameList
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -127,10 +127,10 @@
:label="selectIndex === 'stand'||'bussstand' ? $t('m.standStateShow') : (selectIndex === 'laws' ? $t('m.fileStatus') : $t('m.enterpriseStandardStatus'))" :label="selectIndex === 'stand'||'bussstand' ? $t('m.standStateShow') : (selectIndex === 'laws' ? $t('m.fileStatus') : $t('m.enterpriseStandardStatus'))"
width="200"> width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <span v-if="selectIndex === 'laws'">{{ getLawsState(scope.row.statecode) }}</span>--> <!-- <span v-if="selectIndex === 'laws'">{{ getLawsState(scope.row.statecode) }}</span>-->
<div :class="selectIndex === 'enterprise' || selectIndex === 'laws' ? (scope.row.textStatusBussName === '参考' ? 'yellowClass' : <div :class="selectIndex === 'enterprise' || selectIndex === 'laws' ? (scope.row.textStatusBussName === '参考' ? 'yellowClass' :
(scope.row.textStatusBussName || scope.row.lawsTextStateName === '作废' || scope.row.textStatusBussName === '被代替' ? 'redClass' : '')) : ''"> (scope.row.textStatusBussName || scope.row.lawsTextStateName === '作废' || scope.row.textStatusBussName === '被代替' ? 'redClass' : '')) : ''">
{{ selectIndex === 'stand'|| (selectIndex === 'bussstand' && scope.row.standType === 'FOREIGN') ? scope.row.textStatusName : (selectIndex === 'laws' ? scope.row.lawsTextStateName : scope.row.textStatusBussName) }}</div> {{ selectIndex === 'stand'|| (selectIndex === 'bussstand' && scope.row.standType === 'FOREIGN') ? scope.row.textStatusName : (selectIndex === 'laws' ? scope.row.lawsTextStateName : scope.row.textStatusBussName) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -217,7 +217,7 @@
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="beforeHandleCommand('a',scope.row)" v-if="scope.row.collectId">取消收藏</el-dropdown-item> <el-dropdown-item :command="beforeHandleCommand('a',scope.row)" v-if="scope.row.collectId">取消收藏</el-dropdown-item>
<el-dropdown-item :command="beforeHandleCommand('d',scope.row)" v-else>收藏</el-dropdown-item> <el-dropdown-item :command="beforeHandleCommand('d',scope.row)" v-else>收藏</el-dropdown-item>
<!-- <el-dropdown-item :command="beforeHandleCommand('b',scope.row)">分享</el-dropdown-item>--> <!-- <el-dropdown-item :command="beforeHandleCommand('b',scope.row)">分享</el-dropdown-item>-->
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<!-- <el-button size="mini" type="primary" v-if="scope.row.collectId" @click="clickCollection(scope.row)">取消收藏</el-button>--> <!-- <el-button size="mini" type="primary" v-if="scope.row.collectId" @click="clickCollection(scope.row)">取消收藏</el-button>-->
@@ -388,10 +388,10 @@
label: '海外标准法规', // value label: '海外标准法规', // value
value: 'bussstand' value: 'bussstand'
}, },
{ // {
label: '国内外政策', // label: '',
value: 'laws' // value: 'laws'
}, // },
{ {
label: '企业标准', label: '企业标准',
value: 'enterprise' value: 'enterprise'
@@ -420,10 +420,10 @@
label: '海外标准法规', // value label: '海外标准法规', // value
value: 'bussstand' value: 'bussstand'
}, },
{ // {
label: '国内外政策', // label: '',
value: 'laws' // value: 'laws'
}, // },
{ {
label: '企业标准', label: '企业标准',
value: 'enterprise' value: 'enterprise'
@@ -760,10 +760,10 @@
label: '海外标准法规', label: '海外标准法规',
value: 'bussstand' value: 'bussstand'
}, },
{ // {
label: '国内外政策', // label: '',
value: 'laws' // value: 'laws'
}, // },
{ {
label: '企业标准', label: '企业标准',
value: 'enterprise' value: 'enterprise'
@@ -1099,7 +1099,7 @@
"JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN", "JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN",
"ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"]; "ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"];
const bussStandVerify = ["Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M", const bussStandVerify = ["Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M",
"Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"]; "Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"];
if(data[key]){ if(data[key]){
console.log(data[key]) console.log(data[key])
const list = [] const list = []
+143
View File
@@ -925,6 +925,121 @@ const routes = [
title: '政策入库流程' title: '政策入库流程'
} }
}, },
{
path: '/bussLibrary1',
name: 'bussLibrary1',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step1.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},
{
path: '/bussLibrary2',
name: 'bussLibrary2',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step2.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},
// {
// path: '/bussLibrary3',
// name: 'bussLibrary3',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step3.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibraryC3',
// name: 'bussLibraryC3',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC3.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary4',
// name: 'bussLibrary4',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step4.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary5',
// name: 'bussLibrary5',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step5.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary6',
// name: 'bussLibrary6',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step6.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibraryC6',
// name: 'bussLibraryC6',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC6.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary7',
// name: 'bussLibrary7',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step7.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary8',
// name: 'bussLibrary8',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step8.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary9',
// name: 'bussLibrary9',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step9.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary10',
// name: 'bussLibrary10',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step10.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary11',
// name: 'bussLibrary11',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step11.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary12',
// name: 'bussLibrary12',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step12.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },
{ {
path: '/bzdyStep1', path: '/bzdyStep1',
name: 'bzdyStep1', name: 'bzdyStep1',
@@ -1631,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: '外部标准化协会入会流程'
}
},
// 外部标准化协会参会流程 // 外部标准化协会参会流程
{ {
@@ -1687,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',
@@ -1715,6 +1848,16 @@ const routes = [
title: '标准解读流程' title: '标准解读流程'
} }
}, },
{
path: '/phoneWfhxStep5',
name: 'phoneWfhxStep5',
component: () => import('@/pages/processCenter/pages/phone/wfhxzg/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '未符合项整改流程'
}
},
] ]
}, },
+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`
} }