Browse Source

支出记录完成

wolyshaw 4 years ago
parent
commit
756443bb10
2 changed files with 161 additions and 27 deletions
  1. 29 2
      src/api/orderManager.js
  2. 132 25
      src/views/businessManager/orderManager/payRecord.vue

+ 29 - 2
src/api/orderManager.js

@@ -74,7 +74,7 @@ export function applyRefundAudit (data) {
   })
   })
 }
 }
 
 
-// 提现 
+// 提现
 export function studentWithdraw (data) {
 export function studentWithdraw (data) {
   return request({
   return request({
     url: api + '/studentWithdraw/queryPage',
     url: api + '/studentWithdraw/queryPage',
@@ -83,7 +83,7 @@ export function studentWithdraw (data) {
   })
   })
 }
 }
 
 
-// 确认提现 
+// 确认提现
 export function studentWithdrawConfirm (data) {
 export function studentWithdrawConfirm (data) {
   return request({
   return request({
     url: api + '/studentWithdraw/confirm',
     url: api + '/studentWithdraw/confirm',
@@ -127,3 +127,30 @@ export function getOrderStatus (data) {
     params: data
     params: data
   })
   })
 }
 }
+
+// 财务支出列表
+export function getFinancialExpenditure (data) {
+  return request({
+    url: api + '/financialExpenditure/queryPage',
+    method: 'GET',
+    params: data
+  })
+}
+
+// 财务支出删除
+export function removeFinancialExpenditure (data) {
+  return request({
+    url: api + '/financialExpenditure/batchDel',
+    method: 'POST',
+    params: data
+  })
+}
+
+// 财务支出更新
+export function updateFinancialExpenditure (data) {
+  return request({
+    url: api + '/financialExpenditure/update',
+    method: 'POST',
+    data
+  })
+}

+ 132 - 25
src/views/businessManager/orderManager/payRecord.vue

@@ -1,15 +1,27 @@
 <template>
 <template>
   <div class="m-container">
   <div class="m-container">
     <h2>
     <h2>
-      <div class="squrt"></div>支出
+      <div class="squrt"></div>支出记录
     </h2>
     </h2>
     <div class="m-core">
     <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"
       <el-form :inline="true"
                class="searchForm"
                class="searchForm"
                v-model.trim="searchForm">
                v-model.trim="searchForm">
         <el-form-item>
         <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-form-item>
         <el-form-item>
           <el-select v-model.trim="searchForm.organId" clearable filterable placeholder="请选择所属分部">
           <el-select v-model.trim="searchForm.organId" clearable filterable placeholder="请选择所属分部">
@@ -17,11 +29,11 @@
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <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-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item>
+        <!-- <el-form-item>
           <el-select clearable filterable placeholder="请选择支出类型" v-model="searchForm.saleType">
           <el-select clearable filterable placeholder="请选择支出类型" v-model="searchForm.saleType">
             <el-option label="1" value="1"></el-option>
             <el-option label="1" value="1"></el-option>
           </el-select>
           </el-select>
@@ -35,7 +47,7 @@
           <el-select clearable filterable placeholder="请选择收款方式" v-model="searchForm.paymentChannel">
           <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-option v-for="item in paymentChannelStatus" :key="item.value" :label="item.label" :value="item.value"></el-option>
           </el-select>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item>
         <el-form-item>
           <el-date-picker style="width:410px;"
           <el-date-picker style="width:410px;"
                           v-model.trim="orderDate"
                           v-model.trim="orderDate"
@@ -64,22 +76,22 @@
                   @selection-change="handleSelectionChange"
                   @selection-change="handleSelectionChange"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
           <el-table-column type="selection" width="50"></el-table-column>
           <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="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' 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">
             <template slot-scope="scope">
-              <!-- <el-button type="text">删除</el-button> -->
               <el-popconfirm
               <el-popconfirm
                 title="确定删除该条数据吗?"
                 title="确定删除该条数据吗?"
+                :onConfirm="() => removeRecord(scope.row.id)"
               >
               >
                 <el-button type="text" slot="reference">删除</el-button>
                 <el-button type="text" slot="reference">删除</el-button>
               </el-popconfirm>
               </el-popconfirm>
@@ -93,28 +105,70 @@
                     @pagination="getList" />
                     @pagination="getList" />
       </div>
       </div>
     </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>
   </div>
 </template>
 </template>
 <script>
 <script>
 import pagination from '@/components/Pagination/index'
 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 { paymentChannelStatus } from '@/utils/searchArray'
+import load from '@/utils/loading'
 import dayjs from 'dayjs'
 import dayjs from 'dayjs'
 export default {
 export default {
   components: { pagination },
   components: { pagination },
   name: 'backMoney',
   name: 'backMoney',
   data () {
   data () {
     return {
     return {
+      visible: false,
+      detail: null,
       paymentChannelStatus: paymentChannelStatus,
       paymentChannelStatus: paymentChannelStatus,
       orderDate: null,
       orderDate: null,
       searchForm: {
       searchForm: {
         startTime: null,
         startTime: null,
         endTime: null,
         endTime: null,
-        organId: null
+        organId: null,
+        search: '',
+        dingtalkProcessNo: '',
+        financialProcessNo: '',
+        cooperationOrganId: null,
+      },
+      headers: {
+        Authorization: getToken()
       },
       },
       tableList: [],
       tableList: [],
       organList: [],
       organList: [],
+      cooperations: [],
       pageInfo: {
       pageInfo: {
         // 分页规则
         // 分页规则
         limit: 10, // 限制显示条数
         limit: 10, // 限制显示条数
@@ -131,6 +185,12 @@ export default {
         this.organList = res.data;
         this.organList = res.data;
       }
       }
     })
     })
+    getCooperation({ 'rows': 1000, })
+    .then(res => {
+      if (res.code == 200) {
+        this.cooperations = res.data.rows;
+      }
+    })
     this.getList()
     this.getList()
     var now = new Date();
     var now = new Date();
     var startDate = dayjs().format('YYYY-MM-DD');
     var startDate = dayjs().format('YYYY-MM-DD');
@@ -140,6 +200,41 @@ export default {
     this.orderDate.push(endDate)
     this.orderDate.push(endDate)
   },
   },
   methods: {
   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 () {
     search () {
       this.pageInfo.page = 1;
       this.pageInfo.page = 1;
       this.getList()
       this.getList()
@@ -175,7 +270,7 @@ export default {
       let params = this.searchForm
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
       params.page = this.pageInfo.page
-      studentRefundsQueryPage(params).then(res => {
+      getFinancialExpenditure(params).then(res => {
         let result = res.data
         let result = res.data
         if (res.code == 200) {
         if (res.code == 200) {
           this.tableList = result.rows
           this.tableList = result.rows
@@ -193,16 +288,22 @@ export default {
       }
       }
     },
     },
     onReSet () {
     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 = {
       this.searchForm = {
         startTime: null,
         startTime: null,
         endTime: null
         endTime: null
       }
       }
+      this.pageInfo.page = 1
+      this.getList()
     },
     },
     onBatchDel() {
     onBatchDel() {
       // 批量删除
       // 批量删除
       const passed = this.passed
       const passed = this.passed
-      console.log(passed)
       if(passed.length <= 0) {
       if(passed.length <= 0) {
         this.$message.error('请至少选择一条数据')
         this.$message.error('请至少选择一条数据')
         return
         return
@@ -212,11 +313,17 @@ export default {
         cancelButtonText: "取消",
         cancelButtonText: "取消",
         type: "warning"
         type: "warning"
       }).then(() => {
       }).then(() => {
-
+        removeFinancialExpenditure({
+          ids: this.passed.join(',')
+        })
+        this.getList()
       }).catch(() => { });
       }).catch(() => { });
     }
     }
   }
   }
 }
 }
 </script>
 </script>
 <style lang="scss">
 <style lang="scss">
-</style>
+  .newBand{
+    display: inline-block;
+  }
+</style>