2024-03-15 10:01:08 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<el-dialog
|
|
|
|
|
|
:title="title"
|
|
|
|
|
|
:model-value="type === 105"
|
|
|
|
|
|
width="1100px"
|
|
|
|
|
|
@close="fnClose"
|
|
|
|
|
|
>
|
|
|
|
|
|
<div class="tr">
|
2024-03-20 10:02:16 +08:00
|
|
|
|
<el-button type="primary" @click="list.push({})">新增</el-button>
|
|
|
|
|
|
<el-button type="danger" @click="fnDelete">删除</el-button>
|
2024-03-15 10:01:08 +08:00
|
|
|
|
<el-button type="primary" @click="fnExport">导出</el-button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="tc">
|
|
|
|
|
|
<h3>{{ year }}年度培训资金提取和使用情况管理台账</h3>
|
|
|
|
|
|
</div>
|
2024-03-20 10:02:16 +08:00
|
|
|
|
<p class="mb">单位名称:{{ corpName }}</p>
|
|
|
|
|
|
<layout-table
|
|
|
|
|
|
:data="list"
|
|
|
|
|
|
:show-pagination="false"
|
|
|
|
|
|
:stripe="false"
|
|
|
|
|
|
:highlight-current-row="true"
|
|
|
|
|
|
@row-click="fnRowClick"
|
|
|
|
|
|
@row-dblclick="fnRowDblclick"
|
|
|
|
|
|
>
|
2024-03-15 10:01:08 +08:00
|
|
|
|
<el-table-column type="index" label="序号" width="60" />
|
|
|
|
|
|
<el-table-column prop="DATE" label="日期" />
|
|
|
|
|
|
<el-table-column label="费用项目">
|
|
|
|
|
|
<el-table-column prop="AMOUNT" label="提取金额" />
|
|
|
|
|
|
<el-table-column prop="ITEM_TYPE" label="项目类型" />
|
|
|
|
|
|
<el-table-column prop="MATERIAL_COST" label="培训教材教具费" />
|
|
|
|
|
|
<el-table-column prop="TEACHER_COST" label="师资费" />
|
|
|
|
|
|
<el-table-column prop="PAPER_COST" label="试卷印制费" />
|
|
|
|
|
|
<el-table-column prop="OUTSIDE_COST" label="外出培训费" />
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
|
prop="EQUIPMENT_COST"
|
|
|
|
|
|
label="教学设备、课桌椅等购置维护费"
|
|
|
|
|
|
/>
|
|
|
|
|
|
<el-table-column prop="TRAIN_COST" label="培训活动费" />
|
|
|
|
|
|
<el-table-column prop="ENTRUST_COST" label="委托培训费" />
|
|
|
|
|
|
<el-table-column prop="OTHER_COST" label="其他与培训有关的直接支出" />
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column prop="BALANCE" label="余额" />
|
|
|
|
|
|
</layout-table>
|
2024-03-20 10:02:16 +08:00
|
|
|
|
<table class="print_use dn">
|
|
|
|
|
|
<thead>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td rowspan="2">序号</td>
|
|
|
|
|
|
<td rowspan="2">日期</td>
|
|
|
|
|
|
<td colspan="9">费用项目</td>
|
|
|
|
|
|
<td rowspan="2">余额</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
<td>提取金额</td>
|
|
|
|
|
|
<td>培训教材教具费</td>
|
|
|
|
|
|
<td>师资费</td>
|
|
|
|
|
|
<td>试卷印制费</td>
|
|
|
|
|
|
<td>外出培训费</td>
|
|
|
|
|
|
<td>教学设备、课桌椅等购置维护费</td>
|
|
|
|
|
|
<td>培训活动费</td>
|
|
|
|
|
|
<td>委托培训费</td>
|
|
|
|
|
|
<td>其他与培训有关的直接支出</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
|
|
|
<tr v-for="(item, index) in list" :key="index">
|
|
|
|
|
|
<td>{{ index + 1 }}</td>
|
|
|
|
|
|
<td>{{ item.DATE }}</td>
|
|
|
|
|
|
<td>{{ item.AMOUNT }}</td>
|
|
|
|
|
|
<td>{{ item.MATERIAL_COST }}</td>
|
|
|
|
|
|
<td>{{ item.TEACHER_COST }}</td>
|
|
|
|
|
|
<td>{{ item.PAPER_COST }}</td>
|
|
|
|
|
|
<td>{{ item.OUTSIDE_COST }}</td>
|
|
|
|
|
|
<td>{{ item.EQUIPMENT_COST }}</td>
|
|
|
|
|
|
<td>{{ item.TRAIN_COST }}</td>
|
|
|
|
|
|
<td>{{ item.ENTRUST_COST }}</td>
|
|
|
|
|
|
<td>{{ item.OTHER_COST }}</td>
|
|
|
|
|
|
<td>{{ item.BALANCE }}</td>
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
|
|
|
|
</table>
|
2024-03-15 10:01:08 +08:00
|
|
|
|
<div class="flex mt">
|
|
|
|
|
|
<div>制表人:</div>
|
|
|
|
|
|
<div>编制日期:</div>
|
|
|
|
|
|
<div>审核人:</div>
|
|
|
|
|
|
<div>审核日期:</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="mt">
|
|
|
|
|
|
填表说明:1.将实际发生的费用金额记录在费用项目栏内。2.培训提取比例按职工工资1.5%,可按季或月提取。
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
|
<el-button @click="fnClose">关闭</el-button>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</el-dialog>
|
2024-03-20 10:02:16 +08:00
|
|
|
|
<capital-add
|
|
|
|
|
|
v-model:visible="data.addOrEditDialog.visible"
|
|
|
|
|
|
v-model:form="data.addOrEditDialog.form"
|
|
|
|
|
|
:type="data.addOrEditDialog.type"
|
|
|
|
|
|
:year="year"
|
|
|
|
|
|
@get-data="fnGetData"
|
|
|
|
|
|
/>
|
2024-03-15 10:01:08 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup>
|
2024-03-20 10:02:16 +08:00
|
|
|
|
import { nextTick, reactive, watchEffect } from "vue";
|
|
|
|
|
|
import { ElMessage, ElMessageBox } from "element-plus";
|
2024-03-15 10:01:08 +08:00
|
|
|
|
import { debounce } from "throttle-debounce";
|
|
|
|
|
|
import {
|
|
|
|
|
|
getArchivesCapitalList,
|
|
|
|
|
|
downloadFundmanageword,
|
2024-03-20 10:02:16 +08:00
|
|
|
|
setCapitalDelete,
|
|
|
|
|
|
getCapitalView,
|
2024-03-15 10:01:08 +08:00
|
|
|
|
} from "@/request/training_archive_management.js";
|
2024-03-20 10:02:16 +08:00
|
|
|
|
import useListData from "@/assets/js/useListData.js";
|
|
|
|
|
|
import capitalAdd from "./capital_add.vue";
|
2024-03-15 10:01:08 +08:00
|
|
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
|
type: {
|
|
|
|
|
|
type: Number,
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
},
|
|
|
|
|
|
title: {
|
|
|
|
|
|
type: String,
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
},
|
2024-03-20 10:02:16 +08:00
|
|
|
|
year: {
|
2024-03-15 10:01:08 +08:00
|
|
|
|
type: String,
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
},
|
2024-03-20 10:02:16 +08:00
|
|
|
|
corpName: {
|
2024-03-15 10:01:08 +08:00
|
|
|
|
type: String,
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
const data = reactive({
|
2024-03-20 10:02:16 +08:00
|
|
|
|
ARCHIVESCAPITAL_ID: "",
|
|
|
|
|
|
addOrEditDialog: {
|
|
|
|
|
|
visible: false,
|
|
|
|
|
|
type: "",
|
|
|
|
|
|
form: {
|
|
|
|
|
|
DATE: "",
|
|
|
|
|
|
AMOUNT: "",
|
|
|
|
|
|
MATERIAL_COST: "",
|
|
|
|
|
|
TEACHER_COST: "",
|
|
|
|
|
|
PAPER_COST: "",
|
|
|
|
|
|
OUTSIDE_COST: "",
|
|
|
|
|
|
EQUIPMENT_COST: "",
|
|
|
|
|
|
TRAIN_COST: "",
|
|
|
|
|
|
ENTRUST_COST: "",
|
|
|
|
|
|
OTHER_COST: "",
|
|
|
|
|
|
BALANCE: "",
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-03-15 10:01:08 +08:00
|
|
|
|
});
|
|
|
|
|
|
const emits = defineEmits(["update:type"]);
|
2024-03-20 10:02:16 +08:00
|
|
|
|
const { list, fnGetData } = useListData(getArchivesCapitalList, {
|
|
|
|
|
|
otherParams: {
|
2024-03-15 10:01:08 +08:00
|
|
|
|
TYPE: props.type,
|
|
|
|
|
|
YEAR: props.year,
|
2024-03-20 10:02:16 +08:00
|
|
|
|
},
|
|
|
|
|
|
usePagination: false,
|
|
|
|
|
|
immediate: false,
|
|
|
|
|
|
});
|
2024-03-15 10:01:08 +08:00
|
|
|
|
watchEffect(() => {
|
|
|
|
|
|
if (props.type === 105) fnGetData();
|
|
|
|
|
|
});
|
|
|
|
|
|
const fnExport = debounce(
|
|
|
|
|
|
1000,
|
|
|
|
|
|
async () => {
|
|
|
|
|
|
await ElMessageBox.confirm("确定要导出吗?", { type: "warning" });
|
|
|
|
|
|
await downloadFundmanageword({
|
|
|
|
|
|
YEAR: props.year,
|
2024-03-20 10:02:16 +08:00
|
|
|
|
NAME: props.corpName,
|
2024-03-15 10:01:08 +08:00
|
|
|
|
});
|
|
|
|
|
|
await ElMessageBox.confirm(
|
|
|
|
|
|
"导出后请前往档案下载中下载该档案!",
|
|
|
|
|
|
"温馨提示",
|
|
|
|
|
|
{ type: "info" }
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
{ atBegin: true }
|
|
|
|
|
|
);
|
2024-03-20 10:02:16 +08:00
|
|
|
|
const fnRowClick = (row) => {
|
|
|
|
|
|
data.ARCHIVESCAPITAL_ID = row.ARCHIVESCAPITAL_ID;
|
|
|
|
|
|
};
|
|
|
|
|
|
const fnRowDblclick = async (row) => {
|
|
|
|
|
|
data.addOrEditDialog.visible = true;
|
|
|
|
|
|
await nextTick();
|
|
|
|
|
|
if (row.ARCHIVESCAPITAL_ID) {
|
|
|
|
|
|
const resData = await getCapitalView({
|
|
|
|
|
|
ARCHIVESCAPITAL_ID: row.ARCHIVESCAPITAL_ID,
|
|
|
|
|
|
});
|
|
|
|
|
|
data.addOrEditDialog.form = resData.pd;
|
|
|
|
|
|
data.addOrEditDialog.type = "edit";
|
|
|
|
|
|
} else data.addOrEditDialog.type = "add";
|
|
|
|
|
|
};
|
|
|
|
|
|
const fnDelete = debounce(
|
|
|
|
|
|
1000,
|
|
|
|
|
|
async () => {
|
|
|
|
|
|
if (data.ARCHIVESCAPITAL_ID) {
|
|
|
|
|
|
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
|
|
|
|
|
await setCapitalDelete({
|
|
|
|
|
|
ARCHIVESCAPITAL_ID: data.ARCHIVESCAPITAL_ID,
|
|
|
|
|
|
});
|
|
|
|
|
|
ElMessage.success("删除成功");
|
|
|
|
|
|
}
|
|
|
|
|
|
data.ARCHIVESCAPITAL_ID = "";
|
|
|
|
|
|
fnGetData();
|
|
|
|
|
|
},
|
|
|
|
|
|
{ atBegin: true }
|
|
|
|
|
|
);
|
2024-03-15 10:01:08 +08:00
|
|
|
|
const fnClose = () => {
|
|
|
|
|
|
emits("update:type", 0);
|
|
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
|
.flex {
|
|
|
|
|
|
width: 80%;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|