|
@@ -1,15 +1,27 @@
|
|
|
<template>
|
|
|
<div class="m-container">
|
|
|
<h2>
|
|
|
- <div class="squrt"></div>支出
|
|
|
+ <div class="squrt"></div>支出记录
|
|
|
</h2>
|
|
|
<div class="m-core">
|
|
|
+ <el-upload
|
|
|
+ style="display: inline-block;"
|
|
|
+ action="/api-web/import/financialExpenditure"
|
|
|
+ :show-file-list="false"
|
|
|
+ :before-upload="beforeUpload"
|
|
|
+ accept=".xlsx,.xls"
|
|
|
+ :headers="headers"
|
|
|
+ :on-error="handleError"
|
|
|
+ :on-success="handleSuccess">
|
|
|
+ <el-button class="btn-primary">导入</el-button>
|
|
|
+ </el-upload>
|
|
|
+ <el-button @click="downloadFile" class="btn-primary">模版文件下载</el-button>
|
|
|
<!-- 搜索类型 -->
|
|
|
<el-form :inline="true"
|
|
|
class="searchForm"
|
|
|
v-model.trim="searchForm">
|
|
|
<el-form-item>
|
|
|
- <el-input placeholder="申请人" type="text"></el-input>
|
|
|
+ <el-input v-model.trim="searchForm.search" placeholder="批次号、申请人等" type="text"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-select v-model.trim="searchForm.organId" clearable filterable placeholder="请选择所属分部">
|
|
@@ -17,11 +29,11 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select clearable filterable placeholder="请选择所属学校" v-model="searchForm.schoolName">
|
|
|
- <el-option label="1" value="1"></el-option>
|
|
|
+ <el-select clearable filterable placeholder="请选择所属学校" v-model="searchForm.cooperationOrganId">
|
|
|
+ <el-option v-for="(item,index) in cooperations" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item>
|
|
|
+ <!-- <el-form-item>
|
|
|
<el-select clearable filterable placeholder="请选择支出类型" v-model="searchForm.saleType">
|
|
|
<el-option label="1" value="1"></el-option>
|
|
|
</el-select>
|
|
@@ -35,7 +47,7 @@
|
|
|
<el-select clearable filterable placeholder="请选择收款方式" v-model="searchForm.paymentChannel">
|
|
|
<el-option v-for="item in paymentChannelStatus" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item>
|
|
|
<el-date-picker style="width:410px;"
|
|
|
v-model.trim="orderDate"
|
|
@@ -64,22 +76,22 @@
|
|
|
@selection-change="handleSelectionChange"
|
|
|
:header-cell-style="{background:'#EDEEF0',color:'#444'}">
|
|
|
<el-table-column type="selection" width="50"></el-table-column>
|
|
|
- <el-table-column align='center' prop="id" label="批次号"></el-table-column>
|
|
|
- <el-table-column align='center' prop="organName" label="流程编号"></el-table-column>
|
|
|
- <el-table-column align='center' prop="organName" label="钉钉流程编号"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="batchNo" label="批次号"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="financialProcessNo" label="流程编号"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="dingtalkProcessNo" label="钉钉流程编号"></el-table-column>
|
|
|
<el-table-column align='center' prop="organName" label="费用归属分部"></el-table-column>
|
|
|
- <el-table-column align='center' prop="actualAmount" label="费用归属学校"></el-table-column>
|
|
|
- <el-table-column align='center' prop="orderNo" label="申请人"></el-table-column>
|
|
|
- <el-table-column align='center' prop="orderNo" label="费用项目"></el-table-column>
|
|
|
- <el-table-column align='center' prop="orderNo" label="付款金额"></el-table-column>
|
|
|
- <el-table-column align='center' prop="orderNo" label="付款时间"></el-table-column>
|
|
|
- <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="事由"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="cooperationName" label="费用归属学校"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="applyUserId" label="申请人"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="itemDetail" label="费用项目"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="amount" label="付款金额"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="paymentTime" label="付款时间"></el-table-column>
|
|
|
+ <el-table-column align='center' prop="cause" label="事由"></el-table-column>
|
|
|
<el-table-column align='center' prop="memo" label="备注"></el-table-column>
|
|
|
- <el-table-column align='center' width='220px' fixed="right" label="操作">
|
|
|
+ <el-table-column align='center' width='120px' fixed="right" label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
- <!-- <el-button type="text">删除</el-button> -->
|
|
|
<el-popconfirm
|
|
|
title="确定删除该条数据吗?"
|
|
|
+ :onConfirm="() => removeRecord(scope.row.id)"
|
|
|
>
|
|
|
<el-button type="text" slot="reference">删除</el-button>
|
|
|
</el-popconfirm>
|
|
@@ -93,28 +105,70 @@
|
|
|
@pagination="getList" />
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!-- <el-dialog
|
|
|
+ title="修改支出记录"
|
|
|
+ :visible.sync="visible"
|
|
|
+ >
|
|
|
+ <el-form :model="updateForm" :rules="updateRules" label-width="100px" ref="updateForm">
|
|
|
+ <el-form-item label="批次号" prop="batchNo">
|
|
|
+ <el-input v-model="ruleForm.batchNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="流程编号" prop="financialProcessNo">
|
|
|
+ <el-input v-model="ruleForm.batchNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="钉钉流程编号" prop="dingtalkProcessNo">
|
|
|
+ <el-input v-model="ruleForm.batchNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="费用归属分部" prop="organId">
|
|
|
+ <el-input v-model="ruleForm.batchNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="费用归属学校" prop="cooperationOrganId">
|
|
|
+ <el-input v-model="ruleForm.batchNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="费用归属学校" prop="cooperationOrganId">
|
|
|
+ <el-input v-model="ruleForm.batchNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="visible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="visible = false">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import pagination from '@/components/Pagination/index'
|
|
|
-import { studentRefundsQueryPage, applyRefundAudit } from '@/api/orderManager'
|
|
|
-import { getEmployeeOrgan } from '@/api/buildTeam'
|
|
|
+import { Export } from '@/utils/downLoadFile'
|
|
|
+import { getFinancialExpenditure, applyRefundAudit, removeFinancialExpenditure, updateFinancialExpenditure } from '@/api/orderManager'
|
|
|
+import { getEmployeeOrgan, getCooperation } from '@/api/buildTeam'
|
|
|
+import { getToken } from "@/utils/auth";
|
|
|
import { paymentChannelStatus } from '@/utils/searchArray'
|
|
|
+import load from '@/utils/loading'
|
|
|
import dayjs from 'dayjs'
|
|
|
export default {
|
|
|
components: { pagination },
|
|
|
name: 'backMoney',
|
|
|
data () {
|
|
|
return {
|
|
|
+ visible: false,
|
|
|
+ detail: null,
|
|
|
paymentChannelStatus: paymentChannelStatus,
|
|
|
orderDate: null,
|
|
|
searchForm: {
|
|
|
startTime: null,
|
|
|
endTime: null,
|
|
|
- organId: null
|
|
|
+ organId: null,
|
|
|
+ search: '',
|
|
|
+ dingtalkProcessNo: '',
|
|
|
+ financialProcessNo: '',
|
|
|
+ cooperationOrganId: null,
|
|
|
+ },
|
|
|
+ headers: {
|
|
|
+ Authorization: getToken()
|
|
|
},
|
|
|
tableList: [],
|
|
|
organList: [],
|
|
|
+ cooperations: [],
|
|
|
pageInfo: {
|
|
|
// 分页规则
|
|
|
limit: 10, // 限制显示条数
|
|
@@ -131,6 +185,12 @@ export default {
|
|
|
this.organList = res.data;
|
|
|
}
|
|
|
})
|
|
|
+ getCooperation({ 'rows': 1000, })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.cooperations = res.data.rows;
|
|
|
+ }
|
|
|
+ })
|
|
|
this.getList()
|
|
|
var now = new Date();
|
|
|
var startDate = dayjs().format('YYYY-MM-DD');
|
|
@@ -140,6 +200,41 @@ export default {
|
|
|
this.orderDate.push(endDate)
|
|
|
},
|
|
|
methods: {
|
|
|
+ editRecord(detail) {
|
|
|
+ this.visible = true
|
|
|
+ this.detail = detail
|
|
|
+ },
|
|
|
+ removeRecord(id) {
|
|
|
+ removeFinancialExpenditure({
|
|
|
+ ids: id
|
|
|
+ })
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ beforeUpload(file) {
|
|
|
+ load.startLoading()
|
|
|
+ },
|
|
|
+ handleSuccess(response, file, fileList) {
|
|
|
+ load.endLoading()
|
|
|
+ console.log(response, file, fileList)
|
|
|
+ if(response.code == 200) {
|
|
|
+ this.$message.success('导入成功')
|
|
|
+ this.getList()
|
|
|
+ } else {
|
|
|
+ this.$message.error(response.msg)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleError(err, file, fileList) {
|
|
|
+ load.endLoading()
|
|
|
+ console.log(err, file, fileList)
|
|
|
+ },
|
|
|
+ downloadFile() {
|
|
|
+ Export(this, {
|
|
|
+ url: '/api-web/import/downloadTemplate',
|
|
|
+ params: {
|
|
|
+ templateType: 'FINANCIAL_EXPENDITURE'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
search () {
|
|
|
this.pageInfo.page = 1;
|
|
|
this.getList()
|
|
@@ -175,7 +270,7 @@ export default {
|
|
|
let params = this.searchForm
|
|
|
params.rows = this.pageInfo.limit
|
|
|
params.page = this.pageInfo.page
|
|
|
- studentRefundsQueryPage(params).then(res => {
|
|
|
+ getFinancialExpenditure(params).then(res => {
|
|
|
let result = res.data
|
|
|
if (res.code == 200) {
|
|
|
this.tableList = result.rows
|
|
@@ -193,16 +288,22 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
onReSet () {
|
|
|
- this.orderDate = null
|
|
|
+ var now = new Date();
|
|
|
+ var startDate = dayjs().format('YYYY-MM-DD');
|
|
|
+ var endDate = dayjs().format('YYYY-MM-DD');
|
|
|
+ this.orderDate = [];
|
|
|
+ this.orderDate.push(startDate)
|
|
|
+ this.orderDate.push(endDate)
|
|
|
this.searchForm = {
|
|
|
startTime: null,
|
|
|
endTime: null
|
|
|
}
|
|
|
+ this.pageInfo.page = 1
|
|
|
+ this.getList()
|
|
|
},
|
|
|
onBatchDel() {
|
|
|
// 批量删除
|
|
|
const passed = this.passed
|
|
|
- console.log(passed)
|
|
|
if(passed.length <= 0) {
|
|
|
this.$message.error('请至少选择一条数据')
|
|
|
return
|
|
@@ -212,11 +313,17 @@ export default {
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning"
|
|
|
}).then(() => {
|
|
|
-
|
|
|
+ removeFinancialExpenditure({
|
|
|
+ ids: this.passed.join(',')
|
|
|
+ })
|
|
|
+ this.getList()
|
|
|
}).catch(() => { });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
-</style>
|
|
|
+ .newBand{
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+</style>
|