合并冲突
This commit is contained in:
Generated
+105
-88
@@ -3619,6 +3619,23 @@
|
||||
"upath": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"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.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
|
||||
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
@@ -4564,6 +4581,94 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.3.0",
|
||||
"resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.3.0.tgz",
|
||||
"integrity": "sha1-LxleS6D7DiY1ltaDDfF9Gjbok2w=",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"big.js": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz",
|
||||
"integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz",
|
||||
"integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"emojis-list": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
|
||||
"integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz",
|
||||
"integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
|
||||
"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.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293630895&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
|
||||
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-style-loader": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
|
||||
@@ -13517,94 +13622,6 @@
|
||||
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz",
|
||||
"integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q=="
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
|
||||
"integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
|
||||
"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.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
|
||||
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"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
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"hash-sum": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
|
||||
"integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||
"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.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-router": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.0.tgz",
|
||||
|
||||
@@ -381,16 +381,25 @@ export default {
|
||||
},
|
||||
goNuwPage (item) {
|
||||
this.$store.commit('setDetailMap', this.$route.path)
|
||||
this.$router.push({
|
||||
name: 'StandLawsAttrDetails',
|
||||
params: {
|
||||
id: item.id,
|
||||
dictionaryName: item.dictionaryName,
|
||||
dictionType: item.dictionType,
|
||||
isRelate: item.isRelate,
|
||||
relateDicId: item.relateDicId
|
||||
}
|
||||
})
|
||||
const params = {
|
||||
id: item.id,
|
||||
dictionaryName: item.dictionaryName,
|
||||
dictionType: item.dictionType,
|
||||
isRelate: item.isRelate,
|
||||
relateDicId: item.relateDicId
|
||||
}
|
||||
if(item.dictionType && item.dictionType === 'TREE'){
|
||||
this.$router.push({
|
||||
name: 'standLawsAttrTreeDetails',
|
||||
params: params
|
||||
})
|
||||
}else {
|
||||
this.$router.push({
|
||||
name: 'StandLawsAttrDetails',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
handleSelectone (data) {
|
||||
this.selectedList = []
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,11 +3,11 @@
|
||||
<div class="to-do-list">
|
||||
<div>
|
||||
<span class="task">待办任务</span>
|
||||
<span class="more">MORE</span>
|
||||
<div class="more" @click="togo">MORE</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li v-for="item in toDoTaskList" :key="item.id" class="time-title">
|
||||
<a>{{ item.title }}</a>
|
||||
<a>{{ item.prcName }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -20,26 +20,36 @@ export default {
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
toDoTaskList: [
|
||||
{
|
||||
id: 1,
|
||||
title: '标准制定流程1',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: '标准制定流程2',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: '标准制定流程3',
|
||||
},
|
||||
],
|
||||
toDoTaskList: [],// 代办数据
|
||||
total: 0,
|
||||
pageNo: 1,
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {},
|
||||
methods: {},
|
||||
mounted() {this.queryProcess()},
|
||||
methods: {
|
||||
togo () {
|
||||
this.$router.push('/processCenter')
|
||||
},
|
||||
queryProcess () { // 查询待办流程
|
||||
this.$http.postData('lawss/activiti/todoTaskList', {
|
||||
current: this.pageNo,
|
||||
size: parseInt(this.$store.getters.userInfo.configContent),
|
||||
userId: this.$store.getters.userInfo.usid || this.$store.getters.userInfo.userId,
|
||||
},
|
||||
{
|
||||
loading: 'loading',
|
||||
_this: this
|
||||
}, res => {
|
||||
this.toDoTaskList = res.list
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
toPage() {
|
||||
this.$router.push(this.path)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
size="mini"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
v-btn-permission="'bcf0d05723689ced8f49fae7794ff0db'"
|
||||
v-btn-permission="''"
|
||||
@click="searchStandList">查询</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
class="common-button-default"
|
||||
v-btn-permission="'0af780936b77df9905c988db9e90bee8'"
|
||||
v-btn-permission="''"
|
||||
@click="clearSearchStand">清空</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -28,10 +28,10 @@
|
||||
</table-tools-bar>
|
||||
<div class="content">
|
||||
<div class="action-bar">
|
||||
<el-button size="mini" @click="spiltStandFile" v-btn-permission="'633d92e841ab4d49fb57b48b45fd0db8'"><i class="iconfont"></i>拆分</el-button>
|
||||
<el-button size="mini" @click="clickButtonToUpload" v-btn-permission="'d7a62638bbbe81e375ea598acaf80593'"><i class="iconfont"></i>上传</el-button>
|
||||
<el-button size="mini" @click="clickButtonToImport" v-btn-permission="'b8aaf61ad3c88f4c73e5af88ac9689c0'"><i class="iconfont"></i>导入拆分结果</el-button>
|
||||
<el-button size="mini" @click="batchDelete" v-btn-permission="'e214975dcab66d2e27bf2ed9897f521c'"><i class="iconfont"></i>删除</el-button>
|
||||
<el-button size="mini" @click="spiltStandFile" v-btn-permission="''"><i class="iconfont"></i>拆分</el-button>
|
||||
<el-button size="mini" @click="clickButtonToUpload" v-btn-permission="''"><i class="iconfont"></i>上传</el-button>
|
||||
<el-button size="mini" @click="clickButtonToImport" v-btn-permission="''"><i class="iconfont"></i>导入拆分结果</el-button>
|
||||
<el-button size="mini" @click="batchDelete" v-btn-permission="''"><i class="iconfont"></i>删除</el-button>
|
||||
</div>
|
||||
<div class="table-wrap">
|
||||
<div style="position: absolute;height: 100%;width: 100%;">
|
||||
@@ -109,24 +109,24 @@
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'17ba4598eb411d6feed468a2e446a301'">查看</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="''">查看</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="scope.row.collectBtn"
|
||||
:command="[scope.row, '收藏']"
|
||||
v-btn-permission="'0d316a6ffcbefddd9caad6b4e180a7d7'"
|
||||
v-btn-permission="''"
|
||||
>
|
||||
收藏
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-else
|
||||
:command="[scope.row, '取消收藏']"
|
||||
v-btn-permission="'7a92c8e3476202429a71ff18112469bc'"
|
||||
v-btn-permission="''"
|
||||
>
|
||||
取消收藏
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'b96444e5e022acfac7ca7de12dec5e13'">分享</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="''">分享</el-dropdown-item>
|
||||
<!-- <el-dropdown-item :command="[scope.row, '关联']">关联</el-dropdown-item>-->
|
||||
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'10ba28487876990927f653a66e1eeb98'">删除</el-dropdown-item>
|
||||
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
@@ -852,7 +852,7 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$http.get('lawss/sarStandardsInfo/getSarStandardsInfoPage', {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', {
|
||||
page: this.conditionForm.page,
|
||||
pageSize: this.conditionForm.pageSize,
|
||||
standNumber: this.conditionForm.numberName,
|
||||
@@ -1166,7 +1166,7 @@ export default {
|
||||
splitEo.fileType = this.selectedSplitStandList[0].standFileClassify
|
||||
splitEo.attId = this.selectedSplitStandList[0].attId
|
||||
splitEo.fileName = this.selectedSplitStandList[0].fileName
|
||||
this.$http.get('lawss/sarFileSplitInfo/fileSplit', splitEo, {
|
||||
this.$http.postData('lawss/sarFileSplitInfo/fileSplit', splitEo, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
@@ -1312,7 +1312,7 @@ export default {
|
||||
this.percent = 0
|
||||
this.speedModal = true
|
||||
this.speedProgress()
|
||||
this.$http.get('lawss/sarFileSplitInfo/fileSplit', this.uploadFilesplitEo, {
|
||||
this.$http.postData('lawss/sarFileSplitInfo/fileSplit', this.uploadFilesplitEo, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
<div class="action-bar">
|
||||
<div slot="left">
|
||||
<!-- <el-button type="primary" @click="changeData">转化</Button>-->
|
||||
<el-button size="mini" @click="uploadPdf" v-btn-permission="'MFQVKD5T76BL5VVZC3U2'"
|
||||
<el-button size="mini" @click="uploadPdf" v-btn-permission="''"
|
||||
><i class="iconfont"></i>上传</el-button
|
||||
>
|
||||
<el-button size="mini" @click="delData" v-btn-permission="'QJ2GMGUUE5ZZ9PL37BHM'"
|
||||
<el-button size="mini" @click="delData" v-btn-permission="''"
|
||||
><i class="iconfont"></i>删除</el-button
|
||||
>
|
||||
</div>
|
||||
@@ -106,16 +106,16 @@
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="[scope.row, '获取文件']" v-btn-permission="'RFGHJXQLEBEC37EWCPMQ'"
|
||||
<el-dropdown-item :command="[scope.row, '获取文件']" v-btn-permission=""
|
||||
>获取文件</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'4ZCETHNBRFJQH8J8Q3Y5'"
|
||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission=""
|
||||
>编辑</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'QJ2GMGUUE5ZZ9PL37BHM'"
|
||||
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission=""
|
||||
>删除</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission="'M93G5FCWKBBPU8GMQ4EF'"
|
||||
<el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission=""
|
||||
>在线编辑</el-dropdown-item
|
||||
>
|
||||
</el-dropdown-menu>
|
||||
@@ -508,7 +508,7 @@ export default {
|
||||
if (res.data.standName != null && res.data.standName !== "") {
|
||||
this.uploadFilesdfEo.standName = res.data.standName;
|
||||
}
|
||||
// this.uploadFilesdfEo.fileName = res.data.name
|
||||
this.uploadFilesdfEo.fileName = res.data.name
|
||||
// this.getTableData()
|
||||
this.defaultFileList.push(file);
|
||||
this.$message({
|
||||
|
||||
@@ -198,7 +198,7 @@ export default {
|
||||
this.getMenu().then((menuList) => {
|
||||
let hasHomeMenu = false
|
||||
menuList.map((menuItem) => {
|
||||
if (menuItem.id === 'G72J4WNFM8') {
|
||||
if (menuItem.id === 'asdfadf') {
|
||||
hasHomeMenu = true
|
||||
}
|
||||
})
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
size="mini"
|
||||
size="small"
|
||||
class="common-button-danger"
|
||||
@click="beforeBack"
|
||||
:loading="isSubmit"
|
||||
|
||||
@@ -38,15 +38,22 @@
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.model">
|
||||
{{ form.model }}
|
||||
<el-form-item label="调研模板" prop="modelName" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
style="display: none;"
|
||||
v-model="form.modelName"
|
||||
clearable
|
||||
></el-input>
|
||||
<div v-if="form.modelName" @click="fileUpload" class="fileClass">
|
||||
{{ form.modelName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini">
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
@click="fileUpload"
|
||||
size="mini">
|
||||
点击上传
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -56,6 +63,19 @@
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-collapse accordion>
|
||||
<el-collapse-item title="意见填写">
|
||||
<div style="margin: 10px 0;">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
resize="none"
|
||||
placeholder="请输入意见"
|
||||
v-model="commentText">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<div class="content" v-show="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
@@ -160,6 +180,24 @@
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
|
||||
:before-upload="beginImportFile"
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -172,6 +210,7 @@ export default {
|
||||
name: "bzdyStep1",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
roleRow: {},
|
||||
nodeList: [],
|
||||
type: '',
|
||||
@@ -192,6 +231,7 @@ export default {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
model: '', // 上传模板
|
||||
modelName: ''
|
||||
},
|
||||
formRules: {
|
||||
title: [
|
||||
@@ -199,6 +239,9 @@ export default {
|
||||
],
|
||||
date: [
|
||||
{ type: 'date', required: true, message: '请选择完成时间', trigger: 'change' }
|
||||
],
|
||||
modelName: [
|
||||
{ required: true, message: '请上传调研结果', trigger: 'change' },
|
||||
]
|
||||
},
|
||||
roleForm: {
|
||||
@@ -228,7 +271,9 @@ export default {
|
||||
presidentUserName: [
|
||||
{ required: true, message: '请输入调研标题', trigger: 'change' },
|
||||
]
|
||||
}
|
||||
},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -237,6 +282,47 @@ export default {
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
|
||||
return true
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess (response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.form.model = response.data.id
|
||||
this.form.modelName = response.data.name
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
fileUpload () {
|
||||
this.fileMadel = true
|
||||
},
|
||||
saveUserInfo () {
|
||||
if (this.type === 'dockUser') {
|
||||
this.roleForm.dockUser = this.roleRow.id
|
||||
@@ -291,6 +377,7 @@ export default {
|
||||
}, {}, res => {
|
||||
if (res.ok) {
|
||||
var json = Object.assign(this.form, this.roleForm)
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: res.data,
|
||||
@@ -332,6 +419,12 @@ export default {
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
|
||||
@@ -40,16 +40,11 @@
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.model">
|
||||
{{ form.model }}
|
||||
<div v-if="form.model" class="fileClass" @click="updateFile">
|
||||
{{ form.modelName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini">
|
||||
点击上传
|
||||
</el-button>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="责任人" prop="responUserList" class="add-form-item form-item-disabled">
|
||||
@@ -65,6 +60,19 @@
|
||||
</div>
|
||||
</el-form>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
@@ -113,6 +121,7 @@
|
||||
name: "bzdyStep2",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
roleRow: {},
|
||||
@@ -151,6 +160,9 @@
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile () {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
|
||||
},
|
||||
saveUserInfo () {
|
||||
var idList = ''
|
||||
var nameList = ''
|
||||
@@ -189,6 +201,7 @@
|
||||
this.$refs['qbkwForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
var json = this.json
|
||||
json.commentText = this.commentText
|
||||
json.responUserList = this.form.responUserList
|
||||
json.responUserListName = this.form.responUserListName
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
@@ -216,6 +229,8 @@
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.form.model = data.model
|
||||
this.form.modelName = data.modelName
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
@@ -237,6 +252,12 @@
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
|
||||
@@ -40,16 +40,11 @@
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.model">
|
||||
{{ form.model }}
|
||||
<div v-if="form.model" class="fileClass" @click="updateFile">
|
||||
{{ form.modelName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini">
|
||||
点击上传
|
||||
</el-button>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
|
||||
@@ -77,6 +72,19 @@
|
||||
</div>
|
||||
</el-form>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
@@ -118,6 +126,7 @@
|
||||
name: "bzdyStep3",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
@@ -127,6 +136,7 @@
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
model: '', // 上传模板
|
||||
modelName: '',
|
||||
fileId: '',
|
||||
fileName: '',
|
||||
responUserList: '',
|
||||
@@ -148,6 +158,9 @@
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile () {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
@@ -197,7 +210,9 @@
|
||||
this.$refs['qbkwForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
var json = this.json
|
||||
json.commentText = this.commentText
|
||||
json.fileId = this.form.fileId
|
||||
json.fileName = this.form.fileName
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
@@ -223,6 +238,8 @@
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.form.model = data.model
|
||||
this.form.modelName = data.modelName
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
<template>
|
||||
<div class="bzdyStep4">
|
||||
<!-- 标准调研流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准调研流程</template>
|
||||
<template slot="proNode">责任对接人审批</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="qbkwForm"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.title"
|
||||
placeholder="请输入调研标题"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-model="form.date"
|
||||
type="date"
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.model" class="fileClass" @click="updateFile(form.model)">
|
||||
{{ form.modelName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.file" class="fileClass" @click="updateFile(form.file)">
|
||||
{{ form.fileName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="审批意见" prop="text" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.text"-->
|
||||
<!-- placeholder="请输入审批意见"-->
|
||||
<!-- clearable-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
show-back
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
approval
|
||||
@back="handleSubmitNo"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
submitBTNText="同意"
|
||||
>
|
||||
</ProcessFooter>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {inboundLiaisonDetail} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "bzdyStep4",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
form: {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
model: '', // 上传模板
|
||||
modelName: '',
|
||||
fileId: '',
|
||||
fileName: '',
|
||||
responUserList: '',
|
||||
responUserListName: '',
|
||||
text: ''
|
||||
},
|
||||
formRules: {
|
||||
text: [
|
||||
{ required: true, message: '请输入审批意见', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
json: {},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile (fileId) {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
handleSave() {},
|
||||
handleSubmit() { // 同意
|
||||
var json = this.json
|
||||
json.actionFlag = 0
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskIds: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('提交成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmitNo() {
|
||||
if (this.commentText) {
|
||||
var json = this.json
|
||||
json.actionFlag = 1
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskIds: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('驳回成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请输入反馈意见')
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
let data = JSON.parse(res.mesg)
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.form.file = data.fileId
|
||||
this.form.fileName = data.fileName
|
||||
this.form.model = data.model
|
||||
this.form.modelName = data.modelName
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzdyStep4 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,335 @@
|
||||
<template>
|
||||
<div class="bzdyStep5">
|
||||
<!-- 标准调研流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准调研流程</template>
|
||||
<template slot="proNode">汇总调研结果</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="qbkwForm"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.title"
|
||||
placeholder="请输入调研标题"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-model="form.date"
|
||||
type="date"
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
style="display: none;"
|
||||
v-model="form.hzfileId"
|
||||
clearable
|
||||
></el-input>
|
||||
<div v-if="form.hzfileName" @click="fileUpload" class="fileClass">
|
||||
{{ form.hzfileName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
@click="fileUpload"
|
||||
size="mini">
|
||||
点击上传
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研信息</template>
|
||||
</ProcessTitle>
|
||||
<div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
tooltip-effect="dark"
|
||||
class="drag-table"
|
||||
style="width: 100%; flex: auto;"
|
||||
border
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
ref="selection"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="责任人"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="文件"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div @click="updateFile(scope.row.id)" class="fileClass">
|
||||
{{scope.row.fileName}}
|
||||
</div>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
|
||||
:before-upload="beginImportFile"
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {inboundLiaisonDetail} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "bzdyStep5",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
tableData: [],
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
form: {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
hzfileId: '',
|
||||
hzfileName: '',
|
||||
},
|
||||
formRules: {
|
||||
hzfileId: [
|
||||
{ required: true, message: '请上传汇总结果', trigger: 'change' },
|
||||
]
|
||||
},
|
||||
json: {},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile (fileId) {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
|
||||
return true
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess (response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.form.hzfileId = response.data.id
|
||||
this.form.hzfileName = response.data.name
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
fileUpload () {
|
||||
this.fileMadel = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
handleSave() {},
|
||||
handleSubmit() {
|
||||
this.$refs['qbkwForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
var json = this.json
|
||||
json.commentText = this.commentText
|
||||
json.hzfileId = this.form.hzfileId
|
||||
json.hzfileName = this.form.hzfileName
|
||||
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')
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
let data = JSON.parse(res.mesg)
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.tableData = data.responUserListMap
|
||||
this.form.hzfileId = data.hzfileId
|
||||
this.form.hzfileName = data.hzfileName
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzdyStep5 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,347 @@
|
||||
<template>
|
||||
<div class="bzdyStep6">
|
||||
<!-- 标准调研流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准调研流程</template>
|
||||
<template slot="proNode">责任人会签</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="qbkwForm"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.title"
|
||||
placeholder="请输入调研标题"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-model="form.date"
|
||||
type="date"
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
|
||||
{{ form.hzfileName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="会签意见" prop="texthq" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.texthq"-->
|
||||
<!-- placeholder="请输入审核意见"-->
|
||||
<!-- clearable-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研信息</template>
|
||||
</ProcessTitle>
|
||||
<div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
tooltip-effect="dark"
|
||||
class="drag-table"
|
||||
style="width: 100%; flex: auto;"
|
||||
border
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
ref="selection"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="责任人"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="文件"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div @click="updateFile(scope.row.id)" class="fileClass">
|
||||
{{scope.row.fileName}}
|
||||
</div>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-back
|
||||
approval
|
||||
@back="handleSubmitNo"
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@submit="handleSubmit"
|
||||
submitBTNText="同意"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
|
||||
:before-upload="beginImportFile"
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {inboundLiaisonDetail} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "bzdyStep6",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
tableData: [],
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
form: {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
hzfileId: '',
|
||||
hzfileName: '',
|
||||
texthq: ''
|
||||
},
|
||||
formRules: {
|
||||
texthq: [
|
||||
{ required: true, message: '请输入审核意见', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
json: {},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile (fileId) {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
|
||||
return true
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess (response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.form.hzfileId = response.data.id
|
||||
this.form.hzfileName = response.data.name
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
fileUpload () {
|
||||
this.fileMadel = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
handleSave() {},
|
||||
handleSubmit() {
|
||||
var json = this.json
|
||||
json.actionFlag = 0
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('提交成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmitNo() {
|
||||
if (this.commentText) {
|
||||
var json = this.json
|
||||
json.actionFlag = 1
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('驳回成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请输入反馈意见')
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
let data = JSON.parse(res.mesg)
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.tableData = data.responUserListMap
|
||||
this.form.hzfileName = data.hzfileName
|
||||
this.form.hzfileId = data.hzfileId
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzdyStep6 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,347 @@
|
||||
<template>
|
||||
<div class="bzdyStep7">
|
||||
<!-- 标准调研流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准调研流程</template>
|
||||
<template slot="proNode">标准法规部部长审核</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="qbkwForm"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.title"
|
||||
placeholder="请输入调研标题"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-model="form.date"
|
||||
type="date"
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
|
||||
{{ form.hzfileName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="审核意见" prop="textsh" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.textsh"-->
|
||||
<!-- placeholder="请输入审核意见"-->
|
||||
<!-- clearable-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研信息</template>
|
||||
</ProcessTitle>
|
||||
<div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
tooltip-effect="dark"
|
||||
class="drag-table"
|
||||
style="width: 100%; flex: auto;"
|
||||
border
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
ref="selection"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="责任人"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="文件"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div @click="updateFile(scope.row.id)" class="fileClass">
|
||||
{{scope.row.fileName}}
|
||||
</div>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-back
|
||||
approval
|
||||
@back="handleSubmitNo"
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@submit="handleSubmit"
|
||||
submitBTNText="同意"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
|
||||
:before-upload="beginImportFile"
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {inboundLiaisonDetail} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "bzdyStep7",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
tableData: [],
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
form: {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
hzfileId: '',
|
||||
hzfileName: '',
|
||||
textsh: ''
|
||||
},
|
||||
formRules: {
|
||||
textsh: [
|
||||
{ required: true, message: '请输入审核意见', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
json: {},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile (fileId) {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
|
||||
return true
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess (response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.form.hzfileId = response.data.id
|
||||
this.form.hzfileName = response.data.name
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
fileUpload () {
|
||||
this.fileMadel = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
handleSave() {},
|
||||
handleSubmit() {
|
||||
var json = this.json
|
||||
json.actionFlag = 0
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskIds: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('提交成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmitNo() {
|
||||
if (this.commentText) {
|
||||
var json = this.json
|
||||
json.commentText = this.commentText
|
||||
json.actionFlag = 1
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskIds: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('驳回成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请输入反馈意见')
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
let data = JSON.parse(res.mesg)
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.tableData = data.responUserListMap
|
||||
this.form.hzfileName = data.hzfileName
|
||||
this.form.hzfileId = data.hzfileId
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzdyStep7 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,347 @@
|
||||
<template>
|
||||
<div class="bzdyStep7">
|
||||
<!-- 标准调研流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准调研流程</template>
|
||||
<template slot="proNode">技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="qbkwForm"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.title"
|
||||
placeholder="请输入调研标题"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-model="form.date"
|
||||
type="date"
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
|
||||
{{ form.hzfileName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="审定意见" prop="textsd" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.textsd"-->
|
||||
<!-- placeholder="请输入审定意见"-->
|
||||
<!-- clearable-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研信息</template>
|
||||
</ProcessTitle>
|
||||
<div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
tooltip-effect="dark"
|
||||
class="drag-table"
|
||||
style="width: 100%; flex: auto;"
|
||||
border
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
ref="selection"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="责任人"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="文件"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div @click="updateFile(scope.row.id)" class="fileClass">
|
||||
{{scope.row.fileName}}
|
||||
</div>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-back
|
||||
approval
|
||||
@back="handleSubmitNo"
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@submit="handleSubmit"
|
||||
submitBTNText="同意"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
|
||||
:before-upload="beginImportFile"
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {inboundLiaisonDetail} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "bzdyStep7",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
tableData: [],
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
form: {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
hzfileId: '',
|
||||
hzfileName: '',
|
||||
textsd: ''
|
||||
},
|
||||
formRules: {
|
||||
textsd: [
|
||||
{ required: true, message: '请输入审定意见', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
json: {},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile (fileId) {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
|
||||
return true
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess (response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.form.hzfileId = response.data.id
|
||||
this.form.hzfileName = response.data.name
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
fileUpload () {
|
||||
this.fileMadel = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
handleSave() {},
|
||||
handleSubmit() {
|
||||
var json = this.json
|
||||
json.actionFlag = 0
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('提交成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmitNo() {
|
||||
if (this.commentText) {
|
||||
var json = this.json
|
||||
json.commentText = this.commentText
|
||||
json.actionFlag = 1
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('驳回成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请输入反馈意见')
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
let data = JSON.parse(res.mesg)
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.tableData = data.responUserListMap
|
||||
this.form.hzfileName = data.hzfileName
|
||||
this.form.hzfileId = data.hzfileId
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzdyStep7 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,347 @@
|
||||
<template>
|
||||
<div class="bzdyStep7">
|
||||
<!-- 标准调研流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准调研流程</template>
|
||||
<template slot="proNode">责任对接人审批</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="qbkwForm"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.title"
|
||||
placeholder="请输入调研标题"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-model="form.date"
|
||||
type="date"
|
||||
placeholder="请选择完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
|
||||
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
|
||||
{{ form.hzfileName }}
|
||||
</div>
|
||||
<div v-else>
|
||||
- -
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="批准意见" prop="textpz" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="form.textpz"-->
|
||||
<!-- placeholder="请输入批准意见"-->
|
||||
<!-- clearable-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研信息</template>
|
||||
</ProcessTitle>
|
||||
<div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
tooltip-effect="dark"
|
||||
class="drag-table"
|
||||
style="width: 100%; flex: auto;"
|
||||
border
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
ref="selection"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="责任人"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="文件"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div @click="updateFile(scope.row.id)" class="fileClass">
|
||||
{{scope.row.fileName}}
|
||||
</div>
|
||||
</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>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-back
|
||||
approval
|
||||
@back="handleSubmitNo"
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@submit="handleSubmit"
|
||||
submitBTNText="同意"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
|
||||
:before-upload="beginImportFile"
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {inboundLiaisonDetail} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "bzdyStep7",
|
||||
data() {
|
||||
return {
|
||||
commentText: '',
|
||||
tableData: [],
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
form: {
|
||||
title: '', // 调研标题
|
||||
date: '', // 完成时间
|
||||
hzfileId: '',
|
||||
hzfileName: '',
|
||||
textpz: ''
|
||||
},
|
||||
formRules: {
|
||||
textpz: [
|
||||
{ required: true, message: '请输入审核意见', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
json: {},
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileMadel: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
updateFile (fileId) {
|
||||
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile (file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
|
||||
return true
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess (response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.form.hzfileId = response.data.id
|
||||
this.form.hzfileName = response.data.name
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
fileUpload () {
|
||||
this.fileMadel = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
handleSave() {},
|
||||
handleSubmit() {
|
||||
var json = this.json
|
||||
json.actionFlag = 0
|
||||
json.commentText = this.commentText
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('提交成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmitNo() {
|
||||
if (this.commentText) {
|
||||
var json = this.json
|
||||
json.commentText = this.commentText
|
||||
json.actionFlag = 1
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
json: JSON.stringify(json),
|
||||
taskId: this.taskIds,
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}, {}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success('驳回成功')
|
||||
this.$router.push('/processCenter')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请输入反馈意见')
|
||||
}
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
let data = JSON.parse(res.mesg)
|
||||
this.form.title = data.title
|
||||
this.form.date = data.date
|
||||
this.json = data
|
||||
this.tableData = data.responUserListMap
|
||||
this.form.hzfileName = data.hzfileName
|
||||
this.form.hzfileId = data.hzfileId
|
||||
}).catch(e => {
|
||||
})
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzdyStep7 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.fileClass {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileClass:hover{
|
||||
color: #0c91e5;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -553,21 +553,19 @@
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<el-collapse accordion>
|
||||
<el-collapse-item title="意见填写">
|
||||
<div style="margin: 10px 0;">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
resize="none"
|
||||
placeholder="请输入意见"
|
||||
v-model="commentText">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
<el-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-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
|
||||
@@ -0,0 +1,451 @@
|
||||
<template>
|
||||
<div class="bzzqyjStep1">
|
||||
<!-- 标准征求意见流程-->
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">标准征求意见流程</template>
|
||||
<template slot="proNode">申请人发起流程</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<el-form
|
||||
ref="bzzqyjForm"
|
||||
:model="form"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="选择征求意见" class="add-form-item form-item-disabled">
|
||||
<div class="addButton">
|
||||
<el-button size="small" type="primary" @click="addZqyjList">选择征求意见</el-button>
|
||||
</div>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
|
||||
<el-select v-model="form.cid" placeholder="请选择标准编号">
|
||||
<el-option label="GB 472726" value="1"></el-option>
|
||||
<el-option label="GB/T 8453291" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
|
||||
<el-select v-model="form.cname" placeholder="请选择标准名称">
|
||||
<el-option label="标准1" value="1"></el-option>
|
||||
<el-option label="标准2" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
v-model="form.endTime"
|
||||
type="date"
|
||||
placeholder="请选择结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="Form"
|
||||
:model="roleForm"
|
||||
class="label-input-form">
|
||||
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="startUserName" style="margin-bottom: 0">
|
||||
<h4>流程发起人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.startUser" style="display: none;"/>
|
||||
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="选择责任人" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||
<h4>责任对接人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.dockUser" style="display: none;"/>
|
||||
<el-input
|
||||
v-model="roleForm.dockUserName"
|
||||
placeholder="选择责任人"
|
||||
@click.native="choiceZRR('dockUser', '选择责任人', roleForm.dockUser)">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="填写意见" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="mainUserName" style="margin-bottom: 0">
|
||||
<h4>责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.mainUser" style="display: none;"/>
|
||||
<el-input
|
||||
v-model="roleForm.mainUserName"
|
||||
placeholder="选择责任人·"
|
||||
@click.native="choiceZRR('mainUser', '选择责任人', roleForm.mainUser)"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="意见汇总并发起会签" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="engineerUserName" style="margin-bottom: 0">
|
||||
<h4>标准法规工程师</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.engineerUser" style="display: none;"/>
|
||||
<el-input
|
||||
v-model="roleForm.engineerUserName"
|
||||
placeholder="选择标准法规工程师"
|
||||
@click.native="choiceZRR('engineerUser', '选择标准法规工程师', roleForm.engineerUser)"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="审核" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="checkUserName" style="margin-bottom: 0">
|
||||
<h4>责任对接人,标准法规部门负责人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.checkUser" style="display: none;"/>
|
||||
<el-input
|
||||
v-model="roleForm.checkUserName"
|
||||
placeholder="选择责任对接人,标准法规部门负责人"
|
||||
@click.native="choiceZRR('checkUser', '选择责任对接人,标准法规部门负责人', roleForm.checkUserName)"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-drawer
|
||||
title="标准征求意见数据库"
|
||||
:visible.sync="listModel"
|
||||
size="900px"
|
||||
custom-class="demo-drawer"
|
||||
>
|
||||
<div class="standardForComments">
|
||||
<!-- 顶部工具栏 -->
|
||||
<table-tools-bar>
|
||||
<div slot="left">
|
||||
<div class="search-area">
|
||||
<el-form :model="standCommonlySearch" inline class="label-input-form">
|
||||
<el-formItem label="类别" class="search-item">
|
||||
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>
|
||||
</el-formItem>
|
||||
<el-formItem label="关键字" class="search-item">
|
||||
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>
|
||||
</el-formItem>
|
||||
<el-formItem label="开始日期" class="search-item">
|
||||
<el-datePicker v-model="standCommonlySearch.start" :editable="false"
|
||||
placeholder="请选择开始日期"></el-datePicker>
|
||||
</el-formItem>
|
||||
<el-formItem label="结束日期" class="search-item">
|
||||
<el-datePicker v-model="standCommonlySearch.end" :editable="false"
|
||||
placeholder="请选择结束日期"></el-datePicker>
|
||||
</el-formItem>
|
||||
<el-formItem class="search-item btn-box">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
|
||||
@click="sarStandCompareHisInfo">查询</el-button>
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
size="mini"
|
||||
@click="clearSearchStand">清空</el-button>
|
||||
</el-formItem>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</table-tools-bar>
|
||||
<div class="content">
|
||||
<div class="table-wrap">
|
||||
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standInfoList"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;padding:0 0 20px 0;"
|
||||
height="100%"
|
||||
border
|
||||
@selection-change="handleSelection"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column prop="category" label="标准" align="center"/>
|
||||
<el-table-column prop="cname" label="标准名称/政策名称" align="center"/>
|
||||
<el-table-column prop="endTime" label="征求意见周期" align="center"/>
|
||||
<el-table-column prop="startTime" label="上传时间" align="center"/>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<loading :loading="spinShow">数据加载中……</loading>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button size="mini" @click="closeDrawer">取消</el-button>
|
||||
<el-button type="primary" size="mini" @click="enterDrawer">带入</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
|
||||
export default {
|
||||
name: "bzzqyjStep1",
|
||||
data() {
|
||||
return {
|
||||
textarea: '', // 意见
|
||||
title: '', // 新增抽屉标题
|
||||
listModel: false, // 新增抽屉开关
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
// 基础信息form表单
|
||||
form: {
|
||||
cid: '', // 编号
|
||||
endTime: '', // 结束日期
|
||||
cname: '', // 名称
|
||||
},
|
||||
// 标准征求意见数据可库
|
||||
standCommonlySearch: {
|
||||
categorg: '',
|
||||
cname: '',
|
||||
start: '',
|
||||
end: '',
|
||||
page: 1,
|
||||
size: this.$store.getters.userInfo.configContent
|
||||
},
|
||||
spinShow: false,
|
||||
standInfoList: [],
|
||||
tableHeight: null,
|
||||
total: 0,
|
||||
selectedList: [],
|
||||
data: [],
|
||||
roleForm: {
|
||||
startUserName: this.$store.getters.userInfo.userName,
|
||||
startUser: this.$store.getters.userInfo.userId,
|
||||
dockUser: '',
|
||||
dockUserName: '',
|
||||
mainUser: '',
|
||||
mainUserName: '',
|
||||
engineerUser: '',
|
||||
engineerUserName: '',
|
||||
checkUser: '',
|
||||
checkUserName: '',
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
mounted () {
|
||||
this.sarStandCompareHis()
|
||||
this.tableHeight = $('.content').height() - 44
|
||||
window.onresize = () => {
|
||||
this.tableHeight = $('.content').height() - 44
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
addZqyjList() {
|
||||
this.title = '标准征求意见库'
|
||||
this.listModel = true
|
||||
},
|
||||
|
||||
/** 标准征求意见库方法*
|
||||
* **********************************************/
|
||||
// 清空
|
||||
clearSearchStand () {
|
||||
this.standCommonlySearch.page = 1
|
||||
this.standCommonlySearch.start = ''
|
||||
this.standCommonlySearch.end = ''
|
||||
this.standCommonlySearch.categorg = ''
|
||||
this.standCommonlySearch.cname = ''
|
||||
this.sarStandCompareHis()
|
||||
},
|
||||
// 搜索
|
||||
sarStandCompareHisInfo() {
|
||||
this.splitInfoPage = 1
|
||||
this.sarStandCompareHis()
|
||||
},
|
||||
// 查询表格
|
||||
sarStandCompareHis () {
|
||||
this.spinShow = true
|
||||
var form = this.standCommonlySearch
|
||||
this.$http.get('slrs/sar-public-idea/SelectAllPage', form, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standInfoList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.spinShow = false
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
pageChange (page) {
|
||||
this.standCommonlySearch.page = page
|
||||
this.sarStandCompareHis()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.$store.getters.userInfo.configContent = pageSize
|
||||
this.standCommonlySearch.size = pageSize
|
||||
this.sarStandCompareHis()
|
||||
},
|
||||
/** 选择带入数据的方法操作
|
||||
* */
|
||||
handleSelection(data) {
|
||||
this.selectedList = [];
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
this.selectedList.push(data[i].id);
|
||||
}
|
||||
},
|
||||
closeDrawer() {
|
||||
this.listModel = false
|
||||
},
|
||||
enterDrawer() {
|
||||
if (this.selectedList.length === 1) {
|
||||
let deposit = new Map();
|
||||
this.standInfoList.forEach(item => {
|
||||
deposit.set(item.id, item);
|
||||
});
|
||||
let bringData = [];
|
||||
for (let i = 0; i < this.selectedList.length; i++) {
|
||||
bringData.push(deposit.get(this.selectedList[i]));
|
||||
}
|
||||
console.log(bringData)
|
||||
this.form.cid = bringData[0].cid
|
||||
this.form.cname = bringData[0].cname;
|
||||
this.form.endTime = bringData[0].endTime;
|
||||
this.listModel = false;
|
||||
} else if (this.selectedList.length > 1) {
|
||||
this.$message.warning("只能选择一条数据进行带入");
|
||||
} else {
|
||||
this.$message.warning("请选择一条数据进行带入");
|
||||
}
|
||||
},
|
||||
/*** **********************************************/
|
||||
|
||||
/** 流程节点负责人的选择 *****************************/
|
||||
choiceZRR() {
|
||||
// this.choice
|
||||
},
|
||||
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
// 流程也的提交按钮和保存按钮操作
|
||||
handleSave() {},
|
||||
handleSubmit() {}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
@import '~@/assets/styles/mixins';
|
||||
.bzzqyjStep1 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
}
|
||||
.standardForComments {
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
.el-divider--horizontal {
|
||||
display: block;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
flex-direction: column;
|
||||
.action-bar {
|
||||
margin-bottom: 5px;
|
||||
padding: 0;
|
||||
}
|
||||
.content {
|
||||
flex: auto;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.table-wrap {
|
||||
flex: auto;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
& > .pagination {
|
||||
position: static;
|
||||
/deep/.pagination-slot {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "step2"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "step3"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "step4"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "step5"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,525 @@
|
||||
<template>
|
||||
<div class="wfhxzgStep1">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">未符合项整改流程</template>
|
||||
<template slot="proNode">申请人发起流程</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '1'">
|
||||
<div style="flex: auto; overflow: auto;">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="tableTitle">
|
||||
<div class="tableButton">
|
||||
<el-button plain class="common-button-primary" size="mini" @click="addList">添加</el-button>
|
||||
<el-button plain class="common-button-primary" size="mini" @click="deleteList">批量删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<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="standId" label="标准号/标准名称"/>
|
||||
<el-table-column prop="productName" label="项目名称"/>
|
||||
<el-table-column prop="itemsNum" label="条款号"/>
|
||||
<el-table-column prop="itemsName" label="条款名称"/>
|
||||
<el-table-column prop="planCloseTime" label="整改完成时间"/>
|
||||
<el-table-column prop="responsibleUnit" label="责任部门"/>
|
||||
<el-table-column prop="dutyEngineer" label="责任工程师"/>
|
||||
</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="textarea">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<div class="content" v-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="Form"
|
||||
:model="roleForm"
|
||||
:rules="roleFormRules"
|
||||
class="label-input-form">
|
||||
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="startUserName" style="margin-bottom: 0">
|
||||
<h4>流程发起人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="下发标准法规工程师" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||
<h4>标准法规工程师</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.dockUserName" placeholder="选择标准法规工程师" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="确认分发责任人" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.ministerUserName" placeholder="选择分发责任人" @click.native="choiceZRR('ministerUser', '选择分发责任人', roleForm.ministerUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="负责人上传材料" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="directorUserName" style="margin-bottom: 0">
|
||||
<h4>负责人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.directorUserName" placeholder="选择负责人" @click.native="choiceZRR('directorUser', '选择负责人', roleForm.directorUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 添加标准抽屉-->
|
||||
<el-drawer
|
||||
title="未符合项整改数据库"
|
||||
:visible.sync="standModel"
|
||||
size="900px"
|
||||
custom-class="demo-drawer"
|
||||
>
|
||||
<div class="search-area">
|
||||
<div class="content-top">
|
||||
<el-form :modal="nonConformitySearch" inline class="label-input-form">
|
||||
<el-form-item label="标准号/标准名称" class="search-item">
|
||||
<el-input v-model="nonConformitySearch.standId"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" class="search-item">
|
||||
<el-input v-model="nonConformitySearch.productName"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="责任部门" class="search-item">
|
||||
<el-input v-model="nonConformitySearch.responsibleUnit" v-show="false" />
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-dept-popper"
|
||||
trigger="click"
|
||||
:value="false"
|
||||
>
|
||||
<el-input
|
||||
slot="reference"
|
||||
v-model="nonConformitySearch.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('')">
|
||||
查询
|
||||
</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>
|
||||
</div>
|
||||
<el-table
|
||||
:data="unqualidiedData"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
height="100%"
|
||||
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="selectThree"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column prop="standId" label="标准号/标准名称"/>
|
||||
<el-table-column prop="productName" label="项目名称"/>
|
||||
<el-table-column prop="itemsNum" label="条款号"/>
|
||||
<el-table-column prop="itemsName" label="条款名称"/>
|
||||
<el-table-column prop="planCloseTime" label="整改完成时间"/>
|
||||
<el-table-column prop="responsibleUnit" label="责任部门"/>
|
||||
<el-table-column prop="dutyEngineer" label="责任工程师"/>
|
||||
</el-table>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button size="mini" @click="closeDrawer">取消</el-button>
|
||||
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-drawer
|
||||
:title="drawerTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px">
|
||||
<el-tree
|
||||
v-if="modalshowflag"
|
||||
style="height: 100%;"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox
|
||||
ref="tree">
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {interfaceUrl} from "@/sysConfig";
|
||||
|
||||
export default {
|
||||
name: "step1",
|
||||
data() {
|
||||
return {
|
||||
textarea: '', // 意见
|
||||
title: '', // 新增编辑抽屉标题
|
||||
ListModel: false, // 新增编辑抽屉开关
|
||||
nonConformitySearch: {
|
||||
standId: '', // 标准号/名称
|
||||
productName: '', // 项目名称
|
||||
responsibleUnit: '' // 责任部门
|
||||
},
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
dataList: [{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
// 责任部门
|
||||
zNodesSItem: [],
|
||||
standModel: false,
|
||||
unqualidiedData: [{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
selectedList: [], //未整改项的选择框
|
||||
roleForm: {
|
||||
startUserName: this.$store.getters.userInfo.userName,
|
||||
startUser: this.$store.getters.userInfo.userId,
|
||||
},
|
||||
roleFormRules: {
|
||||
},
|
||||
nodeList: [],
|
||||
drawerTitle: '', //drawer标题
|
||||
modalshowflag: false, // drawer开关
|
||||
treeData: [], // 人员数据
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
//点击新增事件
|
||||
addList() {
|
||||
this.$http.get("sarStandUnqualified/sar-stand-unqualified", "", {
|
||||
...this.nonConformitySearch,
|
||||
current: this.pageNo,
|
||||
size: this.$store.getters.userInfo.configContent
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.unqualidiedData = res.data.records
|
||||
this.total = res.data.total
|
||||
}, e => {
|
||||
});
|
||||
this.standModel = true;
|
||||
},
|
||||
|
||||
// 点击批量删除事件
|
||||
deleteList() {
|
||||
if (this.selectList.length < 1) {
|
||||
this.$message.warning("请选择一条数据进行删除");
|
||||
} else {
|
||||
this.$confirm("您确认删除这些数据?", "提示", {
|
||||
confirmButtonText: "确认",
|
||||
confirmButtonClass: "common-button-primary",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
let exits = [];
|
||||
this.selectList.map(item => {
|
||||
let index;
|
||||
index = this.dataList.findIndex(items => {
|
||||
return items.id = item;
|
||||
});
|
||||
if (index > -1) {
|
||||
this.dataList.splice(index, 1);
|
||||
}
|
||||
exits.push(item);
|
||||
});
|
||||
this.selectList = [];
|
||||
}).catch(() => {
|
||||
});
|
||||
}
|
||||
},
|
||||
//选择标准取消事件
|
||||
closeDrawer() {
|
||||
this.ListModel = false;
|
||||
},
|
||||
//未符合项整合确定事件
|
||||
OkDrawer() {
|
||||
if (this.selectedList.length !== 0) {
|
||||
let deposit = new Map();
|
||||
this.unqualidiedData.forEach(item => {
|
||||
deposit.set(item.id, item);
|
||||
});
|
||||
let bringData = [];
|
||||
for (let i = 0; i < this.selectedList.length; i++) {
|
||||
bringData.push(deposit.get(this.selectedList[i]));
|
||||
}
|
||||
this.dataList.standId = bringData[0].standId
|
||||
this.dataList.productName = bringData[0].productName;
|
||||
this.dataList.itemsNum = bringData[0].itemsNum;
|
||||
this.dataList.itemsName = bringData[0].itemsName;
|
||||
this.dataList.planCloseTime = bringData[0].planCloseTime;
|
||||
this.dataList.responsibleUnit = bringData[0].responsibleUnit;
|
||||
this.dataList.dutyEngineer = bringData[0].dutyEngineer;
|
||||
this.ListModel = false;
|
||||
} else {
|
||||
this.$message.warning("请选择至少一条数据进行带入");
|
||||
}
|
||||
},
|
||||
selectThree() {},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
|
||||
// 保存按钮
|
||||
handleSave() {},
|
||||
// 提交按钮
|
||||
handleSubmit() {},
|
||||
|
||||
// 获取流程节点数据
|
||||
getTree () {
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
|
||||
this.treeData = res.data
|
||||
})
|
||||
},
|
||||
// 流程阶段负责人选择
|
||||
choiceZRR (type, title, id) {
|
||||
this.nodeList = []
|
||||
this.nodeList.push(id)
|
||||
this.type = type
|
||||
this.drawerTitle = title
|
||||
this.modalshowflag = true
|
||||
},
|
||||
drawerCheck (data) {
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if(getlist.length == 1) {
|
||||
this.roleRow = getlist[0]
|
||||
}else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
|
||||
}
|
||||
},
|
||||
// 流程节点负责人抽屉保存按钮
|
||||
saveUserInfo () {
|
||||
if (this.type === 'dockUser') {
|
||||
this.roleForm.dockUser = this.roleRow.id
|
||||
this.roleForm.dockUserName = this.roleRow.name
|
||||
} else if (this.type === 'ministerUser') {
|
||||
this.roleForm.ministerUser = this.roleRow.id
|
||||
this.roleForm.ministerUserName = this.roleRow.name
|
||||
} else if (this.type === 'directorUser') {
|
||||
this.roleForm.directorUser = this.roleRow.id
|
||||
this.roleForm.directorUserName = this.roleRow.name
|
||||
} else if (this.type === 'presidentUser') {
|
||||
this.roleForm.presidentUser = this.roleRow.id
|
||||
this.roleForm.presidentUserName = this.roleRow.name
|
||||
}
|
||||
this.modalshowflag = false
|
||||
},
|
||||
// 流程节点负责人抽屉取消按钮
|
||||
cancleUserInfo () {
|
||||
this.modalshowflag = false
|
||||
},
|
||||
//未整改项抽屉中的查询按钮
|
||||
getTableByPage() {
|
||||
this.addList()
|
||||
},
|
||||
// 清空 查询条件
|
||||
clearAllSearch (search = true) {
|
||||
this.nonConformitySearch = {
|
||||
standId: '',
|
||||
productName: '',
|
||||
responsibleUnit: ''
|
||||
}
|
||||
this.getTableByPage()
|
||||
},
|
||||
// 分页事件
|
||||
pageChange (page) {
|
||||
this.pageNo = page
|
||||
this.getTableByPage()
|
||||
},
|
||||
pageSizeChange () {
|
||||
this.getTableByPage()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.wfhxzgStep1 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content-center {
|
||||
padding: 10px 0px 10px 10px;
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,531 @@
|
||||
<template>
|
||||
<div class="wfhxzgStep2">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">未符合项整改流程</template>
|
||||
<template slot="proNode">分发负责人流程</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '1'">
|
||||
<div style="flex: auto;">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<el-form :modal="dataList" inline class="label-input-form">
|
||||
<el-form-item label="标准号/标准名称" class="search-item">
|
||||
<el-input v-model="dataList.standId"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" class="search-item">
|
||||
<el-input v-model="dataList.productName"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="责任部门" class="search-item">
|
||||
<el-input v-model="dataList.responsibleUnit" v-show="false" />
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-dept-popper"
|
||||
trigger="click"
|
||||
:value="false"
|
||||
>
|
||||
<el-input
|
||||
slot="reference"
|
||||
v-model="dataList.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('dataList')">
|
||||
查询
|
||||
</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">
|
||||
<el-button
|
||||
style="text-align: end"
|
||||
class="common-button-default"
|
||||
size="small"
|
||||
type="primary"
|
||||
@click="dutyEngineerList">
|
||||
批量分发负责人
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
ref="multipleTable"
|
||||
@select="handleSelectionChange"
|
||||
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="standId" label="标准号/标准名称"/>
|
||||
<el-table-column prop="productName" label="项目名称"/>
|
||||
<el-table-column prop="itemsNum" label="条款号"/>
|
||||
<el-table-column prop="itemsName" label="条款名称"/>
|
||||
<el-table-column prop="planCloseTime" label="整改完成时间"/>
|
||||
<el-table-column prop="responsibleUnit" label="责任部门"/>
|
||||
<el-table-column prop="dutyEngineer" label="责任工程师"/>
|
||||
<el-table-column label="选择分发责任人" prop="dutyPeople">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.show">
|
||||
<el-input v-model="scope.row.dutyPeople" size="mini" placeholder="请输入内容" @click.native="choiceDuty"></el-input>
|
||||
</span>
|
||||
<span v-else>{{scope.row.dutyPeople}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
|
||||
</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-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="Form"
|
||||
:model="roleForm"
|
||||
:rules="roleFormRules"
|
||||
class="label-input-form">
|
||||
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="startUserName" style="margin-bottom: 0">
|
||||
<h4>流程发起人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="下发标准法规工程师" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||
<h4>标准法规工程师</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.dockUserName" placeholder="选择标准法规工程师" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="确认分发责任人" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.ministerUserName" placeholder="选择分发责任人" @click.native="choiceZRR('ministerUser', '选择分发责任人', roleForm.ministerUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="负责人上传材料" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="directorUserName" style="margin-bottom: 0">
|
||||
<h4>负责人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.directorUserName" placeholder="选择负责人" @click.native="choiceZRR('directorUser', '选择负责人', roleForm.directorUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-drawer
|
||||
:title="drawerTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px">
|
||||
<el-tree
|
||||
v-if="modalshowflag"
|
||||
style="height: 100%;"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox
|
||||
ref="tree">
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {interfaceUrl} from "@/sysConfig";
|
||||
|
||||
export default {
|
||||
name: "step2",
|
||||
data() {
|
||||
return {
|
||||
textarea: '', // 意见
|
||||
title: '', // 新增编辑抽屉标题
|
||||
ListModel: false, // 新增编辑抽屉开关
|
||||
nonConformitySearch: {
|
||||
standId: '', // 标准号/名称
|
||||
productName: '', // 项目名称
|
||||
responsibleUnit: '' // 责任部门
|
||||
},
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
dataList: [],
|
||||
// 新增选择分发责任人数组
|
||||
multipleSelection: [],
|
||||
// 当前页数
|
||||
pageNo: 1,
|
||||
total: 0,
|
||||
myLoading: false,
|
||||
// 责任部门
|
||||
zNodesSItem: [],
|
||||
unqualidiedData: [{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
clearSelection: false,
|
||||
selectedList: [], //未整改项的选择框
|
||||
roleForm: {
|
||||
startUserName: this.$store.getters.userInfo.userName,
|
||||
startUser: this.$store.getters.userInfo.userId,
|
||||
},
|
||||
roleFormRules: {
|
||||
},
|
||||
nodeList: [],
|
||||
drawerTitle: '', //drawer标题
|
||||
modalshowflag: false, // drawer开关
|
||||
treeData: [], // 人员数据
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
this.getTree()
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
this.dataList = [
|
||||
{
|
||||
standId: '1',
|
||||
productName: '1',
|
||||
itemsNum: '1',
|
||||
itemsName: '1',
|
||||
planCloseTime: '1',
|
||||
responsibleUnit: '1',
|
||||
dutyEngineer: '1',
|
||||
dutyPeople: '',
|
||||
},{
|
||||
standId: '332',
|
||||
productName: '333',
|
||||
itemsNum: '33',
|
||||
itemsName: '33',
|
||||
planCloseTime: '33',
|
||||
responsibleUnit: '33',
|
||||
dutyEngineer: '33',
|
||||
dutyPeople: ''
|
||||
},{
|
||||
standId: '312`',
|
||||
productName: '31312',
|
||||
itemsNum: '31`2',
|
||||
itemsName: '312`1`',
|
||||
planCloseTime: '321`3`2',
|
||||
responsibleUnit: '312`123`',
|
||||
dutyEngineer: '312123',
|
||||
dutyPeople: '121'
|
||||
},{
|
||||
standId: '32123',
|
||||
productName: '32132',
|
||||
itemsNum: '312321',
|
||||
itemsName: '3123',
|
||||
planCloseTime: '3123',
|
||||
responsibleUnit: '3123',
|
||||
dutyEngineer: '3123',
|
||||
dutyPeople: ''
|
||||
},
|
||||
]
|
||||
},
|
||||
getList() {
|
||||
this.myLoading.loadData = true
|
||||
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
|
||||
...this.nonConformitySearch,
|
||||
current: this.pageNo,
|
||||
size: this.$store.getters.userInfo.configContent
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.myLoading.loadData = false
|
||||
this.nonList = res.data.records
|
||||
this.total = res.data.total
|
||||
}, e => {
|
||||
this.myLoading.loadData = false
|
||||
})
|
||||
},
|
||||
|
||||
// 批量选择分发责任人
|
||||
dutyEngineerList() {
|
||||
if (this.multipleSelection.length === 0) {
|
||||
this.$message.warning("请选择至少一条数据进行分发责任人");
|
||||
} else {
|
||||
this.multipleSelection.map((i, index)=> {
|
||||
i.show = true
|
||||
this.$set(this.dataList, i, index)
|
||||
})
|
||||
}
|
||||
},
|
||||
// 选择勾选项的集合
|
||||
handleSelectionChange(value) {
|
||||
this.multipleSelection = value
|
||||
console.log(value)
|
||||
},
|
||||
// 选择分发责任人时
|
||||
choiceDuty(type, title, id) {
|
||||
this.nodeList = []
|
||||
this.nodeList.push(id)
|
||||
this.drawerTitle = title
|
||||
this.modalshowflag = true
|
||||
},
|
||||
selectPeople(row) {
|
||||
this.modalshowflag = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
|
||||
// 保存按钮
|
||||
handleSave() {},
|
||||
// 提交按钮
|
||||
handleSubmit() {},
|
||||
|
||||
// 获取流程节点数据
|
||||
getTree () {
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
|
||||
this.treeData = res.data
|
||||
})
|
||||
},
|
||||
// 流程阶段负责人选择
|
||||
choiceZRR (type, title, id) {
|
||||
this.nodeList = []
|
||||
this.nodeList.push(id)
|
||||
this.type = type
|
||||
this.drawerTitle = title
|
||||
this.modalshowflag = true
|
||||
},
|
||||
drawerCheck (data) {
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if(getlist.length == 1) {
|
||||
this.roleRow = getlist[0]
|
||||
}else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
|
||||
}
|
||||
},
|
||||
// 流程节点负责人抽屉保存按钮
|
||||
saveUserInfo () {
|
||||
// 选取负责人时的操作
|
||||
for (let i = 0; i < this.multipleSelection.length; i++ ) {
|
||||
this.multipleSelection[i].dutyPeople = this.roleRow.name
|
||||
for (let b = 0; b < this.multipleSelection.length; b++) {
|
||||
this.multipleSelection[b].dutyPeople = this.multipleSelection[i].dutyPeople
|
||||
this.dataList.forEach(val=> {
|
||||
val.show = false
|
||||
})
|
||||
}
|
||||
this.multipleSelection = []
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
}
|
||||
if (this.type === 'dockUser') {
|
||||
this.roleForm.dockUser = this.roleRow.id
|
||||
this.roleForm.dockUserName = this.roleRow.name
|
||||
} else if (this.type === 'ministerUser') {
|
||||
this.roleForm.ministerUser = this.roleRow.id
|
||||
this.roleForm.ministerUserName = this.roleRow.name
|
||||
} else if (this.type === 'directorUser') {
|
||||
this.roleForm.directorUser = this.roleRow.id
|
||||
this.roleForm.directorUserName = this.roleRow.name
|
||||
} else if (this.type === 'presidentUser') {
|
||||
this.roleForm.presidentUser = this.roleRow.id
|
||||
this.roleForm.presidentUserName = this.roleRow.name
|
||||
}
|
||||
this.modalshowflag = false
|
||||
},
|
||||
// 流程节点负责人抽屉取消按钮
|
||||
cancleUserInfo () {
|
||||
this.modalshowflag = false
|
||||
},
|
||||
//未整改项抽屉中的查询按钮
|
||||
getTableByPage() {
|
||||
},
|
||||
// 清空 查询条件
|
||||
clearAllSearch (search = true) {
|
||||
this.nonConformitySearch = {
|
||||
standId: '',
|
||||
productName: '',
|
||||
responsibleUnit: ''
|
||||
}
|
||||
this.getTableByPage()
|
||||
},
|
||||
// 分页事件
|
||||
pageChange (page) {
|
||||
this.pageNo = page
|
||||
this.getTableByPage()
|
||||
},
|
||||
pageSizeChange () {
|
||||
this.getTableByPage()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.wfhxzgStep2 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content-center {
|
||||
padding: 10px 0px 10px 10px;
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,452 @@
|
||||
<template>
|
||||
<div class="wfhxzgStep3">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">未符合项整改流程</template>
|
||||
<template slot="proNode">确认负责人流程</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '1'">
|
||||
<div style="flex: auto;">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<el-form :modal="dataList" inline class="label-input-form">
|
||||
<el-form-item label="标准号/标准名称" class="search-item">
|
||||
<el-input v-model="dataList.standId"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" class="search-item">
|
||||
<el-input v-model="dataList.productName"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="责任部门" class="search-item">
|
||||
<el-input v-model="dataList.responsibleUnit" v-show="false" />
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-dept-popper"
|
||||
trigger="click"
|
||||
:value="false"
|
||||
>
|
||||
<el-input
|
||||
slot="reference"
|
||||
v-model="dataList.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('dataList')">
|
||||
查询
|
||||
</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
|
||||
: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="standId" label="标准号/标准名称"/>
|
||||
<el-table-column prop="productName" label="项目名称"/>
|
||||
<el-table-column prop="itemsNum" label="条款号"/>
|
||||
<el-table-column prop="itemsName" label="条款名称"/>
|
||||
<el-table-column prop="planCloseTime" label="整改完成时间"/>
|
||||
<el-table-column prop="responsibleUnit" label="责任部门"/>
|
||||
<el-table-column prop="dutyEngineer" label="责任工程师"/>
|
||||
<el-table-column label="选择责任人">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" size="small" @click="selectPeople(scope.row)">选择责任人</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
|
||||
</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-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="Form"
|
||||
:model="roleForm"
|
||||
:rules="roleFormRules"
|
||||
class="label-input-form">
|
||||
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="startUserName" style="margin-bottom: 0">
|
||||
<h4>流程发起人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="下发标准法规工程师" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||
<h4>标准法规工程师</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.dockUserName" placeholder="选择标准法规工程师" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="确认分发责任人" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.ministerUserName" placeholder="选择分发责任人" @click.native="choiceZRR('ministerUser', '选择分发责任人', roleForm.ministerUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="负责人上传材料" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="directorUserName" style="margin-bottom: 0">
|
||||
<h4>负责人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.directorUserName" placeholder="选择负责人" @click.native="choiceZRR('directorUser', '选择负责人', roleForm.directorUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.presidentUserName" placeholder="选择负责人" @click.native="choiceZRR('presidentUser', '选择负责人', roleForm.presidentUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-drawer
|
||||
:title="drawerTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px">
|
||||
<el-tree
|
||||
v-if="modalshowflag"
|
||||
style="height: 100%;"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox
|
||||
ref="tree">
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {interfaceUrl} from "@/sysConfig";
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
data() {
|
||||
return {
|
||||
textarea: '', // 意见
|
||||
title: '', // 新增编辑抽屉标题
|
||||
ListModel: false, // 新增编辑抽屉开关
|
||||
nonConformitySearch: {
|
||||
standId: '', // 标准号/名称
|
||||
productName: '', // 项目名称
|
||||
responsibleUnit: '' // 责任部门
|
||||
},
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
dataList: [
|
||||
{
|
||||
standId: '1',
|
||||
productName: '1',
|
||||
itemsNum: '1',
|
||||
itemsName: '1',
|
||||
planCloseTime: '1',
|
||||
responsibleUnit: '1',
|
||||
dutyEngineer: '1'
|
||||
},{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
// 当前页数
|
||||
pageNo: 1,
|
||||
total: 0,
|
||||
myLoading: false,
|
||||
// 责任部门
|
||||
zNodesSItem: [],
|
||||
unqualidiedData: [{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
selectedList: [], //未整改项的选择框
|
||||
roleForm: {
|
||||
startUserName: this.$store.getters.userInfo.userName,
|
||||
startUser: this.$store.getters.userInfo.userId,
|
||||
},
|
||||
roleFormRules: {
|
||||
},
|
||||
nodeList: [],
|
||||
drawerTitle: '', //drawer标题
|
||||
modalshowflag: false, // drawer开关
|
||||
treeData: [], // 人员数据
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.myLoading.loadData = true
|
||||
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
|
||||
...this.nonConformitySearch,
|
||||
current: this.pageNo,
|
||||
size: this.$store.getters.userInfo.configContent
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.myLoading.loadData = false
|
||||
this.nonList = res.data.records
|
||||
this.total = res.data.total
|
||||
}, e => {
|
||||
this.myLoading.loadData = false
|
||||
})
|
||||
},
|
||||
|
||||
selectPeople(row) {
|
||||
this.modalshowflag = true
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
|
||||
// 保存按钮
|
||||
handleSave() {},
|
||||
// 提交按钮
|
||||
handleSubmit() {},
|
||||
|
||||
// 获取流程节点数据
|
||||
getTree () {
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
|
||||
this.treeData = res.data
|
||||
})
|
||||
},
|
||||
// 流程阶段负责人选择
|
||||
choiceZRR (type, title, id) {
|
||||
this.nodeList = []
|
||||
this.nodeList.push(id)
|
||||
this.type = type
|
||||
this.drawerTitle = title
|
||||
this.modalshowflag = true
|
||||
},
|
||||
drawerCheck (data) {
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if(getlist.length == 1) {
|
||||
this.roleRow = getlist[0]
|
||||
}else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
|
||||
}
|
||||
},
|
||||
// 流程节点负责人抽屉保存按钮
|
||||
saveUserInfo () {
|
||||
if (this.type === 'dockUser') {
|
||||
this.roleForm.dockUser = this.roleRow.id
|
||||
this.roleForm.dockUserName = this.roleRow.name
|
||||
} else if (this.type === 'ministerUser') {
|
||||
this.roleForm.ministerUser = this.roleRow.id
|
||||
this.roleForm.ministerUserName = this.roleRow.name
|
||||
} else if (this.type === 'directorUser') {
|
||||
this.roleForm.directorUser = this.roleRow.id
|
||||
this.roleForm.directorUserName = this.roleRow.name
|
||||
} else if (this.type === 'presidentUser') {
|
||||
this.roleForm.presidentUser = this.roleRow.id
|
||||
this.roleForm.presidentUserName = this.roleRow.name
|
||||
}
|
||||
this.modalshowflag = false
|
||||
},
|
||||
// 流程节点负责人抽屉取消按钮
|
||||
cancleUserInfo () {
|
||||
this.modalshowflag = false
|
||||
},
|
||||
//未整改项抽屉中的查询按钮
|
||||
getTableByPage() {
|
||||
},
|
||||
// 清空 查询条件
|
||||
clearAllSearch (search = true) {
|
||||
this.nonConformitySearch = {
|
||||
standId: '',
|
||||
productName: '',
|
||||
responsibleUnit: ''
|
||||
}
|
||||
this.getTableByPage()
|
||||
},
|
||||
// 分页事件
|
||||
pageChange (page) {
|
||||
this.pageNo = page
|
||||
this.getTableByPage()
|
||||
},
|
||||
pageSizeChange () {
|
||||
this.getTableByPage()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.wfhxzgStep3 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content-center {
|
||||
padding: 10px 0px 10px 10px;
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,452 @@
|
||||
<template>
|
||||
<div class="wfhxzgStep4">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">未符合项整改流程</template>
|
||||
<template slot="proNode">负责人上传佐证</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '1'">
|
||||
<div style="flex: auto;">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<el-form :modal="dataList" inline class="label-input-form">
|
||||
<el-form-item label="标准号/标准名称" class="search-item">
|
||||
<el-input v-model="dataList.standId"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" class="search-item">
|
||||
<el-input v-model="dataList.productName"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="责任部门" class="search-item">
|
||||
<el-input v-model="dataList.responsibleUnit" v-show="false" />
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-dept-popper"
|
||||
trigger="click"
|
||||
:value="false"
|
||||
>
|
||||
<el-input
|
||||
slot="reference"
|
||||
v-model="dataList.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('dataList')">
|
||||
查询
|
||||
</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
|
||||
: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="productName" label="项目名称"/>
|
||||
<el-table-column prop="itemsNum" label="条款号"/>
|
||||
<el-table-column prop="itemsName" label="条款名称"/>
|
||||
<el-table-column prop="planCloseTime" label="整改完成时间"/>
|
||||
<el-table-column prop="responsibleUnit" label="责任部门"/>
|
||||
<el-table-column prop="duty" label="负责人"/>
|
||||
<el-table-column label="佐证材料">
|
||||
<template slot-scope="scope">
|
||||
<el-upload>
|
||||
<el-button type="primary" size="small" @click="uploadText(scope.row)">上传佐证材料</el-button>
|
||||
</el-upload>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
|
||||
</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-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="Form"
|
||||
:model="roleForm"
|
||||
:rules="roleFormRules"
|
||||
class="label-input-form">
|
||||
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="startUserName" style="margin-bottom: 0">
|
||||
<h4>流程发起人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="下发标准法规工程师" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||
<h4>标准法规工程师</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.dockUserName" placeholder="选择标准法规工程师" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="确认分发责任人" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.ministerUserName" placeholder="选择分发责任人" @click.native="choiceZRR('ministerUser', '选择分发责任人', roleForm.ministerUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="负责人上传材料" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="directorUserName" style="margin-bottom: 0">
|
||||
<h4>负责人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.directorUserName" placeholder="选择负责人" @click.native="choiceZRR('directorUser', '选择负责人', roleForm.directorUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-drawer
|
||||
:title="drawerTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px">
|
||||
<el-tree
|
||||
v-if="modalshowflag"
|
||||
style="height: 100%;"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox
|
||||
ref="tree">
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {interfaceUrl} from "@/sysConfig";
|
||||
|
||||
export default {
|
||||
name: "step4",
|
||||
data() {
|
||||
return {
|
||||
textarea: '', // 意见
|
||||
title: '', // 新增编辑抽屉标题
|
||||
ListModel: false, // 新增编辑抽屉开关
|
||||
nonConformitySearch: {
|
||||
standId: '', // 标准号/名称
|
||||
productName: '', // 项目名称
|
||||
responsibleUnit: '' // 责任部门
|
||||
},
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
dataList: [
|
||||
{
|
||||
standId: '1',
|
||||
productName: '1',
|
||||
itemsNum: '1',
|
||||
itemsName: '1',
|
||||
planCloseTime: '1',
|
||||
responsibleUnit: '1',
|
||||
dutyEngineer: '1'
|
||||
},{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
// 当前页数
|
||||
pageNo: 1,
|
||||
total: 0,
|
||||
myLoading: false,
|
||||
// 责任部门
|
||||
zNodesSItem: [],
|
||||
unqualidiedData: [{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
selectedList: [], //未整改项的选择框
|
||||
roleForm: {
|
||||
startUserName: this.$store.getters.userInfo.userName,
|
||||
startUser: this.$store.getters.userInfo.userId,
|
||||
},
|
||||
roleFormRules: {
|
||||
},
|
||||
nodeList: [],
|
||||
drawerTitle: '', //drawer标题
|
||||
modalshowflag: false, // drawer开关
|
||||
treeData: [], // 人员数据
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.myLoading.loadData = true
|
||||
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
|
||||
...this.nonConformitySearch,
|
||||
current: this.pageNo,
|
||||
size: this.$store.getters.userInfo.configContent
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.myLoading.loadData = false
|
||||
this.nonList = res.data.records
|
||||
this.total = res.data.total
|
||||
}, e => {
|
||||
this.myLoading.loadData = false
|
||||
})
|
||||
},
|
||||
|
||||
uploadText(row) {
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
|
||||
// 保存按钮
|
||||
handleSave() {},
|
||||
// 提交按钮
|
||||
handleSubmit() {},
|
||||
|
||||
// 获取流程节点数据
|
||||
getTree () {
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
|
||||
this.treeData = res.data
|
||||
})
|
||||
},
|
||||
// 流程阶段负责人选择
|
||||
choiceZRR (type, title, id) {
|
||||
this.nodeList = []
|
||||
this.nodeList.push(id)
|
||||
this.type = type
|
||||
this.drawerTitle = title
|
||||
this.modalshowflag = true
|
||||
},
|
||||
drawerCheck (data) {
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if(getlist.length == 1) {
|
||||
this.roleRow = getlist[0]
|
||||
}else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
|
||||
}
|
||||
},
|
||||
// 流程节点负责人抽屉保存按钮
|
||||
saveUserInfo () {
|
||||
if (this.type === 'dockUser') {
|
||||
this.roleForm.dockUser = this.roleRow.id
|
||||
this.roleForm.dockUserName = this.roleRow.name
|
||||
} else if (this.type === 'ministerUser') {
|
||||
this.roleForm.ministerUser = this.roleRow.id
|
||||
this.roleForm.ministerUserName = this.roleRow.name
|
||||
} else if (this.type === 'directorUser') {
|
||||
this.roleForm.directorUser = this.roleRow.id
|
||||
this.roleForm.directorUserName = this.roleRow.name
|
||||
} else if (this.type === 'presidentUser') {
|
||||
this.roleForm.presidentUser = this.roleRow.id
|
||||
this.roleForm.presidentUserName = this.roleRow.name
|
||||
}
|
||||
this.modalshowflag = false
|
||||
},
|
||||
// 流程节点负责人抽屉取消按钮
|
||||
cancleUserInfo () {
|
||||
this.modalshowflag = false
|
||||
},
|
||||
//未整改项抽屉中的查询按钮
|
||||
getTableByPage() {
|
||||
},
|
||||
// 清空 查询条件
|
||||
clearAllSearch (search = true) {
|
||||
this.nonConformitySearch = {
|
||||
standId: '',
|
||||
productName: '',
|
||||
responsibleUnit: ''
|
||||
}
|
||||
this.getTableByPage()
|
||||
},
|
||||
// 分页事件
|
||||
pageChange (page) {
|
||||
this.pageNo = page
|
||||
this.getTableByPage()
|
||||
},
|
||||
pageSizeChange () {
|
||||
this.getTableByPage()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.wfhxzgStep4 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content-center {
|
||||
padding: 10px 0px 10px 10px;
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,454 @@
|
||||
<template>
|
||||
<div class="wfhxzgStep5">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">未符合项整改流程</template>
|
||||
<template slot="proNode">分发负责人审核材料</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
|
||||
</div>
|
||||
<div class="content" v-if="active === '1'">
|
||||
<div style="flex: auto;">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<el-form :modal="dataList" inline class="label-input-form">
|
||||
<el-form-item label="标准号/标准名称" class="search-item">
|
||||
<el-input v-model="dataList.standId"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" class="search-item">
|
||||
<el-input v-model="dataList.productName"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="责任部门" class="search-item">
|
||||
<el-input v-model="dataList.responsibleUnit" v-show="false" />
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-dept-popper"
|
||||
trigger="click"
|
||||
:value="false"
|
||||
>
|
||||
<el-input
|
||||
slot="reference"
|
||||
v-model="dataList.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('dataList')">
|
||||
查询
|
||||
</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
|
||||
: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="productName" label="项目名称"/>
|
||||
<el-table-column prop="itemsNum" label="条款号"/>
|
||||
<el-table-column prop="itemsName" label="条款名称"/>
|
||||
<el-table-column prop="planCloseTime" label="整改完成时间"/>
|
||||
<el-table-column prop="responsibleUnit" label="责任部门"/>
|
||||
<el-table-column prop="dutyEngineer" label="负责人"/>
|
||||
<el-table-column label="佐证材料">
|
||||
<div class="div-text">{{ 11 || '暂无数据' }}</div>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
|
||||
</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-if="active === '2'">
|
||||
<div class="block" style="padding-top: 20px;">
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="Form"
|
||||
:model="roleForm"
|
||||
:rules="roleFormRules"
|
||||
class="label-input-form">
|
||||
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="startUserName" style="margin-bottom: 0">
|
||||
<h4>流程发起人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="下发标准法规工程师" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||
<h4>标准法规工程师</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.dockUserName" placeholder="选择标准法规工程师" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="确认分发责任人" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.ministerUserName" placeholder="选择分发责任人" @click.native="choiceZRR('ministerUser', '选择分发责任人', roleForm.ministerUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="负责人上传材料" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="directorUserName" style="margin-bottom: 0">
|
||||
<h4>负责人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.directorUserName" placeholder="选择负责人" @click.native="choiceZRR('directorUser', '选择负责人', roleForm.directorUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
|
||||
<h4>分发责任人</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.presidentUserName" placeholder="选择分发负责人" @click.native="choiceZRR('presidentUser', '选择分发负责人', roleForm.presidentUser)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-back
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:backLoading="backLoading"
|
||||
@back="handleDataBack"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<el-drawer
|
||||
:title="drawerTitle"
|
||||
:visible.sync="modalshowflag"
|
||||
:wrapperClosable="false"
|
||||
size="800px">
|
||||
<el-tree
|
||||
v-if="modalshowflag"
|
||||
style="height: 100%;"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox
|
||||
ref="tree">
|
||||
</el-tree>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '../../components/ProcessHeader'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {interfaceUrl} from "@/sysConfig";
|
||||
|
||||
export default {
|
||||
name: "step5",
|
||||
data() {
|
||||
return {
|
||||
textarea: '', // 意见
|
||||
title: '', // 新增编辑抽屉标题
|
||||
ListModel: false, // 新增编辑抽屉开关
|
||||
nonConformitySearch: {
|
||||
standId: '', // 标准号/名称
|
||||
productName: '', // 项目名称
|
||||
responsibleUnit: '' // 责任部门
|
||||
},
|
||||
active: '1', // 默认显示
|
||||
isSubmit: false,
|
||||
backLoading: false,
|
||||
dataList: [
|
||||
{
|
||||
standId: '1',
|
||||
productName: '1',
|
||||
itemsNum: '1',
|
||||
itemsName: '1',
|
||||
planCloseTime: '1',
|
||||
responsibleUnit: '1',
|
||||
dutyEngineer: '1'
|
||||
},{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
// 当前页数
|
||||
pageNo: 1,
|
||||
total: 0,
|
||||
myLoading: false,
|
||||
// 责任部门
|
||||
zNodesSItem: [],
|
||||
unqualidiedData: [{
|
||||
standId: '',
|
||||
productName: '',
|
||||
itemsNum: '',
|
||||
itemsName: '',
|
||||
planCloseTime: '',
|
||||
responsibleUnit: '',
|
||||
dutyEngineer: ''
|
||||
}],
|
||||
selectedList: [], //未整改项的选择框
|
||||
roleForm: {
|
||||
startUserName: this.$store.getters.userInfo.userName,
|
||||
startUser: this.$store.getters.userInfo.userId,
|
||||
},
|
||||
roleFormRules: {
|
||||
},
|
||||
// 驳回弹窗状态
|
||||
backDialog: false,
|
||||
|
||||
|
||||
nodeList: [],
|
||||
drawerTitle: '', //drawer标题
|
||||
modalshowflag: false, // drawer开关
|
||||
treeData: [], // 人员数据
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
ProcessTitle
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.myLoading.loadData = true
|
||||
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
|
||||
...this.nonConformitySearch,
|
||||
current: this.pageNo,
|
||||
size: this.$store.getters.userInfo.configContent
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.myLoading.loadData = false
|
||||
this.nonList = res.data.records
|
||||
this.total = res.data.total
|
||||
}, e => {
|
||||
this.myLoading.loadData = false
|
||||
})
|
||||
},
|
||||
// 批准俺妞妞操作
|
||||
handleBack() {
|
||||
this.backDialog = true
|
||||
},
|
||||
handleSuccess() {},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
|
||||
// 保存按钮
|
||||
handleSave() {},
|
||||
// 提交按钮
|
||||
handleSubmit() {},
|
||||
|
||||
// 获取流程节点数据
|
||||
getTree () {
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
|
||||
this.treeData = res.data
|
||||
})
|
||||
},
|
||||
// 流程阶段负责人选择
|
||||
choiceZRR (type, title, id) {
|
||||
this.nodeList = []
|
||||
this.nodeList.push(id)
|
||||
this.type = type
|
||||
this.drawerTitle = title
|
||||
this.modalshowflag = true
|
||||
},
|
||||
drawerCheck (data) {
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if(getlist.length == 1) {
|
||||
this.roleRow = getlist[0]
|
||||
}else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
|
||||
}
|
||||
},
|
||||
// 流程节点负责人抽屉保存按钮
|
||||
saveUserInfo () {
|
||||
if (this.type === 'dockUser') {
|
||||
this.roleForm.dockUser = this.roleRow.id
|
||||
this.roleForm.dockUserName = this.roleRow.name
|
||||
} else if (this.type === 'ministerUser') {
|
||||
this.roleForm.ministerUser = this.roleRow.id
|
||||
this.roleForm.ministerUserName = this.roleRow.name
|
||||
} else if (this.type === 'directorUser') {
|
||||
this.roleForm.directorUser = this.roleRow.id
|
||||
this.roleForm.directorUserName = this.roleRow.name
|
||||
} else if (this.type === 'presidentUser') {
|
||||
this.roleForm.presidentUser = this.roleRow.id
|
||||
this.roleForm.presidentUserName = this.roleRow.name
|
||||
}
|
||||
this.modalshowflag = false
|
||||
},
|
||||
// 流程节点负责人抽屉取消按钮
|
||||
cancleUserInfo () {
|
||||
this.modalshowflag = false
|
||||
},
|
||||
//未整改项抽屉中的查询按钮
|
||||
getTableByPage() {
|
||||
},
|
||||
// 清空 查询条件
|
||||
clearAllSearch (search = true) {
|
||||
this.nonConformitySearch = {
|
||||
standId: '',
|
||||
productName: '',
|
||||
responsibleUnit: ''
|
||||
}
|
||||
this.getTableByPage()
|
||||
},
|
||||
// 分页事件
|
||||
pageChange (page) {
|
||||
this.pageNo = page
|
||||
this.getTableByPage()
|
||||
},
|
||||
pageSizeChange () {
|
||||
this.getTableByPage()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.wfhxzgStep5 {
|
||||
/deep/.el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
position: relative;
|
||||
height: 100%;
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content-center {
|
||||
padding: 10px 0px 10px 10px;
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -11,6 +11,7 @@
|
||||
<div class="process-name" @click="handleCreateProcess('5')">标准发放申请流程</div>
|
||||
<div class="process-name" @click="handleCreateProcess('6')">标准清单发布/更新流程</div>
|
||||
<div class="process-name" @click="handleCreateProcess('7')">项目合规评估流程</div>
|
||||
<div class="process-name" @click="handleCreateProcess('7')">未符合项整改流程</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="zcgllc">
|
||||
@@ -63,7 +64,7 @@ export default {
|
||||
case '3':
|
||||
// 标准征求意见流程
|
||||
this.$router.push({
|
||||
name:'zqyjStep1'
|
||||
name:'bzzqyjStep1'
|
||||
})
|
||||
break
|
||||
case '4':
|
||||
@@ -91,6 +92,10 @@ export default {
|
||||
})
|
||||
break
|
||||
case '8':
|
||||
//未符合项整改流程
|
||||
this.$router.push({
|
||||
name:'wfhxzgStep1'
|
||||
})
|
||||
break
|
||||
case '9':
|
||||
break
|
||||
|
||||
@@ -275,6 +275,72 @@ export default {
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if (row.taskInfo === '责任对接人审批') {
|
||||
this.$router.push({
|
||||
name: 'bzdyStep4',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
prcNum: row.prcNum,
|
||||
prcName: row.prcName,
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if (row.taskInfo === '标准法规工程师调研汇总'){
|
||||
this.$router.push({
|
||||
name: 'bzdyStep5',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
prcNum: row.prcNum,
|
||||
prcName: row.prcName,
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if (row.taskInfo === '责任人会签'){
|
||||
this.$router.push({
|
||||
name: 'bzdyStep6',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
prcNum: row.prcNum,
|
||||
prcName: row.prcName,
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if (row.taskInfo === '部长+对接人审核') {
|
||||
this.$router.push({
|
||||
name: 'bzdyStep7',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
prcNum: row.prcNum,
|
||||
prcName: row.prcName,
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if (row.taskInfo.indexOf('工程研究总院院长') == 0 ) {
|
||||
this.$router.push({
|
||||
name: 'bzdyStep9',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
prcNum: row.prcNum,
|
||||
prcName: row.prcName,
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
name: 'bzdyStep8',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
prcNum: row.prcNum,
|
||||
prcName: row.prcName,
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
}
|
||||
break;
|
||||
//标准清单更新/发布流程
|
||||
|
||||
@@ -76,12 +76,12 @@
|
||||
</div>
|
||||
</table-tools-bar>
|
||||
<div class="action-bar">
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
@click="addModal"
|
||||
size="mini"
|
||||
v-btn-permission="'57f40856850c95912be0760a082db0e0'"
|
||||
:disabled="addBtnDisabled"><i class="iconfont"></i>新增</el-button>
|
||||
<!-- <el-button type="primary"-->
|
||||
<!-- class="common-button-primary add-button"-->
|
||||
<!-- @click="addModal"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- v-btn-permission="'57f40856850c95912be0760a082db0e0'"-->
|
||||
<!-- :disabled="addBtnDisabled"><i class="iconfont"></i>新增</el-button>-->
|
||||
<el-button class="common-button-default in-button"
|
||||
:loading="searching"
|
||||
size="mini"
|
||||
|
||||
@@ -42,6 +42,7 @@ export default {
|
||||
flex-direction: column;
|
||||
background-color: #FFFFFF;
|
||||
.non-content {
|
||||
padding: 0 10px;
|
||||
height: 100%;
|
||||
/deep/ .el-tabs {
|
||||
display: flex;
|
||||
|
||||
@@ -276,6 +276,15 @@ const routes = [
|
||||
title: '标准清单发布/更新流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/wfhxzgStep1',
|
||||
name: 'wfhxzgStep1',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step1.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '未符合项整改流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/xmpgStep1',
|
||||
name: 'xmpgStep1',
|
||||
@@ -285,6 +294,42 @@ const routes = [
|
||||
title: '项目合规评估流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/wfhxzgStep2',
|
||||
name: 'wfhxzgStep2',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step2.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '未符合项整改发布/更新流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/wfhxzgStep3',
|
||||
name: 'wfhxzgStep3',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step3.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '未符合项整改/更新流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/wfhxzgStep4',
|
||||
name: 'wfhxzgStep4',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step4.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '未符合项整改/更新流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/wfhxzgStep5',
|
||||
name: 'wfhxzgStep5',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/wfhxzg/step5.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '未符合项整改/更新流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzrkStep1',
|
||||
name: 'bzrkStep1',
|
||||
@@ -357,6 +402,105 @@ const routes = [
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzzqyjStep1',
|
||||
name: 'bzzqyjStep1',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step1.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准征求意见流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzzqyjStep2',
|
||||
name: 'bzzqyjStep2',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step2.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准征求意见流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzzqyjStep3',
|
||||
name: 'bzzqyjStep3',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step3.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准征求意见流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzzqyjStep4',
|
||||
name: 'bzzqyjStep4',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step4.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准征求意见流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzzqyjStep5',
|
||||
name: 'bzzqyjStep5',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step5.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzdyStep4',
|
||||
name: 'bzdyStep4',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step4.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzdyStep5',
|
||||
name: 'bzdyStep5',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step5.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzdyStep6',
|
||||
name: 'bzdyStep6',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step6.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzdyStep7',
|
||||
name: 'bzdyStep7',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step7.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzdyStep8',
|
||||
name: 'bzdyStep8',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step8.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/bzdyStep9',
|
||||
name: 'bzdyStep9',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step9.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准调研流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/zqyjStep1',
|
||||
name: 'zqyjStep1',
|
||||
@@ -991,6 +1135,17 @@ const routes = [
|
||||
title: '标准法规属性管理详情页'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/standLawsAttrTreeDetails/:id?/:dictionaryName?/:dictionType?/:isRelate?/:relateDicId?',
|
||||
name: 'standLawsAttrTreeDetails',
|
||||
component: () =>
|
||||
import('@/pages/config/pages/standLawsAttrManage/pages/standLawsAttrTreeDetails'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
parentPath: '/standLawsAttrManage',
|
||||
title: '标准法规属性管理详情页'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/attributeCustom',
|
||||
name: 'AttributeCustom',
|
||||
|
||||
@@ -22,11 +22,11 @@ const theme = 'theme-one' // 主题(theme-one浅蓝色,theme-two深蓝色)
|
||||
const processPort = '17210'
|
||||
/*****************************************************************
|
||||
|
||||
<<<<<<<<< 主题修改 >>>>>>>>>
|
||||
<<<<<<<<< 主题修改 >>>>>>>>>
|
||||
|
||||
1. 主题分为theme-one,theme-two两种
|
||||
2. 修改assets/styles/style.less文件,注释theme-one/theme-two
|
||||
3. 将上方theme改为theme-one/theme-two
|
||||
1. 主题分为theme-one,theme-two两种
|
||||
2. 修改assets/styles/style.less文件,注释theme-one/theme-two
|
||||
3. 将上方theme改为theme-one/theme-two
|
||||
|
||||
*****************************************************************/
|
||||
// 生产环境配置
|
||||
@@ -51,4 +51,4 @@ module.exports = {
|
||||
enterprise: enterprise, // GQ广汽 SJZX数据中心
|
||||
theme: theme, // 主题
|
||||
processInterfaceURL: `http://${serverIP}:${processPort}/bat-wkflow`
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user