|
|
|
|
@ -40,12 +40,12 @@
|
|
|
|
|
<div v-for="item in pictureList">
|
|
|
|
|
<!-- <el-button size="small" style="margin:5px" type="primary" v-if="type=='study'"
|
|
|
|
|
@click='openStudy(item.url,item.name)'>开始学习</el-button> -->
|
|
|
|
|
<a :href="item.url" target="_blank">{{item.name}}</a>
|
|
|
|
|
<el-link target="_blank" style="margin:0 10px;" @click="toshowFile(item.url)" type="primary">
|
|
|
|
|
预览
|
|
|
|
|
</el-link>
|
|
|
|
|
<el-link target="_blank" @click="base.downLoadFileUrl(item.id)" type="primary">
|
|
|
|
|
下载
|
|
|
|
|
<a :href="item.url" target="_blank">{{item.name}}</a>
|
|
|
|
|
<el-link target="_blank" style="margin:0 10px;" @click="toshowFile(item.url)" type="primary">
|
|
|
|
|
预览
|
|
|
|
|
</el-link>
|
|
|
|
|
<el-link target="_blank" @click="base.downLoadFileUrl(item.id)" type="primary">
|
|
|
|
|
下载
|
|
|
|
|
</el-link>
|
|
|
|
|
<!-- <span v-if="type=='study'" @click='openStudy(item.url,item.name)' style="color:red;cursor:pointer;text-decoration: underline;margin:0 5px">开始学习</span> -->
|
|
|
|
|
</div>
|
|
|
|
|
@ -80,32 +80,34 @@
|
|
|
|
|
{{item.accept_admin.name}},
|
|
|
|
|
</template>
|
|
|
|
|
</span>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<!-- 我的任务中的 转办 -->
|
|
|
|
|
<el-descriptions-item span='4' v-if="url_type==5&&showform.mission_distribute&&showform.mission_distribute.length>0">
|
|
|
|
|
<template slot="label">
|
|
|
|
|
任务承办人
|
|
|
|
|
</template>
|
|
|
|
|
<span v-for="item in showform.mission_distribute">
|
|
|
|
|
<!-- 非责任人 -->
|
|
|
|
|
<template v-if="item.admin_type===2 && item.from_user_id===stateObj.login_id">
|
|
|
|
|
{{item.accept_admin.name}},
|
|
|
|
|
</template>
|
|
|
|
|
</span>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<!-- 任务追踪中的 转办 -->
|
|
|
|
|
<el-descriptions-item span='4' v-if="url_type!=5&&showform.mission_distribute&&showform.mission_distribute.length>0">
|
|
|
|
|
<template slot="label">
|
|
|
|
|
任务承办人
|
|
|
|
|
</template>
|
|
|
|
|
<span v-for="item in showform.mission_distribute">
|
|
|
|
|
<!-- 非责任人 -->
|
|
|
|
|
<template v-if="item.admin_type===2">
|
|
|
|
|
{{item.accept_admin.name}},
|
|
|
|
|
</template>
|
|
|
|
|
</span>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<!-- 我的任务中的 转办 -->
|
|
|
|
|
<el-descriptions-item span='4'
|
|
|
|
|
v-if="url_type==5&&showform.mission_distribute&&showform.mission_distribute.length>0">
|
|
|
|
|
<template slot="label">
|
|
|
|
|
任务承办人
|
|
|
|
|
</template>
|
|
|
|
|
<span v-for="item in showform.mission_distribute">
|
|
|
|
|
<!-- 非责任人 -->
|
|
|
|
|
<template v-if="item.admin_type===2 && item.from_user_id===stateObj.login_id">
|
|
|
|
|
{{item.accept_admin.name}},
|
|
|
|
|
</template>
|
|
|
|
|
</span>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<!-- 任务追踪中的 转办 -->
|
|
|
|
|
<el-descriptions-item span='4'
|
|
|
|
|
v-if="url_type!=5&&showform.mission_distribute&&showform.mission_distribute.length>0">
|
|
|
|
|
<template slot="label">
|
|
|
|
|
任务承办人
|
|
|
|
|
</template>
|
|
|
|
|
<span v-for="item in showform.mission_distribute">
|
|
|
|
|
<!-- 非责任人 -->
|
|
|
|
|
<template v-if="item.admin_type===2">
|
|
|
|
|
{{item.accept_admin.name}},
|
|
|
|
|
</template>
|
|
|
|
|
</span>
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-descriptions-item span='4' v-if="is_what_unitType==='答题'">
|
|
|
|
|
@ -156,24 +158,25 @@
|
|
|
|
|
<el-divider>执行情况</el-divider>
|
|
|
|
|
<!-- 所有人的执行情况 -->
|
|
|
|
|
<div v-if="url_type!=5">
|
|
|
|
|
<xy-table :list="showform.mission_distribute" stripe :table-item="distributeTable" :isPage='false'>
|
|
|
|
|
<template v-slot:accept_admin_name>
|
|
|
|
|
<el-table-column align='left' label="执行人" width="140" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<!-- 有组别的 -->
|
|
|
|
|
<div v-if="scope.row.mission_group_id">
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.name?scope.row.mission_group.name:''):''}}
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.type==1?'组长'+':':':'):''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
<div v-if="scope.row.from_user">转办来源:{{scope.row.from_user?scope.row.from_user.name:''}}</div>
|
|
|
|
|
{{scope.row.admin_type==1?'责任人:':''}}
|
|
|
|
|
{{scope.row.admin_type==2?'承办人:':''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<xy-table :list="showform.mission_distribute" stripe :table-item="distributeTable" :isPage='false'>
|
|
|
|
|
<template v-slot:accept_admin_name>
|
|
|
|
|
<el-table-column align='left' label="执行人" width="140" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<!-- 有组别的 -->
|
|
|
|
|
<div v-if="scope.row.mission_group_id">
|
|
|
|
|
<div v-if="scope.row.from_user">转办来源:{{scope.row.from_user?scope.row.from_user.name:''}}</div>
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.name?scope.row.mission_group.name:''):''}}
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.type==1?'组长'+':':':'):''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
<div v-if="scope.row.from_user">转办来源:{{scope.row.from_user?scope.row.from_user.name:''}}</div>
|
|
|
|
|
{{scope.row.admin_type==1?'责任人:':''}}
|
|
|
|
|
{{scope.row.admin_type==2?'承办人:':''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:carry_type>
|
|
|
|
|
<el-table-column align='center' label="执行方式" width="120" header-align="center">
|
|
|
|
|
@ -192,7 +195,8 @@
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.carry_status===0">待执行</div>
|
|
|
|
|
<div v-else-if="scope.row.carry_status===1">执行中</div>
|
|
|
|
|
<div v-else-if="scope.row.carry_status===2">已完成</div>
|
|
|
|
|
<div v-else-if="scope.row.carry_status===2 && scope.row.carry_type!=2">已完成</div>
|
|
|
|
|
<div v-else-if="scope.row.carry_status===2 && scope.row.carry_type===2">已转办</div>
|
|
|
|
|
<div v-else></div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
@ -211,15 +215,15 @@
|
|
|
|
|
<template v-slot:file_ids>
|
|
|
|
|
<el-table-column align='left' label="成果资料" width="120">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-for="item in scope.row.files">
|
|
|
|
|
<div style="color:#2D8cF0;cursor: pointer;">
|
|
|
|
|
{{item.original_name}}
|
|
|
|
|
<el-link target="_blank" style="margin:0 10px;" @click="toshowFile(item.url)" type="primary">
|
|
|
|
|
预览
|
|
|
|
|
</el-link>
|
|
|
|
|
<el-link target="_blank" @click="base.downLoadFileUrl(item.id)" type="primary">
|
|
|
|
|
下载
|
|
|
|
|
</el-link>
|
|
|
|
|
<div v-for="item in scope.row.files">
|
|
|
|
|
<div style="color:#2D8cF0;cursor: pointer;">
|
|
|
|
|
{{item.original_name}}
|
|
|
|
|
<el-link target="_blank" style="margin:0 10px;" @click="toshowFile(item.url)" type="primary">
|
|
|
|
|
预览
|
|
|
|
|
</el-link>
|
|
|
|
|
<el-link target="_blank" @click="base.downLoadFileUrl(item.id)" type="primary">
|
|
|
|
|
下载
|
|
|
|
|
</el-link>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -239,25 +243,27 @@
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 我的代办里的 -->
|
|
|
|
|
<div v-else>
|
|
|
|
|
<xy-table :list="my_mission_distribute" stripe :table-item="distributeTable" :isPage='false'>
|
|
|
|
|
|
|
|
|
|
<template v-slot:accept_admin_name>
|
|
|
|
|
<el-table-column align='left' label="执行人" width="140" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<!-- 有组别的 -->
|
|
|
|
|
<div v-if="scope.row.mission_group_id">
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.name?scope.row.mission_group.name:''):''}}
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.type==1?'组长'+':':':'):''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
<div v-if="scope.row.from_user">转办来源:{{scope.row.from_user?scope.row.from_user.name:''}}</div>
|
|
|
|
|
{{scope.row.admin_type==1?'责任人:':''}}
|
|
|
|
|
{{scope.row.admin_type==2?'承办人:':''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<xy-table :list="my_mission_distribute" stripe :table-item="distributeTable" :isPage='false'>
|
|
|
|
|
|
|
|
|
|
<template v-slot:accept_admin_name>
|
|
|
|
|
<el-table-column align='left' label="执行人" width="140" header-align="center">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<!-- 有组别的 -->
|
|
|
|
|
<div v-if="scope.row.mission_group_id">
|
|
|
|
|
<div v-if="scope.row.from_user">转办来源:{{scope.row.from_user?scope.row.from_user.name:''}}</div>
|
|
|
|
|
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.name?scope.row.mission_group.name:''):''}}
|
|
|
|
|
{{scope.row.mission_group?(scope.row.mission_group.type==1?'组长'+':':':'):''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
<div v-if="scope.row.from_user">转办来源:{{scope.row.from_user?scope.row.from_user.name:''}}</div>
|
|
|
|
|
{{scope.row.admin_type==1?'责任人:':''}}
|
|
|
|
|
{{scope.row.admin_type==2?'承办人:':''}}
|
|
|
|
|
{{scope.row.accept_admin?scope.row.accept_admin.name:''}}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:carry_type>
|
|
|
|
|
<el-table-column align='center' label="执行方式" width="80" header-align="center">
|
|
|
|
|
@ -296,15 +302,15 @@
|
|
|
|
|
<el-table-column align='left' label="成果资料" width="120">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-for="item in scope.row.files">
|
|
|
|
|
<div style="color:#2D8cF0;cursor: pointer;">
|
|
|
|
|
{{item.original_name}}
|
|
|
|
|
<el-link target="_blank" style="margin:0 10px;" @click="toshowFile(item.url)" type="primary">
|
|
|
|
|
预览
|
|
|
|
|
</el-link>
|
|
|
|
|
<el-link target="_blank" @click="base.downLoadFileUrl(item.id)" type="primary">
|
|
|
|
|
下载
|
|
|
|
|
</el-link>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="color:#2D8cF0;cursor: pointer;">
|
|
|
|
|
{{item.original_name}}
|
|
|
|
|
<el-link target="_blank" style="margin:0 10px;" @click="toshowFile(item.url)" type="primary">
|
|
|
|
|
预览
|
|
|
|
|
</el-link>
|
|
|
|
|
<el-link target="_blank" @click="base.downLoadFileUrl(item.id)" type="primary">
|
|
|
|
|
下载
|
|
|
|
|
</el-link>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -323,7 +329,7 @@
|
|
|
|
|
<Button style="margin-bottom: 5px;"
|
|
|
|
|
v-if="scope.row.carry_type===1 && !(scope.row.carry_status==2)"
|
|
|
|
|
@click="carryTypeWhat('carry_type1')" type="primary" size="small">任务分解</Button>
|
|
|
|
|
<!-- <Button style="margin-bottom: 5px;" v-if="scope.row.carry_type===2" @click="editorUnit('send')" type="primary" size="small"
|
|
|
|
|
<!-- <Button style="margin-bottom: 5px;" v-if="scope.row.carry_type===2" @click="editorUnit('send')" type="primary" size="small"
|
|
|
|
|
>任务转办</Button> -->
|
|
|
|
|
<Button style="margin-bottom: 5px;" v-if="scope.row.keep_status===-1"
|
|
|
|
|
@click="startLoad(scope.row,'editor')" type="primary" size="small">提交进展</Button>
|
|
|
|
|
@ -380,8 +386,8 @@
|
|
|
|
|
<addUnit ref="addUnit" @refresh="carryFinish"></addUnit>
|
|
|
|
|
<!-- <checkUnit ref="checkUnit"></checkUnit> -->
|
|
|
|
|
<showLogs ref="showLogs"></showLogs>
|
|
|
|
|
<addBackPlan ref="addBackPlan" @reload="getDetail" @reloadList="reloadList"></addBackPlan>
|
|
|
|
|
<viewFile ref='viewFile'></viewFile>
|
|
|
|
|
<addBackPlan ref="addBackPlan" @reload="getDetail" @reloadList="reloadList"></addBackPlan>
|
|
|
|
|
<viewFile ref='viewFile'></viewFile>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
@ -405,7 +411,7 @@
|
|
|
|
|
import state from "@/store/modules/user.js"
|
|
|
|
|
import viewFile from '@/components/viewFile/viewFile.vue'
|
|
|
|
|
import showLogs from '../components/showLogs.vue'
|
|
|
|
|
import addBackPlan from '../components/addBackPlan.vue'
|
|
|
|
|
import addBackPlan from '../components/addBackPlan.vue'
|
|
|
|
|
import {
|
|
|
|
|
deepCopy
|
|
|
|
|
} from '../../../../utils';
|
|
|
|
|
@ -485,8 +491,8 @@
|
|
|
|
|
distributeTable: [{
|
|
|
|
|
label: '执行人',
|
|
|
|
|
prop: 'accept_admin_name',
|
|
|
|
|
width: 140,
|
|
|
|
|
align:'left'
|
|
|
|
|
width: 140,
|
|
|
|
|
align: 'left'
|
|
|
|
|
}, {
|
|
|
|
|
label: '执行状态',
|
|
|
|
|
prop: 'carry_status',
|
|
|
|
|
@ -503,23 +509,23 @@
|
|
|
|
|
prop: 'end_date',
|
|
|
|
|
}, {
|
|
|
|
|
label: '进展状态',
|
|
|
|
|
prop: 'keep_status',
|
|
|
|
|
prop: 'keep_status',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
label: '当前进展概述',
|
|
|
|
|
prop: 'ing_introduce',
|
|
|
|
|
align:'left'
|
|
|
|
|
prop: 'ing_introduce',
|
|
|
|
|
align: 'left'
|
|
|
|
|
}, {
|
|
|
|
|
label: '完成概述',
|
|
|
|
|
prop: 'end_introduce',
|
|
|
|
|
align:'left'
|
|
|
|
|
prop: 'end_introduce',
|
|
|
|
|
align: 'left'
|
|
|
|
|
}, {
|
|
|
|
|
label: '成果资料',
|
|
|
|
|
prop: 'file_ids',
|
|
|
|
|
}, {
|
|
|
|
|
label: '审核意见',
|
|
|
|
|
prop: 'check_contents',
|
|
|
|
|
align:'left'
|
|
|
|
|
prop: 'check_contents',
|
|
|
|
|
align: 'left'
|
|
|
|
|
}],
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -530,11 +536,11 @@
|
|
|
|
|
this.department_id = state.state.department_id
|
|
|
|
|
this.getUnitTypeList()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
toshowFile(url) {
|
|
|
|
|
console.log("url", url)
|
|
|
|
|
this.$refs.viewFile.url = url
|
|
|
|
|
this.$refs.viewFile.diaShow = true
|
|
|
|
|
methods: {
|
|
|
|
|
toshowFile(url) {
|
|
|
|
|
console.log("url", url)
|
|
|
|
|
this.$refs.viewFile.url = url
|
|
|
|
|
this.$refs.viewFile.diaShow = true
|
|
|
|
|
},
|
|
|
|
|
startLoad(row, type) {
|
|
|
|
|
console.log("row", row)
|
|
|
|
|
@ -547,7 +553,7 @@
|
|
|
|
|
reloadList() {
|
|
|
|
|
this.$emit("refresh")
|
|
|
|
|
},
|
|
|
|
|
// 提交完 执行状态之后
|
|
|
|
|
// 提交完 执行状态之后 sendid是转办返回生成的id
|
|
|
|
|
carryTypeWhat(e) {
|
|
|
|
|
console.log("carryTypeWhat", e)
|
|
|
|
|
|
|
|
|
|
@ -555,7 +561,8 @@
|
|
|
|
|
//自己执行
|
|
|
|
|
// this.openMyMission()
|
|
|
|
|
} else if (e == 'carry_type1') {
|
|
|
|
|
// 任务分解 初始责任人直接编辑选择参与对象
|
|
|
|
|
// 任务分解 初始责任人直接编辑选择参与对象
|
|
|
|
|
|
|
|
|
|
// 参与对象任务分解,新建任务 且责任人为他自己
|
|
|
|
|
if (this.showform.mission_distribute.length > 1) {
|
|
|
|
|
this.editorUnit('pid')
|
|
|
|
|
@ -619,7 +626,7 @@
|
|
|
|
|
accept_department_ids: res?.accept_department_ids,
|
|
|
|
|
mission_groups: res?.groups,
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 我的执行
|
|
|
|
|
let md = []
|
|
|
|
|
res.mission_distribute.map(item => {
|
|
|
|
|
@ -634,7 +641,7 @@
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
this.my_mission_distribute = md
|
|
|
|
|
console.log(this.my_mission_distribute)
|
|
|
|
|
console.log(this.my_mission_distribute)
|
|
|
|
|
this.pictureList = []
|
|
|
|
|
for (var f of res.files) {
|
|
|
|
|
this.pictureList.push({
|
|
|
|
|
|