Merge branch 'fix_foton_20231213' into 'master'

Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!140
This commit is contained in:
高嵩
2023-12-29 10:07:43 +00:00
21 changed files with 36373 additions and 34954 deletions
+71 -33
View File
@@ -1,29 +1,45 @@
<template>
<div>
<!-- 导入模态窗 -->
<el-dialog width='400px'
v-if="visible"
:visible="visible"
@close="onClose"
title="导入文件"
v-dragDialogWidth
:close-on-click-modal="false"
append-to-body>
<el-dialog
v-if="visible"
v-dragDialogWidth
class="dialog"
width="400px"
:visible="visible"
title="导入文件"
:close-on-click-modal="false"
append-to-body
@close="onClose"
>
<el-upload
multiple
drag
:action="action"
ref="importfile"
:headers="headers"
name="file"
:accept="accept"
:before-upload="beforeUpload"
:on-success="onSuccess"
:show-file-list="true"
ref="importfile"
multiple
drag
:action="action"
:headers="headers"
name="file"
:accept="accept"
:auto-upload="autoUpload"
:before-upload="beforeUpload"
:on-success="onSuccess"
:show-file-list="true"
>
<i class="el-icon-upload" style="color: #3399ff"></i>
<i class="el-icon-upload" style="color: #3399ff" />
<div class="el-upload__text">点击或拖拽上传文件</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<slot />
<el-button
v-if="manualUpload"
type="primary"
size="mini"
class="common-button-default"
@click="ManualUpload"
>
提交
</el-button>
</div>
</el-dialog>
<!-- 导入失败-->
<el-dialog :visible.sync="importFailed" :close-on-click-modal="false" width="400px">
@@ -31,10 +47,16 @@
<span>导入失败</span>
</p>
<div style="max-height: 300px;overflow: auto;padding: 10px 0;">
<p v-html="importForm.content"></p>
<p v-html="importForm.content" />
</div>
<div slot="footer" class="demo-drawer-footer">
<el-button type="primary" round class="common-button-default" icon="el-icon-check" @click="importFailed = false">
<el-button
type="primary"
round
class="common-button-default"
icon="el-icon-check"
@click="importFailed = false"
>
确认
</el-button>
</div>
@@ -44,16 +66,7 @@
<script>
export default {
name: "import",
data () {
return {
headers:{
token: JSON.parse(localStorage.getItem('userInfo')).token
},
importFailed: false,
importForm: {}
}
},
name: 'Import',
props: {
accept: {
type: String,
@@ -71,6 +84,25 @@ export default {
type: Number,
default: 200
},
// 是否自动上传
autoUpload: {
type: Boolean,
default: true
},
// 手动上传按钮
manualUpload: {
type: Boolean,
default: false
}
},
data () {
return {
headers: {
token: JSON.parse(localStorage.getItem('userInfo')).token
},
importFailed: false,
importForm: {}
}
},
methods: {
onClose () {
@@ -93,13 +125,13 @@ export default {
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line
this.$message.error('文件' + file.name + `超过${ this.size }M`)
this.$message.error('文件' + file.name + `超过${this.size}M`)
return false
}
return true
},
// 导入标准数据成功后执行
onSuccess(response, file) {
onSuccess (response, file) {
if (response.ok) {
this.$emit('update:visible', false)
this.$emit('onSuccess')
@@ -112,6 +144,9 @@ export default {
this.importForm.content = response.message
}
},
ManualUpload () {
this.$refs.importfile.submit();
}
}
}
</script>
@@ -124,4 +159,7 @@ export default {
width: 100% !important;
}
/deep/ .el-dialog__body {
padding: 10px 20px !important;
}
</style>
@@ -1,25 +1,26 @@
<template>
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
<el-select
:value="value"
:disabled="disabled"
:placeholder="placeholder"
:filterable="filterable"
:clearable="clearable"
@change="handleChange">
:value="value"
:disabled="disabled"
:placeholder="placeholder"
:filterable="filterable"
:clearable="clearable"
@change="handleChange"
>
<el-option
v-for="item in options"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
v-for="item in options"
:key="item.value"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
</template>
<script>
export default {
name: "SelectFormItem",
name: 'SelectFormItem',
props: {
value: {
required: true
@@ -47,9 +48,16 @@ export default {
type: Boolean,
default: true
},
customPlaceholder: {
type: String,
default: ''
},
},
computed: {
placeholder () {
if (this.customPlaceholder !== '') {
return this.customPlaceholder
}
return `请选择${this.label}`
},
},
@@ -5,16 +5,23 @@
style="display: none;"
:value="ids"
clearable
></el-input>
/>
<div style="display: flex;justify-content: space-between">
<div style="margin-top: 13px" :style="{width: view ? '100%' : '80%'}">
<template v-if="FileList.length > 0">
<div v-for="file in FileList"
:key="file.id"
@click="onPreview(file)"
style="color: #409eff;cursor:pointer"
class="fileClass">
<div
v-for="file in FileList"
:key="file.id"
style="color: #409eff;cursor:pointer"
class="fileClass"
@click="onPreview(file)"
>
{{ file.name }}
<template v-if="down">
<span v-if="file.id !== ''" style="margin-left: 7px;">
<i class="el-icon-download" title="下载" @click="onPreview(file, 'down')" />
</span>
</template>
</div>
</template>
<template v-else>
@@ -22,34 +29,41 @@
</template>
</div>
<div v-if="!view" style="width: 20%;">
<el-button :disabled="disabled"
type="primary"
class="common-button-primary"
size="mini"
@click="showUpload"
style="margin-left: 10px; margin-top: 11px; float: right;">
<i class="el-icon-upload"></i>
<el-button
:disabled="disabled"
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="showUpload"
>
<i class="el-icon-upload" />
</el-button>
</div>
</div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件" v-dragDialogWidth
:close-on-click-modal="false">
<el-dialog
v-dragDialogWidth
width="400px"
:visible.sync="fileMadel"
title="上传文件"
:close-on-click-modal="false"
>
<el-upload
multiple
drag
:file-list="fileList"
:action="fileUrl"
ref="importfile"
name="file"
:accept="accept"
:before-upload="beforeUpload"
:on-success="onSuccess"
:on-preview="onPreview"
:on-remove="removeOneFile"
:show-file-list="true"
ref="importfile"
multiple
drag
:file-list="fileList"
:action="fileUrl"
name="file"
:accept="accept"
:before-upload="beforeUpload"
:on-success="onSuccess"
:on-preview="onPreview"
:on-remove="removeOneFile"
:show-file-list="true"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<i class="el-icon-upload" style="color: #3399ff" />
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
@@ -59,7 +73,7 @@
<script>
export default {
name: "UploadFormItem",
name: 'UploadFormItem',
props: {
ids: {
required: true,
@@ -95,28 +109,32 @@ export default {
view: {
type: Boolean,
default: false
}
},
created () {
this.initFileList()
},
down: {
type: Boolean,
default: false
},
},
data () {
return {
fileMadel: false,
fileList: [],// 用于el-upload
FileList: [],// 用于回显
fileList: [], // 用于el-upload
FileList: [], // 用于回显
}
},
created () {
this.initFileList()
},
methods: {
showUpload () {
this.fileMadel = true;
},
initFileList () {
if (this.ids && this.ids !== '' && this.names && this.names !== '') {
let fileList = []
const fileList = []
const idArr = this.ids.split(',')
const nameArr = this.names.split(',')
for (let i = 0 ; i < idArr.length; i++) {
for (let i = 0; i < idArr.length; i++) {
fileList.push({
id: idArr[i],
name: nameArr[i]
@@ -142,13 +160,13 @@ export default {
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line
this.$message.error('文件' + file.name + `超过${ this.size }M`)
this.$message.error('文件' + file.name + `超过${this.size}M`)
return false
}
return true
},
// 导入标准数据成功后执行
onSuccess (response, file,fileList) {
onSuccess (response, file, fileList) {
// 上传成功后判断是否是两条数据是的话替换掉旧数据
if (response.ok) {
const fileObj = {
@@ -175,7 +193,7 @@ export default {
})
}
},
removeOneFile(file, fileList) {
removeOneFile (file, fileList) {
const ids = fileList.reduce((init, file) => {
if (init === '') {
return file.id || file.response.data.id
@@ -199,14 +217,22 @@ export default {
this.$emit('update:names', names)
},
// 文件预览及下载
onPreview(file) {
let attId = ""
if(file && file.id){
onPreview (file, type) {
let attId = ''
if(file && file.id) {
attId = file.id
}else {
attId = file.response.data.id
}
this.$preview(attId)
if (type === 'down') {
if (attId) {
window.open('/api/att/attFile/downloadFileForSarNew?fileId=' + attId)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.$preview(attId)
}
},
}
}
@@ -2,30 +2,34 @@
<div>
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
<el-input
:value="value"
:placeholder="placeholder"
:clearable="clearable"
:disabled="disabled"
readonly
@click.native="choice('role', placeholder, value)">
></el-input>
:value="value"
:placeholder="placeholder"
:clearable="clearable"
:disabled="disabled"
readonly
@click.native="choice('role', placeholder, value)"
/>
</el-form-item>
<Role-tree
:is-title="choiceTitle"
:is-visible.sync="modalShowRoleFlag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
:is-title="choiceTitle"
:is-visible.sync="modalShowRoleFlag"
:nodeList="nodeList"
@checkedRole="checkedRole"
/>
</div>
</template>
<script>
export default {
name: "personFormItem",
name: 'PersonFormItem',
props: {
value: {
required: true
},
id: {
type: String,
default: ''
},
prop: {
type: String
},
@@ -57,14 +61,14 @@ export default {
handleChange (event) {
this.$emit('input', event)
},
choice(type, title, nameId) {
choice (type, title, nameId) {
this.nodeList = []
if (nameId) {
let nameId1 = nameId.split(',')
const nameId1 = nameId.split(',')
let idList = []
nameId1.forEach(item => {
let a, b
a = item.substring(item.indexOf('(') +1)
a = item.substring(item.indexOf('(') + 1)
b = a.substring(0, a.lastIndexOf(')'))
idList.push(b)
})
@@ -75,7 +79,7 @@ export default {
this.choiceTitle = title
this.modalShowRoleFlag = true
},
checkedRole(data) {
checkedRole (data) {
let idList = ''
let nameList = ''
data.forEach(item => {
@@ -87,12 +91,13 @@ export default {
nameList += item.name
})
this.$emit('input', nameList)
this.$emit('update:id', idList)
this.$emit('change', {
ids: this.unique(data.map(item => item.topUnitId)).join(","),
names: this.unique(data.map(item => item.topUnit)).join(",")
ids: this.unique(data.map(item => item.institutionId)).join(','),
names: this.unique(data.map(item => item.institutionCascade)).join(',')
})
},
unique(newArr) {
unique (newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
},
@@ -1,3 +1,4 @@
<!-- eslint-disable -->
<template><div class="bzrkStep1">
<!-- 标准入库流程-->
<ProcessHeader toggle>
@@ -996,6 +997,7 @@
</template>
<script>
/* eslint-disable */
import { onlyOfficeUrl } from '@/sysConfig'
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -4,7 +4,7 @@
<div class="flow-chart">
<div class="flow-header">
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
<i class="el-icon-back" />
</div>
<!-- <span class="flow-chart-title">{{ $route.params.processNumber }} {{ $route.params.processTypeName }} 流程图</span>-->
</div>
@@ -14,28 +14,37 @@
</div>
<div class="action-bar">
<el-button
class="common-button-default export-button"
round
@click="exportStandard"
icon="export"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
>导出</el-button>
class="common-button-default export-button"
round
icon="export"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportStandard"
>
导出
</el-button>
<el-button
class="common-button-default"
round
@click="seeProcessLast"
>查看流程数据</el-button>
class="common-button-default"
round
@click="seeProcessLast"
>
查看流程数据
</el-button>
<el-button
v-if="tzclrEnable"
class="common-button-default"
@click="adjustmentHandler"
round
>调整处理人</el-button>
<el-button v-if="approveShow"
class="common-button-default"
@click="approveHandler"
round
>汇总流程</el-button>
v-if="tzclrEnable"
class="common-button-default"
round
@click="adjustmentHandler"
>
调整处理人
</el-button>
<el-button
v-if="approveShow"
class="common-button-default"
round
@click="approveHandler"
>
汇总流程
</el-button>
<!--临时屏蔽 start-->
<!--<el-button-->
<!-- class="common-button-default"-->
@@ -43,75 +52,77 @@
<!-- @click="handlingTasks"-->
<!--&gt;办理任务</el-button>-->
<!--临时屏蔽 end-->
<!-- <el-button-->
<!-- class="common-button-default"-->
<!-- round-->
<!-- @click="urgeRow"-->
<!-- >催办</el-button>-->
<!-- <el-button-->
<!-- class="common-button-default"-->
<!-- round-->
<!-- @click="urgeRow"-->
<!-- >催办</el-button>-->
</div>
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="tableChange"
@sort-change="sortChange"
ref="selection"
height="100%"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="tableChange"
@sort-change="sortChange"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column type="index" width="55" label="序号" align="center"/>
type="selection"
width="55"
align="center"
/>
<el-table-column type="index" width="55" label="序号" align="center" />
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
prop="name"
label="任务步骤"
align="center"
sortable="custom"
/>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
/>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
prop="comment"
label="流程信息"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
prop="completeFlag"
label="状态"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
</template>
@@ -120,22 +131,22 @@
<loading :loading="loading">流程列表加载中</loading>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<!-- <org-table-->
<!-- title="调整处理人"-->
<!-- :visible.sync="drawerModal"-->
<!-- dialog-model-->
<!-- :config="orgTableConfig"-->
<!-- :max-selected="1"-->
<!-- max-selected-tips="处理人只能选择一个用户"-->
<!-- :excludeUser="excludeUser"-->
<!-- @confirm="addTree"-->
<!-- ></org-table>-->
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
:nodeList="nodeList"
@checkedRole="checkedRole"
/>
<!-- <org-table-->
<!-- title="调整处理人"-->
<!-- :visible.sync="drawerModal"-->
<!-- dialog-model-->
<!-- :config="orgTableConfig"-->
<!-- :max-selected="1"-->
<!-- max-selected-tips="处理人只能选择一个用户"-->
<!-- :excludeUser="excludeUser"-->
<!-- @confirm="addTree"-->
<!-- ></org-table>-->
</div>
</div>
</template>
@@ -147,11 +158,11 @@ import axios from 'axios'
import eventBus from '@/common/eventHub'
export default {
name: 'processDetail',
name: 'ProcessDetail',
data () {
return {
approveShow:false,
approveRowIndex:0,
approveShow: false,
approveRowIndex: 0,
assigneeNewLoading: false, // 调整处理人确定loading
loginPeople: '',
// 调整处理人抽屉状态
@@ -205,24 +216,24 @@ export default {
})
},
// 汇总流程
approveHandler(){
let index = this.detailData.length - 1 // 当前流程任务最后一步index
let isEnd = true
let row = {...this.detailData[this.approveRowIndex+1]}//汇总页下一步拿到数据
if(this.approveRowIndex ===this.detailData.length-1){ //最后一步
row = {...this.detailData[this.approveRowIndex]}
approveHandler () {
const index = this.detailData.length - 1 // 当前流程任务最后一步index
const isEnd = true
let row = { ...this.detailData[this.approveRowIndex + 1] }// 汇总页下一步拿到数据
if(this.approveRowIndex === this.detailData.length - 1) { // 最后一步
row = { ...this.detailData[this.approveRowIndex] }
}
row.taskIds = row.id
row.taskInfo = row.name
row.tabsName = this.$route.query.tabsName
let currentItem = this.detailData[this.approveRowIndex]
const currentItem = this.detailData[this.approveRowIndex]
row.currentItem = currentItem
let prcType = this.detailData[index].prcType // 流程类型
const prcType = this.detailData[index].prcType // 流程类型
if (isEnd) {
if (this.$store.state.detailMap !== '') {
let lastDetailMap = this.$store.getters.getLastDetailMap
const lastDetailMap = this.$store.getters.getLastDetailMap
lastDetailMap.push(this.$store.state.detailMap)
this.$store.commit('setLastDetailMap', JSON.stringify(lastDetailMap))
}
@@ -233,88 +244,88 @@ export default {
// 根据type判断跳转具体流程页面
if (prcType === '1') {
// 标准入库流程数据 //第一步
this.toProcessDetail('bzrkStep1-1',row)
}else if(prcType === '2'){
//标准调研流程 //第五步
this.toProcessDetail('bzdyStep5-1',row)
}else if(prcType === '3'){
//标准征求意见 第七步
this.toProcessDetail('bzzqyjStep5-1',row)
}else if(prcType === '4'){
//标准清单发布流程数据 第一步
this.toProcessDetail('bzqdfbStep1_1',row)
this.toProcessDetail('bzrkStep1-1', row)
}else if(prcType === '2') {
// 标准调研流程 //第五步
this.toProcessDetail('bzdyStep5-1', row)
}else if(prcType === '3') {
// 标准征求意见 第七步
this.toProcessDetail('bzzqyjStep5-1', row)
}else if(prcType === '4') {
// 标准清单发布流程数据 第一步
this.toProcessDetail('bzqdfbStep1_1', row)
} else if(prcType === '9') {
//标准解读流程 数据汇总页面 最后一步 暂时没有
// 标准解读流程 数据汇总页面 最后一步 暂时没有
this.toProcessDetail('bzjdStep6-1', row)
}else if (prcType === '5'){
//标准合规评估流程 最后一步
this.toProcessDetail('bzpgStep8-2',row)
}else if(prcType === '6'){
//项目合规评估流程 最后一步
}else if (prcType === '5') {
// 标准合规评估流程 最后一步
this.toProcessDetail('bzpgStep8-2', row)
}else if(prcType === '6') {
// 项目合规评估流程 最后一步
// this.toProcessDetail('xmpg2Step12-1',row)
this.toProcessDetail('xmpgStep5-1',row)
}else if(prcType === '10'){
//项目清单确认 最后一步
this.toProcessDetail('xmqdqrStep4-1',row)
this.toProcessDetail('xmpgStep5-1', row)
}else if(prcType === '10') {
// 项目清单确认 最后一步
this.toProcessDetail('xmqdqrStep4-1', row)
}else if (prcType === '8') {
// 未符合项整改 3
this.toProcessDetail('wfhxzgStep3-1',row)
}else if(prcType === 'buss1'){
//企标制修订 技术标准 第9
this.toProcessDetail('bussLibrary11-1',row)
}else if(prcType === 'buss2'){
//企标 产品标准 6
this.toProcessDetail('bussLibraryProduct6-1',row)
}else if(prcType === 'buss3'){
//企标复审 4
this.toProcessDetail('bussFs2-1',row)
}else if(prcType === '24'){
//企标废止 3
this.toProcessDetail('qbfzStep4-1',row)
}else if(prcType === '25'){
//企标制修订计划管控 1
this.toProcessDetail('qbzxdjhgkStep1-1',row)
}else if(prcType === '26'){
//企标制修订计划立项 1
this.toProcessDetail('qbzxdlxStep1-1', row)
this.toProcessDetail('wfhxzgStep3-1', row)
}else if(prcType === 'buss1') {
// 企标制修订 技术标准 第9
this.toProcessDetail('bussLibrary11-1', row)
}else if(prcType === 'buss2') {
// 企标 产品标准 6
this.toProcessDetail('bussLibraryProduct6-1', row)
}else if(prcType === 'buss3') {
// 企标复审 4
this.toProcessDetail('bussFs2-1', row)
}else if(prcType === '24') {
// 企标废止 3
this.toProcessDetail('qbfzStep4-1', row)
}else if(prcType === '25') {
// 企标制修订计划管控 1
this.toProcessDetail('qbzxdjhgkStep1-1', row)
}else if(prcType === '26') {
// 企标制修订计划立项 1
this.toProcessDetail('qbzxdlxStep1-1', row)
} else if (prcType === '33') {
let data = []
this.detailData.forEach(res => {
if (res.taskDefinitionKey == 'PolicySolicitOpinionProcessKey11') {
data.push(res)
}
})
this.$router.push({
path: '/policyConsultation',
query: {
taskIds: data[0].id,
prcNum: data[0].prcNum,
prcName: data[0].prcName,
prcType: data[0].prcType,
prcId: data[0].processInstanceId,
taskDefinitionKey: data[0].taskDefinitionKey,
operate: 'view',
}
})
const data = []
this.detailData.forEach(res => {
if (res.taskDefinitionKey == 'PolicySolicitOpinionProcessKey11') {
data.push(res)
}
})
this.$router.push({
path: '/policyConsultation',
query: {
taskIds: data[0].id,
prcNum: data[0].prcNum,
prcName: data[0].prcName,
prcType: data[0].prcType,
prcId: data[0].processInstanceId,
taskDefinitionKey: data[0].taskDefinitionKey,
operate: 'view',
}
})
} else if (prcType === '34') {
let data = []
this.detailData.forEach(res => {
if (res.taskDefinitionKey == 'PolicyComplianceProgramReviewProcessKey11') {
data.push(res)
}
})
this.$router.push({
path: '/policyComplianceReview',
query: {
taskIds: data[0].id,
prcNum: data[0].prcNum,
prcName: data[0].prcName,
prcType: data[0].prcType,
prcId: data[0].processInstanceId,
taskDefinitionKey: data[0].taskDefinitionKey,
operate: 'view',
}
})
const data = []
this.detailData.forEach(res => {
if (res.taskDefinitionKey == 'PolicyComplianceProgramReviewProcessKey11') {
data.push(res)
}
})
this.$router.push({
path: '/policyComplianceReview',
query: {
taskIds: data[0].id,
prcNum: data[0].prcNum,
prcName: data[0].prcName,
prcType: data[0].prcType,
prcId: data[0].processInstanceId,
taskDefinitionKey: data[0].taskDefinitionKey,
operate: 'view',
}
})
}
}
},
@@ -324,13 +335,13 @@ export default {
* @Description: 查看流程最后一步
*/
seeProcessLast () {
let index = this.detailData.length - 1 // 当前流程任务最后一步index
let isEnd = true
let row = {...this.detailData[0]}
const index = this.detailData.length - 1 // 当前流程任务最后一步index
const isEnd = true
const row = { ...this.detailData[0] }
row.taskIds = row.id
row.taskInfo = row.name
row.tabsName = this.$route.query.tabsName
let prcType = this.detailData[index].prcType // 流程类型
const prcType = this.detailData[index].prcType // 流程类型
console.log(prcType);
// 判断当前流程是否已全部办理完成
// this.detailData.map(item => {
@@ -340,7 +351,7 @@ export default {
// })
if (isEnd) {
if (this.$store.state.detailMap !== '') {
let lastDetailMap = this.$store.getters.getLastDetailMap
const lastDetailMap = this.$store.getters.getLastDetailMap
lastDetailMap.push(this.$store.state.detailMap)
this.$store.commit('setLastDetailMap', JSON.stringify(lastDetailMap))
}
@@ -351,133 +362,133 @@ export default {
// 根据type判断跳转具体流程页面
if (prcType === '1') {
// 标准入库流程数据
this.toProcessDetail('bzrkStep1',row)
}else if(prcType === 'laws1'){
//政策入库
this.toProcessDetail('bzrkStep1', row)
}else if(prcType === 'laws1') {
// 政策入库
// this.toProcessDetail('zcrkStep1',row)
this.toProcessDetailForParams('policyWarehousing1',row)
}else if(prcType === 'laws2'){
//政策征求意见流程
this.toProcessDetail('zczqyjStep1',row)
}else if(prcType === 'laws3'){
//重点认证标准/政策合规性项目审查流程
this.toProcessDetail('zdrzbzORzchgxxmscStep1',row)
}else if(prcType === 'buss1'){
//企标入库
this.toProcessDetail('bussLibrary1',row)
}else if(prcType === 'buss2'){
//企标入库
this.toProcessDetail('bussLibraryProduct1',row)
}else if(prcType === 'buss3'){
//企标复审
this.toProcessDetail('qbfsStep1',row)
}else if(prcType === '4'){
//标准清单发布流程数据
this.toProcessDetail('bzqdfbStep1',row)
}else if (prcType === '5'){
//标准项目合规评估
this.toProcessDetail('bzpgStep1',row)
}else if(prcType === '6'){
//标准项目合规评估 项目维度
this.toProcessDetail('xmpg2Step1',row)
this.toProcessDetailForParams('policyWarehousing1', row)
}else if(prcType === 'laws2') {
// 政策征求意见流程
this.toProcessDetail('zczqyjStep1', row)
}else if(prcType === 'laws3') {
// 重点认证标准/政策合规性项目审查流程
this.toProcessDetail('zdrzbzORzchgxxmscStep1', row)
}else if(prcType === 'buss1') {
// 企标入库
this.toProcessDetail('bussLibrary1', row)
}else if(prcType === 'buss2') {
// 企标入库
this.toProcessDetail('bussLibraryProduct1', row)
}else if(prcType === 'buss3') {
// 企标复审
this.toProcessDetail('qbfsStep1', row)
}else if(prcType === '4') {
// 标准清单发布流程数据
this.toProcessDetail('bzqdfbStep1', row)
}else if (prcType === '5') {
// 标准项目合规评估
this.toProcessDetail('bzpgStep1', row)
}else if(prcType === '6') {
// 标准项目合规评估 项目维度
this.toProcessDetail('xmpg2Step1', row)
} else if (prcType === '8') {
// 未符合项整改
this.toProcessDetail('wfhxzgStep1',row)
} else if(prcType === '9'){
this.toProcessDetail('bzjdStep1',row)
//标准调研流程
}else if(prcType === '2'){
this.toProcessDetail('bzdyStep1',row)
}else if(prcType === '3'){
//标准征求意见
this.toProcessDetail('bzzqyjStep1',row)
}else if(prcType === '10'){
//项目清单确认
this.toProcessDetail('xmqdqrStep1',row, 'unShowReceipt')
}else if(prcType === '14'){
//加入标准化协会信息备案流程
this.toProcessDetail('cywbbzzxdStep1',row,)
}else if(prcType === '15'){
//加入标准化协会信息备案流程
this.toProcessDetail('jrbzhxhStep1',row,)
} else if(prcType === '16'){
//外部署名
this.toProcessDetail('wbsmStep1',row)
this.toProcessDetail('wfhxzgStep1', row)
} else if(prcType === '9') {
this.toProcessDetail('bzjdStep1', row)
// 标准调研流程
}else if(prcType === '2') {
this.toProcessDetail('bzdyStep1', row)
}else if(prcType === '3') {
// 标准征求意见
this.toProcessDetail('bzzqyjStep1', row)
}else if(prcType === '10') {
// 项目清单确认
this.toProcessDetail('xmqdqrStep1', row, 'unShowReceipt')
}else if(prcType === '14') {
// 加入标准化协会信息备案流程
this.toProcessDetail('cywbbzzxdStep1', row,)
}else if(prcType === '15') {
// 加入标准化协会信息备案流程
this.toProcessDetail('jrbzhxhStep1', row,)
} else if(prcType === '16') {
// 外部署名
this.toProcessDetail('wbsmStep1', row)
}else if(prcType === '20') {
// 入会流程
this.toProcessDetail('bzrhStep1',row)
this.toProcessDetail('bzrhStep1', row)
} else if(prcType === '21') {
// 参会流程
this.toProcessDetail('bzchStep1',row)
} else if(prcType === '23'){
//企标复审
this.toProcessDetail('qbfsStep1',row)
}else if(prcType === '24'){
//企标废止
this.toProcessDetail('qbfzStep1',row)
}else if(prcType === '25'){
//企标制修订计划管控
this.toProcessDetail('qbzxdjhgkStep1',row)
}else if(prcType === '26'){
//企标制修订计划立项
this.toProcessDetail('qbzxdlxStep1',row)
}else if(prcType === '17'){
//政策课题入会发起流程
this.toProcessDetail('zcrhStep1',row)
}else if(prcType === '18'){
//政策课题参会发起流程
this.toProcessDetail('zcchStep1',row)
}else if(prcType === '12'){
//政策课题参会发起流程
this.toProcessDetail('zdrzbzORzchgxxmscStep1',row)
}else if(prcType === '29'){
//内外部会议入库
this.toProcessDetail('bzchStep1', row)
} else if(prcType === '23') {
// 企标复审
this.toProcessDetail('qbfsStep1', row)
}else if(prcType === '24') {
// 企标废止
this.toProcessDetail('qbfzStep1', row)
}else if(prcType === '25') {
// 企标制修订计划管控
this.toProcessDetail('qbzxdjhgkStep1', row)
}else if(prcType === '26') {
// 企标制修订计划立项
this.toProcessDetail('qbzxdlxStep1', row)
}else if(prcType === '17') {
// 政策课题入会发起流程
this.toProcessDetail('zcrhStep1', row)
}else if(prcType === '18') {
// 政策课题参会发起流程
this.toProcessDetail('zcchStep1', row)
}else if(prcType === '12') {
// 政策课题参会发起流程
this.toProcessDetail('zdrzbzORzchgxxmscStep1', row)
}else if(prcType === '29') {
// 内外部会议入库
// this.toProcessDetail('policyMeetings1',row)
this.toProcessDetailForParams('policyMeetings1',row)
} else if(prcType === '30'){
//政策课题入会流程
this.toProcessDetailForParams('policyMeetings1', row)
} else if(prcType === '30') {
// 政策课题入会流程
const params = { type: 'step1' }
this.toProcessDetailForParams('policyTopicEnrollment',row, params)
} else if(prcType === '31'){
//政策课题参会流程
this.toProcessDetailForParams('policyTopicEnrollment', row, params)
} else if(prcType === '31') {
// 政策课题参会流程
const params = { type: 'step1' }
this.toProcessDetailForParams('policyTopicParticipation', row, params)
} else if(prcType === '32'){
} else if(prcType === '32') {
// 政策法规资料入库流程
const params = { type: 'step1' }
this.toProcessDetailForParams('policyRegulatoryMaterials', row, params)
} else if (prcType === '33') {
this.$router.push({
path: '/policyConsultation',
query: {
taskIds: row.id,
prcNum: row.prcNum,
prcId: row.processInstanceId,
prcName: row.prcName,
prcType: row.prcType,
taskDefinitionKey: row.taskDefinitionKey,
operate: 'view',
}
})
this.$router.push({
path: '/policyConsultation',
query: {
taskIds: row.id,
prcNum: row.prcNum,
prcId: row.processInstanceId,
prcName: row.prcName,
prcType: row.prcType,
taskDefinitionKey: row.taskDefinitionKey,
operate: 'view',
}
})
} else if (prcType === '34') {
this.$router.push({
path: '/policyComplianceReview',
query: {
taskIds: row.id,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType,
prcId: row.processInstanceId,
taskDefinitionKey: row.taskDefinitionKey,
operate: 'view',
}
})
this.$router.push({
path: '/policyComplianceReview',
query: {
taskIds: row.id,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType,
prcId: row.processInstanceId,
taskDefinitionKey: row.taskDefinitionKey,
operate: 'view',
}
})
}
} else {
this.$message.warning('当前流程未全部办理完成,无法查看')
}
},
toProcessDetailForParams (componentName,row, params) {
toProcessDetailForParams (componentName, row, params) {
this.$router.push({
name: componentName,
query: {
@@ -491,8 +502,8 @@ export default {
params
})
},
toProcessDetail(componentName,row,unShowReceipt) {
let data = {
toProcessDetail (componentName, row, unShowReceipt) {
const data = {
name: componentName,
query: {
bpnId: row.bpnId,
@@ -501,20 +512,20 @@ export default {
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType,
disabledXX:true,
verifySarStandard:true,
index:this.approveRowIndex,
processInstanceId:row.processInstanceId
disabledXX: true,
verifySarStandard: true,
index: this.approveRowIndex,
processInstanceId: row.processInstanceId
},
params:{
currentItem:row.currentItem
params: {
currentItem: row.currentItem
}
}
if (unShowReceipt) {
data.query.unShowReceipt = true
}
let routeUrl =this.$router.resolve(data)
window.open(routeUrl.href, "_blank")
const routeUrl = this.$router.resolve(data)
window.open(routeUrl.href, '_blank')
// this.$router.push(data)
},
// table行选择事件
@@ -526,13 +537,13 @@ export default {
// 判断选中一条数据、未完成数据、当前登陆人数据
if (this.tableRow.length === 1 && !this.tableRow[0].endTime && this.tableRow[0].assigneeId === this.$store.getters.userInfo.userId) {
if (this.$store.state.detailMap !== '') {
let lastDetailMap = this.$store.getters.getLastDetailMap
const lastDetailMap = this.$store.getters.getLastDetailMap
lastDetailMap.push(this.$store.state.detailMap)
this.$store.commit('setLastDetailMap', JSON.stringify(lastDetailMap))
}
// this.tableRow[0].processType = this.$route.params.processType
this.$store.commit('setDetailMap', this.$route.path)
let row = {
const row = {
taskIds: this.tableRow[0].id,
prcId: this.tableRow[0].processDefinitionId,
prcNum: this.tableRow[0].prcNum,
@@ -544,7 +555,7 @@ export default {
this.setHandleInfo((JSON.stringify(row)))
const prcType = row.prcType
switch (prcType) {
// 法规入库及评估流程
// 法规入库及评估流程
case '1':
if (row.taskInfo === '法规工程师修改') {
this.$router.push({
@@ -1068,15 +1079,15 @@ export default {
if (row.taskInfo === '法规联络人发起复审或企标工程师选择法规联络人') {
this.$router.push({
path: '/qbfs/step1',
query:{
taskIds:row.taskIds
query: {
taskIds: row.taskIds
}
})
} else if (row.taskInfo === '选择法规联络人') {
this.$router.push({
path: '/qbfs/step2',
query:{
taskIds:row.taskIds
query: {
taskIds: row.taskIds
}
})
}
@@ -1156,21 +1167,21 @@ export default {
*/
urge (row) {
this.$http.postData('person/personMsg/saveNew',
{
msgContent: '流程编号为' + row.prcNum + '的流程,请尽快办理。',
msgTitle: '流程编号' + row.prcNum,
userId: row.assigneeId,
msgType: 'TEXT'
},
{
loading: 'loading',
_this: this
}, res => {
this.clearanceCondition()
this.processTable()
this.$message.success('催办成功')
}, e => {
})
{
msgContent: '流程编号为' + row.prcNum + '的流程,请尽快办理。',
msgTitle: '流程编号' + row.prcNum,
userId: row.assigneeId,
msgType: 'TEXT'
},
{
loading: 'loading',
_this: this
}, res => {
this.clearanceCondition()
this.processTable()
this.$message.success('催办成功')
}, e => {
})
},
// 请求转换流程图
processNum () {
@@ -1200,7 +1211,7 @@ export default {
this.detailData = res
}, e => {})
},
...mapMutations(['setProcess', 'setHandleInfo', 'setPrcLastDetail']),
...mapMutations([ 'setProcess', 'setHandleInfo', 'setPrcLastDetail' ]),
processFlag (res) {
// if (res.data.hisTaskExcelVOList[0].processTypeFlag === '1' || res.data.hisTaskExcelVOList[0].processTypeFlag === '2' || res.data.hisTaskExcelVOList[0].processTypeFlag === '3' || res.data.hisTaskExcelVOList[0].processTypeFlag === '4' ||
// res.data.hisTaskExcelVOList[0].processTypeFlag === '5' || res.data.hisTaskExcelVOList[0].processTypeFlag === '6' || res.data.hisTaskExcelVOList[0].processTypeFlag === '8') {
@@ -1213,7 +1224,7 @@ export default {
},
// 导出事件
exportStandard () {
let ids = []
const ids = []
if (this.tableRow.length > 0) {
this.tableRow.map(item => {
ids.push(item.id)
@@ -1231,13 +1242,13 @@ export default {
if (sortObj.column.order !== 'normal') {
this.shunxu = ''
this.paixu = ''
let order = sortObj.column.order
const order = sortObj.column.order
switch (sortObj.column.property) {
// 任务步骤
// 任务步骤
case 'name' :
// 后台联调
this.paixu = 'name'
if (order === 'ascending'){
if (order === 'ascending') {
this.shunxu = 'asc'
} else if (order === 'descending') {
this.shunxu = 'desc'
@@ -1247,7 +1258,7 @@ export default {
case 'assignee' :
// 后台联调
this.paixu = 'assignee'
if (order === 'ascending'){
if (order === 'ascending') {
this.shunxu = 'asc'
} else if (order === 'descending') {
this.shunxu = 'desc'
@@ -1257,7 +1268,7 @@ export default {
case 'createTime' :
// 后台联调
this.paixu = 'startTime'
if (order === 'ascending'){
if (order === 'ascending') {
this.shunxu = 'asc'
} else if (order === 'descending') {
this.shunxu = 'desc'
@@ -1268,17 +1279,17 @@ export default {
this.processTable()
},
// 流程审批按钮是否显示
getApproveShow(){
this.$http.get('lawss/activiti/get_gather_by_instance',{
getApproveShow () {
this.$http.get('lawss/activiti/get_gather_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
},{
}, {
loading: 'loading',
_this: this
}, res => {
this.approveShow = res[res.length-1].isGather
this.approveRowIndex = res[res.length-1].index
this.approveShow = res[res.length - 1].isGather
this.approveRowIndex = res[res.length - 1].index
}, e => {})
}
},
@@ -1301,7 +1312,7 @@ export default {
/**
* 调整处理人按钮是否显示
*/
tzclrEnable() {
tzclrEnable () {
return this.$route.query.tabsName === 'MonitorProcess'
}
},
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff