|
@@ -2,39 +2,57 @@
|
|
|
<!-- 审批管理列表页 -->
|
|
|
<div class="approve-list-wrap page-wrap">
|
|
|
<div class="head-tab">
|
|
|
- <el-tabs v-model="activeTabs" @tab-click="handleClick">
|
|
|
- <el-tab-pane label="待处理" name="first"></el-tab-pane>
|
|
|
- <el-tab-pane label="已处理" name="second"></el-tab-pane>
|
|
|
- <el-tab-pane label="我发起的" name="third"></el-tab-pane>
|
|
|
+ <el-tabs v-model="activeTab" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="待处理" name="pending"></el-tab-pane>
|
|
|
+ <el-tab-pane label="已处理" name="processed"></el-tab-pane>
|
|
|
+ <el-tab-pane label="我发起的" name="originate"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
<div class="approve-list">
|
|
|
<div class="select-box">
|
|
|
<div class="box">
|
|
|
<el-select placeholder="请选择关联报告" style="margin-right: 20px;"></el-select>
|
|
|
- <el-select v-show="activeTabs!=='first'" placeholder="时间类型" style="width:120px;"></el-select>
|
|
|
+ <el-select v-show="activeTab!=='pending'" placeholder="时间类型" style="width:120px;">
|
|
|
+ <el-option label="提交时间" :value="1" />
|
|
|
+ <el-option label="处理时间" :value="2" v-if="activeTab==='processed'"/>
|
|
|
+ <el-option label="审批时间" :value="3" v-if="activeTab==='originate'"/>
|
|
|
+ </el-select>
|
|
|
<el-date-picker type="daterange"
|
|
|
range-separator="至"
|
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期">
|
|
|
</el-date-picker>
|
|
|
- <el-select placeholder="请选择处理状态" style="margin-left: 20px;"></el-select>
|
|
|
+ <el-select placeholder="请选择处理状态" style="margin-left: 20px;">
|
|
|
+ <el-option label="已同意" :value="1" />
|
|
|
+ <el-option label="已驳回" :value="2" />
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
<el-input placeholder="请输入报告标题" style="width:260px;"></el-input>
|
|
|
</div>
|
|
|
<div class="list-box">
|
|
|
- <el-table :data="tableData" border>
|
|
|
+ <el-table :data="tableData" @sort-change="sortChange" border>
|
|
|
<el-table-column
|
|
|
v-for="item in tableColumns"
|
|
|
:key="item.key"
|
|
|
:label="item.label"
|
|
|
:prop="item.key"
|
|
|
+ :sortable="item.sortable"
|
|
|
align="center"
|
|
|
></el-table-column>
|
|
|
<el-table-column label="操作" align="center">
|
|
|
<template slot-scope="{row}">
|
|
|
- <el-button type="text" style="padding:0;">详情</el-button>
|
|
|
- <el-button type="text" style="padding:0">驳回理由</el-button>
|
|
|
+ <template v-if="activeTab==='pending'">
|
|
|
+ <el-button type="text" style="padding:0;">审批</el-button>
|
|
|
+ </template>
|
|
|
+ <template v-if="activeTab==='processed'">
|
|
|
+ <el-button type="text" style="padding:0;">详情</el-button>
|
|
|
+ <el-button type="text" style="padding:0" @click="handleShowDetail(row)">驳回理由</el-button>
|
|
|
+ </template>
|
|
|
+ <template v-if="activeTab==='originate'">
|
|
|
+ <el-button type="text" style="padding:0;">详情</el-button>
|
|
|
+ <el-button type="text" style="padding:0;">撤销</el-button>
|
|
|
+ <el-button type="text" style="padding:0" @click="handleShowDetail(row)">驳回理由</el-button>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
|
|
|
</el-table-column>
|
|
@@ -52,44 +70,55 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <RejectDialog
|
|
|
+ :isDetailDialogShow="isDetailDialogShow"
|
|
|
+ :isEdit="false"
|
|
|
+ :data="currentData"
|
|
|
+ @close="isDetailDialogShow=false;currentData={};"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import RejectDialog from './components/rejectDialog.vue';
|
|
|
+import {
|
|
|
+ approve_pending_columns,
|
|
|
+ approve_processed_columns,
|
|
|
+ approve_originate_columns,
|
|
|
+ } from './config/tableConfig'
|
|
|
+const columnsMap = {
|
|
|
+ 'pending':approve_pending_columns,
|
|
|
+ 'processed':approve_processed_columns,
|
|
|
+ 'originate':approve_originate_columns
|
|
|
+}
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
- activeTabs:'first',
|
|
|
- tableData:[{name:1}],
|
|
|
- tableColumns:[{
|
|
|
- label:'报告标题',
|
|
|
- key:'name'
|
|
|
- },{
|
|
|
- label:'关联报告',
|
|
|
- key:'catalog'
|
|
|
- },{
|
|
|
- label:'提交人',
|
|
|
- key:'approve'
|
|
|
- },{
|
|
|
- label:'提交时间',
|
|
|
- key:'time'
|
|
|
- },{
|
|
|
- label:'处理时间',
|
|
|
- key:'time2'
|
|
|
- },{
|
|
|
- label:'处理结果',
|
|
|
- key:'result'
|
|
|
- }],
|
|
|
- page:1,
|
|
|
- pageSize:10,
|
|
|
- total:0,
|
|
|
+ activeTab: 'pending',
|
|
|
+ tableData: [{ name: 1 }],
|
|
|
+ tableColumns: approve_pending_columns,
|
|
|
+ page: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ total: 0,
|
|
|
+ currentData: {},
|
|
|
+ isDetailDialogShow: false
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
- handleCurrentChange(page){
|
|
|
- this.page = page
|
|
|
+ handleCurrentChange(page) {
|
|
|
+ this.page = page;
|
|
|
+ },
|
|
|
+ sortChange({ prop, order }) {
|
|
|
+ },
|
|
|
+ handleClick() {
|
|
|
+ this.tableColumns = columnsMap[this.activeTab];
|
|
|
+ },
|
|
|
+ handleShowDetail(data) {
|
|
|
+ this.currentData = data;
|
|
|
+ this.isDetailDialogShow = true;
|
|
|
}
|
|
|
},
|
|
|
+ components: { RejectDialog }
|
|
|
};
|
|
|
</script>
|
|
|
|