|
|
@@ -0,0 +1,137 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <avue-crud
|
|
|
+ ref="crud"
|
|
|
+ v-bind="bindVal"
|
|
|
+ v-on="onEvent"
|
|
|
+ v-model="form"
|
|
|
+ :page.sync="page"
|
|
|
+ :before-open="handleBeforeOpen"
|
|
|
+ :permission="permissionList"
|
|
|
+ >
|
|
|
+ <template slot="menuLeft">
|
|
|
+ <el-button
|
|
|
+ v-if="!isSelAnnual"
|
|
|
+ type="danger"
|
|
|
+ size="small"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ plain
|
|
|
+ @click="handleDelete"
|
|
|
+ >
|
|
|
+ 删 除
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="!isSelAnnual"
|
|
|
+ type="success"
|
|
|
+ size="small"
|
|
|
+ plain
|
|
|
+ icon="el-icon-upload2"
|
|
|
+ @click="handleImport"
|
|
|
+ >
|
|
|
+ 导入
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="warning"
|
|
|
+ size="small"
|
|
|
+ plain
|
|
|
+ icon="el-icon-download"
|
|
|
+ @click="handleExport"
|
|
|
+ >
|
|
|
+ 导出
|
|
|
+ </el-button>
|
|
|
+ <print-table-btn @click="printTable" />
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </avue-crud>
|
|
|
+
|
|
|
+ <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
|
|
|
+
|
|
|
+ <WideTablePrinter
|
|
|
+ ref="printWideTable"
|
|
|
+ :columns="wideTableColumns"
|
|
|
+ :data="data"
|
|
|
+ :print-title="printTitle"
|
|
|
+ :rows-per-page="30"
|
|
|
+ :default-landscape="true"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import {exportBloByPost} from "@/api/common";
|
|
|
+import UploadExcelDialog from "@/components/upload-excel-dialog";
|
|
|
+import {getToken} from "@/util/auth";
|
|
|
+import {downloadXls} from "@/util/util";
|
|
|
+
|
|
|
+
|
|
|
+export default window.$crudCommon({
|
|
|
+ components: {
|
|
|
+ UploadExcelDialog,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ wideTableColumns: [],
|
|
|
+ printTitle: "",
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.option.height = window.innerHeight - 270;
|
|
|
+
|
|
|
+ let newOption = { ...this.option };
|
|
|
+ // 姓名下拉框,设置监听事件
|
|
|
+ newOption.column.forEach(item => {
|
|
|
+ if (item.prop == "zcmc") {
|
|
|
+ item.change = ({ item }) => {
|
|
|
+ if (!!item) {
|
|
|
+ this.form = {
|
|
|
+ ...this.form,
|
|
|
+ ytxe: item.zcyz,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.option = { ...newOption };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleBeforeOpen(done) {
|
|
|
+ this.option.column.forEach(item => {
|
|
|
+ if (item.prop == "zcmc") {
|
|
|
+ item.dicUrl = '/api/kd-scientific/zc/page';
|
|
|
+ item.dicQuery.yearAndMonth = '202507';
|
|
|
+ }
|
|
|
+ });
|
|
|
+ done();
|
|
|
+ },
|
|
|
+ handleImport() {
|
|
|
+ this.$refs.uploadExcelDialog.open('/api/kd-scientific/ys-zjfyycqdtfy/import');
|
|
|
+ },
|
|
|
+ uploadAfter() {
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.getList(this.page);
|
|
|
+ },
|
|
|
+ handleExport() {
|
|
|
+ exportBloByPost(`/api/kd-scientific/ys-zjfyycqdtfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
|
|
|
+ downloadXls(res.data, `折旧费用与长期待摊费用.xlsx`);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 打印表格
|
|
|
+ * @param isLandscape 是否横向打印
|
|
|
+ */
|
|
|
+ printTable(isLandscape) {
|
|
|
+ this.wideTableColumns = this.$refs.crud.columnOption;
|
|
|
+ this.printTitle = `折旧费用与长期待摊费用`;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.printWideTable.printTable(isLandscape);
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
+}, {
|
|
|
+ // 模块路径
|
|
|
+ name: 'projectManage/zjfyycqdtfyCost',
|
|
|
+ res: ({ data }) => {
|
|
|
+ return data;
|
|
|
+ },
|
|
|
+});
|
|
|
+</script>
|