合并分支 'zhoulingpo' 到 'master'
Zhoulingpo 查看合并请求 faw-report-library/faw-report-library-web!6
This commit is contained in:
+3
-3
@@ -110,9 +110,9 @@ export default {
|
|||||||
z-index: 7777 !important;
|
z-index: 7777 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-cascader__tags .el-tag {
|
//.el-cascader__tags .el-tag {
|
||||||
max-width: 40px !important;
|
// max-width: 40px !important;
|
||||||
}
|
//}
|
||||||
|
|
||||||
.el-cascader .el-input .el-input__inner {
|
.el-cascader .el-input .el-input__inner {
|
||||||
height: 24px !important;
|
height: 24px !important;
|
||||||
|
|||||||
@@ -9,14 +9,7 @@ export default {
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 查询报告如果已经发起了 就不能再发起了
|
|
||||||
selectReport (data) {
|
|
||||||
return request({
|
|
||||||
url: '/api/report/isAct',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
deletReport(data){
|
deletReport(data){
|
||||||
return request({
|
return request({
|
||||||
url: '/api/report/powerApply/deleteAct',
|
url: '/api/report/powerApply/deleteAct',
|
||||||
|
|||||||
@@ -90,6 +90,15 @@ export default {
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 通用流程提交
|
||||||
|
completeTaskALL(data){
|
||||||
|
return request({
|
||||||
|
url: '/api/batchCompleteTask',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 通用流程详细信息查询
|
// 通用流程详细信息查询
|
||||||
getProcessDetail( data ){
|
getProcessDetail( data ){
|
||||||
return request({
|
return request({
|
||||||
@@ -107,7 +116,7 @@ export default {
|
|||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 停用流程发起
|
// 流程发起
|
||||||
startProcess(data) {
|
startProcess(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/startProcess',
|
url: '/api/startProcess',
|
||||||
@@ -116,6 +125,15 @@ export default {
|
|||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 流程发起
|
||||||
|
startProcessALL(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/batchStartProcess',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
// 保存到草稿
|
// 保存到草稿
|
||||||
saveProcess(data) {
|
saveProcess(data) {
|
||||||
return request({
|
return request({
|
||||||
@@ -125,6 +143,16 @@ export default {
|
|||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// quan保存到草稿
|
||||||
|
saveProcessALL(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/batchSaveTaskFirst',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 判断当前人是不是审批人
|
// 判断当前人是不是审批人
|
||||||
// /selectTask
|
// /selectTask
|
||||||
jugeProcess(data) {
|
jugeProcess(data) {
|
||||||
@@ -134,5 +162,14 @@ export default {
|
|||||||
params: data
|
params: data
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
|
// 查询报告如果已经发起了 就不能再发起了
|
||||||
|
selectReport (data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report/isAct',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,18 +49,18 @@ export default {
|
|||||||
params: id
|
params: id
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
labelUpdate(data){
|
labelUpdate(data){
|
||||||
return request({
|
return request({
|
||||||
url: 'api/tree-label/update',
|
url: 'api/tree-label/update',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 新增或编辑报告
|
// 新增或编辑报告
|
||||||
reportAdd (data) {
|
reportAdd (data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/report/add',
|
url: '/api/report/saveOrUpdate',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -76,6 +76,13 @@ labelUpdate(data){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 获取报告详情
|
||||||
|
getReportDetail (data){
|
||||||
|
return request({
|
||||||
|
url: `/api/report/detail/${data}`,
|
||||||
|
method: 'GET'
|
||||||
|
})
|
||||||
|
},
|
||||||
// 获取报告预览
|
// 获取报告预览
|
||||||
reportGetReportHtmlId (data) {
|
reportGetReportHtmlId (data) {
|
||||||
return request({
|
return request({
|
||||||
@@ -151,6 +158,63 @@ labelUpdate(data){
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
// 点赞
|
||||||
|
goodLuck (data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/reportLogBook/thumbUpOrDown',
|
||||||
|
method: 'get',
|
||||||
|
params:data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
//删除评论 {id}
|
||||||
|
delJuggle (data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report-comment/'+data,
|
||||||
|
method: 'delete',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 添加评论
|
||||||
|
addJuggle (data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report-comment/add',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取评论
|
||||||
|
getJuggle (data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report-comment/page',
|
||||||
|
method: 'get',
|
||||||
|
params:data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//评分
|
||||||
|
addScore(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report-rating/rating',
|
||||||
|
method: 'put',
|
||||||
|
params:data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取评分
|
||||||
|
getScore(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report-rating/rating',
|
||||||
|
method: 'get',
|
||||||
|
params:data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取点赞
|
||||||
|
getGood(data){
|
||||||
|
|
||||||
|
return request({
|
||||||
|
url: '/api/reportLogBook/getThumbUpCount',
|
||||||
|
method: 'get',
|
||||||
|
params:data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
//
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import { instance as request } from '@/utils/request'
|
||||||
|
export default {
|
||||||
|
searchFile (data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report/fileName',
|
||||||
|
method: 'GET',
|
||||||
|
params:data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 判断报告名称是否重复
|
||||||
|
JggleName(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/report/isReportNameOccupy',
|
||||||
|
method: 'post',
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -97,6 +97,20 @@
|
|||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
max-height: 300px;
|
max-height: 300px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.no_border{
|
||||||
|
.el-form-item .el-input__inner {
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
font-size: 14px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.el-form-item .el-textarea__inner{
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.el-input.is-disabled .el-input__inner,
|
||||||
|
.el-textarea.is-disabled .el-textarea__inner{
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
v-if="isOrg"
|
v-if="isOrg"
|
||||||
append-to-body
|
append-to-body
|
||||||
:title="showTitle"
|
title="组织机构"
|
||||||
:visible.sync="isVisible"
|
:visible.sync="isVisible"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
class="org-table"
|
class="org-table"
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="部门编码"
|
label="部门编码"
|
||||||
width="120"
|
width="120"
|
||||||
:prop="orgCode"
|
prop="orgCode"
|
||||||
align="center"
|
align="center"
|
||||||
show-overflow-tooltip>
|
show-overflow-tooltip>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
size="medium"
|
size="medium"
|
||||||
closable
|
closable
|
||||||
v-for="item in checkedList"
|
v-for="item in checkedList"
|
||||||
:key="item.usid || item.USID || item.id"
|
:key="item.usid || item.USID || item.id || item.orgCode"
|
||||||
@close="handleRemove(item)">{{ item.uname || item.USNAME || item.name || item.orgName}}
|
@close="handleRemove(item)">{{ item.uname || item.USNAME || item.name || item.orgName}}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-button
|
<el-button
|
||||||
@@ -595,7 +595,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
const dataItem = this.checkedList[0]
|
const dataItem = this.checkedList[0]
|
||||||
this.checkedName = dataItem.uname || dataItem.USNAME || dataItem.orgName
|
this.checkedName = dataItem.uname || dataItem.USNAME || dataItem.orgName
|
||||||
const id = dataItem.id || dataItem.USID || dataItem.usid
|
const id = dataItem.id || dataItem.USID || dataItem.usid || dataItem.orgCode
|
||||||
this.$emit('input', id)
|
this.$emit('input', id)
|
||||||
this.$emit('on-checked', this.checkedName)
|
this.$emit('on-checked', this.checkedName)
|
||||||
this.$emit('on-dept', dataItem.pOrgId, dataItem.pOrgName)
|
this.$emit('on-dept', dataItem.pOrgId, dataItem.pOrgName)
|
||||||
@@ -745,7 +745,7 @@ export default {
|
|||||||
const selected = selection.length && selection.indexOf(row) !== -1 // 为true时选中,为 0 时(false)未选中
|
const selected = selection.length && selection.indexOf(row) !== -1 // 为true时选中,为 0 时(false)未选中
|
||||||
if (selected) {
|
if (selected) {
|
||||||
selection.map(selItem => {
|
selection.map(selItem => {
|
||||||
const id = selItem.USID
|
const id = selItem.USID || selItem.orgCode
|
||||||
if (!this.checkedIdList.includes(id)) {
|
if (!this.checkedIdList.includes(id)) {
|
||||||
this.checkedIdList.push(id)
|
this.checkedIdList.push(id)
|
||||||
this.checkedList.push(row)
|
this.checkedList.push(row)
|
||||||
@@ -758,7 +758,7 @@ export default {
|
|||||||
selectionRowAll (selection) {
|
selectionRowAll (selection) {
|
||||||
if (selection.length > 0) {
|
if (selection.length > 0) {
|
||||||
selection.map(selItem => {
|
selection.map(selItem => {
|
||||||
const id = selItem.USID
|
const id = selItem.USID || selItem.orgCode
|
||||||
if (!this.checkedIdList.includes(id)) {
|
if (!this.checkedIdList.includes(id)) {
|
||||||
this.checkedIdList.push(id)
|
this.checkedIdList.push(id)
|
||||||
this.checkedList.push(selItem)
|
this.checkedList.push(selItem)
|
||||||
@@ -948,7 +948,7 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (this.maxSelected == 1) {
|
if (this.maxSelected == 1) {
|
||||||
// debugger
|
//
|
||||||
this.tableChecked = this.config.value
|
this.tableChecked = this.config.value
|
||||||
this.isShowOrg = false
|
this.isShowOrg = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
prop="approvalOpinion"
|
prop="approvalOpinion"
|
||||||
align="center"
|
align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
label="审批意见">
|
label="审核意见">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
|||||||
@@ -54,18 +54,17 @@
|
|||||||
v-if="showTransfer" round
|
v-if="showTransfer" round
|
||||||
>转办</el-button>
|
>转办</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
|
||||||
size="large"
|
size="large"
|
||||||
class="common-button-primary"
|
class="common-button-primary bgPink"
|
||||||
@click="handleSubmit('n')"
|
@click="handleSubmit('n')"
|
||||||
:loading="btyLoading"
|
:loading="btyLoading"
|
||||||
v-if="showNoAgree" round>
|
v-if="showNoAgree" round>
|
||||||
不同意
|
不同意
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
|
||||||
size="large"
|
size="large"
|
||||||
class="common-button-primary"
|
class="common-button-primary bgPink"
|
||||||
@click="handleSubmit('y')"
|
@click="handleSubmit('y')"
|
||||||
:loading="tyLoading"
|
:loading="tyLoading"
|
||||||
v-if="showAgree" round>
|
v-if="showAgree" round>
|
||||||
@@ -90,9 +89,9 @@
|
|||||||
重置
|
重置
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
|
||||||
size="large"
|
size="large"
|
||||||
class="common-button-primary"
|
class="common-button-primary bgPink"
|
||||||
@click="handleSubmit"
|
@click="handleSubmit"
|
||||||
:loading="submitLoading"
|
:loading="submitLoading"
|
||||||
v-if="showSubmit" round
|
v-if="showSubmit" round
|
||||||
@@ -434,4 +433,9 @@ export default {
|
|||||||
//background-color:#8400ff;
|
//background-color:#8400ff;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
.bgPink{
|
||||||
|
background-color: rgba(132, 0, 255, 1);
|
||||||
|
border-color: rgba(132, 0, 255, 1);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -7,23 +7,31 @@
|
|||||||
components: {},
|
components: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
userId: this.$store.getters.userInfo.usid,
|
||||||
|
userName:this.$store.getters.userInfo.usname,
|
||||||
processTypeList: [
|
processTypeList: [
|
||||||
{
|
|
||||||
label: '下载申请流程',
|
|
||||||
value: '1'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: '预览申请流程',
|
label: '预览申请',
|
||||||
|
value: '1'
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
label: '预览+下载申请',
|
||||||
value: '2'
|
value: '2'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预览+下载申请流程',
|
label: '下载申请',
|
||||||
value: '3'
|
value: '3'
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: '上传审批流程',
|
label: '上传审批',
|
||||||
value: '4'
|
value: '4'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '编辑报告',
|
||||||
|
value: '5'
|
||||||
|
},
|
||||||
],
|
],
|
||||||
formDisableFlag: false,
|
formDisableFlag: false,
|
||||||
nowOrder: '',
|
nowOrder: '',
|
||||||
@@ -106,21 +114,43 @@
|
|||||||
// 所有流程的完成任务
|
// 所有流程的完成任务
|
||||||
completeProcess(obj) {
|
completeProcess(obj) {
|
||||||
this.$api.process.completeTask(obj).then(res=>{
|
this.$api.process.completeTask(obj).then(res=>{
|
||||||
|
if(this.$route.path=='/userCenter/processCenter'){
|
||||||
|
this.loadData()
|
||||||
|
}else {
|
||||||
|
this.$message['success']('提交成功')
|
||||||
|
this.$router.push({
|
||||||
|
path: "/userCenter/processCenter",
|
||||||
|
query: {
|
||||||
|
id: 'AEHJB8YNJ3'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 所有流程的完成任务
|
||||||
|
completeProcessALL(obj) {
|
||||||
|
this.$api.process.completeTaskALL(obj).then(res=>{
|
||||||
|
if(this.$route.path=='/userCenter/processCenter'){
|
||||||
|
this.reset()
|
||||||
|
}else{
|
||||||
this.$message['success']('提交成功')
|
this.$message['success']('提交成功')
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:"/userCenter/processCenter",
|
path:"/userCenter/processCenter",
|
||||||
query:{
|
query:{
|
||||||
id:'AEHJB8YNJ3'
|
id:'AEHJB8YNJ3',
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
},
|
|
||||||
|
})
|
||||||
|
},
|
||||||
// 获取流程详细信息
|
// 获取流程详细信息
|
||||||
getProcessDetail(){
|
getProcessDetail(){
|
||||||
return new Promise((resolve,reject)=>{
|
return new Promise((resolve,reject)=>{
|
||||||
let params={
|
let params={
|
||||||
prcId: this.prcId,
|
prcId: this.prcId ,
|
||||||
prcType: this.prcType
|
prcType: this.prcType,
|
||||||
|
dataId:this.dataId
|
||||||
}
|
}
|
||||||
if(this.$route.query.type=='yiban') params.tag=1
|
if(this.$route.query.type=='yiban') params.tag=1
|
||||||
else params.tag=0
|
else params.tag=0
|
||||||
@@ -145,6 +175,16 @@
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
//保存到草稿
|
||||||
|
saveProcessALL(param){
|
||||||
|
return new Promise((resolve,reject)=> {
|
||||||
|
this.$api.process.saveProcessALL(param).then(res => {
|
||||||
|
resolve()
|
||||||
|
}).catch(()=>{
|
||||||
|
reject()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
// 获取草稿详细信息
|
// 获取草稿详细信息
|
||||||
getDraftDetail(){
|
getDraftDetail(){
|
||||||
let dataId=this.$store.getters.handleProcess.dataId
|
let dataId=this.$store.getters.handleProcess.dataId
|
||||||
@@ -173,8 +213,6 @@
|
|||||||
this.$message.warning("您没有当前流程的操作权限")
|
this.$message.warning("您没有当前流程的操作权限")
|
||||||
resolve(false)
|
resolve(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<svg t="1683517728690" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2927" width="200" height="200"><path d="M64 483.04V872c0 37.216 30.144 67.36 67.36 67.36H192V416.32l-60.64-0.64A67.36 67.36 0 0 0 64 483.04zM857.28 344.992l-267.808 1.696c12.576-44.256 18.944-83.584 18.944-118.208 0-78.56-68.832-155.488-137.568-145.504-60.608 8.8-67.264 61.184-67.264 126.816v59.264c0 76.064-63.84 140.864-137.856 148L256 416.96v522.4h527.552a102.72 102.72 0 0 0 100.928-83.584l73.728-388.96a102.72 102.72 0 0 0-100.928-121.824z" p-id="2928" fill="#13227a"></path></svg>
|
<svg t="1683623452238" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3732" width="200" height="200"><path d="M64 483.04V872c0 37.216 30.144 67.36 67.36 67.36H192V416.32l-60.64-0.64A67.36 67.36 0 0 0 64 483.04zM857.28 344.992l-267.808 1.696c12.576-44.256 18.944-83.584 18.944-118.208 0-78.56-68.832-155.488-137.568-145.504-60.608 8.8-67.264 61.184-67.264 126.816v59.264c0 76.064-63.84 140.864-137.856 148L256 416.96v522.4h527.552a102.72 102.72 0 0 0 100.928-83.584l73.728-388.96a102.72 102.72 0 0 0-100.928-121.824z" p-id="3733" fill="#d81e06"></path></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 603 B After Width: | Height: | Size: 603 B |
@@ -17,6 +17,7 @@ import './assets/css/element-variables.scss'
|
|||||||
// ECharts
|
// ECharts
|
||||||
import 'echarts'
|
import 'echarts'
|
||||||
import ECharts from './components/ECharts'
|
import ECharts from './components/ECharts'
|
||||||
|
import orgTable from '@/components/OrgTable'
|
||||||
// Api
|
// Api
|
||||||
import Api from './api'
|
import Api from './api'
|
||||||
|
|
||||||
@@ -47,6 +48,7 @@ Vue.use(VXETable)
|
|||||||
Vue.use(VueQuillEditor)
|
Vue.use(VueQuillEditor)
|
||||||
Vue.use(ElementUI, { size: 'mini', zIndex: 3000 })
|
Vue.use(ElementUI, { size: 'mini', zIndex: 3000 })
|
||||||
Vue.component('v-chart', ECharts)
|
Vue.component('v-chart', ECharts)
|
||||||
|
Vue.component('orgTable',orgTable)
|
||||||
Vue.use(Api)
|
Vue.use(Api)
|
||||||
Vue.use(Directive)
|
Vue.use(Directive)
|
||||||
Vue.use(Filter)
|
Vue.use(Filter)
|
||||||
|
|||||||
+19
-20
@@ -1,10 +1,11 @@
|
|||||||
// 定义枚举
|
// 定义枚举
|
||||||
import Esenum from './index.js'
|
import Esenum from './index.js'
|
||||||
// 权限申请
|
// 权限申请
|
||||||
export const PERMISSION = new Esenum([
|
export const PERMISSION = [
|
||||||
{ label: '预览', value: "1" },
|
{ label: '预览', value: "1" ,disabled:false},
|
||||||
{ label: '预览+下载', value: "2" }
|
{ label: '预览+下载', value: "2" ,disabled:false},
|
||||||
])
|
{ label: '下载', value: "3",disabled:false },
|
||||||
|
]
|
||||||
|
|
||||||
// 基础设置的枚举
|
// 基础设置的枚举
|
||||||
// export const basMessage = new Esenum([
|
// export const basMessage = new Esenum([
|
||||||
@@ -14,10 +15,12 @@ export const basMessage = new Esenum({
|
|||||||
mark: {name: "水印前缀", value: "WATERMARK_PREFIX",index:0}
|
mark: {name: "水印前缀", value: "WATERMARK_PREFIX",index:0}
|
||||||
})
|
})
|
||||||
|
|
||||||
export const privacyLevelOptions= new Esenum([
|
|
||||||
|
|
||||||
|
export const privacyLevelOptions= [
|
||||||
{
|
{
|
||||||
value:'外部公开',
|
value:'公开(内部公开)',
|
||||||
label:'外部公开'
|
label:'公开(内部公开)'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value:'普通商密',
|
value:'普通商密',
|
||||||
@@ -27,22 +30,18 @@ export const privacyLevelOptions= new Esenum([
|
|||||||
value:'核心商密',
|
value:'核心商密',
|
||||||
label:'核心商密'
|
label:'核心商密'
|
||||||
},
|
},
|
||||||
|
]
|
||||||
|
export const confidentialLevelOptions = [
|
||||||
{
|
{
|
||||||
value:'内部公开',
|
value:'不涉及用户隐私',
|
||||||
label:'内部公开'
|
label:'不涉及用户隐私'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value:'用户信息',
|
value:'用户隐私',
|
||||||
label:'用户信息'
|
label:'用户隐私'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value:'敏感信息',
|
value:'用户敏感信息',
|
||||||
label:'敏感信息'
|
label:'用户敏感信息'
|
||||||
},
|
|
||||||
])
|
|
||||||
export const confidentialLevelOptions = new Esenum([
|
|
||||||
{
|
|
||||||
value:'一般隐私',
|
|
||||||
label:'一般隐私'
|
|
||||||
}
|
}
|
||||||
])
|
]
|
||||||
|
|||||||
@@ -33,3 +33,14 @@ export function formatDate (value, fmt) {
|
|||||||
return value.substr(0, fmt.length)
|
return value.substr(0, fmt.length)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
export function formatDate2 (value, fmt) {
|
||||||
|
let dateObject = new Date(value);
|
||||||
|
let year = dateObject.getFullYear();
|
||||||
|
let month = dateObject.getMonth() + 1;
|
||||||
|
let day = dateObject.getDate();
|
||||||
|
let hours = dateObject.getHours();
|
||||||
|
let minutes = dateObject.getMinutes();
|
||||||
|
let seconds = dateObject.getSeconds();
|
||||||
|
|
||||||
|
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||||
|
}
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ instance.interceptors.response.use(function (response) {
|
|||||||
// Message.error(response.data.message)
|
// Message.error(response.data.message)
|
||||||
// if (response.data.status == 401) {
|
// if (response.data.status == 401) {
|
||||||
store.commit('savePathUrl', null)
|
store.commit('savePathUrl', null)
|
||||||
store.commit('setHandleProcess', null)
|
|
||||||
// router.push('/login')
|
// router.push('/login')
|
||||||
Message.error(response.data.message)
|
Message.error(response.data.message)
|
||||||
// window.open(BASE_URL.BASE_CHANGAN + "/logout?service=" + BASE_URL.BASE_LOCAL + "/login?loginType=1", '_self');
|
// window.open(BASE_URL.BASE_CHANGAN + "/logout?service=" + BASE_URL.BASE_LOCAL + "/login?loginType=1", '_self');
|
||||||
|
|||||||
+403
-225
@@ -1,101 +1,232 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="content-height report-detail">
|
<div class="content-height report-detail">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<el-tooltip :content="row.name" placement="top-start">
|
<el-tooltip :content="row.name" placement="top-start">
|
||||||
<span>{{ row.name || '-' }}</span>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
<div class="desc">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="24" class="desc-item">
|
|
||||||
<label>上传人</label>
|
|
||||||
<div>{{ row.createUserName }}</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" class="desc-item">
|
|
||||||
<label>关键词</label>
|
|
||||||
<div>{{ getKeyContent(row.keyContent) }}</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" class="desc-item">
|
|
||||||
<label>内容摘要</label>
|
|
||||||
<p>{{ row.mainContent || '-' }}</p>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" class="desc-item">
|
|
||||||
<label>所属部门</label>
|
|
||||||
<div>{{ row.department || '-' }}</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" class="desc-item">
|
|
||||||
<label>报告涉密等级</label>
|
|
||||||
<div>{{ row.confidentialLevel || '-' }}</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" class="desc-item">
|
|
||||||
<label>标签</label>
|
|
||||||
<div>{{ row.labelList || '-' }}</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
<div class="report-download">
|
|
||||||
<span>报告详情</span>
|
|
||||||
<!-- <el-button type="primary" @click="downloadRow(row)">报告下载</el-button>-->
|
|
||||||
</div>
|
|
||||||
<div class="preview-box" v-watermark="{ text: watermarkText }">
|
|
||||||
<div class="preview-content" v-html="content"></div>
|
|
||||||
</div>
|
|
||||||
<div class="report-jug">
|
|
||||||
<div class="report-jug-left">
|
|
||||||
报告满意度:<el-rate allow-half :max="10" v-model="value1" @click="saveScore"></el-rate>
|
|
||||||
</div>
|
|
||||||
<div class="pointclick">
|
|
||||||
<svg-icon v-if="!isShow" icon-class="pointe" @click="isShow=!isShow" class-name="icon" ></svg-icon>
|
|
||||||
<svg-icon v-else icon-class="pointe_fill" @click="isShow=!isShow" class-name="icon" ></svg-icon>
|
|
||||||
|
|
||||||
</div>
|
<span>{{ row.name || '-' }}</span>
|
||||||
|
</el-tooltip>
|
||||||
|
</div>
|
||||||
|
<div class="desc">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" class="desc-item">
|
||||||
|
<label>上传人</label>
|
||||||
|
<div>{{ row.uploaderName }}</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" class="desc-item">
|
||||||
|
<label>关键词</label>
|
||||||
|
<div>{{ getKeyContent(row.keyContent) }}</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" class="desc-item">
|
||||||
|
<label>内容摘要</label>
|
||||||
|
<p>{{ row.mainContent || '-' }}</p>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10" class="desc-item">
|
||||||
|
<label>所属部门</label>
|
||||||
|
<div>{{ row.departmentName || '-' }}</div>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="10" :offset="2" class="desc-item">
|
||||||
|
<label>报告年份</label>
|
||||||
|
<div>{{ row.year || '-' }}</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10" class="desc-item">
|
||||||
|
<label>报告涉密等级</label>
|
||||||
|
<div>{{ row.confidentialLevel || '-' }}</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="2" class="desc-item">
|
||||||
|
<label>报告隐私等级</label>
|
||||||
|
<div>{{ row.privacyLevel || '-' }}</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" class="desc-item">
|
||||||
|
<label>标签</label>
|
||||||
|
<div>{{ row.labels && row.labels.join(',') || '-' }}</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<div class="report-download">
|
||||||
|
<span>报告详情</span>
|
||||||
|
<el-button type="primary" v-if="row.downPower==1" @click="downloadRow(row)">报告下载</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="preview-box" v-watermark="{ text: watermarkText }">
|
||||||
|
<div class="preview-content" v-html="content"></div>
|
||||||
|
</div>
|
||||||
|
<div class="report-jug">
|
||||||
|
<div class="report-jug-left">
|
||||||
|
<div>报告满意度</div>
|
||||||
|
|
||||||
|
<el-rate allow-half :max="5" v-model="userRating" @click.native="saveScore"></el-rate>
|
||||||
</div>
|
</div>
|
||||||
<div class="juggle_box showLimit">
|
<div class="pointclick">
|
||||||
<el-row >
|
<svg-icon v-if="!isShow" icon-class="pointe" @click="pointZan('y')" style="font-size: 25px"
|
||||||
<el-col :span="1">
|
class-name="icon"></svg-icon>
|
||||||
<span>评论</span>
|
<svg-icon v-else icon-class="pointe_fill" @click="pointZan('n')" style="font-size: 25px"
|
||||||
</el-col>
|
class-name="icon"></svg-icon>
|
||||||
<el-col :span="21">
|
{{ pointNum }}
|
||||||
<el-input type="textarea" v-model="juggle" maxlength="1000" show-word-limit></el-input>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="2">
|
|
||||||
<el-button size="medium" type="primary" class="fabiaoBtn" @click="">发表评论</el-button>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<div class="all_juggle">
|
|
||||||
<div class="juggle_left">sss</div>
|
|
||||||
<div class="juggle_right">
|
|
||||||
<div class="content">ssss</div>
|
|
||||||
<div class="bottom">
|
|
||||||
<div class="time">time</div>
|
|
||||||
<el-button class="delbtn" size="medium" plain type="primary" @click="">删除</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="juggle_box showLimit">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="1">
|
||||||
|
<span>评论</span>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="21">
|
||||||
|
<el-input type="textarea" v-model="comment" maxlength="1000" show-word-limit></el-input>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="2">
|
||||||
|
<el-button size="medium" type="primary" class="fabiaoBtn" @click="addJuggle">发表评论</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<div class="all_juggle" v-for="item in commonList">
|
||||||
|
<div class="juggle_left">
|
||||||
|
<div class="nameCir">
|
||||||
|
{{ item.userName.slice(0, 1) }}
|
||||||
|
</div>
|
||||||
|
<div class="name">
|
||||||
|
{{ (item.orgName || '') + "【" + item.userName + "】" }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="juggle_right">
|
||||||
|
<div class="content">{{ item.comment }}</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="time">{{ item.createTime && formatDate2(item.createTime) }}</div>
|
||||||
|
<el-button class="delbtn" size="medium" plain type="primary" v-if="item.userId==userId || isAdmin"
|
||||||
|
@click="delJugg(item.id)">删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-pagination v-if="commonList.length>0" @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||||
|
:current-page="q.pageNo"
|
||||||
|
:page-sizes="[5, 10, 20]" :page-size="q.pageSize" layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { downloadFile } from '@/utils/downloadFile'
|
import {downloadFile} from '@/utils/downloadFile'
|
||||||
import { formatDate } from '@/utils/date'
|
import {formatDate2} from '@/utils/date'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ReportDetail',
|
name: 'ReportDetail',
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isAdmin: false, //是否是管理员
|
||||||
|
report: {},
|
||||||
|
formatDate2,
|
||||||
isShow: false,
|
isShow: false,
|
||||||
value1:'',
|
userRating: '',
|
||||||
watermarkText: '', // 水印
|
watermarkText: '', // 水印
|
||||||
content: '',
|
content: '',
|
||||||
row: {}
|
row: {},
|
||||||
|
comment: '',
|
||||||
|
reportId: '',
|
||||||
|
commonList: [],
|
||||||
|
q: {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 5,
|
||||||
|
|
||||||
|
},
|
||||||
|
userId: this.$store.getters.userInfo.USID,
|
||||||
|
userName: this.$store.getters.userInfo.USNAME,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取评分
|
||||||
|
getScore() {
|
||||||
|
this.$api.report.getScore({reportId: this.reportId}).then(res => {
|
||||||
|
this.userRating = res.data / 2
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取点赞数量及其状态
|
||||||
|
getGood() {
|
||||||
|
this.$api.report.getGood({reportId: this.reportId}).then(res => {
|
||||||
|
if (res.data.logId) {
|
||||||
|
this.isShow = true
|
||||||
|
} else {
|
||||||
|
this.isShow = false
|
||||||
|
}
|
||||||
|
this.pointNum = res.data.thumbUpCount
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//点赞
|
||||||
|
pointZan(type) {
|
||||||
|
|
||||||
|
this.$api.report.goodLuck({reportId: this.reportId}).then(res => {
|
||||||
|
this.$message.success("操作成功")
|
||||||
|
this.getGood()
|
||||||
|
}).catch(() => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//评分
|
||||||
|
saveScore() {
|
||||||
|
let userRating = this.userRating * 2
|
||||||
|
this.$api.report.addScore({userRating: +userRating, reportId: this.reportId}).then(res => {
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
addJuggle() {
|
||||||
|
if (this.comment != '') {
|
||||||
|
this.$api.report.addJuggle({
|
||||||
|
comment: this.comment,
|
||||||
|
reportId: this.reportId,
|
||||||
|
userId: this.userId,
|
||||||
|
userName: this.userName
|
||||||
|
}).then(res => {
|
||||||
|
this.$message.success("评论成功")
|
||||||
|
this.comment = ''
|
||||||
|
this.getComment()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning("请填写评论")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 删除评论
|
||||||
|
delJugg(id) {
|
||||||
|
this.$confirm('确认删除该条评论?', '删除', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
confirmButtonClass: 'common-button-primary',
|
||||||
|
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.$api.report.delJuggle(id).then(res => {
|
||||||
|
this.$message.success("删除成功")
|
||||||
|
this.getComment()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 单页数据量
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.q.pageSize = val;
|
||||||
|
this.q.pageNo = 1;
|
||||||
|
this.getComment();
|
||||||
|
},
|
||||||
|
// 第几页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.q.pageNo = val;
|
||||||
|
this.getComment();
|
||||||
|
},
|
||||||
|
// 获取评论
|
||||||
|
getComment() {
|
||||||
|
this.$api.report.getJuggle({...this.q, reportId: this.reportId}).then(res => {
|
||||||
|
this.commonList = res.data.records
|
||||||
|
this.total = res.data.total
|
||||||
|
})
|
||||||
|
},
|
||||||
getKeyContent(list) {
|
getKeyContent(list) {
|
||||||
if (list) {
|
if (list) {
|
||||||
let keyContent = []
|
let keyContent = []
|
||||||
@@ -114,183 +245,230 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 预览
|
// 预览
|
||||||
previewRow () {
|
previewRow() {
|
||||||
if (!this.$route.query.row) {
|
// this.watermarkText = `${this.$store.state.userInfo.usname} ${formatDate(+new Date(), 'yyyy年MM月dd日 hh:mm:ss')}`
|
||||||
this.$router.push({ path: '/report/list', query: { id: this.$route.query.id } })
|
// this.row = JSON.parse(this.$route.query.row)
|
||||||
return
|
this.$api.report.reportGetReportHtmlId({id: this.row.id}).then(({data}) => {
|
||||||
}
|
|
||||||
this.watermarkText = `${this.$store.state.userInfo.usname} ${formatDate(+new Date(), 'yyyy年MM月dd日 hh:mm:ss')}`
|
|
||||||
this.row = JSON.parse(this.$route.query.row)
|
|
||||||
this.$api.report.reportGetReportHtmlId({ id: this.row.id }).then(({ data }) => {
|
|
||||||
this.content = data.content
|
this.content = data.content
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 下载
|
// 下载
|
||||||
downloadRow (row) {
|
downloadRow(row) {
|
||||||
// this.$confirm('此操作将下载所选数据文件, 是否继续?', '提示', {
|
// this.$confirm('此操作将下载所选数据文件, 是否继续?', '提示', {
|
||||||
// confirmButtonText: '确定',
|
// confirmButtonText: '确定',
|
||||||
// cancelButtonText: '取消',
|
// cancelButtonText: '取消',
|
||||||
// type: 'warning'
|
// type: 'warning'
|
||||||
// }).then(() => {
|
// }).then(() => {
|
||||||
this.$api.report.reportDownload({ fileId: row.fileId,repostId:row.id }).then(res => {
|
this.$api.report.reportDownload({fileId: row.fileId, repostId: row.id}).then(res => {
|
||||||
downloadFile(res)
|
downloadFile(res)
|
||||||
})
|
})
|
||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
saveScore(){
|
// 获取详情
|
||||||
|
getReportDetail() {
|
||||||
}
|
this.$api.report.getReportDetail(this.reportId).then(res => {
|
||||||
|
this.row = res.data
|
||||||
|
// 需要给分数/2
|
||||||
|
this.previewRow()
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created () {
|
mounted() {
|
||||||
this.previewRow()
|
this.reportId = this.$route.query.reportId
|
||||||
|
this.isAdmin = this.$store.getters.userInfo.roleIdList.indexOf('35LLRCAQ8D') > -1
|
||||||
|
// this.previewRow()
|
||||||
|
this.getComment()
|
||||||
|
this.getReportDetail()
|
||||||
|
this.getScore()
|
||||||
|
this.getGood()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.report-detail {
|
.report-detail {
|
||||||
.title {
|
.title {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
border-bottom: 1px solid #EBEEF5;
|
border-bottom: 1px solid #EBEEF5;
|
||||||
height: 42px;
|
height: 42px;
|
||||||
line-height: 42px;
|
line-height: 42px;
|
||||||
margin: 0 18px 0 22px;
|
margin: 0 18px 0 22px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #262626;
|
color: #262626;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.desc{
|
|
||||||
padding: 11px 26px 6px 48px;
|
|
||||||
|
|
||||||
.desc-item{
|
.desc {
|
||||||
display: flex;
|
padding: 11px 26px 6px 48px;
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: flex-start;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
label{
|
|
||||||
display: inline-block;
|
|
||||||
height: 19px;
|
|
||||||
line-height: 19px;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #595959;
|
|
||||||
width: 64px;
|
|
||||||
border-right: 1px solid #BFBFBF;
|
|
||||||
margin-right: 9px;
|
|
||||||
}
|
|
||||||
div,p{
|
|
||||||
flex: 1;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #434343;
|
|
||||||
}
|
|
||||||
p{
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.report-download {
|
.desc-item {
|
||||||
height: 40px;
|
|
||||||
background: #F2F6FC;
|
|
||||||
border: 1px solid #EBEEF5;
|
|
||||||
margin: 0 14px 0 13px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 0 7px 0 9px;
|
|
||||||
|
|
||||||
span {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #262626;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.preview-box {
|
|
||||||
// 定位使水印不溢出元素
|
|
||||||
position: relative;
|
|
||||||
// 居中
|
|
||||||
width: calc(100% - 13px - 14px);
|
|
||||||
margin-left: 13px;
|
|
||||||
|
|
||||||
.preview-content {
|
|
||||||
//margin: 0 14px 0 13px;
|
|
||||||
padding-bottom: 11px;
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
table{
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.report-jug{
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: flex-start;
|
||||||
padding: 10px;
|
align-items: flex-start;
|
||||||
.report-jug-left{
|
margin-bottom: 12px;
|
||||||
display: flex;
|
|
||||||
|
|
||||||
|
label {
|
||||||
|
display: inline-block;
|
||||||
|
height: 19px;
|
||||||
|
line-height: 19px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #595959;
|
||||||
|
width: 85px;
|
||||||
|
margin-right: 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div, p {
|
||||||
|
flex: 1;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #434343;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: justify;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.juggle_box{
|
}
|
||||||
padding: 10px;
|
|
||||||
.all_juggle{
|
.report-download {
|
||||||
margin-top: 20px;
|
height: 40px;
|
||||||
display: flex;
|
background: #F2F6FC;
|
||||||
width: 100%;
|
border: 1px solid #EBEEF5;
|
||||||
border: 1px solid #e6f6fe;
|
margin: 0 14px 0 13px;
|
||||||
min-height: 150px;
|
display: flex;
|
||||||
.juggle_left{
|
align-items: center;
|
||||||
width: 15%;
|
justify-content: space-between;
|
||||||
|
padding: 0 7px 0 9px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #262626;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview-box {
|
||||||
|
// 定位使水印不溢出元素
|
||||||
|
position: relative;
|
||||||
|
// 居中
|
||||||
|
width: calc(100% - 13px - 14px);
|
||||||
|
margin-left: 13px;
|
||||||
|
|
||||||
|
.preview-content {
|
||||||
|
//margin: 0 14px 0 13px;
|
||||||
|
max-height: 500px;
|
||||||
|
padding-bottom: 11px;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.report-jug {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 10px;
|
||||||
|
|
||||||
|
.report-jug-left {
|
||||||
|
display: flex;
|
||||||
|
&>div{
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
::v-deep .el-rate__item{
|
||||||
|
vertical-align: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.juggle_box {
|
||||||
|
padding: 10px;
|
||||||
|
|
||||||
|
.all_juggle {
|
||||||
|
margin-top: 20px;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
border: 1px solid #e6f6fe;
|
||||||
|
min-height: 150px;
|
||||||
|
|
||||||
|
.juggle_left {
|
||||||
|
width: 15%;
|
||||||
|
text-align: center;
|
||||||
|
border-right: 1px solid #e6f6fe;
|
||||||
|
color: #434343;
|
||||||
|
|
||||||
|
.nameCir {
|
||||||
|
background-color: pink;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
border-radius: 50%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-right: 1px solid #e6f6fe;
|
line-height: 60px;
|
||||||
margin: 0 auto;
|
color: #fff;
|
||||||
|
font-size: 18px;
|
||||||
|
margin: 20px calc(50% - 30px);
|
||||||
}
|
}
|
||||||
.juggle_right{
|
}
|
||||||
position: relative;
|
|
||||||
width: 85%;
|
.juggle_right {
|
||||||
padding: 20px;
|
position: relative;
|
||||||
.content{
|
width: 85%;
|
||||||
width: 100%;
|
padding: 10px 10px 40px;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
width: 100%;
|
||||||
|
color: #434343;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: calc(100% - 40px);
|
||||||
|
bottom: 10px;
|
||||||
|
left: 20px;
|
||||||
|
height: 30px;
|
||||||
|
color: #434343;
|
||||||
|
|
||||||
|
.time {
|
||||||
|
line-height: 30px;
|
||||||
|
color: #ccc;
|
||||||
}
|
}
|
||||||
.bottom{
|
|
||||||
position: absolute;
|
.delbtn {
|
||||||
display: flex;
|
vertical-align: center;
|
||||||
justify-content: space-between;
|
|
||||||
width: calc(100% - 40px);
|
|
||||||
bottom: 10px;
|
|
||||||
left: 20px;
|
|
||||||
height: 30px;
|
|
||||||
.time{
|
|
||||||
line-height: 30px;
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
.delbtn{
|
|
||||||
vertical-align: center;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.fabiaoBtn{
|
|
||||||
margin-left: 20px;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.isBackground{
|
|
||||||
background-color: pink;
|
.fabiaoBtn {
|
||||||
}
|
margin-left: 20px;
|
||||||
}
|
height: 100%;
|
||||||
.pointclick{
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isBackground {
|
||||||
|
background-color: pink;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pointclick {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
+128
-131
@@ -32,78 +32,16 @@
|
|||||||
<el-button type="primary" @click="search">查询</el-button>
|
<el-button type="primary" @click="search">查询</el-button>
|
||||||
<el-button type="default" @click="reset">重置</el-button>
|
<el-button type="default" @click="reset">重置</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="24">
|
|
||||||
<div class="tag-item">
|
|
||||||
<el-tooltip :content="tagData[1].name" placement="top">
|
|
||||||
<label class="tag-title">{{ tagData[1].name }}</label>
|
|
||||||
</el-tooltip>
|
|
||||||
<div class="tag-show" :class="{'active': tagData[1].tagShow}">
|
|
||||||
<el-checkbox :indeterminate="tagData[1].isIndeterminate" v-model="tagData[1].checkAll"
|
|
||||||
@change="(val) => handleCheckAllChange(val, 1)">全部
|
|
||||||
</el-checkbox>
|
|
||||||
<el-checkbox-group v-model="q.labelOneId"
|
|
||||||
@change="(val) => handleCheckedTagsChange(val, 1)">
|
|
||||||
<template v-for="item in tagData[1].tags">
|
|
||||||
<el-checkbox :label="item.id" :key="item.id">{{ item.name }}</el-checkbox>
|
|
||||||
</template>
|
|
||||||
</el-checkbox-group>
|
|
||||||
<i @click="switchTagShow(1)"
|
|
||||||
:class="{'el-icon-arrow-down': !tagData[1].tagShow, 'el-icon-arrow-up': tagData[1].tagShow}"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-col> -->
|
|
||||||
<!-- <el-col :span="24">
|
|
||||||
<div class="tag-item">
|
|
||||||
<el-tooltip :content="tagData[2].name" placement="top">
|
|
||||||
<label class="tag-title">{{ tagData[2].name }}</label>
|
|
||||||
</el-tooltip>
|
|
||||||
<div class="tag-show" :class="{'active': tagData[2].tagShow}">
|
|
||||||
<el-checkbox :indeterminate="tagData[2].isIndeterminate" v-model="tagData[2].checkAll"
|
|
||||||
@change="(val) => handleCheckAllChange(val, 2)">全部
|
|
||||||
</el-checkbox>
|
|
||||||
<el-checkbox-group v-model="q.labelTwoId"
|
|
||||||
@change="(val) => handleCheckedTagsChange(val, 2)">
|
|
||||||
<template v-for="item in tagData[2].tags">
|
|
||||||
<el-checkbox :label="item.id" :key="item.id">{{ item.name }}</el-checkbox>
|
|
||||||
</template>
|
|
||||||
</el-checkbox-group>
|
|
||||||
<i @click="switchTagShow(2)"
|
|
||||||
:class="{'el-icon-arrow-down': !tagData[2].tagShow, 'el-icon-arrow-up': tagData[2].tagShow}"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-col> -->
|
|
||||||
<!-- <el-col :span="24">
|
|
||||||
<div class="tag-item">
|
|
||||||
<el-tooltip :content="tagData[3].name" placement="top">
|
|
||||||
<label class="tag-title">{{ tagData[3].name }}</label>
|
|
||||||
</el-tooltip>
|
|
||||||
<div class="tag-show" :class="{'active': tagData[3].tagShow}">
|
|
||||||
<el-checkbox :indeterminate="tagData[3].isIndeterminate" v-model="tagData[3].checkAll"
|
|
||||||
@change="(val) => handleCheckAllChange(val, 3)">全部
|
|
||||||
</el-checkbox>
|
|
||||||
<el-checkbox-group v-model="q.labelThreeId"
|
|
||||||
@change="(val) => handleCheckedTagsChange(val, 3)">
|
|
||||||
<template v-for="item in tagData[3].tags">
|
|
||||||
<el-checkbox :label="item.id" :key="item.id">{{ item.name }}</el-checkbox>
|
|
||||||
</template>
|
|
||||||
</el-checkbox-group>
|
|
||||||
<i @click="switchTagShow(3)"
|
|
||||||
:class="{'el-icon-arrow-down': !tagData[3].tagShow, 'el-icon-arrow-up': tagData[3].tagShow}"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-col> -->
|
|
||||||
|
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<el-row class="tag-btn">
|
<el-row class="tag-btn">
|
||||||
|
|
||||||
<el-button @click="permissionApp">权限申请</el-button>
|
<el-button v-if="!isAdmin" type="primary" @click="permissionApp(false)">申请权限</el-button>
|
||||||
|
|
||||||
<div class="tag-right">
|
<div class="tag-right">
|
||||||
<el-button @click="">时间</el-button>
|
<el-button @click="clickBtn(1)" :class="{'checkClass':isShowbg1}">时间</el-button>
|
||||||
<el-button @click="">点击量</el-button>
|
<el-button @click="clickBtn(2)" class="clickNum" :class="{'checkClass':isShowbg2}">点击量</el-button>
|
||||||
<el-button @click="">下载量</el-button>
|
<el-button @click="clickBtn(3)" :class="{'checkClass':isShowbg3}">下载量</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -121,7 +59,6 @@
|
|||||||
default-expand-all
|
default-expand-all
|
||||||
:filter-node-method="filterNode"
|
:filter-node-method="filterNode"
|
||||||
ref="tree"
|
ref="tree"
|
||||||
check-strictly
|
|
||||||
@check="getHalfCheckedNode"
|
@check="getHalfCheckedNode"
|
||||||
|
|
||||||
>
|
>
|
||||||
@@ -137,7 +74,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="19">
|
<el-col :span="20" style="padding-left: 15px">
|
||||||
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe
|
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe
|
||||||
v-table-min-height="'calc(100vh - 320px)'"
|
v-table-min-height="'calc(100vh - 320px)'"
|
||||||
@checkbox-all="selectAllEvent" @checkbox-change="selectChangeEvent">
|
@checkbox-all="selectAllEvent" @checkbox-change="selectChangeEvent">
|
||||||
@@ -151,59 +88,42 @@
|
|||||||
<template #default="{ row, rowIndex }">
|
<template #default="{ row, rowIndex }">
|
||||||
<!-- <label class="row-title" >-->
|
<!-- <label class="row-title" >-->
|
||||||
<!-- <el-tooltip :content="row.name" placement="top-start">-->
|
<!-- <el-tooltip :content="row.name" placement="top-start">-->
|
||||||
<span class="report-name blurcolor" @click="goReportDetail(row)"> {{ row.name }}</span>
|
<span class="report-name"> {{ row.name }}</span>
|
||||||
<!-- </el-tooltip>-->
|
|
||||||
<!-- </label>-->
|
|
||||||
<!-- <div class="row-info">-->
|
|
||||||
<!-- <img v-if="row.fileType === '3'" class="icon-file-type" src="@/assets/imgs/icon-pdf.png" alt="">-->
|
|
||||||
<!-- <img v-if="row.fileType === '4'" class="icon-file-type" src="@/assets/imgs/icon-doc.png" alt="">-->
|
|
||||||
<!-- <img v-if="row.fileType === '1'" class="icon-file-type" src="@/assets/imgs/icon-ppt.png" alt="">-->
|
|
||||||
<!-- <img v-if="row.fileType === '2'" class="icon-file-type" src="@/assets/imgs/icon-excel.png" alt="">-->
|
|
||||||
|
|
||||||
<!-- <div class="row-text">-->
|
|
||||||
<!-- <label class="row-title" @click="goReportDetail(row)">-->
|
|
||||||
<!-- <el-tooltip :content="row.name" placement="top-start">-->
|
|
||||||
<!-- <span>{{row.name}}</span>-->
|
|
||||||
<!-- </el-tooltip>-->
|
|
||||||
<!-- </label>-->
|
|
||||||
<!-- <div class="tag-info">-->
|
|
||||||
<!-- <span class="icon-tag-item"><img src="@/assets/imgs/icon-time.png"-->
|
|
||||||
<!-- alt=""><span>{{row?.year}}</span></span>-->
|
|
||||||
<!-- <span class="icon-tag-item"><img src="@/assets/imgs/icon-tag01.png"-->
|
|
||||||
<!-- alt=""><span class="keyContent">{{getKeyContent(row?.keyContent)}}</span></span>-->
|
|
||||||
<!-- <!– <span class="icon-tag-item"><img src="@/assets/imgs/icon-tag02.png"-->
|
|
||||||
<!-- alt=""><span>{{row.labelTwoName}}</span></span>-->
|
|
||||||
<!-- <span class="icon-tag-item"><img src="@/assets/imgs/icon-tag03.png"-->
|
|
||||||
<!-- alt=""><span>{{row.labelThreeName}}</span></span> –>-->
|
|
||||||
<!-- <!–<span class="icon-tag-item"><span>{{(row.fileSize / 1024 / 1024).toFixed(2) }}MB</span></span>–>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="摘要"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="mainContent" title="摘要"></vxe-column>
|
||||||
|
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="报告年份"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="year" title="报告年份"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="报告评级">
|
<vxe-column show-overflow show-header-overflow field="reportRating" title="报告评级">
|
||||||
<template #default="{row}">
|
<template #default="{row}">
|
||||||
<el-rate
|
<el-rate
|
||||||
v-model="value"
|
v-model="row.reportRating/2"
|
||||||
disabled
|
disabled
|
||||||
show-score
|
|
||||||
text-color="#ff9900"
|
text-color="#ff9900"
|
||||||
score-template="{value}">
|
>
|
||||||
</el-rate>
|
</el-rate>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="点赞数"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="thumbUp" title="点赞数">
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="点击率"></vxe-column>
|
<template #default="{ row }">
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="下载量"></vxe-column>
|
{{row.thumbUp || 0}}
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="上传人"></vxe-column>
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="clicks" title="点击量">
|
||||||
|
<template #default="{ row }">
|
||||||
|
{{row.clicks || 0}}
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="download" title="下载量">
|
||||||
|
<template #default="{ row }">
|
||||||
|
{{row.download || 0}}
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="uploader" title="上传人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="text" @click="previewRow(row)">预览</el-button>
|
<el-button type="text" v-if="isAdmin ||row.power == 1 ||row.power == 2" @click="goReportDetail(row)">预览</el-button>
|
||||||
<el-button type="text" v-if="isAdmin || row.power == 2 || !row.power " @click="downloadRow(row)">下载</el-button>
|
<el-button type="text" v-if="isAdmin || row.power == 3 || row.power == 2 " @click="downloadRow(row)">下载</el-button>
|
||||||
<el-button type="text" v-if="" @click="permissionApp(row)">申请权限</el-button>
|
<el-button type="text" v-if="!isAdmin && row.power !== 2" @click="permissionApp(row)">申请权限</el-button>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
@@ -252,6 +172,9 @@ export default {
|
|||||||
name: 'ReportList',
|
name: 'ReportList',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isShowbg1:true,
|
||||||
|
isShowbg2:false,
|
||||||
|
isShowbg3:false,
|
||||||
value:3.7,
|
value:3.7,
|
||||||
watermarkText: '', // 水印
|
watermarkText: '', // 水印
|
||||||
fullscreen: false,
|
fullscreen: false,
|
||||||
@@ -261,6 +184,9 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
orderByClicks:0,
|
||||||
|
orderByDownload:0,
|
||||||
|
orderByTime:1
|
||||||
},
|
},
|
||||||
total: 0,
|
total: 0,
|
||||||
tableData: [],
|
tableData: [],
|
||||||
@@ -304,6 +230,29 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
clickBtn(type){
|
||||||
|
for(let i= 1;i<4;i++){
|
||||||
|
this['isShowbg'+i] = false
|
||||||
|
}
|
||||||
|
this['isShowbg'+type] = true
|
||||||
|
if(type==1){
|
||||||
|
this.q.orderByTime=1
|
||||||
|
this.q.orderByClicks=0
|
||||||
|
this.q.orderByDownload=0
|
||||||
|
|
||||||
|
}else if(type==2){
|
||||||
|
this.q.orderByClicks=1
|
||||||
|
this.q.orderByTime=0
|
||||||
|
this.q.orderByDownload=0
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.q.orderByDownload=1
|
||||||
|
this.q.orderByClicks=0
|
||||||
|
this.q.orderByTime=0
|
||||||
|
}
|
||||||
|
this.q.pageNo=1
|
||||||
|
this.reportList()
|
||||||
|
},
|
||||||
getKeyContent(list) {
|
getKeyContent(list) {
|
||||||
if (list) {
|
if (list) {
|
||||||
let keyContent = []
|
let keyContent = []
|
||||||
@@ -343,26 +292,50 @@ export default {
|
|||||||
return item.id
|
return item.id
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
permissionApp() {
|
permissionApp(row) {
|
||||||
// if(this.checkList.length <1){
|
if(row){
|
||||||
// this.$message.warning("至少选择一条报告进行权限申请")
|
if(row.isAct == 0){
|
||||||
// return
|
this.$message.warning("当前"+row.name+"已经在流程中")
|
||||||
// }
|
return
|
||||||
// // 有预览权限的时候是否还让继续申请
|
}
|
||||||
// let temp=this.checkList.filter(item =>{
|
this.$router.push({
|
||||||
// if(+item.power == 1 || +item.power == 2){
|
path: '/permission/launch',
|
||||||
// return item.name
|
query: {id: 'AEHJB8YNJ3', isBegin: 1,ids:row.id}
|
||||||
// }
|
})
|
||||||
// })
|
}else{
|
||||||
// if(temp.length>0) {
|
if(this.checkList.length <1){
|
||||||
// this.$message.warning("当前选择的"+temp.toString()+"已经有权限,无须申请!")
|
this.$message.warning("至少选择一条报告进行权限申请")
|
||||||
// return
|
return
|
||||||
// }
|
}
|
||||||
|
let already=this.checkList.filter(item =>{
|
||||||
|
if( +item.isAct == 0){
|
||||||
|
return item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(already.length>0) {
|
||||||
|
let name=already.map(item=>item.name)
|
||||||
|
this.$message.warning("当前选择的"+name.join(',')+"已经在流程中")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 有预览权限的时候是否还让继续申请
|
||||||
|
let temp=this.checkList.filter(item =>{
|
||||||
|
if( +item.power == 2){
|
||||||
|
return item.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log(temp)
|
||||||
|
if(temp.length>0) {
|
||||||
|
let name=temp.map(item=>item.name)
|
||||||
|
this.$message.warning("当前选择的"+name.join(',')+"已经有权限,无须申请!")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {id: 'AEHJB8YNJ3', isBegin: 1,ids:this.checkIds.join(',')}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
this.$router.push({
|
|
||||||
path: '/permission/launch',
|
|
||||||
query: {id: 'AEHJB8YNJ3', isBegin: 1}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
init() {
|
init() {
|
||||||
this.getTreeLabel()
|
this.getTreeLabel()
|
||||||
@@ -464,7 +437,10 @@ export default {
|
|||||||
labelTwoId: [],
|
labelTwoId: [],
|
||||||
labelThreeId: [],
|
labelThreeId: [],
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10
|
pageSize: 10,
|
||||||
|
orderByTime:1,
|
||||||
|
orderByDownload:0,
|
||||||
|
orderByClicks:0
|
||||||
}
|
}
|
||||||
this.total = 0
|
this.total = 0
|
||||||
this.tableData = []
|
this.tableData = []
|
||||||
@@ -490,7 +466,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 跳转到详情
|
// 跳转到详情
|
||||||
goReportDetail(row) {
|
goReportDetail(row) {
|
||||||
this.$router.push({path: '/report/detail', query: {id: this.$route.query.id, row: JSON.stringify(row)}})
|
this.$router.push({path: '/report/detail', query: {id: this.$route.query.id, reportId: row.id}})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -513,7 +489,7 @@ export default {
|
|||||||
.treeList {
|
.treeList {
|
||||||
padding: 20px 20px 0;
|
padding: 20px 20px 0;
|
||||||
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
||||||
margin-right: 20px;
|
//margin-right: 20px;
|
||||||
|
|
||||||
.filter-tree {
|
.filter-tree {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
@@ -552,10 +528,31 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tag-btn {
|
.tag-btn {
|
||||||
|
.el-button + .el-button {
|
||||||
|
margin-left: 0px;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
padding: 18px 13px 11px;
|
padding: 18px 13px 11px;
|
||||||
.tag-right{
|
.tag-right{
|
||||||
float: right;
|
float: right;
|
||||||
|
::v-deep .el-button{
|
||||||
|
border: 1px solid #3D87CC;
|
||||||
|
border-radius: 0;
|
||||||
|
color: #3D87CC;
|
||||||
|
background-color: #ecf5ff;
|
||||||
|
}
|
||||||
|
.clickNum{
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid #3D87CC ;
|
||||||
|
border-bottom: 1px solid #3D87CC;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.checkClass{
|
||||||
|
background-color: rgba(64, 158, 255, 1) !important;
|
||||||
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="table">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="4" class="treeList">
|
<el-col :span="4" class="treeList">
|
||||||
<el-input placeholder="输入关键字进行过滤" v-model="filterText">
|
<el-input placeholder="输入关键字进行过滤" v-model="filterText">
|
||||||
@@ -55,8 +56,6 @@
|
|||||||
:filter-node-method="filterNode"
|
:filter-node-method="filterNode"
|
||||||
ref="tree"
|
ref="tree"
|
||||||
@check="getHalfCheckedNode"
|
@check="getHalfCheckedNode"
|
||||||
check-strictly
|
|
||||||
@check-change="setCheckedNodes"
|
|
||||||
:key="treeKey"
|
:key="treeKey"
|
||||||
>
|
>
|
||||||
<template slot-scope="{node}">
|
<template slot-scope="{node}">
|
||||||
@@ -70,7 +69,7 @@
|
|||||||
</el-tree>
|
</el-tree>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="19 ">
|
<el-col :span="20" style="padding-left: 15px">
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe v-table-min-height="'calc(100vh - 320px)'">
|
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe v-table-min-height="'calc(100vh - 320px)'">
|
||||||
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
|
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
|
||||||
@@ -86,7 +85,9 @@
|
|||||||
<vxe-column show-overflow show-header-overflow field="labelThreeName"
|
<vxe-column show-overflow show-header-overflow field="labelThreeName"
|
||||||
:title="tagsForm.tags03.name"></vxe-column> -->
|
:title="tagsForm.tags03.name"></vxe-column> -->
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="报告年份"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="year" title="报告年份"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="createDate" title="上传时间"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="confidentialLevel" title="报告涉密等级"></vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="privacyLevel" title="报告隐私等级"></vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="createDate" title="报告上传时间"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="text" @click="openReportModify('modify', row)">编辑</el-button>
|
<el-button type="text" @click="openReportModify('modify', row)">编辑</el-button>
|
||||||
@@ -102,7 +103,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
</div>
|
||||||
<!--操作日志-->
|
<!--操作日志-->
|
||||||
<el-dialog title="操作日志" :visible.sync="dialogLog" width="1100px" :close-on-click-modal="false"
|
<el-dialog title="操作日志" :visible.sync="dialogLog" width="1100px" :close-on-click-modal="false"
|
||||||
:close-on-press-escape="false" modal-append-to-body append-to-body>
|
:close-on-press-escape="false" modal-append-to-body append-to-body>
|
||||||
@@ -329,7 +330,6 @@ export default {
|
|||||||
doNames: [],
|
doNames: [],
|
||||||
/* =============================================== 标签维护 =============================================== */
|
/* =============================================== 标签维护 =============================================== */
|
||||||
dialogTags: false, // 标签维护
|
dialogTags: false, // 标签维护
|
||||||
filterText: '',
|
|
||||||
treeData: [
|
treeData: [
|
||||||
],
|
],
|
||||||
filterText:'',
|
filterText:'',
|
||||||
@@ -781,28 +781,27 @@ export default {
|
|||||||
/* =============================================== 报告上传 =============================================== */
|
/* =============================================== 报告上传 =============================================== */
|
||||||
// 打开报告上传
|
// 打开报告上传
|
||||||
openReportAdd() {
|
openReportAdd() {
|
||||||
this.mode = 'add';
|
// this.mode = 'add';
|
||||||
this.reportF = {
|
// this.reportF = {
|
||||||
name: '', // 报告名称
|
// name: '', // 报告名称
|
||||||
mainContent: '', // 内容摘要
|
// mainContent: '', // 内容摘要
|
||||||
department: '', // 报告所属部门
|
// department: '', // 报告所属部门
|
||||||
fileName: '', // 文件上传
|
// fileName: '', // 文件上传
|
||||||
fileId: '',
|
// fileId: '',
|
||||||
year: '', // 报告年份
|
// year: '', // 报告年份
|
||||||
privacyLevel: undefined, //报告隐私等级
|
// privacyLevel: undefined, //报告隐私等级
|
||||||
reportUserIdList: [], // 权限
|
// reportUserIdList: [], // 权限
|
||||||
confidentialLevel:undefined, //涉密等级
|
// confidentialLevel:undefined, //涉密等级
|
||||||
labelList:[] //标签
|
// labelList:[] //标签
|
||||||
};
|
// };
|
||||||
this.tags = [] // 关键词
|
// this.tags = [] // 关键词
|
||||||
this.dialogReport = true;
|
// this.dialogReport = true;
|
||||||
// this.$router.push({
|
this.$router.push({
|
||||||
// path:'/reportprocess/launch',
|
path:'/reportprocess/launch',
|
||||||
// query:{
|
query:{
|
||||||
// id:this.$route.query.id,
|
id:this.$route.query.id,
|
||||||
// isBegin:1
|
}
|
||||||
// }
|
})
|
||||||
// })
|
|
||||||
},
|
},
|
||||||
// 必填项
|
// 必填项
|
||||||
checkReportF() {
|
checkReportF() {
|
||||||
@@ -875,29 +874,17 @@ export default {
|
|||||||
},
|
},
|
||||||
// 打开报告上传
|
// 打开报告上传
|
||||||
openReportModify(mode, row) {
|
openReportModify(mode, row) {
|
||||||
this.reportF = {
|
if( +row.isAct == 0){
|
||||||
name: '', // 报告名称
|
this.$message.warning("当前选择的"+row.name+"已经在流程中")
|
||||||
mainContent: '', // 内容摘要
|
return
|
||||||
department: '', // 报告所属部门
|
}
|
||||||
fileName: '', // 文件上传
|
this.$router.push({
|
||||||
fileId: '',
|
path:'/reportprocess/launch',
|
||||||
year: '', // 报告年份
|
query:{
|
||||||
privacyLevel: undefined, //报告隐私等级
|
id:this.$route.query.id,
|
||||||
reportUserIdList: [], // 权限
|
ids:row.id
|
||||||
confidentialLevel:undefined, //涉密等级
|
}
|
||||||
labelList:[] //标签
|
})
|
||||||
};
|
|
||||||
this.tags = []
|
|
||||||
this.mode = mode;
|
|
||||||
// this.labelList();
|
|
||||||
let rowData = JSON.parse(JSON.stringify(row));
|
|
||||||
console.log('rowData',rowData);
|
|
||||||
this.reportF = rowData;
|
|
||||||
// this.reportF.tags=JSON.parse(rowData.keyContent)
|
|
||||||
this.tags=JSON.parse(rowData.keyContent)
|
|
||||||
if(this.tags == '') this.tags =[]
|
|
||||||
this.$forceUpdate()
|
|
||||||
this.dialogReport = true;
|
|
||||||
},
|
},
|
||||||
// 获取所有用户
|
// 获取所有用户
|
||||||
sysUserList() {
|
sysUserList() {
|
||||||
@@ -949,6 +936,8 @@ export default {
|
|||||||
this.q.pageNo = 1;
|
this.q.pageNo = 1;
|
||||||
this.reportList();
|
this.reportList();
|
||||||
}
|
}
|
||||||
|
}).catch(err=>{
|
||||||
|
this.tableData =[]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 日期列表
|
// 日期列表
|
||||||
@@ -970,13 +959,15 @@ export default {
|
|||||||
},
|
},
|
||||||
// 预览
|
// 预览
|
||||||
previewRow(row) {
|
previewRow(row) {
|
||||||
this.fullscreen = false;
|
// this.fullscreen = false;
|
||||||
// 更新预览水印的时间戳
|
// // 更新预览水印的时间戳
|
||||||
this.watermarkText = `${this.$store.state.userInfo.usname} ${formatDate(+new Date(), 'yyyy年MM月dd日 hh:mm:ss')}`;
|
// this.watermarkText = `${this.$store.state.userInfo.usname} ${formatDate(+new Date(), 'yyyy年MM月dd日 hh:mm:ss')}`;
|
||||||
this.$api.report.reportGetReportHtmlId({ id: row.id }).then(({ data }) => {
|
// this.$api.report.reportGetReportHtmlId({ id: row.id }).then(({ data }) => {
|
||||||
this.content = data.content;
|
// this.content = data.content;
|
||||||
this.dialogPreview = true;
|
// this.dialogPreview = true;
|
||||||
})
|
// })
|
||||||
|
this.$router.push({path: '/report/detail', query: {id: this.$route.query.id, reportId: row.id}})
|
||||||
|
|
||||||
},
|
},
|
||||||
// 下载
|
// 下载
|
||||||
downloadRow(row) {
|
downloadRow(row) {
|
||||||
@@ -1003,10 +994,9 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.treeList{
|
.treeList{
|
||||||
padding: 20px;
|
padding: 20px 20px 0;
|
||||||
margin-left: 13px;
|
//margin-left: 13px;
|
||||||
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
||||||
margin-right: 20px;
|
|
||||||
.filter-tree{
|
.filter-tree{
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
height: calc(100vh - 320px);
|
height: calc(100vh - 320px);
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
<vxe-column show-overflow show-header-overflow field="ACCOUNT" title="用户名"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="ACCOUNT" title="用户名"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="CELLPHONE_NUMBER" title="手机号"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="CELLPHONE_NUMBER" title="手机号"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="CREATEDATE" title="创建时间"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="CREATEDATE" title="创建时间"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="DEPARTMENT" title="部门"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="ORGNAME" title="部门"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="EMAIL" title="邮箱"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="EMAIL" title="邮箱"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="ROLENAME" title="角色"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="ROLENAME" title="角色"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="USNAME" title="姓名"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="USNAME" title="姓名"></vxe-column>
|
||||||
@@ -98,7 +98,9 @@
|
|||||||
<el-input v-model="form.cellPhoneNumber" placeholder="请输入手机号"></el-input>
|
<el-input v-model="form.cellPhoneNumber" placeholder="请输入手机号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="部门:">
|
<el-form-item label="部门:">
|
||||||
<el-input v-model="form.department" maxlength="50" show-word-limit placeholder="请输入部门"></el-input>
|
<el-input maxlength="50" readonly v-model="form.orgName" @click.native="handleClick" placeholder="请选择部门"
|
||||||
|
></el-input>
|
||||||
|
<!-- <el-input show-word-limit placeholder="请输入部门"></el-input>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="邮箱:">
|
<el-form-item label="邮箱:">
|
||||||
<el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
|
<el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
|
||||||
@@ -119,6 +121,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{
|
||||||
|
value: orgTableVal,
|
||||||
|
valueName: orgTableValName
|
||||||
|
}" :workNumFlag="true" :isOrg="true" :maxSelected="100" @confirm="isTreeOk"></orgTable>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -129,6 +135,9 @@ export default {
|
|||||||
name: 'User',
|
name: 'User',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
visibleOrgTable:false,
|
||||||
|
orgTableVal:'',
|
||||||
|
orgTableValName:'',
|
||||||
q: {
|
q: {
|
||||||
account: '', // 用户名
|
account: '', // 用户名
|
||||||
roleName: '', // 角色名称
|
roleName: '', // 角色名称
|
||||||
@@ -142,7 +151,7 @@ export default {
|
|||||||
form: {
|
form: {
|
||||||
account: '', // 用户名
|
account: '', // 用户名
|
||||||
cellPhoneNumber: '', // 手机号
|
cellPhoneNumber: '', // 手机号
|
||||||
department: '', // 部门
|
orgId: '', // 部门
|
||||||
email: '', // 邮箱
|
email: '', // 邮箱
|
||||||
password: '', // 密码
|
password: '', // 密码
|
||||||
usid: '',
|
usid: '',
|
||||||
@@ -154,6 +163,23 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
isTreeOk(checkedList){
|
||||||
|
|
||||||
|
const parts = []
|
||||||
|
const partsName = []
|
||||||
|
checkedList.map((item, index) => {
|
||||||
|
parts.push(item.orgCode)
|
||||||
|
partsName.push(item.orgName)
|
||||||
|
})
|
||||||
|
this.form.orgId = parts.toString()
|
||||||
|
this.form.orgName = partsName.toString()
|
||||||
|
|
||||||
|
},
|
||||||
|
handleClick(){
|
||||||
|
this.orgTableVal=this.form.orgId
|
||||||
|
this.orgTableValName=this.form.orgName
|
||||||
|
this.visibleOrgTable=true
|
||||||
|
},
|
||||||
search () {
|
search () {
|
||||||
this.q.pageNo = 1
|
this.q.pageNo = 1
|
||||||
this.sysUserList()
|
this.sysUserList()
|
||||||
@@ -200,7 +226,7 @@ export default {
|
|||||||
this.form = {
|
this.form = {
|
||||||
account: '', // 用户名
|
account: '', // 用户名
|
||||||
cellPhoneNumber: '', // 手机号
|
cellPhoneNumber: '', // 手机号
|
||||||
department: '', // 部门
|
orgId: '', // 部门
|
||||||
email: '', // 邮箱
|
email: '', // 邮箱
|
||||||
password: '', // 密码
|
password: '', // 密码
|
||||||
usid: '',
|
usid: '',
|
||||||
@@ -287,7 +313,8 @@ export default {
|
|||||||
this.form = {
|
this.form = {
|
||||||
account: row.ACCOUNT, // 用户名
|
account: row.ACCOUNT, // 用户名
|
||||||
cellPhoneNumber: row.CELLPHONE_NUMBER, // 手机号
|
cellPhoneNumber: row.CELLPHONE_NUMBER, // 手机号
|
||||||
department: row.DEPARTMENT, // 部门
|
orgId: row.ORGID, // 部门
|
||||||
|
orgName: row.ORGNAME, // 部门
|
||||||
email: row.EMAIL, // 邮箱
|
email: row.EMAIL, // 邮箱
|
||||||
password: '', // 密码
|
password: '', // 密码
|
||||||
usid: row.USID, // 用户ID
|
usid: row.USID, // 用户ID
|
||||||
|
|||||||
@@ -1,74 +1,79 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="AuditOperationBox">
|
<div class="AuditOperationBox">
|
||||||
<el-form
|
<el-form
|
||||||
ref="examineForm"
|
ref="examineForm"
|
||||||
:model="examineForm"
|
:model="examineForm"
|
||||||
:rules="examineFormRules"
|
:rules="examineFormRules"
|
||||||
size="medium"
|
size="medium"
|
||||||
class="label-input-form prc-content-border">
|
class="label-input-form prc-content-border">
|
||||||
<!-- <el-row :gutter="24">-->
|
<!-- <el-row :gutter="24">-->
|
||||||
<!-- <el-col :span="9">-->
|
<!-- <el-col :span="9">-->
|
||||||
<!-- <el-form-item label="选择赋权时间:" prop="date"-->
|
<!-- <el-form-item label="选择赋权时间:" prop="date"-->
|
||||||
<!-- label-width="132px" class="add-form-item"-->
|
<!-- label-width="132px" class="add-form-item"-->
|
||||||
<!-- :class="{'form-item-disabled': formdisableflag}">-->
|
<!-- :class="{'form-item-disabled': formdisableflag}">-->
|
||||||
<!-- <el-date-picker-->
|
<!-- <el-date-picker-->
|
||||||
<!-- v-model="examineForm.date"-->
|
<!-- v-model="examineForm.date"-->
|
||||||
<!-- type="date"-->
|
<!-- type="date"-->
|
||||||
<!-- placeholder="选择赋权时间">-->
|
<!-- placeholder="选择赋权时间">-->
|
||||||
<!-- </el-date-picker>-->
|
<!-- </el-date-picker>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- </el-col>-->
|
<!-- </el-col>-->
|
||||||
<!-- </el-row>-->
|
<!-- </el-row>-->
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="审批结果:" prop="flag"
|
<el-form-item :prop="!formdisableflag?'approvalOpinion':''" label-width="132px" class="add-form-item">
|
||||||
label-width="132px" class="add-form-item"
|
<template slot="label">审核意见:</template>
|
||||||
:class="{'form-item-disabled': formdisableflag}">
|
<el-input :disabled="formdisableflag" :maxlength='1000'
|
||||||
<el-radio-group :disabled="formdisableflag" v-model="examineForm.flag" >
|
v-model="examineForm.approvalOpinion"
|
||||||
<el-radio :label="'1'">同意</el-radio>
|
placeholder="请输入审核意见"
|
||||||
<el-radio :label="'2'">不同意</el-radio>
|
:autosize="{ minRows: 2, maxRows: 4}"
|
||||||
</el-radio-group>
|
type="textarea"
|
||||||
</el-form-item>
|
/>
|
||||||
</el-col>
|
</el-form-item>
|
||||||
</el-row>
|
</el-col>
|
||||||
<el-row :gutter="24">
|
</el-row>
|
||||||
<el-col :span="24">
|
<process-footer
|
||||||
<el-form-item :prop="!formdisableflag?'approvalOpinion':''" label-width="132px" class="add-form-item">
|
v-if="!isDisable"
|
||||||
<template slot="label">审批意见:</template>
|
showCancel
|
||||||
<el-input :disabled="formdisableflag" :maxlength='1000'
|
:show-transfer="isShowTran"
|
||||||
v-model="examineForm.approvalOpinion"
|
:show-agree="isAgree"
|
||||||
placeholder="请输入审批意见"
|
:show-no-agree="isNoAgree"
|
||||||
:autosize="{ minRows: 2, maxRows: 4}"
|
:btyLoading="isBty"
|
||||||
type="textarea"
|
:tyLoading="isTy"
|
||||||
/>
|
@transfer="handleTransfer"
|
||||||
</el-form-item>
|
@submit="handleSubmit"
|
||||||
</el-col>
|
></process-footer>
|
||||||
</el-row>
|
<!-- <el-row :gutter="24">-->
|
||||||
<!-- <el-row :gutter="24">-->
|
<!-- <el-col :span="24">-->
|
||||||
<!-- <el-col :span="24">-->
|
<!-- <el-form-item label="附件" prop="entStandText" label-width="132px" class="add-form-item"-->
|
||||||
<!-- <el-form-item label="附件" prop="entStandText" label-width="132px" class="add-form-item"-->
|
<!-- :class="{'form-item-disabled': formdisableflag}">-->
|
||||||
<!-- :class="{'form-item-disabled': formdisableflag}">-->
|
<!-- <el-button-->
|
||||||
<!-- <el-button-->
|
<!-- size="small"-->
|
||||||
<!-- size="small"-->
|
<!-- class="form-upload-btn"-->
|
||||||
<!-- class="form-upload-btn"-->
|
<!-- icon="el-icon-upload"-->
|
||||||
<!-- icon="el-icon-upload"-->
|
<!-- @click="clickButtonToUpload('approvalFile')"-->
|
||||||
<!-- @click="clickButtonToUpload('approvalFile')"-->
|
<!-- >-->
|
||||||
<!-- >-->
|
<!-- {{ examineForm.approvalFile === 'null' || examineForm.approvalFile === '' ||-->
|
||||||
<!-- {{ examineForm.approvalFile === 'null' || examineForm.approvalFile === '' ||-->
|
<!-- examineForm.approvalFile == null ? '点击上传' : '查看已上传的文件' }}-->
|
||||||
<!-- examineForm.approvalFile == null ? '点击上传' : '查看已上传的文件' }}-->
|
<!-- </el-button>-->
|
||||||
<!-- </el-button>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
||||||
<!-- </el-col>-->
|
<!-- </el-row>-->
|
||||||
<!-- </el-row>-->
|
</el-form>
|
||||||
</el-form>
|
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import processFooter from '@/components/ProcessFooter'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AuditOperation',
|
name: 'AuditOperation',
|
||||||
|
components:{
|
||||||
|
processFooter,
|
||||||
|
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
isDisable:{
|
isDisable:{
|
||||||
type:Boolean,
|
type:Boolean,
|
||||||
@@ -76,11 +81,32 @@ export default {
|
|||||||
},
|
},
|
||||||
examine:{
|
examine:{
|
||||||
type:Object
|
type:Object
|
||||||
|
},
|
||||||
|
taskId:{
|
||||||
|
type:String,
|
||||||
|
default:''
|
||||||
|
},
|
||||||
|
prcId:{
|
||||||
|
type:String,
|
||||||
|
default:''
|
||||||
|
},
|
||||||
|
prcType:{
|
||||||
|
type:Number,
|
||||||
|
default:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
isBty:false,
|
||||||
|
isTy:false,
|
||||||
|
isNoAgree: true,
|
||||||
|
isAgree: true,
|
||||||
|
visibleTree: false,
|
||||||
|
isSubmit: false,
|
||||||
|
tranLoading: false,
|
||||||
|
isShowTran: true,
|
||||||
|
isShowSubmit: true,
|
||||||
examineForm: {
|
examineForm: {
|
||||||
planReasonFile: '',
|
planReasonFile: '',
|
||||||
oldName: '',
|
oldName: '',
|
||||||
@@ -92,7 +118,7 @@ export default {
|
|||||||
{ required: true, message: '审核结果不能为空', trigger: 'change' }
|
{ required: true, message: '审核结果不能为空', trigger: 'change' }
|
||||||
],
|
],
|
||||||
approvalOpinion: [
|
approvalOpinion: [
|
||||||
{ type: 'string', max: 500, message: '审批意见不能超过500个字符', trigger: 'blur' }
|
{ type: 'string', max: 500, message: '审核意见不能超过500个字符', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
formdisableflag: false
|
formdisableflag: false
|
||||||
@@ -107,19 +133,44 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleTransfer(){
|
||||||
|
if(this.examineForm.approvalOpinion==''){
|
||||||
|
this.$message.warning("请您填写审核意见")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$emit('handleTransfer',this.examineForm.approvalOpinion)
|
||||||
|
},
|
||||||
|
handleSubmit(type) {
|
||||||
|
if(type=='n'){
|
||||||
|
// 校验原因是否填写
|
||||||
|
this.examineForm.flag=2
|
||||||
|
if(this.examineForm.approvalOpinion==''){
|
||||||
|
this.$message.warning("请您填写审核意见")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.examineForm.flag=1
|
||||||
|
}
|
||||||
|
this.$emit('handleSubmit')
|
||||||
|
|
||||||
|
// if (this.$refs.operationRef.submit()) {
|
||||||
|
// 通过了校验 需要整合参数 拿到原来的dataJson 再把新添加的增进去 在拼成dataJson
|
||||||
|
|
||||||
|
},
|
||||||
/** 在提交表单的校验 通过继续执行 */
|
/** 在提交表单的校验 通过继续执行 */
|
||||||
submit () {
|
submit () {
|
||||||
this.isSubmit = false
|
let v
|
||||||
this.$refs.examineForm.validate((valid) => {
|
this.$refs.examineForm.validate((valid) => {
|
||||||
|
v=valid
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.isSubmit = true
|
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning('请检查表单是否填写正确')
|
this.$message.warning('请检查表单是否填写正确')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -127,11 +178,11 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.AssignButton {
|
.AssignButton {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.AssignButton:hover {
|
.AssignButton:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -0,0 +1,244 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-drawer
|
||||||
|
title="编辑"
|
||||||
|
:visible.sync="isShow"
|
||||||
|
size="35%"
|
||||||
|
class="drawerLog"
|
||||||
|
:wrapperClosable="false"
|
||||||
|
@close="handleClose"
|
||||||
|
>
|
||||||
|
<el-form ref="applicationFormRef" :model="applicationForm" label-width="150px"
|
||||||
|
class="label-input-form" size="medium" :rules="applicationFormRule"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="报告名称:" prop="name">
|
||||||
|
<el-input disabled v-model="applicationForm.name"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="报告涉密等级:" prop="confidentialLevel">
|
||||||
|
<el-input disabled v-model="applicationForm.confidentialLevel"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="报告隐私等级:" prop="privacyLevel">
|
||||||
|
<el-input disabled v-model="applicationForm.privacyLevel"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="审批人:" prop="oneApprove">
|
||||||
|
<el-input readonly :disabled="formControl" v-model="applicationForm.oneApproveName"
|
||||||
|
@click.native="handleCheck('spr1')"
|
||||||
|
placeholder="请选择审批人"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="二级审批人:" prop="twoApprove">
|
||||||
|
<el-input readonly :disabled="formControl" v-model="applicationForm.twoApproveName"
|
||||||
|
@click.native="handleCheck('spr2')"
|
||||||
|
placeholder="请选择二级审批人"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="选择申请权限:" prop="power">
|
||||||
|
<el-select :disabled="formControl" v-model="applicationForm.power" placeholder="请选择申请权限"
|
||||||
|
@change="changeType">
|
||||||
|
<el-option
|
||||||
|
v-for="item in PERMISSION"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:disabled="item.disabled"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="22">
|
||||||
|
<el-form-item label="申请原因:" prop="applyReason">
|
||||||
|
<el-input :disabled="formControl" type="textarea" v-model="applicationForm.applyReason"
|
||||||
|
placeholder="请输入申请原因"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="done">
|
||||||
|
<el-button type="primary" size="medium" @click.native="savaCheck">确定</el-button>
|
||||||
|
<el-button type="default" size="medium" @click.native="handleClose">取消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-drawer>
|
||||||
|
<orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{
|
||||||
|
value: orgTableVal,
|
||||||
|
valueName: orgTableValName
|
||||||
|
}" :workNumFlag="true" :maxSelected="1" @confirm="isTreeOk"></orgTable>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {PERMISSION} from '@/utils/Enum/enum'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "reportDrawer",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShow: false,
|
||||||
|
visibleOrgTable: false,
|
||||||
|
treeType: '',
|
||||||
|
orgTableVal: '',
|
||||||
|
orgTableValName: '',
|
||||||
|
formControl: false,
|
||||||
|
PERMISSION,
|
||||||
|
applicationForm: {},
|
||||||
|
applicationFormRule: {
|
||||||
|
applyReason: [{
|
||||||
|
max: 500, message: '申请原因最多填写500字符'
|
||||||
|
}],
|
||||||
|
power: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择申请权限'
|
||||||
|
}],
|
||||||
|
oneApprove: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择审批人',
|
||||||
|
trigger: 'change'
|
||||||
|
}],
|
||||||
|
twoApprove: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择二级审批人',
|
||||||
|
trigger: 'change'
|
||||||
|
}],
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
form: {
|
||||||
|
type: Object,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
changeType(i) {
|
||||||
|
let newItem = this.PERMISSION.filter(item=>{
|
||||||
|
if(i==item.value){
|
||||||
|
return item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.applicationForm.powerName = newItem[0].label
|
||||||
|
this.$set( this.applicationForm,'powerName',newItem[0].label )
|
||||||
|
console.log(this.applicationForm,"报告隐私等级")
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.isShow = false
|
||||||
|
},
|
||||||
|
open(form) {
|
||||||
|
this.isShow = true
|
||||||
|
let oldPower = form.power
|
||||||
|
if (!form.twoApprove) {
|
||||||
|
|
||||||
|
form.twoApprove = ''
|
||||||
|
form.twoApproveName = ''
|
||||||
|
|
||||||
|
form.applyReason = ''
|
||||||
|
form.prcType = ''
|
||||||
|
form.powerName=''
|
||||||
|
form.power=''
|
||||||
|
this.PERMISSION = this.PERMISSION.map(item=>{
|
||||||
|
if(item.value == oldPower){
|
||||||
|
item.disabled=true
|
||||||
|
}
|
||||||
|
return item
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.applicationForm = JSON.parse(JSON.stringify(form))
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.applicationFormRef.clearValidate()
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
savaCheck() {
|
||||||
|
this.$refs.applicationFormRef.validate(v => {
|
||||||
|
if (v) {
|
||||||
|
this.$emit('update', this.applicationForm)
|
||||||
|
this.isShow = false
|
||||||
|
} else {
|
||||||
|
this.$message.warning("请检查表单")
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCheck(name) {
|
||||||
|
if (this.formControl) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
this.treeType = name
|
||||||
|
this.orgTableVal = ''
|
||||||
|
this.orgTableValName = ''
|
||||||
|
if (name === 'spr1') {
|
||||||
|
this.orgTableVal = this.applicationForm.oneApprove ? this.applicationForm.oneApprove : ''
|
||||||
|
this.orgTableValName = this.applicationForm.oneApproveName ? this.applicationForm.oneApproveName : ''
|
||||||
|
} else {
|
||||||
|
this.orgTableVal = this.applicationForm.twoApprove ? this.applicationForm.twoApprove : ''
|
||||||
|
this.orgTableValName = this.applicationForm.twoApproveName ? this.applicationForm.twoApproveName : ''
|
||||||
|
}
|
||||||
|
this.visibleOrgTable = true
|
||||||
|
},
|
||||||
|
// 树点击
|
||||||
|
isTreeOk(checkedList) {
|
||||||
|
// console.log(checkedList)
|
||||||
|
const parts = []
|
||||||
|
const partsName = []
|
||||||
|
console.log(checkedList, '0009999')
|
||||||
|
checkedList.map((item, index) => {
|
||||||
|
parts.push(item.userId || item.USID)
|
||||||
|
partsName.push(item.uname)
|
||||||
|
})
|
||||||
|
if (this.treeType === 'spr1') {
|
||||||
|
this.applicationForm.oneApprove = parts.toString()
|
||||||
|
this.applicationForm.oneApproveName = partsName.toString()
|
||||||
|
} else if (this.treeType === 'spr2') {
|
||||||
|
this.applicationForm.twoApprove = parts.toString()
|
||||||
|
this.applicationForm.twoApproveName = partsName.toString()
|
||||||
|
}
|
||||||
|
// console.log(this.assignForm.name1Id, this.assignForm.name2Id)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.drawerLog {
|
||||||
|
::v-deep .el-drawer__header {
|
||||||
|
padding: 10px 15px;
|
||||||
|
color: #555;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.done {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 20px;
|
||||||
|
right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,41 +1,45 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="reportTable">
|
<div class="reportTable">
|
||||||
<el-button v-if="!disabled" class="addbtn" size="small" @click="addReport">添加报告</el-button>
|
<!-- <el-button v-if="!disabled" class="addbtn" size="small" @click="addReport">添加报告</el-button>-->
|
||||||
<el-button v-if="!disabled" class="delbtn" size="small" @click="deleteAll">批量删除</el-button>
|
<el-button v-if="!disabled" class="delbtn" size="small" @click="deleteAll">批量删除</el-button>
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<vxe-table :data="processTable" :empty-render="{name: 'NotData'}" align="center" border stripe v-table-min-height="500"
|
<vxe-table :data="processTable" :empty-render="{name: 'NotData'}" align="center" border stripe max-height="280"
|
||||||
ref="xTable" @checkbox-all="selectAllEvent" @checkbox-change="selectChangeEvent">
|
ref="xTable" @checkbox-all="selectAllEvent" @checkbox-change="selectChangeEvent">
|
||||||
<vxe-column type="checkbox" width="60"></vxe-column>
|
<vxe-column type="checkbox" width="60"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="name" title="报告名称"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="name" title="报告名称"></vxe-column>
|
||||||
<!-- <vxe-column show-overflow show-header-overflow field="labelTwoName" :title="tagsForm.tags02.name"></vxe-column>-->
|
<vxe-column show-overflow show-header-overflow field="confidentialLevel" title="报告涉密等级"></vxe-column>
|
||||||
<!-- <vxe-column show-overflow show-header-overflow field="labelThreeName" :title="tagsForm.tags03.name"></vxe-column>-->
|
<vxe-column show-overflow show-header-overflow field="privacyLevel" title="报告隐私等级"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="year" title="报告年份" width="200" ></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="oneApproveName" title="审批人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="department" title="报告部门"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="twoApproveName" title="二级审批人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="confidentialLevel" title="涉密等级"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="applyReason" title="申请原因"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="privacyLevel" title="隐私等级"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="powerName" title="申请权限"></vxe-column>
|
||||||
|
|
||||||
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right" v-if="!disabled">
|
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right" v-if="!disabled">
|
||||||
<template #default="{ row }">
|
<template #default="{ row,rowIndex }">
|
||||||
|
<el-button type="text" class="" @click="editTable(row,rowIndex)">编辑</el-button>
|
||||||
<el-button type="text" class="del-btn" @click="reportDelete(row)">删除</el-button>
|
<el-button type="text" class="del-btn" @click="reportDelete(row)">删除</el-button>
|
||||||
<!-- <el-button type="text" @click="downloadRow(row)">下载</el-button>-->
|
<!-- <el-button type="text" @click="downloadRow(row)">下载</el-button>-->
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
</vxe-table>
|
</vxe-table>
|
||||||
<el-pagination
|
<!-- <el-pagination-->
|
||||||
class="pagination"
|
<!-- class="pagination"-->
|
||||||
@size-change="handleLogSizeChange"
|
<!-- @size-change="handleLogSizeChange"-->
|
||||||
@current-change="handleLogCurrentChange"
|
<!-- @current-change="handleLogCurrentChange"-->
|
||||||
:current-page="qLog.pageNo"
|
<!-- :current-page="qLog.pageNo"-->
|
||||||
:page-sizes="[5, 10, 20]"
|
<!-- :page-sizes="[5, 10, 20]"-->
|
||||||
:page-size="qLog.pageSize"
|
<!-- :page-size="qLog.pageSize"-->
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
<!-- layout="total, sizes, prev, pager, next, jumper"-->
|
||||||
:total="total"/>
|
<!-- :total="total"/>-->
|
||||||
<reportDialog ref="reportDialog" :tagsForm="tagsForm" :alreadyData="value" @confirm="addReportList"></reportDialog>
|
<reportDrawer ref="reportDrawer" :isShow="editDialog" :form="form" @close="editDialog=false" @update="updateTable"></reportDrawer>
|
||||||
|
<!-- <reportDialog ref="reportDialog" :tagsForm="tagsForm" :alreadyData="value" @confirm="addReportList"></reportDialog>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import reportDialog from './reportDialog'
|
import reportDrawer from './reportDrawer'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'reportTable',
|
name: 'reportTable',
|
||||||
props: {
|
props: {
|
||||||
@@ -50,10 +54,13 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
reportDialog
|
reportDrawer
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
form:{},
|
||||||
|
formIndex:0,
|
||||||
|
editDialog: false,
|
||||||
processTable: [],
|
processTable: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
qLog: {
|
qLog: {
|
||||||
@@ -62,50 +69,32 @@ export default {
|
|||||||
},
|
},
|
||||||
copyTableData: [],
|
copyTableData: [],
|
||||||
checkIds: [],
|
checkIds: [],
|
||||||
tagsForm: {
|
|
||||||
tags01: {
|
|
||||||
name: '',
|
|
||||||
parentId: '0',
|
|
||||||
type: '1',
|
|
||||||
id: '',
|
|
||||||
childList: [
|
|
||||||
// {name: '无', type: '1', id: '', parentId: ''},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
tags02: {
|
|
||||||
name: '',
|
|
||||||
parentId: '0',
|
|
||||||
type: '2',
|
|
||||||
id: '',
|
|
||||||
childList: [
|
|
||||||
// {name: '无', type: '2', id: '', parentId: ''},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
tags03: {
|
|
||||||
name: '',
|
|
||||||
parentId: '0',
|
|
||||||
type: '3',
|
|
||||||
id: '',
|
|
||||||
childList: [
|
|
||||||
// {name: '无', type: '3', id: '', parentId: ''},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
value () {
|
value () {
|
||||||
this.qLog.pageSize = 10
|
// this.qLog.pageSize = 10
|
||||||
this.qLog.pageNo = 1
|
// this.qLog.pageNo = 1
|
||||||
this.total = this.value.length
|
// this.total = this.value.length
|
||||||
this.processTable = this.value.slice(0, 9)
|
// this.processTable = this.value.slice(0, 9)
|
||||||
this.pageChage(1)
|
// this.pageChage(1)
|
||||||
|
this.processTable = this.value
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
// this.copyTableData = JSON.parse(JSON.stringify(this.tableData))
|
// this.copyTableData = JSON.parse(JSON.stringify(this.tableData))
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
updateTable(form){
|
||||||
|
this.$set(this.processTable,this.formIndex,form)
|
||||||
|
|
||||||
|
this.$emit('updateTable',this.processTable)
|
||||||
|
},
|
||||||
|
editTable(row,index) {
|
||||||
|
this.form = JSON.parse(JSON.stringify(row))
|
||||||
|
this.formIndex=index
|
||||||
|
this.$refs.reportDrawer.open(this.form)
|
||||||
|
},
|
||||||
addReportList (list) {
|
addReportList (list) {
|
||||||
this.$nextTick(()=>{
|
this.$nextTick(()=>{
|
||||||
this.$emit('updateTable', [...this.value , ...list])
|
this.$emit('updateTable', [...this.value , ...list])
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
<script src="../../api/modules/process.js"></script>
|
|
||||||
<template>
|
<template>
|
||||||
<!-- 此页面主要展示审核和已完成-->
|
<!-- 此页面主要展示审核和已完成-->
|
||||||
<div class="process">
|
<div class="process">
|
||||||
@@ -7,67 +6,79 @@
|
|||||||
<process-header v-else :title="'已办流程'" :proceesNum="prcNum"></process-header>
|
<process-header v-else :title="'已办流程'" :proceesNum="prcNum"></process-header>
|
||||||
<div class="procedure">
|
<div class="procedure">
|
||||||
<div class="process_content">
|
<div class="process_content">
|
||||||
<span class="base_title">基础信息</span>
|
<span class="base_title">报告基本信息</span>
|
||||||
<el-form ref="processFormRef" :model="processForm" label-width="150px"
|
|
||||||
:rules="processFormRule" class="label-input-form" size="medium">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="9">
|
|
||||||
<el-form-item label="流程名称:" prop="prcName">
|
|
||||||
<el-input readonly :disabled="formControl " v-model="processForm.prcName" @click.native="handleCheck('spr1')"
|
|
||||||
placeholder="请输入流程名称"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<el-row>
|
|
||||||
<report-table v-model="tableData" @updateTable="(newValue)=>{tableData=newValue}" :disabled="formControl"></report-table>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form ref="form" :model="applicationForm" label-width="150px"
|
<el-form ref="form" :model="applicationForm" label-width="150px"
|
||||||
class="label-input-form" size="medium" :rules="applicationFormRule"
|
class="label-input-form no_border" size="medium"
|
||||||
:disabled="formControl">
|
:disabled="formControl">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="9">
|
<el-col :span="9">
|
||||||
<el-form-item label="申请原因:" prop="applyReason">
|
<el-form-item label="上传人:" prop="createUserName">
|
||||||
<el-input type="textarea" v-model="applicationForm.applyReason" placeholder="请输入申请原因"></el-input>
|
<el-input v-model="applicationForm.createUserName" ></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="9" :offset="6">
|
|
||||||
<el-form-item label="选择申请权限:" prop="power">
|
</el-row>
|
||||||
<el-select v-model="applicationForm.power" placeholder="请选择申请权限">
|
<el-row>
|
||||||
<el-option
|
<el-col :span="24">
|
||||||
v-for="item in PERMISSION"
|
<el-form-item label="内容摘要:" prop="mainContent">
|
||||||
:key="item.value"
|
<el-input v-model="applicationForm.mainContent" ></el-input>
|
||||||
:label="item.label"
|
|
||||||
:value="item.value">
|
</el-form-item>
|
||||||
</el-option>
|
</el-col>
|
||||||
</el-select>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="9">
|
||||||
|
<el-form-item label="报告涉密等级:" prop="applyReason">
|
||||||
|
<el-input v-model="applicationForm.confidentialLevel" ></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="9">
|
||||||
|
<el-form-item label="报告隐私等级:" prop="privacyLevel">
|
||||||
|
<el-input v-model="applicationForm.privacyLevel" ></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="process_content">
|
||||||
|
<span class="base_title">报告权限申请信息</span>
|
||||||
|
<el-row>
|
||||||
|
<el-form ref="form" :model="applicationForm2" label-width="150px"
|
||||||
|
class="label-input-form no_border" size="medium"
|
||||||
|
:disabled="formControl">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="9">
|
||||||
|
<el-form-item label="申请原因:" prop="applyReason">
|
||||||
|
<el-input v-model="applicationForm2.applyReason" ></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="9">
|
||||||
|
<el-form-item label="申请权限:" prop="powerName">
|
||||||
|
<el-input v-model="applicationForm2.powerName" ></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<div class="process_content" v-if="$route.query.type !=='yiban'">
|
||||||
|
<span class="base_title">审核信息</span>
|
||||||
|
<audit-operation ref="operationRef" :examine="submitjson" :is-disable="disabled"
|
||||||
|
:prcId="prcId" :prcType="prcType" :taskId="taskId" @handleSubmit="handleSubmit" @handleTransfer="handleTransfer"></audit-operation>
|
||||||
|
</div>
|
||||||
<div class="process_content">
|
<div class="process_content">
|
||||||
<span class="base_title">审批历史</span>
|
<span class="base_title">审批历史</span>
|
||||||
<process-approval-history :prcNum="prcNum"></process-approval-history>
|
<process-approval-history :prcNum="prcNum"></process-approval-history>
|
||||||
</div>
|
</div>
|
||||||
<!-- v-if="$route.query.type !=='yiban'"-->
|
<!-- v-if="$route.query.type !=='yiban'"-->
|
||||||
<div class="process_content" v-if="$route.query.type !=='yiban'">
|
|
||||||
<span class="base_title">审核信息</span>
|
|
||||||
<audit-operation ref="operationRef" :examine="submitjson" :is-disable="disabled"></audit-operation>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<process-footer
|
|
||||||
v-if="!disabled"
|
|
||||||
showCancel
|
|
||||||
:show-transfer="isShowTran"
|
|
||||||
:show-submit="isShowSubmit"
|
|
||||||
:submitLoading="isSubmit"
|
|
||||||
:TransferLoading="tranLoading"
|
|
||||||
@transfer="handleTransfer"
|
|
||||||
@submit="handleSubmit"
|
|
||||||
></process-footer>
|
|
||||||
<!-- <process-choose-tree-->
|
<!-- <process-choose-tree-->
|
||||||
<!-- dialog-model-->
|
<!-- dialog-model-->
|
||||||
<!-- :visible.sync="visibleTree"-->
|
<!-- :visible.sync="visibleTree"-->
|
||||||
@@ -84,6 +95,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import processHeader from '@/components/ProcessHeader'
|
import processHeader from '@/components/ProcessHeader'
|
||||||
import processFooter from '@/components/ProcessFooter'
|
import processFooter from '@/components/ProcessFooter'
|
||||||
import processChooseTree from '../../components/OrgTable'
|
import processChooseTree from '../../components/OrgTable'
|
||||||
@@ -105,25 +117,10 @@ export default {
|
|||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
applicationFormRule: {
|
PERMISSION,
|
||||||
applyReason: [{
|
applicationForm2:{
|
||||||
max: 500, message: '申请原因最多填写500字符'
|
power:'',
|
||||||
}],
|
applyReason:''
|
||||||
power: [{
|
|
||||||
required: true,
|
|
||||||
message: '请选择申请权限'
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
processFormRule: {
|
|
||||||
prcName: [{
|
|
||||||
required: true,
|
|
||||||
message: '请输入流程名称',
|
|
||||||
trigger: 'change'
|
|
||||||
},{
|
|
||||||
max: 100,
|
|
||||||
message: '申请原因最多填写100字符',
|
|
||||||
trigger: 'change'
|
|
||||||
}]
|
|
||||||
},
|
},
|
||||||
processForm: { prcName : ''},
|
processForm: { prcName : ''},
|
||||||
visibleTree: false,
|
visibleTree: false,
|
||||||
@@ -143,9 +140,9 @@ export default {
|
|||||||
pageSize: 10000,
|
pageSize: 10000,
|
||||||
pageNo: 1
|
pageNo: 1
|
||||||
},
|
},
|
||||||
PERMISSION,
|
|
||||||
submitjson:{},
|
submitjson:{},
|
||||||
prcType:1
|
prcType:'',
|
||||||
|
application:'' //存储转办的意见
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
@@ -153,8 +150,7 @@ export default {
|
|||||||
this.prcNum=this.$store.getters.handleProcess.prcNum
|
this.prcNum=this.$store.getters.handleProcess.prcNum
|
||||||
this.prcId=this.$store.getters.handleProcess.prcId
|
this.prcId=this.$store.getters.handleProcess.prcId
|
||||||
this.prcName=this.$store.getters.handleProcess.prcName
|
this.prcName=this.$store.getters.handleProcess.prcName
|
||||||
this.$set(this.processForm,'prcName',this.prcName)
|
this.prcType=this.$store.getters.handleProcess.prcType
|
||||||
|
|
||||||
let params={
|
let params={
|
||||||
prcId: this.prcId,
|
prcId: this.prcId,
|
||||||
prcType: this.prcType
|
prcType: this.prcType
|
||||||
@@ -164,9 +160,18 @@ export default {
|
|||||||
}
|
}
|
||||||
this.getProcessDetail(params).then(res=>{
|
this.getProcessDetail(params).then(res=>{
|
||||||
this.tableData = JSON.parse(this.processOld.dataJson)
|
this.tableData = JSON.parse(this.processOld.dataJson)
|
||||||
this.$set(this.applicationForm,'power',this.tableData[0].power)
|
let powerName=''
|
||||||
this.$set(this.applicationForm,'applyReason',this.tableData[0].applyReason)
|
this.PERMISSION.forEach(item=>{
|
||||||
|
if(item.value== this.tableData.power ){
|
||||||
|
powerName=item.label
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.$set(this.applicationForm2,'powerName',powerName)
|
||||||
|
this.$set(this.applicationForm2,'applyReason',this.tableData.applyReason)
|
||||||
|
this.$set(this.applicationForm,'mainContent',this.tableData.mainContent)
|
||||||
|
this.$set(this.applicationForm,'privacyLevel',this.tableData.privacyLevel)
|
||||||
|
this.$set(this.applicationForm,'confidentialLevel',this.tableData.confidentialLevel)
|
||||||
|
this.$set(this.applicationForm,'createUserName',this.tableData.createUserName)
|
||||||
this.disabled=false
|
this.disabled=false
|
||||||
this.formControl= true
|
this.formControl= true
|
||||||
if(this.$route.query.type=='yiban'){
|
if(this.$route.query.type=='yiban'){
|
||||||
@@ -187,8 +192,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 转办
|
// 转办
|
||||||
handleTransfer() {
|
handleTransfer(type) {
|
||||||
this.visibleTree = true
|
this.visibleTree = true
|
||||||
|
this.application=type
|
||||||
},
|
},
|
||||||
// 选择转办
|
// 选择转办
|
||||||
handleDblClick(treeNode) {
|
handleDblClick(treeNode) {
|
||||||
@@ -201,7 +207,8 @@ export default {
|
|||||||
taskId: this.taskId,
|
taskId: this.taskId,
|
||||||
assignee: treeNode[0].USID,
|
assignee: treeNode[0].USID,
|
||||||
userId: this.$store.getters.userInfo.usid,
|
userId: this.$store.getters.userInfo.usid,
|
||||||
pId: this.prcId
|
pId: this.prcId,
|
||||||
|
approvalOpinion:this.application
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$message.success('转办成功')
|
this.$message.success('转办成功')
|
||||||
this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}})
|
this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}})
|
||||||
@@ -228,7 +235,8 @@ export default {
|
|||||||
submitJson,
|
submitJson,
|
||||||
taskId: this.taskId,
|
taskId: this.taskId,
|
||||||
userId: this.$store.getters.userInfo.usid,
|
userId: this.$store.getters.userInfo.usid,
|
||||||
prcType: this.prcType
|
prcType: this.prcType,
|
||||||
|
reportId: JSON.parse(this.processOld.dataJson).reportId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<script src="../../utils/Enum/index.js"></script>
|
||||||
|
<script src="../../utils/Enum/enum.js"></script>
|
||||||
<template>
|
<template>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<div class="process_box">
|
<div class="process_box">
|
||||||
@@ -7,82 +9,17 @@
|
|||||||
<div class="procedure">
|
<div class="procedure">
|
||||||
<div class="process_content">
|
<div class="process_content">
|
||||||
<span class="base_title">基础信息</span>
|
<span class="base_title">基础信息</span>
|
||||||
<el-form ref="processFormRef" :model="processForm" label-width="150px"
|
|
||||||
:rules="processFormRule" class="label-input-form" size="medium">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="9">
|
|
||||||
<el-form-item label="流程名称:" prop="prcName">
|
|
||||||
<el-input :disabled="formControl || formControlname" v-model="processForm.prcName"
|
|
||||||
placeholder="请输入流程名称"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<report-table v-model="tableData" @updateTable="getV" :disabled="showTableD"></report-table>
|
<report-table v-model="tableData" @updateTable="getV" :disabled="showTableD"></report-table>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form ref="applicationFormRef" :model="applicationForm" label-width="150px"
|
|
||||||
class="label-input-form" size="medium" :rules="applicationFormRule"
|
|
||||||
>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="9">
|
|
||||||
<el-form-item label="申请原因:" prop="applyReason">
|
|
||||||
<el-input :disabled="formControl" type="textarea" v-model="applicationForm.applyReason"
|
|
||||||
placeholder="请输入申请原因"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="9" :offset="6">
|
|
||||||
<el-form-item label="选择申请权限:" prop="power">
|
|
||||||
<el-select :disabled="formControl" v-model="applicationForm.power" placeholder="请选择申请权限">
|
|
||||||
<el-option
|
|
||||||
v-for="item in PERMISSION"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<div class="process_content" v-if="initShow">
|
<div class="process_content" v-if="initShow">
|
||||||
<span class="base_title">审批历史</span>
|
<span class="base_title">审批历史</span>
|
||||||
<process-approval-history :prcNum="prcNum"></process-approval-history>
|
<process-approval-history :prcNum="prcNum"></process-approval-history>
|
||||||
</div>
|
</div>
|
||||||
<div class="process_content">
|
|
||||||
<span class="base_title">指派信息</span>
|
|
||||||
<el-form ref="assignFormRef" :model="assignForm" label-width="150px"
|
|
||||||
:rules="assignFormRules" class="label-input-form" size="medium">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="9">
|
|
||||||
<el-form-item label="选择一级审批人员:" prop="oneApprove">
|
|
||||||
<el-input readonly :disabled="formControl" v-model="assignForm.oneApproveName"
|
|
||||||
@click.native="handleCheck('spr1')"
|
|
||||||
placeholder="请选择一级审批人员"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="9">
|
|
||||||
<el-form-item label="选择二级审批人员:" prop="twoApprove">
|
|
||||||
<el-input readonly :disabled="formControl" v-model="assignForm.twoApproveName"
|
|
||||||
@click.native="handleCheck('spr2')"
|
|
||||||
placeholder="请选择二级审批人员"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-form-item label="说明:" prop="remark">
|
|
||||||
<el-input type="textarea" :disabled="formControl" v-model="assignForm.remark" placeholder="请输入说明"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<process-footer
|
<process-footer
|
||||||
v-if="!formControl"
|
v-if="!formControl"
|
||||||
@@ -94,10 +31,7 @@
|
|||||||
@save="handleSave"
|
@save="handleSave"
|
||||||
@submit="handleSubmit"
|
@submit="handleSubmit"
|
||||||
></process-footer>
|
></process-footer>
|
||||||
<orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{
|
|
||||||
value: orgTableVal,
|
|
||||||
valueName: orgTableValName
|
|
||||||
}" :workNumFlag="true" :maxSelected="1" @confirm="isTreeOk"></orgTable>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -107,10 +41,10 @@ import processHeader from '@/components/ProcessHeader'
|
|||||||
import processFooter from '@/components/ProcessFooter'
|
import processFooter from '@/components/ProcessFooter'
|
||||||
import processApprovalHistory from '@/components/ProcessApprovalHistory'
|
import processApprovalHistory from '@/components/ProcessApprovalHistory'
|
||||||
import reportTable from './components/reportTable'
|
import reportTable from './components/reportTable'
|
||||||
import {PERMISSION} from '@/utils/Enum/enum'
|
|
||||||
import orgTable from '../../components/OrgTable'
|
|
||||||
import processMixin from "../../components/ProcessMixin";
|
|
||||||
|
|
||||||
|
|
||||||
|
import processMixin from "../../components/ProcessMixin";
|
||||||
|
import { PERMISSION } from '@/utils/Enum/enum'
|
||||||
export default {
|
export default {
|
||||||
name: 'launch',
|
name: 'launch',
|
||||||
components: {
|
components: {
|
||||||
@@ -118,11 +52,11 @@ export default {
|
|||||||
reportTable,
|
reportTable,
|
||||||
processFooter,
|
processFooter,
|
||||||
processApprovalHistory,
|
processApprovalHistory,
|
||||||
orgTable
|
|
||||||
},
|
},
|
||||||
mixins: [processMixin],
|
mixins: [processMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
PERMISSION,
|
||||||
delData:[],
|
delData:[],
|
||||||
showTableD: false,
|
showTableD: false,
|
||||||
initShow: false, // 控制审批历史是否显示 只有在不是第一次的时候才是true
|
initShow: false, // 控制审批历史是否显示 只有在不是第一次的时候才是true
|
||||||
@@ -135,7 +69,6 @@ export default {
|
|||||||
isShowSave: false,
|
isShowSave: false,
|
||||||
isShowSubmit: true,
|
isShowSubmit: true,
|
||||||
formControl: false,
|
formControl: false,
|
||||||
formControlname: false,
|
|
||||||
assignForm: {
|
assignForm: {
|
||||||
oneApprove: '',
|
oneApprove: '',
|
||||||
twoApprove: '',
|
twoApprove: '',
|
||||||
@@ -152,7 +85,6 @@ export default {
|
|||||||
pageSize: 10000,
|
pageSize: 10000,
|
||||||
pageNo: 1
|
pageNo: 1
|
||||||
},
|
},
|
||||||
PERMISSION,
|
|
||||||
processForm: {
|
processForm: {
|
||||||
prcName: ''
|
prcName: ''
|
||||||
},
|
},
|
||||||
@@ -167,43 +99,27 @@ export default {
|
|||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
applicationFormRule: {
|
|
||||||
applyReason: [{
|
|
||||||
max: 500, message: '申请原因最多填写500字符'
|
|
||||||
}],
|
|
||||||
power: [{
|
|
||||||
required: true,
|
|
||||||
message: '请选择申请权限'
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
assignFormRules: {
|
assignFormRules: {
|
||||||
oneApprove: [{
|
|
||||||
required: true,
|
|
||||||
message: '请选择一级审批人员',
|
|
||||||
trigger: 'change'
|
|
||||||
}],
|
|
||||||
twoApprove: [{
|
|
||||||
required: true,
|
|
||||||
message: '请选择二级审批人员',
|
|
||||||
trigger: 'change'
|
|
||||||
}],
|
|
||||||
remark: [{
|
remark: [{
|
||||||
max: 500, message: '说明最多填写500字符'
|
max: 500, message: '说明最多填写500字符'
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
prcType: 1,
|
prcType: '',
|
||||||
prcName:''
|
prcName:'',
|
||||||
|
params:[] //处理好格式的数据
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
// 第一次进入此页面 需要清楚校验
|
// 第一次进入此页面 需要清楚校验
|
||||||
if (this.$route.query.isBegin) {
|
if (this.$route.query.isBegin) {
|
||||||
// if (this.$route.query.ids.split(',').length > 0) {
|
// if (this.$route.query.ids.split(',').length > 0) {
|
||||||
// this.reportList(this.$route.query.ids)
|
this.reportList(this.$route.query.ids)
|
||||||
// }
|
// }
|
||||||
this.isShowSave = true
|
this.isShowSave = true
|
||||||
this.$store.commit('setHandleProcess','')
|
this.$store.commit('setHandleProcess','')
|
||||||
this.handleReset()
|
|
||||||
}
|
}
|
||||||
// 如果是从草稿进入的
|
// 如果是从草稿进入的
|
||||||
if (this.$route.query.isDraft) {
|
if (this.$route.query.isDraft) {
|
||||||
@@ -212,27 +128,22 @@ export default {
|
|||||||
this.prcNum = this.$store.getters.handleProcess?.prcNum
|
this.prcNum = this.$store.getters.handleProcess?.prcNum
|
||||||
this.prcId = this.$store.getters.handleProcess?.prcId
|
this.prcId = this.$store.getters.handleProcess?.prcId
|
||||||
this.prcName = this.$store.getters.handleProcess?.prcName
|
this.prcName = this.$store.getters.handleProcess?.prcName
|
||||||
this.getDraftDetail().then(res => {
|
this.dataId= this.$store.getters.handleProcess?.dataId
|
||||||
this.$set(this.processForm,'prcName', this.prcName)
|
this.prcType= this.$store.getters.handleProcess?.prcType
|
||||||
let tableData = JSON.parse(this.processOld.dataJson)
|
this.getProcessDetail().then(res => {
|
||||||
this.$set(this.applicationForm,'power',tableData[0].power)
|
let powerName=''
|
||||||
this.$set(this.applicationForm,'applyReason',tableData[0].applyReason)
|
let dataJson=JSON.parse(this.processOld.dataJson)
|
||||||
if(tableData[0].reportId){
|
if(dataJson.power){
|
||||||
this.tableData=tableData
|
this.PERMISSION.forEach(item=>{
|
||||||
|
if(item.value == dataJson.power){
|
||||||
|
powerName=item.label
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
if(this.processOld.submitJson !== '{}'){
|
let submitJson = JSON.parse(this.processOld.submitJson)
|
||||||
let submitJson=JSON.parse(this.processOld.submitJson)
|
// this.applicationForm.applyReason = applyReason.applyReason
|
||||||
this.$set(this.assignForm,'oneApprove',submitJson.oneApprove)
|
this.tableData.push({...dataJson,...submitJson,powerName:powerName})
|
||||||
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
|
||||||
this.$set(this.assignForm,'twoApprove',submitJson.twoApprove)
|
|
||||||
this.$set(this.assignForm,'twoApproveName',submitJson.twoApproveName)
|
|
||||||
this.$set(this.assignForm,'remark',submitJson.remark)
|
|
||||||
}
|
|
||||||
this.$nextTick(()=>{
|
|
||||||
this.$refs.processFormRef.clearValidate()
|
|
||||||
this.$refs.applicationFormRef.clearValidate()
|
|
||||||
this.$refs.assignFormRef.clearValidate()
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -244,33 +155,17 @@ export default {
|
|||||||
this.prcName = JSON.stringify(this.prcName)
|
this.prcName = JSON.stringify(this.prcName)
|
||||||
this.initShow = true
|
this.initShow = true
|
||||||
this.formControlname = true
|
this.formControlname = true
|
||||||
this.$set(this.processForm,'prcName',this.$route.query.prcName)
|
|
||||||
await this.getProcessDetail()
|
await this.getProcessDetail()
|
||||||
|
let powerName=''
|
||||||
|
this.PERMISSION.forEach(item=>{
|
||||||
|
if(item.value == JSON.parse(this.processOld.dataJson).power ){
|
||||||
|
powerName=item.label
|
||||||
|
}
|
||||||
|
})
|
||||||
let submitJson = JSON.parse(this.processOld.submitJson)
|
let submitJson = JSON.parse(this.processOld.submitJson)
|
||||||
// this.applicationForm.applyReason = applyReason.applyReason
|
// this.applicationForm.applyReason = applyReason.applyReason
|
||||||
this.tableData = JSON.parse(this.processOld.dataJson)
|
this.tableData.push({...JSON.parse(this.processOld.dataJson),...JSON.parse(this.processOld.submitJson),powerName:powerName})
|
||||||
if(this.tableData.length>0){
|
|
||||||
this.$set(this.applicationForm,'power',this.tableData[0].power)
|
|
||||||
this.$set(this.applicationForm,'applyReason',this.tableData[0].applyReason)
|
|
||||||
}
|
|
||||||
this.$set(this.assignForm,'oneApprove',submitJson.oneApprove)
|
|
||||||
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
|
||||||
this.$set(this.assignForm,'twoApprove',submitJson.twoApprove)
|
|
||||||
this.$set(this.assignForm,'twoApproveName',submitJson.twoApproveName)
|
|
||||||
this.$set(this.assignForm,'remark',submitJson.remark)
|
|
||||||
//指派信息
|
|
||||||
// ({oneApprove:this.assignForm.oneApprove,oneApproveName:this.assignForm.oneApproveName,twoApprove:this.assignForm.twoApprove,twoApproveName:this.assignForm.twoApproveName,remark:this.assignForm.remark}= JSON.parse(this.processOld.submitJson))
|
|
||||||
// this.getProcessDetail().then(res => {
|
|
||||||
// //基础信息
|
|
||||||
// let applyReason = JSON.parse(res.processOld.dataJson)
|
|
||||||
// res.tableData = JSON.parse(res.processOld.dataJson)
|
|
||||||
// res.applicationForm.power = res.tableData[0].power
|
|
||||||
// debugger
|
|
||||||
// res.applicationForm.applyReason = applyReason[0]?.applyReason
|
|
||||||
//
|
|
||||||
// //指派信息
|
|
||||||
// ({oneApprove:res.assignForm.oneApprove,oneApproveName:res.assignForm.oneApproveName,twoApprove:res.assignForm.twoApprove,twoApproveName:res.assignForm.twoApproveName,remark:res.assignForm.remark}= JSON.parse(res.processOld.submitJson))
|
|
||||||
// })
|
|
||||||
}
|
}
|
||||||
if (this.$route.query.type == 'yiban') {
|
if (this.$route.query.type == 'yiban') {
|
||||||
this.taskId = this.$store.getters.handleProcess.taskId
|
this.taskId = this.$store.getters.handleProcess.taskId
|
||||||
@@ -280,25 +175,22 @@ export default {
|
|||||||
this.formControl = true
|
this.formControl = true
|
||||||
this.initShow = true
|
this.initShow = true
|
||||||
this.showTableD = true
|
this.showTableD = true
|
||||||
this.$set(this.processForm,'prcName', this.prcName)
|
await this.getProcessDetail()
|
||||||
this.getProcessDetail().then((res) => {
|
let powerName=''
|
||||||
let submitJson = JSON.parse(this.processOld.submitJson)
|
this.PERMISSION.forEach(item=>{
|
||||||
// this.applicationForm.applyReason = applyReason.applyReason
|
if(item.value == JSON.parse(this.processOld.dataJson).power ){
|
||||||
this.tableData = JSON.parse(this.processOld.dataJson)
|
powerName=item.label
|
||||||
this.$set(this.applicationForm,'power',this?.tableData[0].power)
|
}
|
||||||
this.$set(this.applicationForm,'applyReason',this?.tableData[0].applyReason)
|
|
||||||
this.$set(this.assignForm,'oneApprove',submitJson.oneApprove)
|
|
||||||
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
|
||||||
this.$set(this.assignForm,'twoApprove',submitJson.twoApprove)
|
|
||||||
this.$set(this.assignForm,'twoApproveName',submitJson.twoApproveName)
|
|
||||||
this.$set(this.assignForm,'remark',submitJson.remark)
|
|
||||||
})
|
})
|
||||||
|
let submitJson = JSON.parse(this.processOld.submitJson)
|
||||||
|
// this.applicationForm.applyReason = applyReason.applyReason
|
||||||
|
this.tableData.push({...JSON.parse(this.processOld.dataJson),...submitJson,powerName:powerName})
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getV(newValue,jiaVlue)
|
getV(newValue,jiaVlue)
|
||||||
{
|
{
|
||||||
debugger
|
|
||||||
if(jiaVlue &&jiaVlue.length > 0){
|
if(jiaVlue &&jiaVlue.length > 0){
|
||||||
jiaVlue.forEach(item=>{
|
jiaVlue.forEach(item=>{
|
||||||
this.delData.push({
|
this.delData.push({
|
||||||
@@ -313,61 +205,16 @@ export default {
|
|||||||
// this.tableData=newValue;
|
// this.tableData=newValue;
|
||||||
// this.delData=jiaVlue
|
// this.delData=jiaVlue
|
||||||
},
|
},
|
||||||
// 真删除接口
|
|
||||||
delDatas(){
|
|
||||||
|
|
||||||
return new Promise((resolve,reject)=>{
|
|
||||||
this.$api.permissionProcess.deletReport({powerApplyList:this.delData}).then(()=>{
|
|
||||||
resolve()
|
|
||||||
})
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
handleCheck(name) {
|
|
||||||
if (this.formControl) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
this.treeType = name
|
|
||||||
this.orgTableVal = ''
|
|
||||||
this.orgTableValName = ''
|
|
||||||
if (name === 'spr1') {
|
|
||||||
this.orgTableVal = this.assignForm.oneApprove ? this.assignForm.oneApprove : ''
|
|
||||||
this.orgTableValName = this.assignForm.oneApproveName ? this.assignForm.oneApproveName : ''
|
|
||||||
} else {
|
|
||||||
this.orgTableVal = this.assignForm.twoApprove ? this.assignForm.twoApprove : ''
|
|
||||||
this.orgTableValName = this.assignForm.twoApproveName ? this.assignForm.twoApproveName : ''
|
|
||||||
}
|
|
||||||
this.visibleOrgTable = true
|
|
||||||
},
|
|
||||||
// 树点击
|
|
||||||
isTreeOk(checkedList) {
|
|
||||||
// console.log(checkedList)
|
|
||||||
const parts = []
|
|
||||||
const partsName = []
|
|
||||||
console.log(checkedList, '0009999')
|
|
||||||
checkedList.map((item, index) => {
|
|
||||||
parts.push(item.userId || item.USID)
|
|
||||||
partsName.push(item.uname)
|
|
||||||
})
|
|
||||||
this.qcrList = checkedList
|
|
||||||
if (this.treeType === 'spr1') {
|
|
||||||
this.assignForm.oneApprove = parts.toString()
|
|
||||||
this.assignForm.oneApproveName = partsName.toString()
|
|
||||||
} else if (this.treeType === 'spr2') {
|
|
||||||
this.assignForm.twoApprove = parts.toString()
|
|
||||||
this.assignForm.twoApproveName = partsName.toString()
|
|
||||||
}
|
|
||||||
// console.log(this.assignForm.name1Id, this.assignForm.name2Id)
|
|
||||||
},
|
|
||||||
// 获取表格列表 吧查询到的值传给子组件
|
// 获取表格列表 吧查询到的值传给子组件
|
||||||
reportList(ids) {
|
reportList(ids) {
|
||||||
this.$api.permissionProcess.getReportLisy({
|
this.$api.report.reportList({
|
||||||
pageSize:1000,
|
pageSize:1000,
|
||||||
pageNo:1,
|
pageNo:1,
|
||||||
ids: ids.split(',')
|
ids: ids.split(',')
|
||||||
}).then(({data}) => {
|
}).then(({data}) => {
|
||||||
this.tableData = data.records.map(item => {
|
this.tableData = data.records.map(item => {
|
||||||
|
item.oneApprove = item.createUserId || ''
|
||||||
|
item.oneApproveName= item.uploader || ''
|
||||||
item.reportId = item['id']
|
item.reportId = item['id']
|
||||||
delete item['id']
|
delete item['id']
|
||||||
return item
|
return item
|
||||||
@@ -375,55 +222,75 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleReset() {
|
handleReset() {
|
||||||
this.processForm.prcName = ''
|
|
||||||
if(this.$route.query.taskDefinitionKey == 'reEdit'){
|
if(this.$route.query.taskDefinitionKey == 'reEdit'){
|
||||||
this.processForm.prcName = this.prcName
|
this.processForm.prcName = this.prcName
|
||||||
}
|
}
|
||||||
this.applicationForm = {
|
},
|
||||||
applyReason: '',
|
//判断表格数据是否完整
|
||||||
power: ''
|
JuggleTableAll(){
|
||||||
}
|
let list= this.tableData.filter(item=>{
|
||||||
|
if(!item.twoApprove || item.twoApprove=='' || item.power==''){
|
||||||
this.assignForm = {
|
return item
|
||||||
oneApprove: '',
|
}
|
||||||
twoApprove: ''
|
|
||||||
}
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.applicationFormRef.clearValidate()
|
|
||||||
this.$refs.assignFormRef.clearValidate()
|
|
||||||
})
|
})
|
||||||
|
if(list.length>0){
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
},
|
},
|
||||||
// 整理数据
|
// 整理数据
|
||||||
organizeData() {
|
organizeData() {
|
||||||
let userId = this.$store.getters.userInfo.usid
|
let newParams=[]
|
||||||
this.tableData = this.tableData.map(item => {
|
|
||||||
item = {...item, ...this.applicationForm, userId: userId}
|
newParams=this.tableData.map(item=>{
|
||||||
return item
|
let obj={}
|
||||||
|
obj={
|
||||||
|
id:'',
|
||||||
|
prcName:item.name,
|
||||||
|
prcType:item.power==0?'':item.power,
|
||||||
|
createUser:this.userId,
|
||||||
|
createUserName:this.userName,
|
||||||
|
userId:this.userId,
|
||||||
|
dataJson:'',
|
||||||
|
bpnId: this.$store.getters.handleProcess?.id,
|
||||||
|
reportId: item.reportId,
|
||||||
|
|
||||||
|
}
|
||||||
|
let submitJson={
|
||||||
|
oneApprove:item.oneApprove,
|
||||||
|
oneApproveName:item.oneApproveName,
|
||||||
|
twoApprove:item.twoApprove,
|
||||||
|
twoApproveName:item.twoApproveName,
|
||||||
|
userId:this.userId,
|
||||||
|
}
|
||||||
|
delete item['oneApprove']
|
||||||
|
delete item['oneApproveName']
|
||||||
|
delete item['twoApprove']
|
||||||
|
delete item['twoApproveName']
|
||||||
|
let dataJson=item
|
||||||
|
obj.submitJson=JSON.stringify(submitJson)
|
||||||
|
obj.dataJson=JSON.stringify({...dataJson, createUser:this.userId, createUserName:this.userName})
|
||||||
|
return obj
|
||||||
})
|
})
|
||||||
|
if (this.initShow){
|
||||||
|
newParams[0].taskId=this.taskId
|
||||||
|
}
|
||||||
|
this.params=newParams
|
||||||
},
|
},
|
||||||
// 保存
|
// 保存
|
||||||
handleSave(){
|
handleSave(){
|
||||||
this.saveLoading = true
|
this.saveLoading = true
|
||||||
if(this.tableData.length > 0){
|
if(this.tableData.length==0){
|
||||||
|
this.$message.warning('至少需要选择一条报告数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
// 处理表格数据
|
// 处理表格数据
|
||||||
this.organizeData()
|
this.organizeData()
|
||||||
}else{
|
this.params=this.params.map(item=>{
|
||||||
this.tableData=[{...this.applicationForm}]
|
item.id = this.$store.getters.handleProcess?.id
|
||||||
}
|
return item
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
|
})
|
||||||
let dataJson = JSON.stringify(this.tableData)
|
this.saveProcessALL(this.params).then(
|
||||||
let params = {
|
|
||||||
prcName: this.processForm.prcName,
|
|
||||||
userId: this.$store.getters.userInfo.usid,
|
|
||||||
prcType: this.prcType,
|
|
||||||
createUserName: this.$store.getters.userInfo.usname,
|
|
||||||
createUser: this.$store.getters.userInfo.usid,
|
|
||||||
submitJson,
|
|
||||||
dataJson,
|
|
||||||
id: this.$store.getters.handleProcess?.id
|
|
||||||
}
|
|
||||||
this.saveProcess(params).then(
|
|
||||||
()=>{
|
()=>{
|
||||||
this.saveLoading = false
|
this.saveLoading = false
|
||||||
this.$message['success']('保存成功')
|
this.$message['success']('保存成功')
|
||||||
@@ -440,69 +307,41 @@ export default {
|
|||||||
},
|
},
|
||||||
// 提交
|
// 提交
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID")
|
// 过了校验 需要把数据都整合 this.tableData this.applicationForm this.assignForm
|
||||||
this.$refs.assignFormRef.validate(v => {
|
// 表格数据没有不能提交 需要提示
|
||||||
this.$refs.applicationFormRef.validate(m => {
|
if (this.tableData.length == 0) {
|
||||||
this.$refs.processFormRef.validate(async z => {
|
this.$message.warning('至少需要选择一条报告数据')
|
||||||
if (v && m && z) {
|
} else {
|
||||||
// 过了校验 需要把数据都整合 this.tableData this.applicationForm this.assignForm
|
// 调用流程数据
|
||||||
// 表格数据没有不能提交 需要提示
|
console.log("发送数据")
|
||||||
if (this.tableData.length == 0) {
|
// 处理表格数据
|
||||||
this.$message.warning('至少需要选择一条报告数据')
|
|
||||||
} else {
|
|
||||||
// 调用流程数据
|
|
||||||
console.log("发送数据")
|
|
||||||
// 处理表格数据
|
|
||||||
|
|
||||||
//如果不是第一次
|
|
||||||
if (this.initShow) {
|
|
||||||
let flag=await this.JuggleSub(this.taskId)
|
|
||||||
if(flag){
|
|
||||||
console.log(this.delData,"flagflagflagflag")
|
|
||||||
debugger
|
|
||||||
if(this.delData){
|
|
||||||
this.delDatas().then(()=>{
|
|
||||||
this.organizeData()
|
|
||||||
let dataJson = JSON.stringify(this.tableData)
|
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
|
|
||||||
this.completeProcess({
|
|
||||||
dataJson,
|
|
||||||
submitJson,
|
|
||||||
taskId: this.taskId,
|
|
||||||
userId: this.$store.getters.userInfo.usid,
|
|
||||||
prcType: this.prcType
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}else{
|
|
||||||
this.organizeData()
|
|
||||||
let dataJson = JSON.stringify(this.tableData)
|
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
|
|
||||||
this.completeProcess({
|
|
||||||
dataJson,
|
|
||||||
submitJson,
|
|
||||||
taskId: this.taskId,
|
|
||||||
userId: this.$store.getters.userInfo.usid,
|
|
||||||
prcType: this.prcType
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
//如果不是第一次
|
||||||
} else {
|
if (this.initShow) {
|
||||||
this.isSendDraft().then(()=>{
|
let flag= this.JuggleSub(this.taskId)
|
||||||
this.organizeData()
|
if(flag){
|
||||||
this.startProcess()
|
this.organizeData()
|
||||||
})
|
this.completeProcess(this.params[0])
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.$message.warning('请检查表单填写完整')
|
|
||||||
}
|
}
|
||||||
})
|
} else {
|
||||||
})
|
// 先判断数据完整
|
||||||
})
|
if(this.JuggleTableAll()){
|
||||||
},
|
// 完整判断草稿发起的在不在流程
|
||||||
//修改参数
|
if(this.$route.query.isDraft){
|
||||||
changeParam() {
|
this.isSendDraft().then((res)=>{
|
||||||
|
this.organizeData()
|
||||||
|
this.startProcess()
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.organizeData()
|
||||||
|
this.startProcess()
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.$message.warning("请把表格数据填写完整")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 草稿发起 需要先调用这个接口
|
// 草稿发起 需要先调用这个接口
|
||||||
@@ -511,7 +350,7 @@ export default {
|
|||||||
return item.reportId
|
return item.reportId
|
||||||
})
|
})
|
||||||
return new Promise((resolve,reject)=>{
|
return new Promise((resolve,reject)=>{
|
||||||
this.$api.permissionProcess.selectReport({ids:ids}).then((res)=>{
|
this.$api.process.selectReport({usid:this.userId,ids:ids}).then((res)=>{
|
||||||
if(res.data.length==0){
|
if(res.data.length==0){
|
||||||
resolve(true)
|
resolve(true)
|
||||||
}else{
|
}else{
|
||||||
@@ -524,24 +363,14 @@ export default {
|
|||||||
},
|
},
|
||||||
startProcess() {
|
startProcess() {
|
||||||
//把表单都整合到form中
|
//把表单都整合到form中
|
||||||
// dataJson与submitJson需要发到completeProcess
|
|
||||||
let form = {}
|
this.$api.process.startProcessALL(this.params).then((res) => {
|
||||||
form = {
|
let data=res.data.result.split(',')
|
||||||
approveData: {
|
this.params=this.params.map((item,index)=>{
|
||||||
...this.applicationForm, ...this.processForm, ...this.assignForm,
|
item.taskId=data[index]
|
||||||
userId: this.$store.getters.userInfo.usid
|
return item
|
||||||
}, dataMsg: this.tableData
|
})
|
||||||
}
|
this.completeProcessALL(this.params)
|
||||||
form.approvalOpinion = this.assignForm.remark
|
|
||||||
form.prcType = this.prcType
|
|
||||||
form.prcName = this.processForm.prcName
|
|
||||||
form.userId = this.$store.getters.userInfo.usid
|
|
||||||
form.bpnId = this.$store.getters.handleProcess?.id
|
|
||||||
//...this.applicationForm,...this.processForm,
|
|
||||||
let dataJson = JSON.stringify(this.tableData)
|
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
|
|
||||||
this.$api.process.startProcess(form).then(({data}) => {
|
|
||||||
this.completeProcess({dataJson, submitJson, taskId: data.result, userId: form.userId, prcType: this.prcType})
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取流程详细信息
|
//获取流程详细信息
|
||||||
|
|||||||
@@ -22,10 +22,10 @@
|
|||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :prop="!formdisableflag?'approvalOpinion':''" label-width="132px" class="add-form-item">
|
<el-form-item :prop="!formdisableflag?'approvalOpinion':''" label-width="132px" class="add-form-item">
|
||||||
<template slot="label">审批意见:</template>
|
<template slot="label">审核意见:</template>
|
||||||
<el-input :disabled="formdisableflag" :maxlength='1000'
|
<el-input :disabled="formdisableflag" :maxlength='1000'
|
||||||
v-model="examineForm.approvalOpinion"
|
v-model="examineForm.approvalOpinion"
|
||||||
placeholder="请输入审批意见"
|
placeholder="请输入审核意见"
|
||||||
:autosize="{ minRows: 2, maxRows: 4}"
|
:autosize="{ minRows: 2, maxRows: 4}"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
/>
|
/>
|
||||||
@@ -91,7 +91,7 @@ export default {
|
|||||||
default:''
|
default:''
|
||||||
},
|
},
|
||||||
prcType:{
|
prcType:{
|
||||||
type:String,
|
type:Number,
|
||||||
default:''
|
default:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -118,7 +118,7 @@ export default {
|
|||||||
{ required: true, message: '审核结果不能为空', trigger: 'change' }
|
{ required: true, message: '审核结果不能为空', trigger: 'change' }
|
||||||
],
|
],
|
||||||
approvalOpinion: [
|
approvalOpinion: [
|
||||||
{ type: 'string', max: 500, message: '审批意见不能超过500个字符', trigger: 'blur' }
|
{ type: 'string', max: 500, message: '审核意见不能超过500个字符', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
formdisableflag: false
|
formdisableflag: false
|
||||||
@@ -134,16 +134,19 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleTransfer(){
|
handleTransfer(){
|
||||||
debugger
|
if(this.examineForm.approvalOpinion==''){
|
||||||
this.$emit('handleTransfer')
|
this.$message.warning("请您填写审核意见")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$emit('handleTransfer',this.examineForm.approvalOpinion)
|
||||||
},
|
},
|
||||||
handleSubmit(type) {
|
handleSubmit(type) {
|
||||||
debugger
|
|
||||||
if(type=='n'){
|
if(type=='n'){
|
||||||
// 校验原因是否填写
|
// 校验原因是否填写
|
||||||
this.examineForm.flag=2
|
this.examineForm.flag=2
|
||||||
if(this.examineForm.approvalOpinion==''){
|
if(this.examineForm.approvalOpinion==''){
|
||||||
this.$message.warning("请您填写原因")
|
this.$message.warning("请您填写审核意见")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
<el-form ref="processFormRef" :model="form" label-width="150px"
|
<el-form ref="processFormRef" :model="form" label-width="150px"
|
||||||
:rules="processFormRule" class="label-input-form" size="medium">
|
:rules="processFormRule" class="label-input-form" size="medium">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="9">
|
<el-col :span="10">
|
||||||
<el-form-item label="报告名称:" prop="name">
|
<el-form-item label="报告名称:" prop="name">
|
||||||
<el-input :disabled="formControl" v-model="form.name"
|
<el-input :disabled="formControl" v-model="form.name"
|
||||||
placeholder="请输入报告名称"></el-input>
|
placeholder="请输入报告名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="9" :offset="6">
|
<el-col :span="10" :offset="4">
|
||||||
<el-form-item label="报告年份:" prop="year">
|
<el-form-item label="报告年份:" prop="year">
|
||||||
<el-date-picker :disabled="formControl" v-model="form.year" type="year" value-format="yyyy"
|
<el-date-picker :disabled="formControl" v-model="form.year" type="year" value-format="yyyy"
|
||||||
placeholder="请选择报告年份"
|
placeholder="请选择报告年份"
|
||||||
@@ -18,17 +18,17 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="9">
|
<el-col :span="10">
|
||||||
<el-form-item label="报告所属部门:" prop="department">
|
<el-form-item label="报告所属部门:" prop="department">
|
||||||
<el-input readonly :disabled="formControl" v-model="form.departmentName" @click.na.native="handleClick" placeholder="请选择报告所属部门"
|
<el-input readonly :disabled="formControl" v-model="form.departmentName" @click.native="handleClick" placeholder="请选择报告所属部门"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="9" :offset="6">
|
<el-col :span="10" :offset="4">
|
||||||
<el-form-item label="标签:" prop="department">
|
<el-form-item label="标签:" >
|
||||||
<el-cascader :disabled="formControl" width="100%" v-model="form.labelList" :options="cascaderOptions"
|
<el-cascader :disabled="formControl" width="100%" v-model="form.labelList" :options="cascaderOptions"
|
||||||
filterable
|
filterable collapse-tags
|
||||||
:props="{ checkStrictly: true }" clearable placeholder="请选择标签">
|
:props="{ checkStrictly: true ,multiple: true }" clearable placeholder="请选择标签">
|
||||||
<template slot-scope="{ node, data }">
|
<template slot-scope="{ node, data }">
|
||||||
<span :title="data.label">{{ data.label }}</span>
|
<span :title="data.label">{{ data.label }}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="9" >
|
<el-col :span="10" >
|
||||||
<el-form-item label="报告涉密等级:" prop="confidentialLevel">
|
<el-form-item label="报告涉密等级:" prop="confidentialLevel">
|
||||||
<el-select :disabled="formControl" v-model="form.confidentialLevel" placeholder="请选择报告涉密等级" @change="reportLevel">
|
<el-select :disabled="formControl" v-model="form.confidentialLevel" placeholder="请选择报告涉密等级" @change="reportLevel">
|
||||||
<el-option v-for="item in privacyLevelOptions " :key="item.value" :label="item.value"
|
<el-option v-for="item in privacyLevelOptions " :key="item.value" :label="item.value"
|
||||||
@@ -46,17 +46,17 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="9" :offset="6" v-if="isShowTime">
|
<el-col :span="10" :offset="4" v-if="isShowTime">
|
||||||
<el-form-item label="保密到期日期:" prop="secrecyLast">
|
<el-form-item label="保密到期日期:" prop="secrecyLast">
|
||||||
<el-date-picker :disabled="formControl" v-model="form.secrecyLast" type="year" value-format="yyyy"
|
<el-date-picker :disabled="formControl" v-model="form.secrecyLast" type="date" value-format="yyyy-mm-dd"
|
||||||
placeholder="请选择保密到期日期"
|
placeholder="请选择保密到期日期"
|
||||||
prefix-icon="null" :picker-options="proOptions"/>
|
prefix-icon="null" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
|
|
||||||
<el-col :span="9" >
|
<el-col :span="10" >
|
||||||
<el-form-item label="报告隐私等级:" prop="privacyLevel">
|
<el-form-item label="报告隐私等级:" prop="privacyLevel">
|
||||||
<el-select :disabled="formControl" v-model="form.privacyLevel" placeholder="请选择报告隐私等级">
|
<el-select :disabled="formControl" v-model="form.privacyLevel" placeholder="请选择报告隐私等级">
|
||||||
<el-option v-for="item in confidentialLevelOptions" :key="item.value" :label="item.value"
|
<el-option v-for="item in confidentialLevelOptions" :key="item.value" :label="item.value"
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="9" :offset="6">
|
<el-col :span="10" :offset="4">
|
||||||
<el-form-item label="关键词:" prop="tags">
|
<el-form-item label="关键词:" prop="tags">
|
||||||
<vue-tags-input :disabled="formControl" :class="{'is-diable':formControl}" placeholder="请输入关键词"
|
<vue-tags-input :disabled="formControl" :class="{'is-diable':formControl}" placeholder="请输入关键词"
|
||||||
v-model="form.tags" :tags="tags"
|
v-model="form.tags" :tags="tags"
|
||||||
@@ -110,9 +110,9 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<span class="uploadFile" v-if="form.fileName">
|
<span class="uploadFile" v-if="form.fileName">
|
||||||
<span :title="fileList[0].name">{{fileList[0].name}}</span>
|
<span :class="{'fontColor':formControl}" :title="form.fileName">{{form.fileName}}</span>
|
||||||
<i class="el-icon-cloudy iconstyle"></i>
|
<i :class="{'fontColor':formControl}" class="el-icon-cloudy iconstyle" @click="downFile(form.fileId)"></i>
|
||||||
<i class="el-icon-delete iconstyle" @click="delFile"></i>
|
<i :class="{'fontColor':formControl}" class="el-icon-delete iconstyle" @click="delFile"></i>
|
||||||
</span>
|
</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -130,6 +130,7 @@ import newTranslate from "../../../components/newTranslate";
|
|||||||
import VueTagsInput from '@johmun/vue-tags-input';
|
import VueTagsInput from '@johmun/vue-tags-input';
|
||||||
import orgTable from '@/components/OrgTable'
|
import orgTable from '@/components/OrgTable'
|
||||||
import {privacyLevelOptions,confidentialLevelOptions} from '@/utils/Enum/enum'
|
import {privacyLevelOptions,confidentialLevelOptions} from '@/utils/Enum/enum'
|
||||||
|
import { downloadFile } from '@/utils/downloadFile'
|
||||||
export default {
|
export default {
|
||||||
dicts: ['classified_level', 'privacy_level'],
|
dicts: ['classified_level', 'privacy_level'],
|
||||||
components: {
|
components: {
|
||||||
@@ -223,8 +224,27 @@ export default {
|
|||||||
message: "报告文件不能为空", trigger: 'change'
|
message: "报告文件不能为空", trigger: 'change'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
privacyLevel:[
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "报告隐私等级不能为空", trigger: 'change'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
confidentialLevel:[
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "报告涉密等级不能为空", trigger: 'change'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
secrecyLast:[
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "保密到期日期不能为空", trigger: 'change'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
q: {
|
q: {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
@@ -234,29 +254,58 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
processForm(val) {
|
processForm:{
|
||||||
this.form = this.processForm
|
handler(val) {
|
||||||
|
this.form = this.processForm
|
||||||
|
console.log("变化了",this.form)
|
||||||
|
if(this.form.secrecyLast){
|
||||||
|
this.isShowTime=true
|
||||||
|
this.form.secrecyLast=new Date(this.form.secrecyLast)
|
||||||
|
}
|
||||||
|
if(this.processForm.keyContent){
|
||||||
|
this.tags=JSON.parse(this.processForm.keyContent)
|
||||||
|
}
|
||||||
|
if(this.processForm.labelList && typeof this.processForm.labelList[0]=='string'){
|
||||||
|
this.form.labelList= this.processForm.labelList.map(item=>{
|
||||||
|
|
||||||
|
return JSON.parse(item)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate:true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
downFile(id){
|
||||||
|
if(this.formControl) return
|
||||||
|
this.$api.report.reportDownload({reportId:null,fileId:id}).then(res=>{
|
||||||
|
downloadFile(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
handleClick(){
|
handleClick(){
|
||||||
this.orgTableVal=this.form.department
|
if(this.form.departmentName){
|
||||||
this.orgTableValName=this.form.departmentName
|
this.orgTableVal=this.form.departmentId
|
||||||
|
this.orgTableValName=this.form.departmentName
|
||||||
|
}
|
||||||
this.visibleOrgTable=true
|
this.visibleOrgTable=true
|
||||||
},
|
},
|
||||||
isTreeOk(checkedList){
|
isTreeOk(checkedList){
|
||||||
|
|
||||||
const parts = []
|
const parts = []
|
||||||
const partsName = []
|
const partsName = []
|
||||||
checkedList.map((item, index) => {
|
checkedList.map((item, index) => {
|
||||||
parts.push(item.id)
|
parts.push(item.orgCode)
|
||||||
partsName.push(item.orgName)
|
partsName.push(item.orgName)
|
||||||
})
|
})
|
||||||
|
|
||||||
this.qcrList = checkedList
|
this.qcrList = checkedList
|
||||||
this.form.department = parts.toString()
|
this.form.department = parts.toString()
|
||||||
this.form.departmentName = partsName.toString()
|
this.form.departmentName = partsName.toString()
|
||||||
|
|
||||||
},
|
},
|
||||||
delFile() {
|
delFile() {
|
||||||
|
if(this.formControl) return
|
||||||
this.fileList=[]
|
this.fileList=[]
|
||||||
this.form.fileName = '';
|
this.form.fileName = '';
|
||||||
this.form.fileId = '';
|
this.form.fileId = '';
|
||||||
@@ -265,8 +314,15 @@ export default {
|
|||||||
let imList=['普通商密','核心商密']
|
let imList=['普通商密','核心商密']
|
||||||
|
|
||||||
if( imList.indexOf(this.form.confidentialLevel)>-1){
|
if( imList.indexOf(this.form.confidentialLevel)>-1){
|
||||||
|
let currentDate=new Date()
|
||||||
|
let futureDate
|
||||||
|
if(item=='普通商密')
|
||||||
|
futureDate= new Date(currentDate.getFullYear() + 5, currentDate.getMonth(), currentDate.getDate());
|
||||||
|
else
|
||||||
|
futureDate = new Date(currentDate.getFullYear() + 10, currentDate.getMonth(), currentDate.getDate());
|
||||||
|
|
||||||
this.isShowTime=true
|
this.isShowTime=true
|
||||||
this.form.secrecyLast = ''
|
this.form.secrecyLast = futureDate
|
||||||
}else{
|
}else{
|
||||||
this.isShowTime=false
|
this.isShowTime=false
|
||||||
this.form.secrecyLast = ''
|
this.form.secrecyLast = ''
|
||||||
@@ -492,6 +548,9 @@ export default {
|
|||||||
color: #555;
|
color: #555;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
.fontColor{
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ export default {
|
|||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
processForm: { prcName : ''},
|
processForm: { prcName : ''},
|
||||||
|
|
||||||
visibleTree: false,
|
visibleTree: false,
|
||||||
formControl: true,
|
formControl: true,
|
||||||
disabled:false,
|
disabled:false,
|
||||||
@@ -90,15 +89,18 @@ export default {
|
|||||||
},
|
},
|
||||||
PERMISSION,
|
PERMISSION,
|
||||||
submitjson:{},
|
submitjson:{},
|
||||||
prcType: 4
|
prcType: '',
|
||||||
|
application:'' //存储转办的意见
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
|
|
||||||
this.taskId=this.$store.getters.handleProcess.taskId
|
this.taskId=this.$store.getters.handleProcess.taskId
|
||||||
this.prcNum=this.$store.getters.handleProcess.prcNum
|
this.prcNum=this.$store.getters.handleProcess.prcNum
|
||||||
this.prcId=this.$store.getters.handleProcess.prcId
|
this.prcId=this.$store.getters.handleProcess.prcId
|
||||||
this.prcName=this.$store.getters.handleProcess.prcName
|
this.prcName=this.$store.getters.handleProcess.prcName
|
||||||
|
this.prcType = this.$store.getters.handleProcess?.prcType
|
||||||
|
|
||||||
let params={
|
let params={
|
||||||
prcId: this.prcId,
|
prcId: this.prcId,
|
||||||
@@ -109,7 +111,6 @@ export default {
|
|||||||
}
|
}
|
||||||
this.getProcessDetail(params).then(res=>{
|
this.getProcessDetail(params).then(res=>{
|
||||||
this.processForm = JSON.parse(this.processOld.dataJson)
|
this.processForm = JSON.parse(this.processOld.dataJson)
|
||||||
this.$set(this.processForm,'prcName',this.prcName)
|
|
||||||
this.disabled=false
|
this.disabled=false
|
||||||
this.formControl= true
|
this.formControl= true
|
||||||
if(this.$route.query.type=='yiban'){
|
if(this.$route.query.type=='yiban'){
|
||||||
@@ -124,8 +125,9 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 转办
|
// 转办
|
||||||
handleTransfer() {
|
handleTransfer(type) {
|
||||||
this.visibleTree = true
|
this.visibleTree = true
|
||||||
|
this.application = type
|
||||||
},
|
},
|
||||||
// 选择转办
|
// 选择转办
|
||||||
handleDblClick(treeNode) {
|
handleDblClick(treeNode) {
|
||||||
@@ -138,7 +140,8 @@ export default {
|
|||||||
taskId: this.taskId,
|
taskId: this.taskId,
|
||||||
assignee: treeNode[0].USID,
|
assignee: treeNode[0].USID,
|
||||||
userId: this.$store.getters.userInfo.usid,
|
userId: this.$store.getters.userInfo.usid,
|
||||||
pId: this.prcId
|
pId: this.prcId,
|
||||||
|
approvalOpinion:this.application
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$message.success('转办成功')
|
this.$message.success('转办成功')
|
||||||
this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}})
|
this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}})
|
||||||
@@ -166,7 +169,8 @@ export default {
|
|||||||
submitJson,
|
submitJson,
|
||||||
taskId: this.taskId,
|
taskId: this.taskId,
|
||||||
userId: this.$store.getters.userInfo.usid,
|
userId: this.$store.getters.userInfo.usid,
|
||||||
prcType: this.prcType
|
prcType: this.prcType,
|
||||||
|
reportId: this.processOld.dataId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<span class="base_title">审批历史</span>
|
<span class="base_title">审批历史</span>
|
||||||
<process-approval-history :prcNum="prcNum"></process-approval-history>
|
<process-approval-history :prcNum="prcNum"></process-approval-history>
|
||||||
</div>
|
</div>
|
||||||
<div class="process_content">
|
<div class="process_content" v-if="isLevel">
|
||||||
<span class="base_title">指派信息</span>
|
<span class="base_title">指派信息</span>
|
||||||
<el-form ref="assignFormRef" :model="assignForm" label-width="150px"
|
<el-form ref="assignFormRef" :model="assignForm" label-width="150px"
|
||||||
:rules="assignFormRules" class="label-input-form" size="medium">
|
:rules="assignFormRules" class="label-input-form" size="medium">
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="9" style="margin-left: 5px">
|
<el-col :span="9" style="margin-left: 5px">
|
||||||
<el-button size="medium" type="primary" @click="handleCheck('spr1')">选取</el-button>
|
<el-button size="medium" type="primary" class="checkBtn" @click="handleCheck('spr1')">选取</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -78,7 +78,8 @@ export default {
|
|||||||
mixins: [processMixin],
|
mixins: [processMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isLevel: true,
|
||||||
|
dataId:'',
|
||||||
showTableD: false,
|
showTableD: false,
|
||||||
initShow: false, // 控制审批历史是否显示 只有在不是第一次的时候才是true
|
initShow: false, // 控制审批历史是否显示 只有在不是第一次的时候才是true
|
||||||
treeType: '',
|
treeType: '',
|
||||||
@@ -110,26 +111,22 @@ export default {
|
|||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
prcType: 4,
|
prcType: '',
|
||||||
prcName:''
|
prcName:'',
|
||||||
|
ids:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
|
|
||||||
// if (this.$route.query.isBegin) {
|
|
||||||
// if (this.$route.query.ids.split(',').length > 0) {
|
|
||||||
// this.reportList(this.$route.query.ids)
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// 如果是从草稿进入的
|
// 如果是从草稿进入的
|
||||||
if (this.$route.query.isDraft) {
|
if (this.$route.query.isDraft) {
|
||||||
this.isShowSave = true
|
this.isShowSave = true
|
||||||
|
this.dataId= this.$store.getters.handleProcess.dataId
|
||||||
this.taskId = this.$store.getters.handleProcess?.taskId
|
this.taskId = this.$store.getters.handleProcess?.taskId
|
||||||
this.prcNum = this.$store.getters.handleProcess?.prcNum
|
this.prcNum = this.$store.getters.handleProcess?.prcNum
|
||||||
this.prcId = this.$store.getters.handleProcess?.prcId
|
this.prcId = this.$store.getters.handleProcess?.prcId
|
||||||
this.prcName = this.$store.getters.handleProcess?.prcName
|
this.prcName = this.$store.getters.handleProcess?.prcName
|
||||||
this.getDraftDetail().then(res => {
|
this.prcType = this.$store.getters.handleProcess?.prcType
|
||||||
|
this.getProcessDetail().then(res => {
|
||||||
if(this.processOld.submitJson !== '{}'){
|
if(this.processOld.submitJson !== '{}'){
|
||||||
let submitJson=JSON.parse(this.processOld.submitJson)
|
let submitJson=JSON.parse(this.processOld.submitJson)
|
||||||
this.processForm=JSON.parse(this.processOld.dataJson)
|
this.processForm=JSON.parse(this.processOld.dataJson)
|
||||||
@@ -137,7 +134,6 @@ export default {
|
|||||||
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
||||||
}
|
}
|
||||||
this.$nextTick(()=>{
|
this.$nextTick(()=>{
|
||||||
this.$refs.processFormRef.clearValidate()
|
|
||||||
this.$refs.assignFormRef.clearValidate()
|
this.$refs.assignFormRef.clearValidate()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -147,6 +143,7 @@ export default {
|
|||||||
this.taskId = this.$store.getters.handleProcess.taskId
|
this.taskId = this.$store.getters.handleProcess.taskId
|
||||||
this.prcNum = this.$store.getters.handleProcess.prcNum
|
this.prcNum = this.$store.getters.handleProcess.prcNum
|
||||||
this.prcId = this.$store.getters.handleProcess.prcId
|
this.prcId = this.$store.getters.handleProcess.prcId
|
||||||
|
this.prcType = this.$store.getters.handleProcess?.prcType
|
||||||
this.initShow = true
|
this.initShow = true
|
||||||
this.formControlname = true
|
this.formControlname = true
|
||||||
await this.getProcessDetail()
|
await this.getProcessDetail()
|
||||||
@@ -161,6 +158,7 @@ export default {
|
|||||||
this.taskId = this.$store.getters.handleProcess.taskId
|
this.taskId = this.$store.getters.handleProcess.taskId
|
||||||
this.prcNum = this.$store.getters.handleProcess.prcNum
|
this.prcNum = this.$store.getters.handleProcess.prcNum
|
||||||
this.prcId = this.$store.getters.handleProcess.prcId
|
this.prcId = this.$store.getters.handleProcess.prcId
|
||||||
|
this.prcType = this.$store.getters.handleProcess?.prcType
|
||||||
this.formControl = true
|
this.formControl = true
|
||||||
this.initShow = true
|
this.initShow = true
|
||||||
this.showTableD = true
|
this.showTableD = true
|
||||||
@@ -172,13 +170,57 @@ export default {
|
|||||||
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
// 第一次进入此页面 需要清楚校验
|
|
||||||
this.isShowSave = true
|
this.isShowSave = true
|
||||||
this.$store.commit('setHandleProcess','')
|
this.$store.commit('setHandleProcess','')
|
||||||
this.handleReset()
|
this.handleReset()
|
||||||
|
if(this.$store.getters.userInfo.levelId=='0.5'){
|
||||||
|
this.isShowSave = false
|
||||||
|
this.isLevel=false
|
||||||
|
}else{
|
||||||
|
this.isLevel = true
|
||||||
|
this.isShowSave = true
|
||||||
|
}
|
||||||
|
// 第一次进入此页面 需要依据ids区分是新增还是编辑流程
|
||||||
|
if(this.$route.query.ids){
|
||||||
|
this.prcType=5
|
||||||
|
// 调用接口
|
||||||
|
this.ids=this.$route.query.ids
|
||||||
|
// 如果该用户的levelId==5 就直接编辑 并且不显示指派信息
|
||||||
|
|
||||||
|
this.getReportDetail()
|
||||||
|
}else{
|
||||||
|
this.prcType=4
|
||||||
|
// 需要给部门带出来
|
||||||
|
if(this.$store.getters.userInfo.orgEOList.length>0){
|
||||||
|
let temp=this.$store.getters.userInfo.orgEOList
|
||||||
|
this.$set(this.processForm,'departmentName',temp[0].orgName)
|
||||||
|
this.$set(this.processForm,'department',temp[0].orgCode)
|
||||||
|
console.log(this.processForm,"wowowwoo")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 查询文件名称
|
||||||
|
getFileName(){
|
||||||
|
this.$api.reportProcess.searchFile({fileId:this.processForm.fileId}).then(res=>{
|
||||||
|
this.$set(this.processForm,'fileName',res.data)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取报告详情
|
||||||
|
getReportDetail(){
|
||||||
|
this.$api.report.getReportDetail(this.ids).then(res=>{
|
||||||
|
this.processForm=res.data
|
||||||
|
this.processForm.reportId=this.processForm.id
|
||||||
|
if(this.isLevel){
|
||||||
|
delete this.processForm['id']
|
||||||
|
if(this.processForm.fileId){
|
||||||
|
this.getFileName()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
handleReset() {
|
handleReset() {
|
||||||
this.processForm={
|
this.processForm={
|
||||||
departmentName:'',
|
departmentName:'',
|
||||||
@@ -204,7 +246,7 @@ export default {
|
|||||||
twoApprove: ''
|
twoApprove: ''
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.applicationFormRef.clearValidate()
|
|
||||||
this.$refs.assignFormRef.clearValidate()
|
this.$refs.assignFormRef.clearValidate()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -227,6 +269,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 树点击
|
// 树点击
|
||||||
isTreeOk(checkedList) {
|
isTreeOk(checkedList) {
|
||||||
|
|
||||||
// console.log(checkedList)
|
// console.log(checkedList)
|
||||||
const parts = []
|
const parts = []
|
||||||
const partsName = []
|
const partsName = []
|
||||||
@@ -246,19 +289,25 @@ export default {
|
|||||||
},
|
},
|
||||||
// 保存
|
// 保存
|
||||||
handleSave(){
|
handleSave(){
|
||||||
|
this.processForm=this.$refs.basMes.form
|
||||||
|
if(this.$refs.basMes.tags){
|
||||||
|
this.processForm.keyContent = JSON.stringify(this.$refs.basMes.tags)
|
||||||
|
}
|
||||||
|
this.processForm.prcName=this.processForm.name&&this.processForm.name
|
||||||
this.saveLoading = true
|
this.saveLoading = true
|
||||||
|
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
|
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
|
||||||
let dataJson = JSON.stringify(this.processForm)
|
let dataJson = JSON.stringify(this.processForm)
|
||||||
let params = {
|
let params = {
|
||||||
prcName: this.processForm.prcName,
|
prcName: this.processForm.name,
|
||||||
userId: this.$store.getters.userInfo.usid,
|
userId: this.$store.getters.userInfo.usid,
|
||||||
prcType: this.prcType,
|
prcType: this.prcType,
|
||||||
createUserName: this.$store.getters.userInfo.usname,
|
createUserName: this.$store.getters.userInfo.usname,
|
||||||
createUser: this.$store.getters.userInfo.usid,
|
createUser: this.$store.getters.userInfo.usid,
|
||||||
submitJson,
|
submitJson,
|
||||||
dataJson,
|
dataJson,
|
||||||
id: this.$store.getters.handleProcess?.id
|
id: this.$store.getters.handleProcess?.id,
|
||||||
|
reportId: this.processForm.reportId || ''
|
||||||
}
|
}
|
||||||
this.saveProcess(params).then(
|
this.saveProcess(params).then(
|
||||||
()=>{
|
()=>{
|
||||||
@@ -278,32 +327,100 @@ export default {
|
|||||||
// 提交
|
// 提交
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID")
|
console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID")
|
||||||
this.$refs.assignFormRef.validate(async v => {
|
|
||||||
this.processForm=this.$refs.basMes.form
|
|
||||||
this.processForm.prcName=this.processForm.name
|
|
||||||
let z=this.$refs.basMes.submit()
|
|
||||||
if (v && z) {
|
|
||||||
//如果不是第一次
|
|
||||||
if (this.initShow) {
|
|
||||||
let flag=await this.JuggleSub(this.taskId)
|
|
||||||
if(flag){
|
|
||||||
let dataJson = JSON.stringify(this.processForm)
|
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
|
|
||||||
this.completeProcess({
|
|
||||||
dataJson,
|
|
||||||
submitJson,
|
|
||||||
taskId: this.taskId,
|
|
||||||
userId: this.$store.getters.userInfo.usid,
|
|
||||||
prcType: this.prcType
|
|
||||||
})
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.startProcess()
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
if(this.isLevel){
|
||||||
|
this.$refs.assignFormRef.validate( v => {
|
||||||
|
this.processForm=this.$refs.basMes.form
|
||||||
|
this.processForm.keyContent = JSON.stringify(this.$refs.basMes.tags)
|
||||||
|
this.processForm.prcName=this.processForm.name
|
||||||
|
// this.processForm.labelList= JSON.stringify(this.processForm.labelList)
|
||||||
|
|
||||||
|
let z=this.$refs.basMes.submit()
|
||||||
|
if (v && z) {
|
||||||
|
console.log(this.processForm,"his.processFormhis.processFormhis.processForm")
|
||||||
|
// 判断报告名称是否重复
|
||||||
|
this.$api.reportProcess.JggleName({
|
||||||
|
id:this.processForm.reportId || '',
|
||||||
|
name:this.processForm.name
|
||||||
|
}).then(async res=>{
|
||||||
|
|
||||||
|
this.processForm.createUserId=this.userId
|
||||||
|
//如果不是第一次
|
||||||
|
if (this.initShow) {
|
||||||
|
// 判断当前提交人是不是审批人
|
||||||
|
let flag=await this.JuggleSub(this.taskId)
|
||||||
|
if(flag){
|
||||||
|
|
||||||
|
let dataJson = JSON.stringify(this.processForm)
|
||||||
|
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
|
||||||
|
this.completeProcess({
|
||||||
|
dataJson,
|
||||||
|
submitJson,
|
||||||
|
taskId: this.taskId,
|
||||||
|
userId: this.$store.getters.userInfo.usid,
|
||||||
|
prcType: this.prcType,
|
||||||
|
reportId: this.processForm.reportId|| ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 如果草稿发起 判断在不在流程中
|
||||||
|
if(this.$route.query.isDraft && this.prcType==5) {
|
||||||
|
this.isSendDraft().then((res)=> {
|
||||||
|
this.startProcess()
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.startProcess()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning('请检查表单填写完整')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.processForm=this.$refs.basMes.form
|
||||||
|
this.processForm.keyContent = JSON.stringify(this.$refs.basMes.tags)
|
||||||
|
this.processForm.prcName=this.processForm.name
|
||||||
|
// this.processForm.labelList= JSON.stringify(this.processForm.labelList)
|
||||||
|
|
||||||
|
let z=this.$refs.basMes.submit()
|
||||||
|
if(z){
|
||||||
|
this.processForm=this.$refs.basMes.form
|
||||||
|
this.processForm.id=this.processForm.reportId
|
||||||
|
this.processForm.keyContent = JSON.stringify(this.$refs.basMes.tags)
|
||||||
|
// 先判断名称是不是重复
|
||||||
|
this.$api.reportProcess.JggleName({
|
||||||
|
id:this.processForm.reportId || '',
|
||||||
|
name:this.processForm.name
|
||||||
|
}).then( res=>{
|
||||||
|
this.$api.report.reportAdd(this.processForm).then(_ => {
|
||||||
|
this.$message.success('操作成功');
|
||||||
|
this.$router.push({
|
||||||
|
path:"/report/manager",
|
||||||
|
query:{
|
||||||
|
id:'AEHJB8YNJ3'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}else{
|
||||||
this.$message.warning('请检查表单填写完整')
|
this.$message.warning('请检查表单填写完整')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 草稿发起 需要先调用这个接口
|
||||||
|
isSendDraft() {
|
||||||
|
let ids = this.processForm.reportId || ''
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
this.$api.process.selectReport({usid: this.userId, ids: [ids]}).then((res) => {
|
||||||
|
if (res.data.length == 0) {
|
||||||
|
resolve(true)
|
||||||
|
} else {
|
||||||
|
this.$message.warning("报告" + res.data.join(',') + "已经在流程中")
|
||||||
|
reject()
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
startProcess() {
|
startProcess() {
|
||||||
@@ -325,7 +442,7 @@ export default {
|
|||||||
let dataJson = JSON.stringify(this.processForm)
|
let dataJson = JSON.stringify(this.processForm)
|
||||||
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
|
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
|
||||||
this.$api.process.startProcess(form).then(({data}) => {
|
this.$api.process.startProcess(form).then(({data}) => {
|
||||||
this.completeProcess({dataJson, submitJson, taskId: data.result, userId: form.userId, prcType: this.prcType})
|
this.completeProcess({dataJson, submitJson, taskId: data.result, userId: form.userId, prcType: this.prcType, reportId: this.processForm.reportId|| ''})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取流程详细信息
|
//获取流程详细信息
|
||||||
@@ -334,6 +451,8 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style lang="scss" scoped>
|
||||||
|
.checkBtn {
|
||||||
|
padding: 11px 20px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -9,14 +9,17 @@
|
|||||||
<div class="search-box-left">
|
<div class="search-box-left">
|
||||||
<label>流程编号:</label>
|
<label>流程编号:</label>
|
||||||
<el-input v-model="form.prcNum" placeholder="请输入流程编号"></el-input>
|
<el-input v-model="form.prcNum" placeholder="请输入流程编号"></el-input>
|
||||||
<label>流程类型:</label>
|
<label>发起人:</label>
|
||||||
|
<el-input v-model="form.creatUserName" placeholder="请输入发起人"></el-input>
|
||||||
|
<label>报告名称:</label>
|
||||||
|
<el-input v-model="form.prcName" placeholder="请输入报告名称"></el-input>
|
||||||
|
<label>流程类型:</label>
|
||||||
<el-select v-model="form.prcType" collapse-tags placeholder="请选择流程类型">
|
<el-select v-model="form.prcType" collapse-tags placeholder="请选择流程类型">
|
||||||
<template v-for="item in processTypeList">
|
<template v-for="item in processTypeList">
|
||||||
<el-option :label="item.label" :value="item.value" :key="item.value"></el-option>
|
<el-option :label="item.label" :value="item.value" :key="item.value"></el-option>
|
||||||
</template>
|
</template>
|
||||||
</el-select>
|
</el-select>
|
||||||
<label>流程名称:</label>
|
|
||||||
<el-input v-model="form.prcName" placeholder="请输入流程名称"></el-input>
|
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4" align="right">
|
<el-col :span="4" align="right">
|
||||||
@@ -26,10 +29,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<el-row class="agreeBtn" v-if="isShowbtn">
|
||||||
|
<el-button size="small" type="primary" @click="allAgree('yes')">批量同意</el-button>
|
||||||
|
<el-button size="small" type="danger" @click="allAgree('no')">批量不同意</el-button>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<tabs @clearForm="reset"/>
|
<tabs @clearForm="reset"/>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog title="审核意见" width="20%" :visible.sync="dialogVisible"
|
||||||
|
@close="cancel">
|
||||||
|
<el-form ref="examineForm"
|
||||||
|
:model="approveForm"
|
||||||
|
size="medium"
|
||||||
|
class="label-input-form prc-content-border approveForm">
|
||||||
|
<el-form-item label-width="132px" class="add-form-item" prop="approvalOpinion"
|
||||||
|
:rules="[{required:flag==1?false:true,message:'请输入审核意见',trigger:'change'}]">
|
||||||
|
<template slot="label">审核意见:</template>
|
||||||
|
<el-input :maxlength='1000'
|
||||||
|
v-model="approveForm.approvalOpinion"
|
||||||
|
placeholder="请输入审核意见"
|
||||||
|
:autosize="{ minRows: 2, maxRows: 4}"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
<div class="done">
|
||||||
|
<el-button size="medium" @click="cancel" class="btn">取消</el-button>
|
||||||
|
<el-button size="medium" type="primary" @click="submitForm" class="btn">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -44,30 +76,114 @@ import tabs from '../userCenter/processCenter/tabs.vue'
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
approveForm:{approvalOpinion:''},
|
||||||
|
approveFormRules:{
|
||||||
|
approvalOpinion:[{
|
||||||
|
required:true,
|
||||||
|
message:'请填写审核意见'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
dialogVisible:false,
|
||||||
form: {
|
form: {
|
||||||
prcNum:'',
|
prcNum:'',
|
||||||
prcName:''
|
prcName:''
|
||||||
},
|
},
|
||||||
|
checkList:[],
|
||||||
|
flag:'',//是不是同意
|
||||||
|
isShowbtn:this.$store.getters.activeTab =='' || this.$store.getters.activeTab =='first'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch:{
|
||||||
|
// dialogVisible(value){
|
||||||
|
// if(!value && this.flag){
|
||||||
|
// this.reset()
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
},
|
||||||
created () {
|
created () {
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
|
||||||
this.$bus.$on('clearForm',()=>{
|
this.$bus.$on('clearForm',()=>{
|
||||||
this.form={}
|
this.form={}
|
||||||
});
|
});
|
||||||
|
this.$bus.$on('handleClick',(data)=>{
|
||||||
|
console.log(data)
|
||||||
|
this.checkList=data
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
cancel(){
|
||||||
|
this.flag = ''
|
||||||
|
this.dialogVisible=false
|
||||||
|
},
|
||||||
|
submitForm(){
|
||||||
|
this.$refs.examineForm.validate(v=>{
|
||||||
|
if(v){
|
||||||
|
this.arrangeData()
|
||||||
|
this.completeProcessALL(this.checkList)
|
||||||
|
this.dialogVisible=false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
allAgree(type){
|
||||||
|
this.approveForm.approvalOpinion=''
|
||||||
|
if(this.checkList.length>0){
|
||||||
|
//判断选中的有没有重新发起的
|
||||||
|
let List=this.checkList.filter(item=>{
|
||||||
|
if(item.taskDefinitionKey == 'reEdit'){
|
||||||
|
return item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(List.length>0){
|
||||||
|
this.$message("您当前选择的数据存在正处于重新发起节点的流程,请重新选择")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogVisible=true
|
||||||
|
if(type=='no'){
|
||||||
|
|
||||||
|
this.flag=2
|
||||||
|
}else{
|
||||||
|
this.flag=1
|
||||||
|
}
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
this.$refs.examineForm.clearValidate()
|
||||||
|
})
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.$message.warning("请至少选择一条数据")
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 处理数据
|
||||||
|
arrangeData() {
|
||||||
|
this.checkList= this.checkList.map(item=>{
|
||||||
|
let obj={
|
||||||
|
prcType:item.prcType,
|
||||||
|
reportId:item.dataId,
|
||||||
|
taskId: item.taskId,
|
||||||
|
userId: this.userId,
|
||||||
|
submitJson:''
|
||||||
|
}
|
||||||
|
let temp=JSON.parse(item.submitJson)
|
||||||
|
temp.flag = this.flag
|
||||||
|
temp.approvalOpinion=this.approveForm.approvalOpinion
|
||||||
|
obj.submitJson =JSON.stringify(temp)
|
||||||
|
return obj
|
||||||
|
})
|
||||||
|
},
|
||||||
//查询
|
//查询
|
||||||
search() {
|
search() {
|
||||||
console.log(this.form)
|
console.log(this.form)
|
||||||
this.$bus.$emit('getSearchItem',this.form)
|
this.$bus.$emit('getSearchItem',this.form)
|
||||||
// this.$api.processCenter.search({})
|
// this.$api.processCenter.search({})
|
||||||
},
|
},
|
||||||
//重置
|
//重置
|
||||||
reset(){
|
reset(name){
|
||||||
|
if(name=='first'){
|
||||||
|
this.isShowbtn=true
|
||||||
|
}else{
|
||||||
|
this.isShowbtn=false
|
||||||
|
}
|
||||||
this.form= {
|
this.form= {
|
||||||
prcNum:'',
|
prcNum:'',
|
||||||
prcName:''
|
prcName:''
|
||||||
@@ -145,9 +261,22 @@ import tabs from '../userCenter/processCenter/tabs.vue'
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.tabs{
|
.tabs{
|
||||||
margin: 20px 0 0 13px;
|
margin: 10px 0 0 13px;
|
||||||
}
|
}
|
||||||
|
.agreeBtn{
|
||||||
|
margin: 20px 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.add-form-item{
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.approveForm{
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
}
|
||||||
|
.done{
|
||||||
|
margin: 10px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -12,14 +12,9 @@
|
|||||||
<div class="blurcolor" @click="view(row)">{{row.prcNum}}</div>
|
<div class="blurcolor" @click="view(row)">{{row.prcNum}}</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="prcType"
|
|
||||||
title="流程类型">
|
|
||||||
<template #default="{ row,index }">
|
|
||||||
<div >{{getPrcName(row.prcType)}}</div>
|
|
||||||
</template>
|
|
||||||
</vxe-column>
|
|
||||||
|
|
||||||
<vxe-column show-overflow show-header-overflow field="prcName" title="流程名称">
|
|
||||||
|
<vxe-column show-overflow show-header-overflow field="prcName" title="报告名称">
|
||||||
<template #default="{ row,index }">
|
<template #default="{ row,index }">
|
||||||
<div class="blurcolor" @click="view(row)">{{row.prcName}}</div>
|
<div class="blurcolor" @click="view(row)">{{row.prcName}}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -31,8 +26,14 @@
|
|||||||
title="上一处理人"></vxe-column>
|
title="上一处理人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="endTime"
|
<vxe-column show-overflow show-header-overflow field="endTime"
|
||||||
title="完成时间"></vxe-column>
|
title="完成日期"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="status" title="状态">
|
<vxe-column show-overflow show-header-overflow field="prcType"
|
||||||
|
title="流程类型">
|
||||||
|
<template #default="{ row,index }">
|
||||||
|
<div >{{getPrcName(row.prcType)}}</div>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="status" title="流程状态">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.isEnd === '0'">未完成</span>
|
<span v-if="row.isEnd === '0'">未完成</span>
|
||||||
<span v-if="row.isEnd === '1'">已完成</span>
|
<span v-if="row.isEnd === '1'">已完成</span>
|
||||||
@@ -114,6 +115,7 @@ export default {
|
|||||||
prcNum: row.prcNum,
|
prcNum: row.prcNum,
|
||||||
prcId: row.prcId,
|
prcId: row.prcId,
|
||||||
prcName: row.prcName,
|
prcName: row.prcName,
|
||||||
|
prcType: row.prcType
|
||||||
}
|
}
|
||||||
this.$store.commit('setHandleProcess',params)
|
this.$store.commit('setHandleProcess',params)
|
||||||
switch (row.prcType) {
|
switch (row.prcType) {
|
||||||
@@ -137,6 +139,46 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
};break;
|
};break;
|
||||||
|
case '2' :
|
||||||
|
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
type:'yiban',
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/examine',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
type:'yiban',
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};break;
|
||||||
|
case '3' :
|
||||||
|
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
type:'yiban',
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/examine',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
type:'yiban',
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};break;
|
||||||
case '4' :
|
case '4' :
|
||||||
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
|
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
@@ -157,6 +199,26 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
};break;
|
};break;
|
||||||
|
case '5' :
|
||||||
|
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/reportprocess/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
type:'yiban',
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$router.push({
|
||||||
|
path: '/reportprocess/examine',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
type:'yiban',
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe v-table-min-height="'calc(100vh - 380px)'">
|
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center"
|
||||||
|
border stripe v-table-min-height="'calc(100vh - 380px)'"
|
||||||
|
@checkbox-all="selectAllEvent" @checkbox-change="selectChangeEvent">
|
||||||
|
<vxe-column type="checkbox" width="60"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
|
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
|
||||||
<template #default="{ row, rowIndex }">
|
<template #default="{ row, rowIndex }">
|
||||||
{{ rowIndex + (q.current - 1) * q.size + 1 }}
|
{{ rowIndex + (q.current - 1) * q.size + 1 }}
|
||||||
@@ -13,22 +17,33 @@
|
|||||||
<div class="blurcolor" @click="handle(row)">{{row.prcNum}}</div>
|
<div class="blurcolor" @click="handle(row)">{{row.prcNum}}</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="prcName" title="报告名称">
|
||||||
|
<template #default="{ row,index }" >
|
||||||
|
<div class="blurcolor" @click="handle(row)">{{row.prcName}}</div>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="prcType"
|
<vxe-column show-overflow show-header-overflow field="prcType"
|
||||||
title="流程类型">
|
title="流程类型">
|
||||||
<template #default="{ row,index }">
|
<template #default="{ row,index }">
|
||||||
<div>{{getPrcName(row.prcType)}}</div>
|
<div>{{getPrcName(row.prcType)}}</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="prcName" title="流程名称">
|
|
||||||
<template #default="{ row,index }" >
|
<vxe-column show-overflow show-header-overflow field="confidentialLevel" title="报告涉密等级">
|
||||||
<div class="blurcolor" @click="handle(row)">{{row.prcName}}</div>
|
</vxe-column>
|
||||||
</template>
|
<vxe-column show-overflow show-header-overflow field="privacyLevel" title="报告隐私等级">
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="creatUserName"
|
<vxe-column show-overflow show-header-overflow field="creatUserName"
|
||||||
title="发起人"></vxe-column>
|
title="发起人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
<el-button v-if="row.taskDefinitionKey!='reEdit'" @click.native.prevent="handleSubmit(row,'yes')" type="text" size="small">
|
||||||
|
同意
|
||||||
|
</el-button>
|
||||||
|
<el-button v-if="row.taskDefinitionKey!='reEdit'" @click.native.prevent="handleSubmit(row,'no')" type="text" size="small">
|
||||||
|
不同意
|
||||||
|
</el-button>
|
||||||
<el-button @click.native.prevent="handle(row)" type="text" size="small">
|
<el-button @click.native.prevent="handle(row)" type="text" size="small">
|
||||||
办理
|
办理
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -39,6 +54,28 @@
|
|||||||
:page-sizes="[5, 10, 20]" :page-size="q.size" layout="total, sizes, prev, pager, next, jumper"
|
:page-sizes="[5, 10, 20]" :page-size="q.size" layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="total" />
|
:total="total" />
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog title="审核意见" width="20%" :visible.sync="dialogVisible" >
|
||||||
|
<el-form ref="examineForm"
|
||||||
|
:model="approveForm"
|
||||||
|
size="medium"
|
||||||
|
class="label-input-form prc-content-border approveForm">
|
||||||
|
<el-form-item label-width="132px" class="add-form-item" prop="approvalOpinion"
|
||||||
|
:rules="[{required:flag==1?false:true,message:'请输入审核意见',trigger:'change'}]">
|
||||||
|
<template slot="label">审核意见:</template>
|
||||||
|
<el-input :maxlength='1000'
|
||||||
|
v-model="approveForm.approvalOpinion"
|
||||||
|
placeholder="请输入审核意见"
|
||||||
|
:autosize="{ minRows: 2, maxRows: 4}"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
<div class="done">
|
||||||
|
<el-button size="medium" @click="cancel" class="btn">取消</el-button>
|
||||||
|
<el-button size="medium" type="primary" @click="submitForm" class="btn">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -49,12 +86,24 @@ export default {
|
|||||||
mixins:[ProcessMixin],
|
mixins:[ProcessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
approveForm:{approvalOpinion:''},
|
||||||
|
approveFormRules:{
|
||||||
|
approvalOpinion:[{
|
||||||
|
required:true,
|
||||||
|
message:'请填写审核意见'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
dialogVisible:false,
|
||||||
q:{
|
q:{
|
||||||
current:1,
|
current:1,
|
||||||
size:10
|
size:10
|
||||||
},
|
},
|
||||||
total: 0,
|
total: 0,
|
||||||
tableData: []
|
tableData: [],
|
||||||
|
checkList:[],
|
||||||
|
checkIds:[],
|
||||||
|
flag:1,
|
||||||
|
check:[]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@@ -77,6 +126,58 @@ export default {
|
|||||||
this.loadData()
|
this.loadData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
cancel(){
|
||||||
|
this.dialogVisible=false
|
||||||
|
},
|
||||||
|
submitForm(){
|
||||||
|
this.$refs.examineForm.validate(v=>{
|
||||||
|
if(v){
|
||||||
|
let obj={
|
||||||
|
prcType:this.check.prcType,
|
||||||
|
reportId:this.check.dataId,
|
||||||
|
taskId: this.check.taskId,
|
||||||
|
userId: this.check.userId,
|
||||||
|
submitJson:''
|
||||||
|
}
|
||||||
|
let temp=JSON.parse(this.check.submitJson)
|
||||||
|
temp.flag = this.flag
|
||||||
|
temp.approvalOpinion=this.approveForm.approvalOpinion
|
||||||
|
obj.submitJson =JSON.stringify(temp)
|
||||||
|
this.completeProcess(obj)
|
||||||
|
this.dialogVisible=false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleSubmit(row,flag){
|
||||||
|
this.approveForm.approvalOpinion=''
|
||||||
|
this.dialogVisible=true
|
||||||
|
this.check=row
|
||||||
|
if(flag=='no'){
|
||||||
|
this.flag=2
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.flag=1
|
||||||
|
}
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
this.$refs.examineForm.clearValidate()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectAllEvent({checked}) {
|
||||||
|
const records = this.$refs.xTable.getCheckboxRecords()
|
||||||
|
this.checkList = records
|
||||||
|
this.checkIds = records.map(item => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
this.$bus.$emit('handleClick', this.checkList);
|
||||||
|
},
|
||||||
|
selectChangeEvent({checked}) {
|
||||||
|
const records = this.$refs.xTable.getCheckboxRecords()
|
||||||
|
this.checkList = records
|
||||||
|
this.checkIds = records.map(item => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
this.$bus.$emit('handleClick', this.checkList);
|
||||||
|
},
|
||||||
loadData() {
|
loadData() {
|
||||||
let userId=this.$store.getters.userInfo.usid
|
let userId=this.$store.getters.userInfo.usid
|
||||||
this.$api.processCenter.gencyProcessPage({...this.q,...this.form,userId:userId}).then(res=>{
|
this.$api.processCenter.gencyProcessPage({...this.q,...this.form,userId:userId}).then(res=>{
|
||||||
@@ -104,11 +205,51 @@ export default {
|
|||||||
prcNum: row.prcNum,
|
prcNum: row.prcNum,
|
||||||
prcId: row.prcId,
|
prcId: row.prcId,
|
||||||
prcName: row.prcName,
|
prcName: row.prcName,
|
||||||
|
prcType: row.prcType
|
||||||
}
|
}
|
||||||
this.$store.commit('setHandleProcess',params)
|
this.$store.commit('setHandleProcess',params)
|
||||||
switch (row.prcType) {
|
switch (row.prcType) {
|
||||||
case '1' :
|
case '1' :
|
||||||
debugger
|
if (row.taskDefinitionKey == 'reEdit') {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey,
|
||||||
|
prcName: row.prcName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/examine',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey,
|
||||||
|
prcName: row.prcName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};break;
|
||||||
|
case '2' :
|
||||||
|
if (row.taskDefinitionKey == 'reEdit') {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey,
|
||||||
|
prcName: row.prcName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/examine',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey,
|
||||||
|
prcName: row.prcName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};break;
|
||||||
|
case '3' :
|
||||||
if (row.taskDefinitionKey == 'reEdit') {
|
if (row.taskDefinitionKey == 'reEdit') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/permission/launch',
|
path: '/permission/launch',
|
||||||
@@ -148,6 +289,26 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
};break;
|
};break;
|
||||||
|
case '5' :
|
||||||
|
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/reportprocess/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
prcName: row.prcName,
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$router.push({
|
||||||
|
path: '/reportprocess/examine',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
prcName: row.prcName,
|
||||||
|
taskDefinitionKey:row.taskDefinitionKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -167,4 +328,12 @@ export default {
|
|||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.approveForm{
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
}
|
||||||
|
.done{
|
||||||
|
margin: 10px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -13,13 +13,8 @@
|
|||||||
<div class="blurcolor" @click="view(row)"> {{row.prcNum}}</div>
|
<div class="blurcolor" @click="view(row)"> {{row.prcNum}}</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow
|
|
||||||
title="流程类型">
|
<vxe-column show-overflow show-header-overflow title="报告名称">
|
||||||
<template #default="{ row,index }">
|
|
||||||
<div>{{getPrcName(row.prcType)}}</div>
|
|
||||||
</template>
|
|
||||||
</vxe-column>
|
|
||||||
<vxe-column show-overflow show-header-overflow title="流程名称">
|
|
||||||
<template #default="{ row }" >
|
<template #default="{ row }" >
|
||||||
<div class="blurcolor" @click="view(row)">{{row.prcName}}</div>
|
<div class="blurcolor" @click="view(row)">{{row.prcName}}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -31,8 +26,14 @@
|
|||||||
title="上一处理人"></vxe-column>
|
title="上一处理人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="endTime"
|
<vxe-column show-overflow show-header-overflow field="endTime"
|
||||||
title="完成时间"></vxe-column>
|
title="完成日期"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="status" title="状态">
|
<vxe-column show-overflow show-header-overflow
|
||||||
|
title="流程类型">
|
||||||
|
<template #default="{ row,index }">
|
||||||
|
<div>{{getPrcName(row.prcType)}}</div>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="status" title="流程状态">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.isEnd === '0'">未完成</span>
|
<span v-if="row.isEnd === '0'">未完成</span>
|
||||||
<span v-if="row.isEnd === '1'">已完成</span>
|
<span v-if="row.isEnd === '1'">已完成</span>
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="approvalOpinion"
|
<vxe-column show-overflow show-header-overflow field="approvalOpinion"
|
||||||
title="审批意见"></vxe-column>
|
title="审核意见"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="status"
|
<vxe-column show-overflow show-header-overflow field="status"
|
||||||
title="状态">
|
title="状态">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|||||||
@@ -14,14 +14,8 @@
|
|||||||
<div class="blurcolor" @click="view(row)">{{row.prcNum}}</div>
|
<div class="blurcolor" @click="view(row)">{{row.prcNum}}</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="prcType"
|
|
||||||
title="流程类型">
|
|
||||||
<template #default="{ row,index }">
|
|
||||||
<div >{{getPrcName(row.prcType)}}</div>
|
|
||||||
</template>
|
|
||||||
</vxe-column>
|
|
||||||
|
|
||||||
<vxe-column show-overflow show-header-overflow field="prcName" title="流程名称">
|
<vxe-column show-overflow show-header-overflow field="prcName" title="报告名称">
|
||||||
<template #default="{ row,index }">
|
<template #default="{ row,index }">
|
||||||
<div class="blurcolor" @click="view(row)">{{row.prcName}}</div>
|
<div class="blurcolor" @click="view(row)">{{row.prcName}}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -33,8 +27,14 @@
|
|||||||
title="上一处理人"></vxe-column>
|
title="上一处理人"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="endTime"
|
<vxe-column show-overflow show-header-overflow field="endTime"
|
||||||
title="完成时间"></vxe-column>
|
title="完成日期"></vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="status" title="状态">
|
<vxe-column show-overflow show-header-overflow field="prcType"
|
||||||
|
title="流程类型">
|
||||||
|
<template #default="{ row,index }">
|
||||||
|
<div >{{getPrcName(row.prcType)}}</div>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column show-overflow show-header-overflow field="status" title="流程状态">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.isEnd === '0'">未完成</span>
|
<span v-if="row.isEnd === '0'">未完成</span>
|
||||||
<span v-if="row.isEnd === '1'">已完成</span>
|
<span v-if="row.isEnd === '1'">已完成</span>
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleClick(tab, event) {
|
handleClick(tab, event) {
|
||||||
this.$emit('clearForm')
|
this.$emit('clearForm',this.activeName)
|
||||||
this.$store.commit('setActiveTabIndex','')
|
this.$store.commit('setActiveTabIndex','')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<div>{{getPrcName(row.prcType)}}</div>
|
<div>{{getPrcName(row.prcType)}}</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column show-overflow show-header-overflow field="prcName" title="流程名称">
|
<vxe-column show-overflow show-header-overflow field="prcName" title="报告名称">
|
||||||
<template #default="{ row,index }" >
|
<template #default="{ row,index }" >
|
||||||
<div class="blurcolor" @click="handle(row)">{{row.prcName}}</div>
|
<div class="blurcolor" @click="handle(row)">{{row.prcName}}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -122,9 +122,49 @@ export default {
|
|||||||
path: '/permission/launch',
|
path: '/permission/launch',
|
||||||
query: {
|
query: {
|
||||||
id: this.$route.query.id,
|
id: this.$route.query.id,
|
||||||
isDraft: 1
|
isDraft: 1,
|
||||||
}
|
}
|
||||||
})
|
});break;
|
||||||
|
case '2' :
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
isDraft: 1,
|
||||||
|
}
|
||||||
|
});break;
|
||||||
|
case '3' :
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
isDraft: 1,
|
||||||
|
}
|
||||||
|
});break;
|
||||||
|
case '4' :
|
||||||
|
this.$router.push({
|
||||||
|
path: '/reportprocess/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
isDraft: 1
|
||||||
|
}
|
||||||
|
});break;
|
||||||
|
case '5' :
|
||||||
|
this.$router.push({
|
||||||
|
path: '/reportprocess/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
isDraft: 1
|
||||||
|
}
|
||||||
|
});break;
|
||||||
|
default:
|
||||||
|
this.$router.push({
|
||||||
|
path: '/permission/launch',
|
||||||
|
query: {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
isDraft: 1,
|
||||||
|
}
|
||||||
|
});break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user