|
@@ -1,97 +1,112 @@
|
|
|
<template>
|
|
|
- <div class="handleExamine">
|
|
|
+ <div class="handleExamine height_100">
|
|
|
<myView style="height: 100%;width: 100%;" position="row">
|
|
|
<div slot="left" style="height: 100%;width:100%;padding: 20px 10px 0 10px;">
|
|
|
<div>任务详情:</div>
|
|
|
<el-divider></el-divider>
|
|
|
- <el-descriptions title="" :column="2" size="" border style="margin-bottom: 20px;">
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">
|
|
|
- <i class="el-icon-user"></i> 任务名称
|
|
|
- </template>
|
|
|
- {{ row.name }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">
|
|
|
- <i class="el-icon-mobile-phone"></i> 所属项目
|
|
|
- </template>
|
|
|
- {{ row.name }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">
|
|
|
- <i class="el-icon-location-outline"></i> 所属流程
|
|
|
- </template>
|
|
|
- {{ row.taskPath }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">
|
|
|
- <i class="el-icon-tickets"></i> 截止时间
|
|
|
- </template>
|
|
|
- {{ row.endTime }}
|
|
|
- </el-descriptions-item>
|
|
|
- </el-descriptions>
|
|
|
+ <el-container style="height: calc(100% - 65px);">
|
|
|
+ <el-aside class="height_100" width="200px">
|
|
|
+ <el-timeline :reverse="false" style="padding: 10px 0 0 10px;cursor: pointer;">
|
|
|
+ <el-timeline-item v-for="(activity, index) in activities" :key="index" :timestamp="activity.timestamp"
|
|
|
+ @click.native="handleTimeline(activity)">
|
|
|
+ <p>{{ activity.content }}</p>
|
|
|
+ <p>{{ activity.name }}</p>
|
|
|
+ <p>{{ activity.timestamps }}</p>
|
|
|
+
|
|
|
+ </el-timeline-item>
|
|
|
+ </el-timeline>
|
|
|
+ </el-aside>
|
|
|
+ <el-main class="height_100">
|
|
|
|
|
|
- <el-table :data="tableData" border>
|
|
|
- <el-table-column prop="name" label="文件名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="time" label="文件上传时间" align="center"> </el-table-column>
|
|
|
- <el-table-column prop="type" label="文件类型" align="center"> </el-table-column>
|
|
|
- <el-table-column label="操作" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)"
|
|
|
- @click="handleQuote(scope.row)">
|
|
|
- <span>引 用</span>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item command="1">预览</el-dropdown-item>
|
|
|
- <el-dropdown-item command="2">下载</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class="div_margin">说明:</div>
|
|
|
- <el-input type="textarea" :rows="3" readonly v-model="row.description"></el-input>
|
|
|
+ <detailsPage :row="row" @quote="handleQuote"></detailsPage>
|
|
|
+
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
</div>
|
|
|
<div slot="right" style="height: 100%;width:100%;padding: 20px 10px 0 10px;">
|
|
|
<div>审核:</div>
|
|
|
<el-divider></el-divider>
|
|
|
<template>
|
|
|
<div :disabled="row.disabled">
|
|
|
- <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove" style="height: 180px;"
|
|
|
- :autoUpload="true"></myUpload>
|
|
|
-
|
|
|
- <div class="div_margin">下一个审核人:</div>
|
|
|
- <el-select style="width:100%;" ref="select1" v-model="form.handler" clearable filterable remote
|
|
|
- :remote-method="remoteMethodPerson" v-SelectLazyLoading="lazyLoadingPerson">
|
|
|
- <el-option v-for="item in personnelList.data" :key="item.id" :label="item.name" :value="item.id"
|
|
|
- placeholder="请选择审核人"></el-option>
|
|
|
- </el-select>
|
|
|
- <div class="div_margin">审核意见:</div>
|
|
|
- <el-input type="textarea" :rows="3" v-model="form.description" style="margin-bottom: 20px;"></el-input>
|
|
|
- <el-button type="primary" size="small" @click="sure" style="float: right;">确 认</el-button>
|
|
|
+ <el-form :model="form" status-icon ref="form" label-width="120px" class="demo-ruleForm">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="附件:">
|
|
|
+ <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove"
|
|
|
+ style="height: 180px;" :autoUpload="true"></myUpload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="下一个审核人:">
|
|
|
+ <el-autocomplete v-model="form.handlerName" value-key="name" v-SelectLazyLoading="personnelLoad"
|
|
|
+ :fetch-suggestions="querySearchPersonnel" placeholder="请输入审核人(外部审核人请直接输入邮箱)"
|
|
|
+ :trigger-on-focus="false" @select="handleSelectPersonnel" @blur="handleBlur(form.handlerName)"
|
|
|
+ style="width: 100%;"></el-autocomplete>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="截止时间:">
|
|
|
+ <el-date-picker v-model="form.deadLineTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
|
|
|
+ placeholder="选择日期" style="width: 100%;">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="审核意见:">
|
|
|
+ <el-input type="textarea" :rows="3" v-model="form.description"
|
|
|
+ style="margin-bottom: 20px;"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+
|
|
|
+ <div style="float: right;">
|
|
|
+ <el-button type="primary" size="small" @click="finish" style="margin-right: 10px;">完 成</el-button>
|
|
|
+ <el-button type="primary" size="small" @click="sure">确 认</el-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
</myView>
|
|
|
+
|
|
|
+ <detailsDialog ref="detailsDialog" @quote="handleQuote"></detailsDialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { personnelLoading } from '../mixins/index2'
|
|
|
+import detailsPage from './detailsPage.vue'
|
|
|
+import detailsDialog from './detailsDialog.vue'
|
|
|
export default {
|
|
|
mixins: [personnelLoading],
|
|
|
props: ['row'],
|
|
|
+ components: {
|
|
|
+ detailsPage,
|
|
|
+ detailsDialog,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- tableData: [
|
|
|
+ // 审核历史时间线
|
|
|
+ activities: [{
|
|
|
+ content: '任务名称',
|
|
|
+ timestamp: '2018-04-15',
|
|
|
+ timestamps: '创新节点流程',
|
|
|
+ name: '张三',
|
|
|
+ },
|
|
|
{
|
|
|
- name: '创新文件',
|
|
|
- time: '2023-10-8',
|
|
|
- type: 'excel',
|
|
|
+ content: '通过审核',
|
|
|
+ timestamp: '2018-04-13'
|
|
|
+ }, {
|
|
|
+ content: '创建成功',
|
|
|
+ timestamp: '2018-04-11'
|
|
|
}
|
|
|
- ],//任务详情文件
|
|
|
-
|
|
|
+ ],
|
|
|
nextPersonId: '',//下一个审核人
|
|
|
personOptions: '',//下一个审核人数组
|
|
|
form: {
|
|
@@ -101,9 +116,29 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.getPermissionPersonnel()
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 子组件引用功能传的文件
|
|
|
+ handleQuote(val) {
|
|
|
+ this.form.systemFileList.push(val)
|
|
|
+ },
|
|
|
+ // 时间线的点击
|
|
|
+ handleTimeline(val) {
|
|
|
+ this.$refs.detailsDialog.open(val)
|
|
|
+ },
|
|
|
+ // 完成
|
|
|
+ finish() {
|
|
|
+ let params = {
|
|
|
+ id: this.row.id
|
|
|
+ }
|
|
|
+ this.$api.status(params).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
// 审核确认
|
|
|
sure() {
|
|
|
// window.open("about:blank", "_top").close()
|
|
@@ -154,24 +189,7 @@ export default {
|
|
|
this.form.systemFileList.splice(index, 1)
|
|
|
}
|
|
|
},
|
|
|
- // 引用
|
|
|
- handleQuote(row) {
|
|
|
- this.form.systemFileList.push(row)
|
|
|
- },
|
|
|
- // 引用下拉菜单等处理
|
|
|
- handleCommand(ev, row) {
|
|
|
- switch (ev) {
|
|
|
- case '1'://预览
|
|
|
-
|
|
|
- break;
|
|
|
- case '2'://下载
|
|
|
-
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- },
|
|
|
+
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
@@ -191,8 +209,6 @@ export default {
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
|
|
|
- .div_margin {
|
|
|
- margin: 20px 0 10px 0;
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
</style>
|