|
|
@@ -1,137 +1,141 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<div class="main-right-box">
|
|
|
- <div class="main-search-box">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px" >
|
|
|
+ <div class="main-search-box">
|
|
|
+ <el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" size="small">
|
|
|
|
|
|
- <el-form-item label="来访事由" prop="reasons">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.reasons"
|
|
|
- placeholder="请输入关键字"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="介绍信类型" prop="type">
|
|
|
- <el-select v-model="queryParams.type" placeholder="请选择介绍信类型" clearable>
|
|
|
- <el-option
|
|
|
- v-for="dict in dict.type.out_in_type"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="审批状态" prop="approveStatus">
|
|
|
- <el-select v-model="queryParams.approveStatus" placeholder="请选择审批状态" clearable>
|
|
|
- <el-option
|
|
|
- v-for="dict in dict.type.out_in_approve_status"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
+ <el-form-item label="来访事由" prop="reasons">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.reasons"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入关键字"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="介绍信类型" prop="type">
|
|
|
+ <el-select v-model="queryParams.type" clearable placeholder="请选择介绍信类型">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.out_in_type"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="审批状态" prop="approveStatus">
|
|
|
+ <el-select v-model="queryParams.approveStatus" clearable placeholder="请选择审批状态">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.out_in_approve_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
|
|
|
- <el-row :gutter="10" >
|
|
|
- <el-col :span="1.5">
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="1.5">
|
|
|
|
|
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-plus"
|
|
|
- size="mini"
|
|
|
- @click="handleAdd"
|
|
|
- v-hasPermi="['core:letter:add']"
|
|
|
- >录入介绍信</el-button>
|
|
|
- </el-col> -->
|
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <el-table v-loading="loading" height="650" border :data="letterList">
|
|
|
- <el-table-column label="介绍信编号" align="center" prop="letterNo" width="120">
|
|
|
- </el-table-column>
|
|
|
- <!-- <el-table-column label="序号" align="center" type="index" width="70" /> -->
|
|
|
- <el-table-column label="介绍信类型" header-align="center" align="center" prop="type" width="150">
|
|
|
- <template slot-scope="scope">
|
|
|
- <dict-tag :options="dict.type.out_in_type" :value="scope.row.type"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="来访事由" header-align="center" align="left" prop="reasons"/>
|
|
|
+ <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" type="primary" @click="resetQuery">重置</el-button>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAdd"
|
|
|
+ v-hasPermi="['core:letter:add']"
|
|
|
+ >录入介绍信</el-button>
|
|
|
+ </el-col> -->
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <el-table v-loading="loading" :data="letterList" border height="646">
|
|
|
+ <el-table-column align="center" label="介绍信编号" prop="letterNo" width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column label="序号" align="center" type="index" width="70" /> -->
|
|
|
+ <el-table-column align="center" header-align="center" label="介绍信类型" prop="type" width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <dict-tag :options="dict.type.out_in_type" :value="scope.row.type"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" :show-overflow-tooltip="true" header-align="center" label="来访事由" prop="reasons"/>
|
|
|
|
|
|
- <!-- <el-table-column label="介绍信" header-align="center" align="left" prop="letterNo" width="250">
|
|
|
- <template slot-scope="scope">
|
|
|
- <template v-if="scope.row.letterFile">
|
|
|
- <K-file-upload ref="upload" :isShowUploadBtn="false"
|
|
|
- :defaultValue="scope.row.letterFile"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- </el-table-column> -->
|
|
|
- <el-table-column label="开具日期" align="center" width="150">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.startTime}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="有效天数" width="120" header-align="center" align="center" prop="effectiveDays" />
|
|
|
- <!-- <el-table-column label="审批时间" width="150" header-align="center" align="left" prop="approveTime" /> -->
|
|
|
+ <!-- <el-table-column label="介绍信" header-align="center" align="left" prop="letterNo" width="250">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.letterFile">
|
|
|
+ <K-file-upload ref="upload" :isShowUploadBtn="false"
|
|
|
+ :defaultValue="scope.row.letterFile"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ <el-table-column align="center" label="开具日期" width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.startTime }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" header-align="center" label="有效天数" prop="effectiveDays" width="120"/>
|
|
|
+ <!-- <el-table-column label="审批时间" width="150" header-align="center" align="left" prop="approveTime" /> -->
|
|
|
|
|
|
- <el-table-column label="审批状态" align="center" width="100" prop="approveStatus" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <dict-tag :options="dict.type.out_in_approve_status" :value="scope.row.approveStatus"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <el-table-column label="备注" header-align="center" align="left" width="150" prop="description" /> -->
|
|
|
- <el-table-column label="操作" header-align="center" align="left" width="180" class-name="small-padding fixed-width">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-view"
|
|
|
- @click="handleDetailInfo(scope.row)"
|
|
|
- v-hasPermi="['core:letter:query']"
|
|
|
- >详情</el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-check"
|
|
|
- v-if="canApprove(scope.row)"
|
|
|
- @click="handleApproveLetter(scope.row)"
|
|
|
- v-hasPermi="['core:letter:approve']"
|
|
|
- >审批</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-table-column align="center" label="审批状态" prop="approveStatus" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <dict-tag :options="dict.type.out_in_approve_status" :value="scope.row.approveStatus"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column label="备注" header-align="center" align="left" width="150" prop="description" /> -->
|
|
|
+ <el-table-column align="left" class-name="small-padding fixed-width" header-align="center" label="操作"
|
|
|
+ width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['core:letter:query']"
|
|
|
+ icon="el-icon-view"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="handleDetailInfo(scope.row)"
|
|
|
+ >详情
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="canApprove(scope.row)"
|
|
|
+ v-hasPermi="['core:letter:approve']"
|
|
|
+ icon="el-icon-check"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="handleApproveLetter(scope.row)"
|
|
|
+ >审批
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
|
|
|
- <pagination
|
|
|
- v-show="total>0"
|
|
|
- :total="total"
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
- />
|
|
|
- <dialog-approve-letter ref="dialogApproveLetter" @success="handleQuery(true)"></dialog-approve-letter>
|
|
|
- <dialog-approve-letter-detail ref="dialogApproveLetterDetail" @success="handleQuery(true)"></dialog-approve-letter-detail>
|
|
|
- </div>
|
|
|
+ <pagination
|
|
|
+ v-show="total>0"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :total="total"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+ <dialog-approve-letter ref="dialogApproveLetter" @success="handleQuery(true)"></dialog-approve-letter>
|
|
|
+ <dialog-approve-letter-detail ref="dialogApproveLetterDetail"
|
|
|
+ @success="handleQuery(true)"></dialog-approve-letter-detail>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {getLetterApproveList } from "@/api/core/letter";
|
|
|
+import {getLetterApproveList} from "@/api/core/letter";
|
|
|
import dialogApproveLetter from "./dialog.approve.letter";
|
|
|
import DialogApproveLetterDetail from './dialog.approve.letter.detail.vue';
|
|
|
import dayjs from 'dayjs';
|
|
|
import KFileUpload from "@/components/K-FileUpload/index.vue";
|
|
|
|
|
|
export default {
|
|
|
- components: {dialogApproveLetter,DialogApproveLetterDetail,KFileUpload},
|
|
|
- dicts: ['letter_status','out_in_type','out_in_approve_status'],
|
|
|
+ components: {dialogApproveLetter, DialogApproveLetterDetail, KFileUpload},
|
|
|
+ dicts: ['letter_status', 'out_in_type', 'out_in_approve_status'],
|
|
|
name: "Letter",
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -158,15 +162,14 @@ export default {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
reasons: null,
|
|
|
- type:null,
|
|
|
+ type: null,
|
|
|
approveStatus: null,
|
|
|
- orgId:this.$store.getters.orgId,
|
|
|
+ orgId: this.$store.getters.orgId,
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
|
- rules: {
|
|
|
- }
|
|
|
+ rules: {}
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
@@ -198,17 +201,14 @@ export default {
|
|
|
this.resetForm("queryForm");
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
- handleApproveLetter(row)
|
|
|
- {
|
|
|
- this.$refs["dialogApproveLetter"].show(row.id ,{});
|
|
|
+ handleApproveLetter(row) {
|
|
|
+ this.$refs["dialogApproveLetter"].show(row.id, {});
|
|
|
},
|
|
|
- canApprove(row)
|
|
|
- {
|
|
|
+ canApprove(row) {
|
|
|
// console.log("canApprove",row.status ==1,row.approveStatus ==0,dayjs(dayjs(row.endTime).add(1, 'day')).isAfter(dayjs(new Date())))
|
|
|
- return row.status ==1 && row.approveStatus ==0
|
|
|
+ return row.status == 1 && row.approveStatus == 0
|
|
|
},
|
|
|
- handleDetailInfo(row)
|
|
|
- {
|
|
|
+ handleDetailInfo(row) {
|
|
|
this.$refs["dialogApproveLetterDetail"].show(row.id);
|
|
|
},
|
|
|
}
|