系统优化

main
15036302109 3 months ago
parent 7e6f041be5
commit 741f801863

@ -80,27 +80,27 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="考核对象" align="center" prop="checkObject" /> <el-table-column label="考核对象" align="center" prop="checkObject" />
<el-table-column label="考核指标" align="center" prop="checkTarget" /> <!-- <el-table-column label="考核指标" align="center" prop="checkTarget" />-->
<el-table-column label="权重分配规则" align="center" prop="weightAllocationRule"> <!-- <el-table-column label="权重分配规则" align="center" prop="weightAllocationRule">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<dict-tag :options="dict.type.qzfp_rule" :value="scope.row.weightAllocationRule"/> <!-- <dict-tag :options="dict.type.qzfp_rule" :value="scope.row.weightAllocationRule"/>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="考核标准说明" align="center" prop="checkDetails" /> <el-table-column label="考核标准说明" align="center" prop="checkDetails" />
<el-table-column label="绩效等级划分" align="center" prop="checkLv"> <!-- <el-table-column label="绩效等级划分" align="center" prop="checkLv">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<dict-tag :options="dict.type.jxdj_check" :value="scope.row.checkLv"/> <!-- <dict-tag :options="dict.type.jxdj_check" :value="scope.row.checkLv"/>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="特殊情况处理" align="center" prop="conduct" /> <el-table-column label="特殊情况处理" align="center" prop="conduct" />
<el-table-column label="考核者要求" align="center" prop="demand" /> <el-table-column label="考核者要求" align="center" prop="demand" />
<el-table-column label="结果应用说明" align="center" prop="declare" /> <el-table-column label="结果应用说明" align="center" prop="declare" />
<el-table-column label="生效日期" align="center" prop="takeeffectTime" width="180"> <!-- <el-table-column label="生效日期" align="center" prop="takeeffectTime" width="180">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<span>{{ parseTime(scope.row.takeeffectTime, '{y}-{m}-{d}') }}</span> <!-- <span>{{ parseTime(scope.row.takeeffectTime, '{y}-{m}-{d}') }}</span>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="失效日期" align="center" prop="loseEfficacy" /> <!-- <el-table-column label="失效日期" align="center" prop="loseEfficacy" />-->
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
@ -128,7 +128,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"

@ -0,0 +1,402 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="规则名称" prop="ruleName">
<el-input
v-model="queryParams.ruleName"
placeholder="请输入规则名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="考核周期" prop="checkCycle">
<el-select v-model="queryParams.checkCycle" placeholder="请选择考核周期" clearable>
<el-option
v-for="dict in dict.type.khzq_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="等级划分" prop="checkLv" >
<el-select v-model="queryParams.checkLv" placeholder="请选择绩效等级划分" clearable>
<el-option
v-for="dict in dict.type.jxdj_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['evaluationrules:evaluationrules:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['evaluationrules:evaluationrules:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['evaluationrules:evaluationrules:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="evaluationrulesList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="规则名称" align="center" prop="ruleName" />
<!-- <el-table-column label="考核周期" align="center" prop="checkCycle">
<template slot-scope="scope">
<dict-tag :options="dict.type.khzq_check" :value="scope.row.checkCycle"/>
</template>
</el-table-column>-->
<!-- <el-table-column label="考核对象" align="center" prop="checkObject" />-->
<el-table-column label="考核指标" align="center" prop="checkTarget" />
<el-table-column label="权重分配规则" align="center" prop="weightAllocationRule">
<template slot-scope="scope">
<dict-tag :options="dict.type.qzfp_rule" :value="scope.row.weightAllocationRule"/>
</template>
</el-table-column>
<!-- <el-table-column label="考核标准说明" align="center" prop="checkDetails" />-->
<el-table-column label="绩效等级划分" align="center" prop="checkLv">
<template slot-scope="scope">
<dict-tag :options="dict.type.jxdj_check" :value="scope.row.checkLv"/>
</template>
</el-table-column>
<!-- <el-table-column label="特殊情况处理" align="center" prop="conduct" />-->
<!-- <el-table-column label="考核者要求" align="center" prop="demand" />-->
<!-- <el-table-column label="结果应用说明" align="center" prop="declare" />-->
<el-table-column label="生效日期" align="center" prop="takeeffectTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.takeeffectTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" align="center" prop="loseEfficacy" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['evaluationrules:evaluationrules:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['evaluationrules:evaluationrules:remove']"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleDecal(scope.row)"
v-hasPermi="['evaluate:evaluate:edit']"
>查看</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"
/>
<!-- 添加或修改绩效评价规则对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规则名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入规则名称" :disabled="disabled"/>
</el-form-item>
<el-form-item label="考核周期" prop="checkCycle">
<el-select v-model="form.checkCycle" placeholder="请选择考核周期" :disabled="disabled">
<el-option
v-for="dict in dict.type.khzq_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="考核对象" prop="checkObject">
<el-input v-model="form.checkObject" placeholder="请输入考核对象" :disabled="disabled"/>
</el-form-item>
<el-form-item label="考核指标" prop="checkTarget">
<el-input v-model="form.checkTarget" placeholder="请输入考核指标" :disabled="disabled"/>
</el-form-item>
<el-form-item label="权重分配规则" prop="weightAllocationRule">
<el-select v-model="form.weightAllocationRule" placeholder="请选择权重分配规则" :disabled="disabled">
<el-option
v-for="dict in dict.type.qzfp_rule"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="考核标准说明" prop="checkDetails">
<el-input v-model="form.checkDetails" type="textarea" placeholder="请输入内容" :disabled="disabled"/>
</el-form-item>
<el-form-item label="绩效等级划分" prop="checkLv">
<el-select v-model="form.checkLv" placeholder="请选择绩效等级划分" :disabled="disabled">
<el-option
v-for="dict in dict.type.jxdj_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="特殊情况处理" prop="conduct">
<el-input v-model="form.conduct" type="textarea" placeholder="请输入内容" :disabled="disabled"/>
</el-form-item>
<el-form-item label="考核者要求" prop="demand">
<el-input v-model="form.demand" type="textarea" placeholder="请输入内容" :disabled="disabled"/>
</el-form-item>
<el-form-item label="结果应用说明" prop="declare">
<el-input v-model="form.declare" placeholder="请输入结果应用说明" :disabled="disabled"/>
</el-form-item>
<el-form-item label="生效日期" prop="takeeffectTime">
<el-date-picker clearable
v-model="form.takeeffectTime"
:disabled="disabled"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择生效日期">
</el-date-picker>
</el-form-item>
<el-form-item label="失效日期" prop="loseEfficacy">
<el-date-picker clearable
v-model="form.loseEfficacy"
:disabled="disabled"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择失效日期">
</el-date-picker>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="disabled"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" v-if="!disabled"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listEvaluationrules, getEvaluationrules, delEvaluationrules, addEvaluationrules, updateEvaluationrules } from "@/api/evaluationrules/evaluationrules";
export default {
name: "Evaluationrules",
dicts: ['khzq_check', 'qzfp_rule', 'jxdj_check'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
evaluationrulesList: [],
//
title: "",
//
open: false,
disabled: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
status: null,
ruleName: null,
checkCycle: null,
checkObject: null,
checkTarget: null,
weightAllocationRule: null,
checkDetails: null,
checkLv: null,
conduct: null,
demand: null,
declare: null,
takeeffectTime: null,
loseEfficacy: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询绩效评价规则列表 */
getList() {
this.loading = true;
listEvaluationrules(this.queryParams).then(response => {
this.evaluationrulesList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null,
status: null,
ruleName: null,
checkCycle: null,
checkObject: null,
checkTarget: null,
weightAllocationRule: null,
checkDetails: null,
checkLv: null,
conduct: null,
demand: null,
declare: null,
takeeffectTime: null,
loseEfficacy: null
};
this.resetForm("form");
},
/** 查询按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.disabled = false;
this.title = "添加绩效评价规则";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getEvaluationrules(id).then(response => {
this.form = response.data;
this.open = true;
this.disabled = false;
this.title = "修改绩效评价规则";
});
},
/** 修改按钮操作 */
handleDecal(row) {
this.reset();
const id = row.id || this.ids
getEvaluationrules(id).then(response => {
this.form = response.data;
this.open = true;
this.disabled = true;
this.title = "修改绩效评价规则";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEvaluationrules(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEvaluationrules(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除绩效评价规则编号为"' + ids + '"的数据项?').then(function() {
return delEvaluationrules(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('evaluationrules/evaluationrules/export', {
...this.queryParams
}, `evaluationrules_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -117,16 +117,16 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注信息" align="center" prop="remarks" /> <el-table-column label="备注信息" align="center" prop="remarks" />
<el-table-column label="创建时间" align="center" prop="createdAt" width="180"> <!-- <el-table-column label="创建时间" align="center" prop="createdAt" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createdAt, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.createdAt, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column label="更新时间" align="center" prop="updatedAt" width="180"> <!-- <el-table-column label="更新时间" align="center" prop="updatedAt" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.updatedAt, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.updatedAt, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -211,22 +211,22 @@
<el-form-item label="备注信息" prop="remarks"> <el-form-item label="备注信息" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createdAt"> <!-- <el-form-item label="创建时间" prop="createdAt">
<el-date-picker clearable <el-date-picker clearable
v-model="form.createdAt" v-model="form.createdAt"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="请选择创建时间"> placeholder="请选择创建时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>-->
<el-form-item label="更新时间" prop="updatedAt"> <!-- <el-form-item label="更新时间" prop="updatedAt">
<el-date-picker clearable <el-date-picker clearable
v-model="form.updatedAt" v-model="form.updatedAt"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="请选择更新时间"> placeholder="请选择更新时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>-->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>

@ -150,13 +150,13 @@
@click="handleShenPiList(scope.row)" @click="handleShenPiList(scope.row)"
v-hasPermi="['expenselog:expenselog:export']" v-hasPermi="['expenselog:expenselog:export']"
>审批记录</el-button> >审批记录</el-button>
<el-button <!-- <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-document-remove" icon="el-icon-document-remove"
@click="handleShenPijindu(scope.row)" @click="handleShenPijindu(scope.row)"
v-hasPermi="['expenselog:expenselog:export']" v-hasPermi="['expenselog:expenselog:export']"
>查看费用进度</el-button> >查看费用进度</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

@ -0,0 +1,618 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="报销人" prop="applicantId">
<el-input
v-model="queryParams.applicantId"
placeholder="请输入报销人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报销类别" prop="expenseCategory">
<el-input
v-model="queryParams.expenseCategory"
placeholder="请输入报销类别"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报销凭证编号" prop="voucherNumber">
<el-input
v-model="queryParams.voucherNumber"
placeholder="请输入报销凭证编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="申请时间" prop="applicationTime">
<el-date-picker clearable
v-model="queryParams.applicationTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择申请时间">
</el-date-picker>
</el-form-item>
<el-form-item label="状态" prop="reportStatus">
<el-select v-model="queryParams.reportStatus" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.fybxspzt_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['report:report:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['report:report:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['report:report:remove']"
>删除</el-button>
</el-col>-->
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
</el-row>
<el-table v-loading="loading" :data="reportList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="报销凭证编号" align="center" prop="voucherNumber" />
<el-table-column label="报销人" align="center" prop="applicantId" />
<!-- <el-table-column label="报销总金额" align="center" prop="totalAmount" />-->
<!-- <el-table-column label="报销类别" align="center" prop="expenseCategory" />-->
<!-- <el-table-column label="申请时间" align="center" prop="applicationTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.applicationTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="状态" align="center" prop="reportStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.fybxspzt_check" :value="scope.row.reportStatus"/>
</template>
</el-table-column>-->
<!-- <el-table-column label="审核时间" align="center" prop="reviewTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.reviewTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<!-- <el-table-column label="驳回原因" align="center" prop="rejectionReason" />-->
<!-- <el-table-column label="驳回时间" align="center" prop="rejectionTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.rejectionTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<!-- <el-table-column label="备注信息" align="center" prop="remark" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['report:report:edit']"
>修改</el-button>-->
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['report:report:remove']"
>删除</el-button>-->
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDecal(scope.row)"
v-hasPermi="['report:report:edit']"
>查看</el-button>-->
<!-- <el-button
size="mini"
type="text"
icon="el-icon-document-remove"
@click="handleShenPi(scope.row)"
v-hasPermi="['report:report:edit']"
>费用流程审批</el-button>-->
<!-- <el-button
size="mini"
type="text"
icon="el-icon-document-remove"
@click="handleShenPiList(scope.row)"
v-hasPermi="['expenselog:expenselog:export']"
>审批记录</el-button>-->
<el-button
size="mini"
type="text"
icon="el-icon-document-remove"
@click="handleShenPijindu(scope.row)"
v-hasPermi="['expenselog:expenselog:export']"
>查看费用进度</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"
/>
<!-- 添加或修改报销费用对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-form-item label="报销总金额" prop="totalAmount">
<el-input v-model="form.totalAmount" placeholder="请输入报销总金额" :disabled="disabled"/>
</el-form-item>
<el-form-item label="报销人" prop="applicantId">
<el-input v-model="form.applicantId" placeholder="请输入报销人" :disabled="disabled"/>
</el-form-item>
<el-form-item label="报销类别" prop="expenseCategory">
<el-input v-model="form.expenseCategory" placeholder="请输入报销类别" :disabled="disabled"/>
</el-form-item>
<el-form-item label="报销凭证编号" prop="voucherNumber">
<el-input v-model="form.voucherNumber" placeholder="请输入报销凭证编号" :disabled="disabled"/>
</el-form-item>
<el-form-item label="申请时间" prop="applicationTime">
<el-date-picker clearable
v-model="form.applicationTime"
:disabled="disabled"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择申请时间">
</el-date-picker>
</el-form-item>
<el-form-item label="状态" prop="reportStatus">
<el-select v-model="form.reportStatus" placeholder="请选择状态" clearable :disabled="disabled">
<el-option
v-for="dict in dict.type.fybxspzt_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注信息" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注信息" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 添加审批记录 -->
<!-- 添加或修改费用报销审批记录对话框 -->
<el-dialog :title="title" :visible.sync="shenpiopen" width="900px" append-to-body>
<el-form ref="shenpiform" :model="shenpiform" :rules="rules" label-width="80px">
<el-form-item label="关联报销名称" prop="expenseName">
<el-input v-model="shenpiform.expenseName" placeholder="请输入关联报销名称" />
</el-form-item>
<el-form-item label="状态" prop="reportStatus">
<el-select v-model="shenpiform.reportStatus" placeholder="请选择状态" clearable :disabled="disabled">
<el-option
v-for="dict in dict.type.fybxspzt_check"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="审核人" prop="reviewerId">
<el-input v-model="shenpiform.reviewerId" placeholder="请输入审核人" />
</el-form-item>
<el-form-item label="审核时间" prop="reviewTime">
<el-date-picker clearable
v-model="shenpiform.reviewTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择审核时间">
</el-date-picker>
</el-form-item>
<el-form-item label="审核意见" prop="rejectionReason">
<el-input v-model="shenpiform.rejectionReason" type="textarea" placeholder="请输入审核意见" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="shenpiform.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="shenpisubmitForm"> </el-button>
<el-button @click="shenpicancel"> </el-button>
</div>
</el-dialog>
<!-- 添加或修改费用报销审批记录对话框 -->
<el-dialog :title="title" :visible.sync="shenpiopenList" width="900px" append-to-body>
<el-table v-loading="shenpiloading" :data="expenselogList">
<el-table-column label="报销凭证编号" align="center" prop="expenseName" />
<el-table-column label="状态" align="center" prop="reportStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.fybxspzt_check" :value="scope.row.reportStatus"/>
</template>
</el-table-column>
<el-table-column label="审核人" align="center" prop="reviewerId" />
<el-table-column label="审核时间" align="center" prop="reviewTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.reviewTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="审批意见" align="center" prop="rejectionReason" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="shenpihandleUpdate(scope.row)"
v-hasPermi="['expenselog:expenselog:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="shenpihandleDelete(scope.row)"
v-hasPermi="['expenselog:expenselog:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 添加或修改费用报销审批记录对话框 -->
<el-dialog :title="title" :visible.sync="shenpiopenjidu" width="900px" append-to-body>
<el-steps :active="active" align-center>
<!-- <el-step title="填写报销单" description="根据公司提供的报销单模板,逐项填写报销内容,包括费用类别、金额、日期、事由等。"></el-step>-->
<el-step title="审批中" description="部门经理或初审人员对报销申请进行初步审核,确认费用是否合理、凭证是否齐全"></el-step>
<el-step title="审批通过" description="报销人确认收款情况"></el-step>
</el-steps>
</el-dialog>
</div>
</template>
<script>
import { listReport, getReport, delReport, addReport, updateReport } from "@/api/report/report";
import { listExpenselog,listAllExpenselog, getExpenselog, delExpenselog, addExpenselog, updateExpenselog } from "@/api/expenselog/expenselog";
export default {
name: "Report",
dicts: ['fybxspzt_check'],
data() {
return {
//
loading: true,
shenpiloading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
reportList: [],
//
title: "",
//
open: false,
disabled: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
totalAmount: null,
applicantId: null,
expenseCategory: null,
voucherNumber: null,
applicationTime: null,
reportStatus: null,
reviewerId: null,
reviewTime: null,
rejectionReason: null,
rejectionTime: null,
},
//
form: {},
//
rules: {
},
//
expenselogList: [],
//
shenpiopen: false,
shenpiopenList: false,
shenpiopenjidu: false,
//
shenpiqueryParams: {
expenseId: null,
expenseName: null,
reportStatus: null,
reviewerId: null,
reviewTime: null,
rejectionReason: null,
status: null
},
//
shenpiform: {},
active: 2,
};
},
created() {
this.getList();
},
methods: {
/** 查询报销费用列表 */
getList() {
this.loading = true;
listReport(this.queryParams).then(response => {
this.reportList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
totalAmount: null,
applicantId: null,
expenseCategory: null,
voucherNumber: null,
applicationTime: null,
reportStatus: null,
reviewerId: null,
reviewTime: null,
rejectionReason: null,
rejectionTime: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加报销费用";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getReport(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改报销费用";
});
},
/** 修改按钮操作 */
handleDecal(row) {
this.reset();
const id = row.id || this.ids
getReport(id).then(response => {
this.form = response.data;
this.open = true;
this.disabled = true;
this.title = "修改报销费用";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateReport(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addReport(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除报销费用编号为"' + ids + '"的数据项?').then(function() {
return delReport(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('report/report/export', {
...this.queryParams
}, `report_${new Date().getTime()}.xlsx`)
},
/** 修改按钮操作 */
handleShenPi(row) {
this.shenpireset();
this.shenpiform.expenseId = row.id;
this.shenpiform.expenseName = row.voucherNumber;
this.shenpiopen = true;
this.title = "费用流程审批";
},
/** 修改按钮操作 */
handleShenPiList(row) {
this.shenpireset();
this.shenpiopenList = true;
this.title = "审批记录";
this.shenpiqueryParams.expenseId = row.id;
this.shenpigetList();
},
/** 修改按钮操作 */
handleShenPijindu(row) {
this.shenpiopenjidu = true;
this.active = row.reportStatus;
this.title = "费用进度";
},
/** 查询费用报销审批记录列表 */
shenpigetList() {
this.shenpiloading = true;
listAllExpenselog(this.shenpiqueryParams).then(response => {
this.expenselogList = response.data;
this.total = response.total;
this.shenpiloading = false;
});
},
//
shenpicancel() {
this.shenpiopen = false;
this.shenpireset();
},
//
shenpireset() {
this.shenpiform = {
id: null,
expenseId: null,
expenseName: null,
reportStatus: null,
reviewerId: null,
reviewTime: null,
rejectionReason: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null,
status: null
};
this.resetForm("shenpiform");
},
/** 搜索按钮操作 */
shenpihandleQuery() {
this.shenpiqueryParams.pageNum = 1;
this.shenpigetList();
},
/** 重置按钮操作 */
shenpiresetQuery() {
this.resetForm("shenpiqueryForm");
this.shenpihandleQuery();
},
//
shenpihandleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
shenpihandleAdd() {
this.shenpireset();
this.shenpiopen = true;
this.title = "添加费用报销审批记录";
},
/** 修改按钮操作 */
shenpihandleUpdate(row) {
this.reset();
const id = row.id || this.ids
getExpenselog(id).then(response => {
this.shenpiform = response.data;
this.shenpiopen = true;
this.title = "修改费用报销审批记录";
});
},
/** 提交按钮 */
shenpisubmitForm() {
this.$refs["shenpiform"].validate(valid => {
if (valid) {
if (this.shenpiform.id != null) {
updateExpenselog(this.shenpiform).then(response => {
this.$modal.msgSuccess("修改成功");
this.shenpiopen = false;
this.shenpigetList();
this.getList();
});
} else {
addExpenselog(this.shenpiform).then(response => {
this.$modal.msgSuccess("新增成功");
this.shenpiopen = false;
this.shenpigetList();
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
shenpihandleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除费用报销审批记录编号为"' + ids + '"的数据项?').then(function() {
return delExpenselog(ids);
}).then(() => {
this.shenpigetList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
}
};
</script>
Loading…
Cancel
Save