1. 财务管理--资金流水
This commit is contained in:
		
							parent
							
								
									fd868dcd6c
								
							
						
					
					
						commit
						367bc5167c
					
				
							
								
								
									
										44
									
								
								src/api/system/flow.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/api/system/flow.js
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
import request from '@/utils/request'
 | 
			
		||||
 | 
			
		||||
// 查询资金流水列表
 | 
			
		||||
export function listFlow(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/flow/list',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查询资金流水详细
 | 
			
		||||
export function getFlow(flowId) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/flow/' + flowId,
 | 
			
		||||
    method: 'get'
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 新增资金流水
 | 
			
		||||
export function addFlow(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/flow',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改资金流水
 | 
			
		||||
export function updateFlow(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/flow',
 | 
			
		||||
    method: 'put',
 | 
			
		||||
    data: data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除资金流水
 | 
			
		||||
export function delFlow(flowId) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/flow/' + flowId,
 | 
			
		||||
    method: 'delete'
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								src/assets/icons/svg/capital_flow.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/assets/icons/svg/capital_flow.svg
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716516453187" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4873" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 125.4C298.8 125.4 125.4 298.9 125.4 512c0 213.1 173.4 386.6 386.6 386.6 213.2 0 386.6-173.4 386.6-386.6 0-213.2-173.4-386.6-386.6-386.6m0 834.6C265 960 64 759 64 512S265 64 512 64s448 201 448 448-201 448-448 448" fill="#bfbfbf" p-id="4874"></path><path d="M360.1 683.8l-107-79.2c-10.6-7.9-15-21.6-10.9-34.3 4.1-12.6 15.9-21.1 29.1-21.1h481.5v61.4H364.3l32.2 23.9-36.4 49.3z m392.7-209H271.2v-61.4h388.5l-32.2-23.9 36.5-49.3 107 79.2c10.6 7.9 15 21.6 10.9 34.3-4.1 12.6-15.9 21.1-29.1 21.1z" fill="#bfbfbf" p-id="4875"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 869 B  | 
							
								
								
									
										1
									
								
								src/assets/icons/svg/deposit.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/assets/icons/svg/deposit.svg
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716516408199" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3785" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M1002.673702 514.834637c0.035817 270.344596-216.854884 487.803248-486.570129 487.833948-272.682916 0.035817-488.760066-217.064668-488.662849-490.975586 0.097217-267.939759 219.351821-484.359726 490.581602-484.231809C785.409484 27.589107 1002.632769 246.035277 1002.673702 514.834637zM45.451417 515.576555c-0.240484 257.859911 210.766042 470.887523 466.952801 471.429891 261.989067 0.552601 474.198011-208.939389 474.576645-468.503153 0.383751-260.704782-210.924659-473.174676-470.447489-473.041643C257.829211 45.589567 45.686784 257.297077 45.451417 515.576555z" p-id="3786" fill="#bfbfbf"></path><path d="M756.679358 259.47678c0 119.745525 0 237.843482 0 357.614591-12.894019 0-24.237686 0-36.671204 0-1.299635-9.476081-2.435537-17.749743-3.857972-28.085424-29.89161 0-59.967421 0-93.103003 0 0 57.475601 0 114.853985 0 174.033438-14.475071 0-25.967121 0-40.871993 0 0-57.516534 0-114.940968 0-174.197172-33.401649 0-63.513276 0-95.487373 0-0.828901 9.01558-1.652686 17.933943-2.609504 28.315675-12.602368 0-24.012552 0-37.228921 0 0-119.177575 0-237.244831 0-357.686224C549.131704 259.47678 651.552171 259.47678 756.679358 259.47678zM581.233718 546.859901c0-32.511348 0.496317-62.193174-0.491201-91.828951-0.163734-4.881307-6.636326-13.518253-10.484065-13.681987-27.681207-1.187068-55.439165-0.634468-83.156188-0.634468 0 37.684305 0 71.331554 0 106.145405C518.329326 546.859901 547.837186 546.859901 581.233718 546.859901zM581.208135 297.135502c-33.278849 0-63.236976 0-94.438455 0 0 35.402269 0 68.906251 0 105.423954 28.305441 0 55.295898 0.557717 82.209604-0.578184 4.241723-0.179084 11.527867-7.930845 11.681367-12.377235C581.699335 359.267276 581.208135 328.884465 581.208135 297.135502zM624.213781 295.349783c0 37.484755 0 71.065487 0 107.27619 28.054724 0 54.333963 0.711218 80.505751-0.670284 4.589657-0.240484 12.208385-9.056513 12.474452-14.219237 1.299635-25.511737 1.453135-51.176975-0.07675-76.658012-0.332584-5.510658-9.00023-14.689972-14.280638-15.017439C677.503942 294.474831 652.012672 295.349783 624.213781 295.349783zM623.835147 546.522201c32.04573 0 61.38474 0 93.875621 0 0-31.795013 0.614001-62.126658-0.634468-92.381552-0.194434-4.748274-8.672763-12.837735-13.635937-13.093569-26.008055-1.325219-52.118443-0.619118-79.6001-0.619118C623.835147 477.221966 623.835147 510.833398 623.835147 546.522201z" p-id="3787" fill="#bfbfbf"></path><path d="M417.924829 473.814261c1.048918 39.746325 1.345685 41.225044-35.330635 48.562354-23.055734 4.61524-30.024644 14.991855-29.011542 38.027122 1.913636 43.39963 0.665168 86.947644 0.521901 130.429141-0.158617 47.86137-14.157837 62.776475-61.451257 65.135262-13.421036 0.670284-26.898356 0.102333-41.332494 0.102333-2.235987-12.914486-4.24684-24.519103-6.96891-40.237526 15.293739 0 28.443592 0.2456 41.583211-0.0614 16.910608-0.393984 28.310558-8.437396 28.525458-26.059222 0.593534-48.413971 0.204667-96.843292 0.204667-148.629151-25.782921 6.262809-49.176355 11.942317-72.436756 17.591126-10.760366-40.304042-10.760366-40.304042 26.770439-49.171239 46.469635-10.980383 46.474751-10.980383 46.469635-58.176585 0-22.170549-0.598651-44.356448 0.158617-66.501414 0.516784-15.068605-4.405456-21.950532-20.471813-20.829981-16.010073 1.115435-32.15318 0.2456-49.928506 0.2456 0-12.515385 0-22.958517 0-36.118603 23.112017 0 44.893699 0 69.632819 0 0-36.40002 0-70.164953 0-105.843522 13.528486 0 24.094419 0 39.270474 0 0 25.542437 1.376385 51.683526-0.419567 77.604597-1.550352 22.405916 5.689742 31.733613 28.556158 28.627792 9.931465-1.350802 20.20063-0.225134 32.357847-0.225134 0 12.361885 0 22.789667 0 34.363584-6.145126 0.537251-11.957668 1.412202-17.780443 1.494069-47.012002 0.649818-42.483746-6.64656-42.673063 44.755549-0.086983 23.0148 0.2456 46.029601 0.603768 69.039284 0.035817 2.317853 1.560586 4.61524 3.346305 9.542597C377.687303 483.019158 397.238115 478.547184 417.924829 473.814261z" p-id="3788" fill="#bfbfbf"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 4.1 KiB  | 
							
								
								
									
										1
									
								
								src/assets/icons/svg/finance-black.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/assets/icons/svg/finance-black.svg
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716516032473" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2631" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 64C264.8 64 64 264.8 64 512s200.8 448 448 448 448-200.8 448-448S759.2 64 512 64z m36 384H704v64H544.8v64H704v64H544.8v193.6h-64V640H320v-64h160.8v-64H320v-64h157.6L332 302.4l45.6-45.6 136 136 136-136 45.6 45.6L548 448z" p-id="2632" fill="#2c2c2c"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 598 B  | 
							
								
								
									
										1
									
								
								src/assets/icons/svg/finance.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/assets/icons/svg/finance.svg
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716516032473" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2631" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 64C264.8 64 64 264.8 64 512s200.8 448 448 448 448-200.8 448-448S759.2 64 512 64z m36 384H704v64H544.8v64H704v64H544.8v193.6h-64V640H320v-64h160.8v-64H320v-64h157.6L332 302.4l45.6-45.6 136 136 136-136 45.6 45.6L548 448z" p-id="2632" fill="#bfbfbf"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 598 B  | 
							
								
								
									
										1
									
								
								src/assets/icons/svg/reconciliation.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/assets/icons/svg/reconciliation.svg
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716516571453" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5972" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.1953125" height="200"><path d="M529.008294 204.546465l-125.284709 125.284709-125.28471-125.284709-36.051314 36.051314 101.2505 101.2505H250.313736v51.136616h127.841541v67.500334H250.058053v51.136616h128.097224v188.182747h51.136616v-188.182747h127.585857v-51.136616h-127.585857v-67.500334h127.84154v-51.136616h-93.068641l100.994817-101.2505L529.008294 204.546465z" fill="#bfbfbf" p-id="5973"></path><path d="M946.027399 0H76.704924a76.704924 76.704924 0 0 0-76.704924 76.704924v869.322475a76.704924 76.704924 0 0 0 76.704924 76.704924h377.899594a25.568308 25.568308 0 0 0 0-51.136616H76.704924a25.568308 25.568308 0 0 1-25.568308-25.568308V76.704924a25.568308 25.568308 0 0 1 25.568308-25.568308h869.322475a25.568308 25.568308 0 0 1 25.568308 25.568308v274.603629a25.568308 25.568308 0 0 0 51.136616 0V76.704924a76.704924 76.704924 0 0 0-76.704924-76.704924z" fill="#bfbfbf" p-id="5974"></path><path d="M856.282638 747.361645a119.659682 119.659682 0 0 0-76.704925-76.704924 25.568308 25.568308 0 1 0-15.596668 48.579785 68.267383 68.267383 0 0 1 43.721807 43.466124 25.568308 25.568308 0 0 0 24.289893 17.642133 25.568308 25.568308 0 0 0 7.926175-1.278416 25.568308 25.568308 0 0 0 16.363718-31.704702z" fill="#bfbfbf" p-id="5975"></path><path d="M907.419254 871.112256a178.978157 178.978157 0 1 0-36.562681 35.795632l108.153943 108.153943a25.568308 25.568308 0 1 0 36.051315-36.051315z m-142.415476 19.687598a127.84154 127.84154 0 1 1 127.84154-127.841541 127.84154 127.84154 0 0 1-127.84154 127.841541z" fill="#bfbfbf" p-id="5976"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.8 KiB  | 
							
								
								
									
										335
									
								
								src/views/system/flow/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										335
									
								
								src/views/system/flow/index.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,335 @@
 | 
			
		|||
<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="areaId">
 | 
			
		||||
        <el-input
 | 
			
		||||
          v-model="queryParams.areaId"
 | 
			
		||||
          placeholder="请输入区域"
 | 
			
		||||
          clearable
 | 
			
		||||
          @keyup.enter.native="handleQuery"
 | 
			
		||||
        />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="关联订单号" label-width="90" prop="orderNo">
 | 
			
		||||
        <el-input
 | 
			
		||||
          v-model="queryParams.orderNo"
 | 
			
		||||
          placeholder="请输入关联订单号"
 | 
			
		||||
          clearable
 | 
			
		||||
          @keyup.enter.native="handleQuery"
 | 
			
		||||
        />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="第三方交易单号" label-width="100" prop="outTradeNo">
 | 
			
		||||
        <el-input
 | 
			
		||||
          v-model="queryParams.outTradeNo"
 | 
			
		||||
          placeholder="请输入第三方交易单号"
 | 
			
		||||
          clearable
 | 
			
		||||
          @keyup.enter.native="handleQuery"
 | 
			
		||||
        />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="收支类型" prop="type">
 | 
			
		||||
        <el-select style="width: 100px" v-model="queryParams.type" placeholder="请选择收支类型" clearable>
 | 
			
		||||
          <el-option
 | 
			
		||||
            v-for="dict in dict.type.et_flow_type"
 | 
			
		||||
            :key="dict.value"
 | 
			
		||||
            :label="dict.label"
 | 
			
		||||
            :value="dict.value"
 | 
			
		||||
          />
 | 
			
		||||
        </el-select>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="业务类型" prop="busType">
 | 
			
		||||
        <el-select style="width: 150px" v-model="queryParams.busType" placeholder="请选择业务类型" clearable>
 | 
			
		||||
          <el-option
 | 
			
		||||
            v-for="dict in dict.type.et_business_type"
 | 
			
		||||
            :key="dict.value"
 | 
			
		||||
            :label="dict.label"
 | 
			
		||||
            :value="dict.value"
 | 
			
		||||
          />
 | 
			
		||||
        </el-select>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item>
 | 
			
		||||
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
 | 
			
		||||
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
 | 
			
		||||
    <el-row :gutter="10" class="mb8">
 | 
			
		||||
      <el-col :span="1.5">
 | 
			
		||||
        <el-button
 | 
			
		||||
          type="warning"
 | 
			
		||||
          plain
 | 
			
		||||
          icon="el-icon-download"
 | 
			
		||||
          size="mini"
 | 
			
		||||
          @click="handleExport"
 | 
			
		||||
          v-hasPermi="['system:flow:export']"
 | 
			
		||||
        >导出</el-button>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
 | 
			
		||||
    </el-row>
 | 
			
		||||
 | 
			
		||||
    <el-table v-loading="loading" :data="flowList" @selection-change="handleSelectionChange">
 | 
			
		||||
      <el-table-column type="selection" width="55" align="center" />
 | 
			
		||||
<!--      <el-table-column label="流水id" align="center" prop="flowId" />-->
 | 
			
		||||
      <el-table-column label="交易时间" align="center" prop="createTime" width="150">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="区域" align="center" prop="areaId" />
 | 
			
		||||
      <el-table-column label="关联订单号" width="260" align="center" prop="orderNo" />
 | 
			
		||||
      <el-table-column label="第三方交易单号" width="250" align="center" prop="outTradeNo" />
 | 
			
		||||
      <el-table-column label="收支类型" align="center" prop="type">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <dict-tag :options="dict.type.et_flow_type" :value="scope.row.type"/>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="业务类型" align="center" prop="busType">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <dict-tag :options="dict.type.et_business_type" :value="scope.row.busType"/>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="交易金额" align="center" prop="amount" :formatter="formatAmount"/>
 | 
			
		||||
      <el-table-column label="手续费" align="center" prop="handlingCharge" :formatter="formatAmount"/>
 | 
			
		||||
      <el-table-column label="运营商分账" align="center" prop="operatorDividend" :formatter="formatAmount"/>
 | 
			
		||||
      <el-table-column label="运营商结余" align="center" prop="operatorBalance" :formatter="formatAmount"/>
 | 
			
		||||
      <el-table-column label="合伙人分账" align="center" prop="partnerDividend" :formatter="formatAmount"/>
 | 
			
		||||
      <el-table-column label="支付方式" align="center" prop="payType">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <dict-tag :options="dict.type.et_pay_type" :value="scope.row.payType"/>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table>
 | 
			
		||||
 | 
			
		||||
    <pagination
 | 
			
		||||
      v-show="total>0"
 | 
			
		||||
      :total="total"
 | 
			
		||||
      :page.sync="queryParams.pageNum"
 | 
			
		||||
      :limit.sync="queryParams.pageSize"
 | 
			
		||||
      @pagination="getList"
 | 
			
		||||
    />
 | 
			
		||||
 | 
			
		||||
    <!-- 添加或修改资金流水对话框 -->
 | 
			
		||||
    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
 | 
			
		||||
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
 | 
			
		||||
        <el-form-item label="区域" prop="areaId">
 | 
			
		||||
          <el-input v-model="form.areaId" placeholder="请输入区域" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="关联订单号" prop="orderNo">
 | 
			
		||||
          <el-input v-model="form.orderNo" placeholder="请输入关联订单号" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="第三方交易单号" prop="outTradeNo">
 | 
			
		||||
          <el-input v-model="form.outTradeNo" placeholder="请输入第三方交易单号" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="收支类型" prop="type">
 | 
			
		||||
          <el-select v-model="form.type" placeholder="请选择收支类型">
 | 
			
		||||
            <el-option
 | 
			
		||||
              v-for="dict in dict.type.et_flow_type"
 | 
			
		||||
              :key="dict.value"
 | 
			
		||||
              :label="dict.label"
 | 
			
		||||
              :value="dict.value"
 | 
			
		||||
            ></el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="业务类型" prop="busType">
 | 
			
		||||
          <el-select v-model="form.busType" placeholder="请选择业务类型">
 | 
			
		||||
            <el-option
 | 
			
		||||
              v-for="dict in dict.type.et_business_type"
 | 
			
		||||
              :key="dict.value"
 | 
			
		||||
              :label="dict.label"
 | 
			
		||||
              :value="dict.value"
 | 
			
		||||
            ></el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="交易金额" prop="amount">
 | 
			
		||||
          <el-input v-model="form.amount" placeholder="请输入交易金额" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="手续费" prop="handlingCharge">
 | 
			
		||||
          <el-input v-model="form.handlingCharge" placeholder="请输入手续费" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="运营商分账" prop="operatorDividend">
 | 
			
		||||
          <el-input v-model="form.operatorDividend" placeholder="请输入运营商分账" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="运营商结余" prop="operatorBalance">
 | 
			
		||||
          <el-input v-model="form.operatorBalance" placeholder="请输入运营商结余" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="合伙人分账" prop="partnerDividend">
 | 
			
		||||
          <el-input v-model="form.partnerDividend" placeholder="请输入合伙人分账" />
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="支付方式" prop="payType">
 | 
			
		||||
          <el-select v-model="form.payType" placeholder="请选择支付方式">
 | 
			
		||||
            <el-option
 | 
			
		||||
              v-for="dict in dict.type.et_pay_type"
 | 
			
		||||
              :key="dict.value"
 | 
			
		||||
              :label="dict.label"
 | 
			
		||||
              :value="dict.value"
 | 
			
		||||
            ></el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <div slot="footer" class="dialog-footer">
 | 
			
		||||
        <el-button type="primary" @click="submitForm">确 定</el-button>
 | 
			
		||||
        <el-button @click="cancel">取 消</el-button>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { listFlow, getFlow, delFlow, addFlow, updateFlow } from "@/api/system/flow";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: "Flow",
 | 
			
		||||
  dicts: ['et_business_type', 'et_pay_type', 'et_flow_type'],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      // 遮罩层
 | 
			
		||||
      loading: true,
 | 
			
		||||
      // 选中数组
 | 
			
		||||
      ids: [],
 | 
			
		||||
      // 非单个禁用
 | 
			
		||||
      single: true,
 | 
			
		||||
      // 非多个禁用
 | 
			
		||||
      multiple: true,
 | 
			
		||||
      // 显示搜索条件
 | 
			
		||||
      showSearch: true,
 | 
			
		||||
      // 总条数
 | 
			
		||||
      total: 0,
 | 
			
		||||
      // 资金流水表格数据
 | 
			
		||||
      flowList: [],
 | 
			
		||||
      // 弹出层标题
 | 
			
		||||
      title: "",
 | 
			
		||||
      // 是否显示弹出层
 | 
			
		||||
      open: false,
 | 
			
		||||
      // 查询参数
 | 
			
		||||
      queryParams: {
 | 
			
		||||
        pageNum: 1,
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        areaId: null,
 | 
			
		||||
        orderNo: null,
 | 
			
		||||
        outTradeNo: null,
 | 
			
		||||
        type: null,
 | 
			
		||||
        busType: null,
 | 
			
		||||
        amount: null,
 | 
			
		||||
        handlingCharge: null,
 | 
			
		||||
        operatorDividend: null,
 | 
			
		||||
        operatorBalance: null,
 | 
			
		||||
        partnerDividend: null,
 | 
			
		||||
        payType: null,
 | 
			
		||||
      },
 | 
			
		||||
      // 表单参数
 | 
			
		||||
      form: {},
 | 
			
		||||
      // 表单校验
 | 
			
		||||
      rules: {
 | 
			
		||||
      }
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getList();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    formatAmount(row, column) {
 | 
			
		||||
      const key = column.property;
 | 
			
		||||
      return parseFloat(row[key]).toFixed(2);
 | 
			
		||||
    },
 | 
			
		||||
    /** 查询资金流水列表 */
 | 
			
		||||
    getList() {
 | 
			
		||||
      this.loading = true;
 | 
			
		||||
      listFlow(this.queryParams).then(response => {
 | 
			
		||||
        this.flowList = response.rows;
 | 
			
		||||
        this.total = response.total;
 | 
			
		||||
        this.loading = false;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 取消按钮
 | 
			
		||||
    cancel() {
 | 
			
		||||
      this.open = false;
 | 
			
		||||
      this.reset();
 | 
			
		||||
    },
 | 
			
		||||
    // 表单重置
 | 
			
		||||
    reset() {
 | 
			
		||||
      this.form = {
 | 
			
		||||
        flowId: null,
 | 
			
		||||
        areaId: null,
 | 
			
		||||
        orderNo: null,
 | 
			
		||||
        outTradeNo: null,
 | 
			
		||||
        type: null,
 | 
			
		||||
        busType: null,
 | 
			
		||||
        amount: null,
 | 
			
		||||
        handlingCharge: null,
 | 
			
		||||
        operatorDividend: null,
 | 
			
		||||
        operatorBalance: null,
 | 
			
		||||
        partnerDividend: null,
 | 
			
		||||
        payType: null,
 | 
			
		||||
        createTime: null
 | 
			
		||||
      };
 | 
			
		||||
      this.resetForm("form");
 | 
			
		||||
    },
 | 
			
		||||
    /** 搜索按钮操作 */
 | 
			
		||||
    handleQuery() {
 | 
			
		||||
      this.queryParams.pageNum = 1;
 | 
			
		||||
      this.getList();
 | 
			
		||||
    },
 | 
			
		||||
    /** 重置按钮操作 */
 | 
			
		||||
    resetQuery() {
 | 
			
		||||
      this.resetForm("queryForm");
 | 
			
		||||
      this.handleQuery();
 | 
			
		||||
    },
 | 
			
		||||
    // 多选框选中数据
 | 
			
		||||
    handleSelectionChange(selection) {
 | 
			
		||||
      this.ids = selection.map(item => item.flowId)
 | 
			
		||||
      this.single = selection.length!==1
 | 
			
		||||
      this.multiple = !selection.length
 | 
			
		||||
    },
 | 
			
		||||
    /** 新增按钮操作 */
 | 
			
		||||
    handleAdd() {
 | 
			
		||||
      this.reset();
 | 
			
		||||
      this.open = true;
 | 
			
		||||
      this.title = "添加资金流水";
 | 
			
		||||
    },
 | 
			
		||||
    /** 修改按钮操作 */
 | 
			
		||||
    handleUpdate(row) {
 | 
			
		||||
      this.reset();
 | 
			
		||||
      const flowId = row.flowId || this.ids
 | 
			
		||||
      getFlow(flowId).then(response => {
 | 
			
		||||
        this.form = response.data;
 | 
			
		||||
        this.open = true;
 | 
			
		||||
        this.title = "修改资金流水";
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    /** 提交按钮 */
 | 
			
		||||
    submitForm() {
 | 
			
		||||
      this.$refs["form"].validate(valid => {
 | 
			
		||||
        if (valid) {
 | 
			
		||||
          if (this.form.flowId != null) {
 | 
			
		||||
            updateFlow(this.form).then(response => {
 | 
			
		||||
              this.$modal.msgSuccess("修改成功");
 | 
			
		||||
              this.open = false;
 | 
			
		||||
              this.getList();
 | 
			
		||||
            });
 | 
			
		||||
          } else {
 | 
			
		||||
            addFlow(this.form).then(response => {
 | 
			
		||||
              this.$modal.msgSuccess("新增成功");
 | 
			
		||||
              this.open = false;
 | 
			
		||||
              this.getList();
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    /** 删除按钮操作 */
 | 
			
		||||
    handleDelete(row) {
 | 
			
		||||
      const flowIds = row.flowId || this.ids;
 | 
			
		||||
      this.$modal.confirm('是否确认删除资金流水编号为"' + flowIds + '"的数据项?').then(function() {
 | 
			
		||||
        return delFlow(flowIds);
 | 
			
		||||
      }).then(() => {
 | 
			
		||||
        this.getList();
 | 
			
		||||
        this.$modal.msgSuccess("删除成功");
 | 
			
		||||
      }).catch(() => {});
 | 
			
		||||
    },
 | 
			
		||||
    /** 导出按钮操作 */
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      this.download('system/flow/export', {
 | 
			
		||||
        ...this.queryParams
 | 
			
		||||
      }, `flow_${new Date().getTime()}.xlsx`)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user