财务档案

main
zk 1 year ago
parent 0e87cbc9b2
commit d1d8c490c5

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建财务档案
export function createFinance(data) {
return request({
url: '/electronic/finance/create',
method: 'post',
data: data
})
}
// 更新财务档案
export function updateFinance(data) {
return request({
url: '/electronic/finance/update',
method: 'put',
data: data
})
}
// 删除财务档案
export function deleteFinance(id) {
return request({
url: '/electronic/finance/delete?id=' + id,
method: 'delete'
})
}
// 获得财务档案
export function getFinance(id) {
return request({
url: '/electronic/finance/get?id=' + id,
method: 'get'
})
}
// 获得财务档案分页
export function getFinancePage(query) {
return request({
url: '/electronic/finance/page',
method: 'get',
params: query
})
}
// 导出财务档案 Excel
export function exportFinanceExcel(query) {
return request({
url: '/electronic/finance/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -165,7 +165,10 @@ CONSULTATION_TYPE: 'consultation_type',
OTHER_BUSINESS_TYPE: 'other_business_type',
//启用状态
ENABLE_STATE: 'enable_state',
//支付方式
PAY_TYPE:'pay_type',
//交易类型
TRADE_TYPE:'trade_type'
}

@ -776,6 +776,89 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 财务档案列表 -->
<el-table v-loading="loading" :data="electronicFinanceList" v-if="fileType == 'electronic_finance'" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="交易日期" align="center" prop="tradeDate" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.tradeDate) }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="主键" align="center" prop="id" />-->
<!-- <el-table-column label="制单人" align="center" prop="createBy" />-->
<!-- <el-table-column label="业务实体id" align="center" prop="companyId" />-->
<!-- <el-table-column label="业务实体" align="center" prop="company" />-->
<!-- <el-table-column label="用户id" align="center" prop="userId" />-->
<!-- <el-table-column label="所属部门id" align="center" prop="deptId" />-->
<!-- <el-table-column label="所属部门" align="center" prop="deptName" />-->
<el-table-column label="交易类型" align="center" prop="tradeType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.TRADE_TYPE" :value="scope.row.tradeType"/>
</template>
</el-table-column>
<el-table-column label="金额" align="center" prop="price"/>
<el-table-column label="收据/发票号码" align="center" prop="invoiceNumber"/>
<!-- <el-table-column label="纸档位置" align="center" prop="position" />-->
<!-- <el-table-column label="完整性" align="center" prop="cherks">-->
<!-- <template v-slot="scope">-->
<!-- <dict-tag :type="DICT_TYPE.CHERKS" :value="scope.row.cherks" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="归档id" align="center" prop="recordId" />-->
<el-table-column label="支付方式" align="center" prop="payType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.PAY_TYPE" :value="scope.row.payType"/>
</template>
</el-table-column>
<el-table-column label="账户" align="center" prop="account"/>
<el-table-column label="项目" align="center" prop="project"/>
<el-table-column label="状态" align="center" prop="status">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <el-table-column label="归档状态" align="center" prop="fileStatus">-->
<!-- <template v-slot="scope">-->
<!-- <dict-tag :type="DICT_TYPE.ARCHIVES_FILE_STATUS" :value="scope.row.fileStatus" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="备注" align="center" prop="remarks"/>
<!-- <el-table-column label="创建日期" align="center" prop="createTime" width="180">-->
<!-- <template v-slot="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="归档日期" align="center" prop="recordTime" />-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template v-slot="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-view"-->
<!-- @click="handleView(scope.row)"-->
<!-- >查看-->
<!-- </el-button>-->
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['electronic:finance:update']"-->
<!-- >修改-->
<!-- </el-button>-->
<!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['electronic:finance:delete']"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<!-- 财务档案分页组件 -->
<pagination v-if="fileType == 'electronic_finance'" v-show="total11 > 0" :total="total11" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title="title"
@ -930,6 +1013,7 @@ import { listData } from "@/api/system/dict/data";
import { getSiteTree } from "@/api/setting/organization";
import { getOrganizationPage } from "@/api/setting/organization";
import { getAccountingReportPage } from "@/api/accounting/report";
import { getFinancePage } from '@/api/ea/electronicfinance/finance'
export default {
name: "Voucher",
@ -958,6 +1042,7 @@ export default {
total8: 0,
total9: 0,
total10: 0,
total11: 0,
accountingVoucherList: [], //
accountingBookList: [], //簿
archivesOtherList: [], //
@ -965,6 +1050,7 @@ export default {
electronicEmployeeList: [], //
electronicContractsList: [], //
electronicAssetsList: [], //
electronicFinanceList:[], //
electronicCustomerComplaintList: [], //
electronicConsultationList: [], //
electronicOtherList: [], //
@ -1064,6 +1150,12 @@ export default {
this.total10 = response.data.total;
this.loading = false;
});
/** 查询财务档案列表 */
getFinancePage(this.queryParams).then(response => {
this.electronicFinanceList = response.data.list
this.total11 = response.data.total
this.loading = false
});
},
/** 获取目录号 */
getCatalogNum() {

@ -992,6 +992,90 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 财务档案列表 -->
<el-table v-loading="loading" :data="electronicFinanceList" v-if="fileType == 'electronic_finance'" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="交易日期" align="center" prop="tradeDate" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.tradeDate) }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="主键" align="center" prop="id" />-->
<!-- <el-table-column label="制单人" align="center" prop="createBy" />-->
<!-- <el-table-column label="业务实体id" align="center" prop="companyId" />-->
<!-- <el-table-column label="业务实体" align="center" prop="company" />-->
<!-- <el-table-column label="用户id" align="center" prop="userId" />-->
<!-- <el-table-column label="所属部门id" align="center" prop="deptId" />-->
<!-- <el-table-column label="所属部门" align="center" prop="deptName" />-->
<el-table-column label="交易类型" align="center" prop="tradeType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.TRADE_TYPE" :value="scope.row.tradeType"/>
</template>
</el-table-column>
<el-table-column label="金额" align="center" prop="price"/>
<el-table-column label="收据/发票号码" align="center" prop="invoiceNumber"/>
<!-- <el-table-column label="纸档位置" align="center" prop="position" />-->
<!-- <el-table-column label="完整性" align="center" prop="cherks">-->
<!-- <template v-slot="scope">-->
<!-- <dict-tag :type="DICT_TYPE.CHERKS" :value="scope.row.cherks" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="归档id" align="center" prop="recordId" />-->
<el-table-column label="支付方式" align="center" prop="payType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.PAY_TYPE" :value="scope.row.payType"/>
</template>
</el-table-column>
<el-table-column label="账户" align="center" prop="account"/>
<el-table-column label="项目" align="center" prop="project"/>
<el-table-column label="状态" align="center" prop="status">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <el-table-column label="归档状态" align="center" prop="fileStatus">-->
<!-- <template v-slot="scope">-->
<!-- <dict-tag :type="DICT_TYPE.ARCHIVES_FILE_STATUS" :value="scope.row.fileStatus" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="备注" align="center" prop="remarks"/>
<!-- <el-table-column label="创建日期" align="center" prop="createTime" width="180">-->
<!-- <template v-slot="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="归档日期" align="center" prop="recordTime" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleView(scope.row)"
>查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['electronic:finance:update']"
>修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['electronic:finance:delete']"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 财务档案分页组件 -->
<pagination v-if="fileType == 'electronic_finance'" v-show="total11 > 0" :total="total11" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
@ -1025,6 +1109,7 @@ import { getElectronicCustomerComplaintPage } from "@/api/ea/electronicCustomerC
import { getElectronicConsultationPage } from "@/api/ea/electronicConsultation/electronicConsultation";
import { getElectronicOtherPage } from "@/api/ea/electronicOther/electronicOther";
import { getFileCategoryPage } from "@/api/setting/fileCategory";
import { getFinancePage } from '@/api/ea/electronicfinance/finance'
export default {
name: "Record",
@ -1073,6 +1158,7 @@ export default {
total8: 0,
total9: 0,
total10: 0,
total11: 0,
accountingVoucherList: [], //
accountingBookList: [], //簿
accountingReportList: [], //
@ -1080,6 +1166,7 @@ export default {
electronicEmployeeList: [], //
electronicContractsList: [], //
electronicAssetsList: [], //
electronicFinanceList:[], //
electronicCustomerComplaintList: [], //
electronicConsultationList: [], //
electronicOtherList: [], //
@ -1225,6 +1312,14 @@ export default {
this.loading = false;
});
},
/** 查询财务档案列表 */
getElectronicFinanceList() {
getFinancePage(this.queryParams1).then(response => {
this.electronicFinanceList = response.data.list
this.total11 = response.data.total
this.loading = false
})
},
/**
* 文件预览
* @param fileUrl
@ -1434,6 +1529,8 @@ export default {
this.getElectronicOtherLineList();
} else if (row.fileType == "accounting_report") {
this.getAccountingReportPageLineList();
} else if (row.fileType == "electronic_finance"){
this.getElectronicFinanceList();
}
const id = row.id;

@ -0,0 +1,728 @@
<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="createBy">-->
<!-- <el-input v-model="queryParams.createBy" placeholder="请输入制单人" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="业务实体id" prop="companyId">-->
<!-- <el-input v-model="queryParams.companyId" placeholder="请输入业务实体id" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="业务实体" prop="company">-->
<!-- <el-input v-model="queryParams.company" placeholder="请输入业务实体" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="用户id" prop="userId">-->
<!-- <el-input v-model="queryParams.userId" placeholder="请输入用户id" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="所属部门id" prop="deptId">-->
<!-- <el-input v-model="queryParams.deptId" placeholder="请输入所属部门id" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="所属部门" prop="deptName">-->
<!-- <el-input v-model="queryParams.deptName" placeholder="请输入所属部门" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付账户" prop="account">-->
<!-- <el-input v-model="queryParams.account" placeholder="请输入支付账户" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="项目" prop="project">-->
<!-- <el-input v-model="queryParams.project" placeholder="请输入项目" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="金额" prop="price">-->
<!-- <el-input v-model="queryParams.price" placeholder="请输入金额" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="状态" prop="status">-->
<!-- <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">-->
<!-- <el-option v-for="dict in this.getDictDatas(DICT_TYPE.CONTRACT_STATUS)"-->
<!-- :key="dict.value" :label="dict.label" :value="dict.value"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="纸档位置" prop="position">-->
<!-- <el-input v-model="queryParams.position" placeholder="请输入纸档位置" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="完整性" prop="cherks">-->
<!-- <el-select v-model="queryParams.cherks" placeholder="请选择完整性" clearable size="small">-->
<!-- <el-option v-for="dict in this.getDictDatas(DICT_TYPE.CHERKS)"-->
<!-- :key="dict.value" :label="dict.label" :value="dict.value"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="归档id" prop="recordId">-->
<!-- <el-input v-model="queryParams.recordId" placeholder="请输入归档id" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<el-form-item label="交易日期" prop="tradeDate">
<el-date-picker v-model="queryParams.tradeDate" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
/>
</el-form-item>
<el-form-item label="交易类型" prop="tradeType">
<el-select v-model="queryParams.tradeType" placeholder="请选择交易类型" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.TRADE_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="收据发票" prop="invoiceNumber">
<el-input v-model="queryParams.invoiceNumber" placeholder="请输入收据/发票号码" clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="支付方式" prop="payType">
<el-select v-model="queryParams.payType" placeholder="请选择支付方式" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="归档状态" prop="fileStatus">-->
<!-- <el-select v-model="queryParams.fileStatus" placeholder="请选择归档状态" clearable size="small">-->
<!-- <el-option v-for="dict in this.getDictDatas(DICT_TYPE.ARCHIVES_FILE_STATUS)"-->
<!-- :key="dict.value" :label="dict.label" :value="dict.value"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备注" prop="remarks">-->
<!-- <el-input v-model="queryParams.remarks" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建日期" prop="createTime">-->
<!-- <el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"-->
<!-- range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="归档日期" prop="recordTime">-->
<!-- <el-date-picker v-model="queryParams.recordTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"-->
<!-- range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @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="['electronic:finance:create']"
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
:loading="exportLoading"
v-hasPermi="['electronic:finance:export']"
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="交易日期" align="center" prop="tradeDate" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.tradeDate) }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="主键" align="center" prop="id" />-->
<!-- <el-table-column label="制单人" align="center" prop="createBy" />-->
<!-- <el-table-column label="业务实体id" align="center" prop="companyId" />-->
<!-- <el-table-column label="业务实体" align="center" prop="company" />-->
<!-- <el-table-column label="用户id" align="center" prop="userId" />-->
<!-- <el-table-column label="所属部门id" align="center" prop="deptId" />-->
<!-- <el-table-column label="所属部门" align="center" prop="deptName" />-->
<el-table-column label="交易类型" align="center" prop="tradeType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.TRADE_TYPE" :value="scope.row.tradeType"/>
</template>
</el-table-column>
<el-table-column label="金额" align="center" prop="price"/>
<el-table-column label="收据/发票号码" align="center" prop="invoiceNumber"/>
<!-- <el-table-column label="纸档位置" align="center" prop="position" />-->
<!-- <el-table-column label="完整性" align="center" prop="cherks">-->
<!-- <template v-slot="scope">-->
<!-- <dict-tag :type="DICT_TYPE.CHERKS" :value="scope.row.cherks" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="归档id" align="center" prop="recordId" />-->
<el-table-column label="支付方式" align="center" prop="payType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.PAY_TYPE" :value="scope.row.payType"/>
</template>
</el-table-column>
<el-table-column label="账户" align="center" prop="account"/>
<el-table-column label="项目" align="center" prop="project"/>
<el-table-column label="状态" align="center" prop="status">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <el-table-column label="归档状态" align="center" prop="fileStatus">-->
<!-- <template v-slot="scope">-->
<!-- <dict-tag :type="DICT_TYPE.ARCHIVES_FILE_STATUS" :value="scope.row.fileStatus" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="备注" align="center" prop="remarks"/>
<!-- <el-table-column label="创建日期" align="center" prop="createTime" width="180">-->
<!-- <template v-slot="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="归档日期" align="center" prop="recordTime" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleView(scope.row)"
>查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['electronic:finance:update']"
>修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['electronic:finance:delete']"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="1000px" v-dialogDrag append-to-body>
<el-upload
class="upload-demo"
drag
:limit="1"
:action="uploadUrl"
:file-list="fileList"
:headers="headers"
:on-success="handleSuccess"
name="multipartFile"
:multiple="false"
:accept="imgType"
v-show="uploadDisabled"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
<el-form ref="form" :model="form" :rules="rules" label-width="98px" style="margin-top: 20px"
:disabled='this.title==="查看财务档案"'
>
<el-row>
<el-col :span="8">
<el-form-item label="制单人" prop="createBy">
<el-input v-model="form.createBy" placeholder="请输入制单人"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务实体id" prop="companyId">
<el-input v-model="form.companyId" placeholder="请输入业务实体id"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务实体" prop="company">
<el-select
v-model="form.company"
placeholder="请选择业务实体"
value-key="id"
@change="handleCompanyChange"
filterable
>
<el-option
v-for="item in organizationList"
:key="item.id"
:value="item"
:label="item.organizationName"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="用户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户id"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属部门id" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入所属部门id"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="部门名称" prop="deptName">
<treeselect
v-model="form.deptId"
:options="deptOptions"
:show-count="true"
:clearable="true"
placeholder="请选择归属部门"
:normalizer="normalizer"
:disabled = "treeDisabled"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="支付账户" prop="account">
<el-input v-model="form.account" placeholder="请输入支付账户"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目" prop="project">
<el-input v-model="form.project" placeholder="请输入项目"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收据/发票" prop="invoiceNumber">
<el-input v-model="form.invoiceNumber" placeholder="请输入收据/发票号码"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="金额" prop="price">
<el-input v-model="form.price" placeholder="请输入金额"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="status">
<el-select v-model="form.status" placeholder="请选择状态">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CONTRACT_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="纸档位置" prop="position">
<el-cascader
v-model="siteArray"
:options="siteOptions"
:props="propName"
placeholder="请选择纸档位置"
clearable
@change="handleSiteChanged"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="完整性" prop="cherks">
<el-select v-model="form.cherks" placeholder="请选择完整性">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CHERKS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="归档id" prop="recordId">
<el-input v-model="form.recordId" placeholder="请输入归档id"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="交易类型" prop="tradeType">
<el-select v-model="form.tradeType" placeholder="请选择交易类型">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.TRADE_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="支付方式" prop="payType">
<el-select v-model="form.payType" placeholder="请选择支付方式">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="归档状态" prop="fileStatus">
<el-select v-model="form.fileStatus" placeholder="请选择归档状态">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ARCHIVES_FILE_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="交易日期" prop="tradeDate">
<el-date-picker clearable v-model="form.tradeDate" type="date" value-format="timestamp"
placeholder="选择交易日期"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="归档日期" prop="recordTime">
<el-date-picker clearable v-model="form.recordTime" type="date" value-format="timestamp"
placeholder="选择归档日期"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" v-if="optType != 'view'"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
createFinance,
updateFinance,
deleteFinance,
getFinance,
getFinancePage,
exportFinanceExcel
} from '@/api/ea/electronicfinance/finance'
import { getAccessToken, getTenantId } from '@/utils/auth'
import { getOrganizationPage, getSiteTree } from '@/api/setting/organization'
import { listSimpleDepts } from '@/api/system/dept'
import { listSimplePosts } from '@/api/system/post'
import Treeselect from '@riophae/vue-treeselect'
import FileUpload from '@/components/FileUpload'
export default {
name: 'Finance',
components: {FileUpload,Treeselect,},
data() {
return {
propName: {
label: "pName",
value: "pId",
multiple: false,
},
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: '',
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
createBy: null,
companyId: null,
company: null,
userId: null,
deptId: null,
deptName: null,
account: null,
project: null,
invoiceNumber: null,
price: null,
status: null,
position: null,
cherks: null,
recordId: null,
tradeType: null,
payType: null,
fileStatus: null,
contractAttachment: undefined,
remarks: null,
createTime: [],
tradeDate: [],
recordTime: []
},
//
form: {},
//
rules: {},
imgType: '.jpeg, .jpg, .png .doc, .xls, .txt, .pdf, .png, .ofd ',
uploadUrl:
process.env.VUE_APP_BASE_API +
'/admin-api/accounting/attachment/upload', //
headers: {
Authorization: 'Bearer ' + getAccessToken(),
'tenant-id': getTenantId()
}, //
fileList: [], //
getFileUrl: process.env.VUE_APP_BASE_API + '/admin-api/infra/file/',
uploadDisabled: undefined,
optType: undefined,
siteOptions: [], //
siteArray: [], //
organizationList: [],
//
deptOptions: undefined,
treeDisabled:undefined,
//
multiple: true,
//
single: true,
//
ids: [],
}
},
created() {
this.getList();
this.getSiteList();
this.getOrganizationList();
this.getTreeselect()
},
methods: {
/** 查询列表 */
getList() {
this.loading = true
//
getFinancePage(this.queryParams).then(response => {
this.list = response.data.list
this.total = response.data.total
this.loading = false
})
},
/** 取消按钮 */
cancel() {
this.open = false
this.reset()
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
createBy: undefined,
companyId: undefined,
company: undefined,
userId: undefined,
deptId: undefined,
deptName: undefined,
account: undefined,
project: undefined,
invoiceNumber: undefined,
price: undefined,
status: undefined,
position: undefined,
cherks: undefined,
recordId: undefined,
tradeType: undefined,
payType: undefined,
fileStatus: undefined,
remarks: undefined,
tradeDate: undefined,
recordTime: undefined
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.optType = 'add'
this.uploadDisabled = true
this.title = '添加财务档案'
},
/** 查看按钮操作 */
handleView(row) {
this.reset()
this.optType = 'view'
this.uploadDisabled = false
const id = row.id
getFinance(id).then((response) => {
this.form = response.data
// this.form.tradeDate = this.form.effectiveDate;
this.open = true
this.title = '查看财务档案'
})
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id
this.optType = 'edit'
this.uploadDisabled = true
getFinance(id).then(response => {
this.form = response.data
this.open = true
this.title = '修改财务档案'
})
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (!valid) {
return
}
//
if (this.form.id != null) {
updateFinance(this.form).then(response => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
return
}
//
createFinance(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
})
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id || this.ids;
this.$modal.confirm('是否确认删除财务档案编号为"' + id + '"的数据项?').then(function() {
return deleteFinance(id)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {
})
},
/** 导出按钮操作 */
handleExport() {
//
let params = { ...this.queryParams }
params.pageNo = undefined
params.pageSize = undefined
this.$modal.confirm('是否确认导出所有财务档案数据项?').then(() => {
this.exportLoading = true
return exportFinanceExcel(params)
}).then(response => {
this.$download.excel(response, '财务档案.xls')
this.exportLoading = false
}).catch(() => {
})
},
//
handleCompanyChange(val) {
this.form.companyId = val.id;
this.form.company = val.organizationName;
},
//
getOrganizationList() {
getOrganizationPage().then((response) => {
this.organizationList = response.data.list;
});
},
//
handleSuccess(res) {
console.log(res)
this.form.contractAttachment = res.data.url
},
//
normalizer(node) {
return {
id: node.id,
label: node.name,
children: node.children,
};
},
/** 查询部门下拉树结构 + 岗位下拉 */
getTreeselect() {
listSimpleDepts().then((response) => {
// deptOptions
this.deptOptions = [];
this.deptOptions.push(...this.handleTree(response.data, "id"));
});
listSimplePosts().then((response) => {
// postOptions
this.postOptions = [];
this.postOptions.push(...response.data);
});
},
//
handleSiteChanged(obj) {
if (obj != null) {
this.form.organizationId = obj[0];
this.form.depotId = obj[1];
this.form.cabinetId = obj[2];
}
},
//
getSiteList() {
getSiteTree().then((response) => {
this.siteOptions = response.data;
this.siteOptions.map((w) => {
w.children.map((l) => {
let lstr = JSON.stringify(l.children)
.replace(/depotId/g, "lId")
.replace(/cabinetId/g, "pId")
.replace(/cabinetName/g, "pName");
l.children = JSON.parse(lstr);
});
let wstr = JSON.stringify(w.children)
.replace(/organizationId/g, "wId")
.replace(/depotId/g, "pId")
.replace(/depotName/g, "pName");
w.children = JSON.parse(wstr);
});
let ostr = JSON.stringify(this.siteOptions)
.replace(/organizationId/g, "pId")
.replace(/organizationName/g, "pName");
this.siteOptions = JSON.parse(ostr);
// console.log(this.siteOptions);
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
}
}
</script>
Loading…
Cancel
Save