Authored by jiran.zhao

一件代发

@@ -5,6 +5,7 @@ import franchisePayment from './franchise-payment'; @@ -5,6 +5,7 @@ import franchisePayment from './franchise-payment';
5 import print from './print'; 5 import print from './print';
6 import stock from './stock'; 6 import stock from './stock';
7 import invoice from './invoice'; 7 import invoice from './invoice';
  8 +import withdraw from './withdraw';
8 export default { 9 export default {
9 clearing, 10 clearing,
10 payment, 11 payment,
@@ -13,4 +14,5 @@ export default { @@ -13,4 +14,5 @@ export default {
13 print, 14 print,
14 stock, 15 stock,
15 invoice, 16 invoice,
  17 + withdraw,
16 }; 18 };
  1 +<template>
  2 + <layout-body>
  3 + <layout-filter>
  4 + <filter-item>
  5 + <p><span class="bold-title">状态:提现成功</span><br /><span class="no">交易成功时间:2020-03-31 23:43:21</span></p>
  6 + </filter-item>
  7 + <filter-item>
  8 + <p><span class="no">创建时间:2020-3-30 21:34:23</span><span class="no">店铺:一件代发店铺</span><span class="no">供应商:一件代发供应商</span></p>
  9 + </filter-item>
  10 + </layout-filter>
  11 + <layout-list>
  12 +<!-- <Table border :columns="columns" :row-class-name="rowClassName" :data="dataList"></Table>-->
  13 + <table border class="table-body">
  14 + <tr class="tr-body" v-for="(row, outerIndex) in dataArray" :key="outerIndex">
  15 + <!-- flex: 0 0 x% 自适应布局,每一大列的宽度按百分比显示 -->
  16 + <div class="td-box" :style="{flex: '0 0 ' + 100 / row.length + '%'}" v-for="(col, innerIndex) in row" :key="innerIndex">
  17 + <td class="td-key">{{ col.key }}</td>
  18 + <td class="td-value">{{ col.value }}</td>
  19 + </div>
  20 + </tr>
  21 + </table>
  22 + </layout-list>
  23 + <layout-filter>
  24 + <filter-item>
  25 + <i-button type="primary" @click="backList">返回列表</i-button>
  26 + <i-button type="ghost" @click="handleTeacherData">测试数据展示</i-button>
  27 + </filter-item>
  28 + </layout-filter>
  29 + </layout-body>
  30 +</template>
  31 +<script>
  32 + import _ from 'lodash';
  33 + import detail from './store/detail';
  34 +
  35 + export default {
  36 + data() {
  37 + return detail.call(this);
  38 + },
  39 + props: {
  40 + dataArray: {
  41 + type: Array,
  42 + require: true
  43 + }
  44 + },
  45 + methods: {
  46 + backList() {
  47 + this.$router.push({ name: 'finance.withdraw.withdrawlist' });
  48 + },
  49 + handleTeacherData () {
  50 + // if (!teacher) {
  51 + // return
  52 + // }
  53 + let table = [] // 大表格
  54 + let tmpRow = [] // 临时数组,表示 row,一行数据
  55 +
  56 + tmpRow.push({key: '业务单据号', value: "20200330200040011100100086516385"})
  57 + tmpRow.push({key: '类型', value: "提现"})
  58 + table.push(tmpRow)
  59 + tmpRow = []
  60 +
  61 + tmpRow.push({key: '收款账户', value: "张三商贸有限公司(caomei@yoho.cn)"})
  62 + tmpRow.push({key: '付款账户', value: "有货商贸有限公司(yh@yoho.cn)"})
  63 + table.push(tmpRow)
  64 + tmpRow = []
  65 +
  66 + tmpRow.push({key: '申请金额(元)', value: "10000.00"})
  67 + tmpRow.push({key: '服务费', value: '100.00'})
  68 + table.push(tmpRow)
  69 + tmpRow = []
  70 +
  71 + tmpRow.push({key: '成功金额(元)', value: "9900.00"})
  72 + tmpRow.push({key: '操作人', value: "商家/平台"})
  73 + table.push(tmpRow)
  74 + tmpRow = []
  75 +
  76 + tmpRow.push({key: '说明', value: "提现转账扣款(2020-03-23至2020-03-28)"})
  77 + tmpRow.push({key: '失败原因', value: "付款账户余额不足"})
  78 + table.push(tmpRow)
  79 + tmpRow = []
  80 +
  81 + tmpRow.push({key: '备注', value: "++++++------++++++"})
  82 + table.push(tmpRow)
  83 + tmpRow = []
  84 + this.dataArray = table;
  85 + }
  86 + },
  87 +
  88 + }
  89 +</script>
  90 +
  91 +<style lang="scss" scoped>
  92 + .bold-title{
  93 + font-size: 20px;
  94 + font-weight: bold;
  95 + }
  96 +
  97 + .table-body {
  98 + width: 100%;
  99 + border: 1px solid #333333;
  100 +
  101 + .tr-body {
  102 + display: flex;
  103 + border-bottom: 1px solid #333333;
  104 +
  105 + &:last-child {
  106 + border-bottom: 0;
  107 + }
  108 +
  109 + .td-box {
  110 + display: flex;
  111 + border-left: 1px solid #333333;
  112 +
  113 + &:first-child {
  114 + border-left: 0;
  115 + }
  116 +
  117 + .td-key {
  118 + width: 120px;
  119 + padding: 10px;
  120 + line-height: 20px;
  121 + text-align: center;
  122 + background-color: #999999;
  123 + border-right: 1px solid #444444;
  124 + }
  125 +
  126 + .td-value {
  127 + flex: 1 0;
  128 + line-height: 20px;
  129 + padding: 10px 20px;
  130 + }
  131 + }
  132 + }
  133 + }
  134 +</style>
  1 +export default [{
  2 + path: '/withdrawlist.html',
  3 + name: 'withdrawlist',
  4 + component: () => import(/* webpackChunkName: "finance.withdraw" */'./withdraw'),
  5 + meta: {
  6 + pageName: '资金操作明细'
  7 + }
  8 +},{
  9 + path: '/detail/:id.html',
  10 + name: 'detail',
  11 + component: () => import(/* webpackChunkName: "finance.withdraw" */'./detail'),
  12 + meta: {
  13 + pageName: '提现明细'
  14 + }
  15 +},{
  16 + path: '/servicelist.html',
  17 + name: 'servicelist',
  18 + component: () => import(/* webpackChunkName: "finance.withdraw" */'./service-list'),
  19 + meta: {
  20 + pageName: '服务费账单'
  21 + }
  22 +}];
  1 +<template>
  2 + <div class="stat-shop">
  3 + <p slot="title">服务费账单</p>
  4 + <layout-filter class="box-filter" :inline="true" :col="1">
  5 + <filter-item :label="filters.dateRange.label" >
  6 + <Date-picker type="datetimerange"
  7 + :placeholder="filters.dateRange.label"
  8 + @on-change="dateRange"
  9 + v-model="filters.dateRange.model"
  10 + format="yyyy-MM-dd">
  11 + </Date-picker>
  12 + <div class="quick">
  13 + <a href="javascript:;" @click="() => {changeLimit(0)}">今日</a>
  14 + <a href="javascript:;" @click="() => {changeLimit(1)}">昨天</a>
  15 + <a href="javascript:;" @click="() => {changeLimit(7)}">近7天</a>
  16 + <a href="javascript:;" @click="() => {changeLimit(30)}">近30天</a>
  17 + </div>
  18 + </filter-item>
  19 + </layout-filter>
  20 + </div>
  21 +</template>
  22 +
  23 +<script>
  24 + export default {
  25 + name: "service-list"
  26 + }
  27 +</script>
  28 +
  29 +<style scoped>
  30 +
  31 +</style>
  1 +export default function() {
  2 + let table = [] // 大表格
  3 + return table;
  4 +};
  1 +import moment from 'moment';
  2 +let curDay = moment().format('YYYY-MM-DD');
  3 +
  4 +const withdrawStatus = {
  5 + 0: '提现中',
  6 + 1: '提现成功',
  7 + 2: '提现失败'
  8 +};
  9 +
  10 +export default function() {
  11 + return {
  12 + day: curDay,
  13 + date: curDay,
  14 + dateRange: [curDay, curDay],
  15 + beginTime: curDay,
  16 + endTime: curDay,
  17 + today: moment().format('YYYY-MM-DD'),
  18 + yesterday: moment().add(-1, 'days').format('YYYY-MM-DD'),
  19 + day7: moment().add(-6, 'days').format('YYYY-MM-DD'),
  20 + day30: moment().add(-29, 'days').format('YYYY-MM-DD'),
  21 + timeLimit: true,
  22 + tableCols: [
  23 + {
  24 + title: 'ID',
  25 + key: 'id',
  26 + width: 60,
  27 + align: 'center'
  28 + },
  29 + {
  30 + title: '申请时间',
  31 + key: 'createTime',
  32 + width: 90,
  33 + align: 'center'
  34 + }, {
  35 + title: '结算类型',
  36 + key: 'clearingType',
  37 + width: 90,
  38 + align: 'center'
  39 + }, {
  40 + title: '商家收款账户',
  41 + key: 'targetAccount',
  42 + width: 90,
  43 + align: 'center'
  44 + }, {
  45 + title: '申请金额(元)',
  46 + key: 'applyAmount',
  47 + width: 90,
  48 + align: 'center'
  49 + }, {
  50 + title: '服务费(元)',
  51 + key: 'serviceAmount',
  52 + width: 90,
  53 + align: 'center'
  54 + }, {
  55 + title: '成功金额(元)',
  56 + }, {
  57 + title: '提现状态',
  58 + key: 'status',
  59 + align: 'center',
  60 + render: (h, params) => {
  61 + const row = params.row;
  62 + const as = row.status;
  63 + const asText = as === 2 ? `${withdrawStatus[row.status]}(${row.rejectReason})` : withdrawStatus[as];
  64 + ow.lineIndex = params.index;
  65 + return (
  66 + <p class={{'high-light': as === 2}}>{asText}</p>
  67 + );
  68 + },
  69 + className: 'status-column'
  70 + }, {
  71 + title: '业务单据号',
  72 + key: 'statementSn',
  73 + width: 90,
  74 + align: 'center'
  75 + }, {
  76 + title: '说明',
  77 + }, {
  78 + title: '操作人',
  79 + key: 'applyPid',
  80 + width: 90,
  81 + align: 'center'
  82 + }, {
  83 + title: '操作',
  84 + key: 'action',
  85 + width: 180,
  86 + align: 'center',
  87 + render: (h, params) => {
  88 + const row = params.row;
  89 + return (
  90 + <div><div class="cell-action-row">
  91 + <i-button type="primary" size="small" onClick={() => this.getDetailById(row.id)}>提现明细</i-button>
  92 + </div>
  93 + <div class="cell-action-row">
  94 + <i-button type="primary" size="small" onClick={() => this.getInfoById(row.id)}>结算明细</i-button>
  95 + </div></div>
  96 + );
  97 + },
  98 + className: 'action-column'
  99 + }
  100 + ],
  101 + tableData: [],
  102 + pageData: {
  103 + total: 0,
  104 + current: 1,
  105 + pageSize: 20
  106 + },
  107 + filters: {
  108 + dateRange: {
  109 + label: '起止日期',
  110 + model: '',
  111 + labelSpan: 8
  112 + },
  113 + beginTime: '',
  114 + endTime: '',
  115 + timeFlag: {
  116 + label: '时间标志',
  117 + model: '',
  118 + options: [
  119 + {
  120 + value: 1,
  121 + label: '今天',
  122 + },{
  123 + value: 2,
  124 + label: '昨天',
  125 + },{
  126 + value: 3,
  127 + label: '近7天',
  128 + },{
  129 + value: 4,
  130 + label: '近30天',
  131 + }
  132 + ]
  133 + },
  134 + withdrawStatus: {
  135 + label: '提现状态',
  136 + model: '',
  137 + labelSpan: 6,
  138 + fieldSpan: 18,
  139 + options: [
  140 + {
  141 + value: 0,
  142 + label: '提现中',
  143 + },
  144 + {
  145 + value: 1,
  146 + label: '提现成功',
  147 + },
  148 + {
  149 + value: 2,
  150 + label: '提现失败',
  151 + }
  152 + ]
  153 + },
  154 + statementSn: {
  155 + label: '业务单据号',
  156 + model: '',
  157 + labelSpan: 6,
  158 + fieldSpan: 18
  159 + },
  160 + targetAccount: {
  161 + label: '提现账户',
  162 + model: '',
  163 + options: [
  164 + {
  165 + value: 0,
  166 + label: 'abcxxx@ert.com',
  167 + },
  168 + {
  169 + value: 1,
  170 + label: 'hjkxxx@ihi.com',
  171 + }
  172 + ]
  173 + }
  174 + }
  175 + }
  176 +};
  1 +import moment from 'moment';
  2 +let curDay = moment().format('YYYY-MM-DD');
  3 +
  4 +const withdrawStatus = {
  5 + 0: '提现中',
  6 + 1: '提现成功',
  7 + 2: '提现失败'
  8 +};
  9 +
  10 +export default function() {
  11 + return {
  12 + day: curDay,
  13 + date: curDay,
  14 + dateRange: [curDay, curDay],
  15 + beginTime: curDay,
  16 + endTime: curDay,
  17 + today: moment().format('YYYY-MM-DD'),
  18 + yesterday: moment().add(-1, 'days').format('YYYY-MM-DD'),
  19 + day7: moment().add(-6, 'days').format('YYYY-MM-DD'),
  20 + day30: moment().add(-29, 'days').format('YYYY-MM-DD'),
  21 + timeLimit: true,
  22 + tableCols: [
  23 + {
  24 + title: 'ID',
  25 + key: 'id',
  26 + width: 60,
  27 + align: 'center'
  28 + },
  29 + {
  30 + title: '申请时间',
  31 + key: 'createTime',
  32 + width: 90,
  33 + align: 'center'
  34 + }, {
  35 + title: '结算类型',
  36 + key: 'clearingType',
  37 + width: 90,
  38 + align: 'center'
  39 + }, {
  40 + title: '商家收款账户',
  41 + key: 'targetAccount',
  42 + width: 90,
  43 + align: 'center'
  44 + }, {
  45 + title: '申请金额(元)',
  46 + key: 'applyAmount',
  47 + width: 90,
  48 + align: 'center'
  49 + }, {
  50 + title: '服务费(元)',
  51 + key: 'serviceAmount',
  52 + width: 90,
  53 + align: 'center'
  54 + }, {
  55 + title: '成功金额(元)',
  56 + }, {
  57 + title: '提现状态',
  58 + key: 'status',
  59 + align: 'center',
  60 + render: (h, params) => {
  61 + const row = params.row;
  62 + const as = row.status;
  63 + const asText = as === 2 ? `${withdrawStatus[row.status]}(${row.rejectReason})` : withdrawStatus[as];
  64 + ow.lineIndex = params.index;
  65 + return (
  66 + <p class={{'high-light': as === 2}}>{asText}</p>
  67 + );
  68 + },
  69 + className: 'status-column'
  70 + }, {
  71 + title: '业务单据号',
  72 + key: 'statementSn',
  73 + width: 90,
  74 + align: 'center'
  75 + }, {
  76 + title: '说明',
  77 + }, {
  78 + title: '操作人',
  79 + key: 'applyPid',
  80 + width: 90,
  81 + align: 'center'
  82 + }, {
  83 + title: '操作',
  84 + key: 'action',
  85 + width: 180,
  86 + align: 'center',
  87 + render: (h, params) => {
  88 + const row = params.row;
  89 + return (
  90 + <div>
  91 + <div class="cell-action-row">
  92 + <i-button type="primary" size="small"
  93 + onClick={() => this.getDetailById(row.id)}>提现明细</i-button>
  94 + </div>
  95 +
  96 + <div class="cell-action-row">
  97 + <i-button type="primary" size="small"
  98 + onClick={() => this.getInfoById(row.id)}>结算明细</i-button>
  99 + </div>
  100 + </div>
  101 + );
  102 + },
  103 + className: 'action-column'
  104 + }
  105 + ],
  106 + tableData: [],
  107 + pageData: {
  108 + total: 0,
  109 + current: 1,
  110 + pageSize: 20
  111 + },
  112 + filters: {
  113 + dateRange: {
  114 + label: '起止日期',
  115 + model: '',
  116 + labelSpan: 8
  117 + },
  118 + beginTime: '',
  119 + endTime: '',
  120 + timeFlag: {
  121 + label: '时间标志',
  122 + model: '',
  123 + options: [
  124 + {
  125 + value: 1,
  126 + label: '今天',
  127 + },{
  128 + value: 2,
  129 + label: '昨天',
  130 + },{
  131 + value: 3,
  132 + label: '近7天',
  133 + },{
  134 + value: 4,
  135 + label: '近30天',
  136 + }
  137 + ]
  138 + },
  139 + withdrawStatus: {
  140 + label: '提现状态',
  141 + model: '',
  142 + labelSpan: 6,
  143 + fieldSpan: 18,
  144 + options: [
  145 + {
  146 + value: 0,
  147 + label: '提现中',
  148 + },
  149 + {
  150 + value: 1,
  151 + label: '提现成功',
  152 + },
  153 + {
  154 + value: 2,
  155 + label: '提现失败',
  156 + }
  157 + ]
  158 + },
  159 + statementSn: {
  160 + label: '业务单据号',
  161 + model: '',
  162 + labelSpan: 6,
  163 + fieldSpan: 18
  164 + },
  165 + targetAccount: {
  166 + label: '提现账户',
  167 + model: '',
  168 + options: [
  169 + {
  170 + value: 0,
  171 + label: 'abcxxx@ert.com',
  172 + },
  173 + {
  174 + value: 1,
  175 + label: 'hjkxxx@ihi.com',
  176 + }
  177 + ]
  178 + }
  179 + }
  180 + }
  181 +};
  1 +<template>
  2 + <div class="stat-shop">
  3 + <layout-body>
  4 + <p slot="title">资金操作明细</p>
  5 + <layout-filter class="box-filter" :inline="true" :col="1">
  6 + <filter-item :label="filters.dateRange.label" >
  7 + <Date-picker type="datetimerange"
  8 + :placeholder="filters.dateRange.label"
  9 + @on-change="dateRange"
  10 + v-model="filters.dateRange.model"
  11 + format="yyyy-MM-dd">
  12 + </Date-picker>
  13 + <div class="quick">
  14 + <a href="javascript:;" @click="() => {changeLimit(0)}">今日</a>
  15 + <a href="javascript:;" @click="() => {changeLimit(1)}">昨天</a>
  16 + <a href="javascript:;" @click="() => {changeLimit(7)}">近7天</a>
  17 + <a href="javascript:;" @click="() => {changeLimit(30)}">近30天</a>
  18 + </div>
  19 + </filter-item>
  20 + <filter-item>
  21 + <div class="select-container">
  22 + <Select v-model.trim="filters.withdrawStatus.model" :placeholder="filters.withdrawStatus.label" style="width: 200px;">
  23 + <Option v-for="option in filters.withdrawStatus.options"
  24 + :value="option.value" :key="option.value">{{option.label}}</Option>
  25 + </Select>
  26 + </div>
  27 + <div class="select-container">
  28 + <Input v-model.trim="filters.statementSn.model" :placeholder="filters.statementSn.label" :maxlength="20"></Input>
  29 + </div>
  30 +<!-- <div class="select-container">-->
  31 +<!-- <Select v-model.trim="filters.targetAccount.model" :placeholder="filters.targetAccount.label" style="width: 200px;">-->
  32 +<!-- <Option v-for="option in filters.targetAccount.options"-->
  33 +<!-- :value="option.value" :key="option.value">{{option.label}}</Option>-->
  34 +<!-- </Select>-->
  35 +<!-- </div>-->
  36 + <Poptip trigger="hover" placement="bottom-end">
  37 + <Button type="primary" @click="list">查询</Button>
  38 + <Button type="primary" @click="reset">全部</Button>
  39 + <Button type="warning" @click="exportFile">导出</Button>
  40 + </Poptip>
  41 + </filter-item>
  42 + </layout-filter>
  43 + <layout-list>
  44 + <Table border :columns="tableCols" :data="tableData"></Table>
  45 + <Page :total="pageData.total" :current="pageData.current"
  46 + @on-change="pageChange" :page-size="pageData.pageSize" show-total></Page>
  47 + </layout-list>
  48 + </layout-body>
  49 + </div>
  50 +</template>
  51 +
  52 +<script>
  53 + import moment from "moment";
  54 + import withdraw from './store/withdraw';
  55 + import FinanceService from 'services/finance/finance-service';
  56 + import _ from "lodash";
  57 +
  58 + export default {
  59 + data() {
  60 + return withdraw.call(this);
  61 + },
  62 + created() {
  63 + this.financeService = new FinanceService();
  64 + },
  65 + mounted() {
  66 + this.loadData();
  67 + },
  68 + watch: {
  69 + date() {
  70 + this.loadData();
  71 + },
  72 + day(newDay) {
  73 + let curDay = moment().format('YYYY-MM-DD');
  74 + if (newDay === this.beginTime || !newDay) {
  75 + return;
  76 + }
  77 + this.dateRange = newDay !== this.curDay ? [newDay, curDay] : [newDay, newDay];
  78 + },
  79 + dateRange(newDate) {
  80 + this.beginTime = moment(Array.isArray(newDate) ? newDate[0] : newDate).format('YYYY-MM-DD');
  81 + this.endTime = moment(Array.isArray(newDate) ? newDate[1] : newDate).format('YYYY-MM-DD');
  82 + this.day = this.beginTime === this.endTime === this.today ? '' : this.beginTime;
  83 + this.pageData.current = 1;
  84 + this.list();
  85 + },
  86 + },
  87 + methods: {
  88 + loadData() {
  89 + this.list();
  90 + },
  91 + changeLimit(limit) {
  92 + if(limit > 1) {
  93 + this.dateRange = [this[`day${limit}`], this.today];
  94 + }else if(limit===1){
  95 + this.dateRange = [this.yesterday, this.today];
  96 + }else{
  97 + this.dateRange = [this.today, this.today];
  98 + }
  99 + this.pageData.current = 1;
  100 + },
  101 + pageChange() {
  102 + this.pageData.current = page;
  103 + this.list();
  104 + },
  105 + filtersParams() {
  106 + let params = {};
  107 + let fts = this.filters;
  108 + let withdrawStatus = fts.withdrawStatus.model,
  109 + statementSn = fts.statementSn.model === '' || fts.brand.model === null ?
  110 + null : fts.statementSn.model;
  111 + let pageNo = this.pageData.current;
  112 + let pageSize = this.pageData.pageSize;
  113 +
  114 + if(this.filters.withdrawStatus.model){
  115 + if (this.isNumber(this.filters.withdrawStatus.mode)) {
  116 + params.withdrawStatus = this.filters.withdrawStatus.model;
  117 + }
  118 + }
  119 + if(this.filters.statementSn.model){
  120 + if (this.isString(this.filters.statementSn.mode)) {
  121 + params.statementSn = this.filters.statementSn.model;
  122 + }
  123 + }
  124 + params.pageSize = this.pageData.pageSize;
  125 + params.pageNo = this.pageData.current;
  126 +
  127 + return Promise.resolve({
  128 + params,
  129 + withdrawStatus,
  130 + statementSn,
  131 + pageNo,
  132 + pageSize
  133 + });
  134 + },
  135 + list() {
  136 + this.$Loading.start();
  137 + return this.filtersParams().then((params) => {
  138 + let filter = {
  139 + beginTime: this.beginDate,
  140 + endTime: this.endDate,
  141 + pageNo: params.pageNo,
  142 + };
  143 + if (this.withdrawStatus && this.withdrawStatus !== '-1') {
  144 + filter = Object.assign({}, filter, {withdrawStatus: this.withdrawStatus});
  145 + }
  146 + return this.FinanceService.shopWithdrawList(filter);
  147 + }).then(result => {
  148 + if (!result.data) {
  149 + result.data = {
  150 + pageNo: 1,
  151 + pageSize: 1,
  152 + totalCount: 1,
  153 + totalPage: 1,
  154 + records: []
  155 + }
  156 + }
  157 + this.pageData.total = result.data.totalCount;
  158 + this.pageData.current = result.data.pageNo;
  159 + this.tableData = result.data.records;
  160 + this.$Loading.finish();
  161 + }).catch(() => {
  162 + this.$Loading.finish();
  163 + });
  164 + },
  165 + reset() {
  166 + this.filters.withdrawStatus.model = null;
  167 + this.filters.statementSn.model = null;
  168 + this.filters.timeFlag.model = null;
  169 + this.filters.beginTime.model = null;
  170 + this.filters.endTime.model = null;
  171 + this.pageData.pageNo = 1;
  172 + this.pageData.total = 0;
  173 + this.list();
  174 + },
  175 + exportFile() {
  176 + let param = {};
  177 +
  178 + param.beginTime = this.beginTime;
  179 + param.endTime = this.endTime;
  180 + // param.timeFlag = '1,2,3,4';
  181 + if (this.withdrawStatus && this.withdrawStatus !== '0') {
  182 + param.withdrawStatus = this.withdrawStatus;
  183 + }
  184 +
  185 + const href = '/Api/erp/exportShopWithdrawList?queryConf=' +
  186 + JSON.stringify(param);
  187 +
  188 + window.open(href, '_blank');
  189 + },
  190 + getDetailById() {
  191 +
  192 + }
  193 + }
  194 + };
  195 +</script>
  196 +
  197 +<style lang="scss">
  198 + .stat-shop {
  199 + .ivu-tabs-tabpane {
  200 + height: 400px;
  201 + position: relative;
  202 + }
  203 + }
  204 +
  205 + .layout-container {
  206 + min-height: 200px;
  207 + margin: 15px;
  208 + overflow: hidden;
  209 + background: #fff;
  210 + border-radius: 4px;
  211 +
  212 + .layout-filter .line {
  213 + border-top: none;
  214 + margin-bottom: 0;
  215 + }
  216 + }
  217 +
  218 + .shop-card {
  219 + margin-top: 10px;
  220 + margin-bottom: 10px;
  221 + }
  222 +
  223 + .box-title {
  224 + font-weight: 700;
  225 + color: #495060;
  226 + font-size: 16px;
  227 + line-height: 22px;
  228 + margin: 5px;
  229 +
  230 + &:before {
  231 + content: " ";
  232 + display: inline-block;
  233 + width: 5px;
  234 + margin-right: 2px;
  235 + height: 22px;
  236 + vertical-align: top;
  237 + background-color: #999;
  238 + }
  239 + }
  240 +
  241 + .box-item {
  242 + width: 90%;
  243 + height: 50px;
  244 + padding: 0 0 0 15px;
  245 + line-height: 50px;
  246 + font-size: 14px;
  247 + overflow: hidden;
  248 + border-radius: 5px;
  249 + color: #fff;
  250 + margin-bottom: 10px;
  251 +
  252 + .box-item-label {
  253 + display: inline-block;
  254 + min-width: 75px;
  255 + vertical-align: top;
  256 + font-weight: normal;
  257 + }
  258 +
  259 + .box-item-value {
  260 + font-size: 20px;
  261 + font-weight: 600;
  262 + }
  263 +
  264 + i {
  265 + display: inline-block;
  266 + width: 20px;
  267 + height: 20px;
  268 + font-size: 22px;
  269 + text-align: center;
  270 + margin-top: -7px;
  271 + vertical-align: middle;
  272 + margin-right: 3px;
  273 + }
  274 + }
  275 +
  276 + .box-filter {
  277 + .ivu-date-picker {
  278 + margin-left: 0;
  279 + width: 220px !important;
  280 + }
  281 +
  282 + .quick {
  283 + display: inline-block;
  284 + margin-left: 20px;
  285 + margin-right: 50px;
  286 +
  287 + a {
  288 + margin-right: 5px;
  289 + }
  290 + }
  291 +
  292 + .select-container {
  293 + display: inline-block;
  294 + width: 220px;
  295 + }
  296 + }
  297 +
  298 + .ivu-table-cell {
  299 + padding-left: 6px;
  300 + padding-right: 6px;
  301 + }
  302 +</style>
@@ -8,6 +8,9 @@ const apiUrl = { @@ -8,6 +8,9 @@ const apiUrl = {
8 exportBalanceList: '/erp/exportBalanceList', 8 exportBalanceList: '/erp/exportBalanceList',
9 balanceDetailSum: '/erp/balanceDetailSum', 9 balanceDetailSum: '/erp/balanceDetailSum',
10 settlementListSum: '/erp/settlementListSum', 10 settlementListSum: '/erp/settlementListSum',
  11 + shopWithdrawList: '/erp/shopWithdrawList',
  12 + shopWithdrawApply: '/erp/shopWithdrawApply',
  13 + shopWithdrawAccountList: '/erp/shopWithdrawAccountList',
11 }; 14 };
12 15
13 class FinanceService extends Service { 16 class FinanceService extends Service {
@@ -65,10 +68,48 @@ class FinanceService extends Service { @@ -65,10 +68,48 @@ class FinanceService extends Service {
65 settlementListSum(params) { 68 settlementListSum(params) {
66 return this.post(apiUrl.settlementListSum, params); 69 return this.post(apiUrl.settlementListSum, params);
67 } 70 }
  71 +
  72 + /**
  73 + * 提现申请管理-资金操作明细列表
  74 + * @param params
  75 + * @returns {Promise<unknown>}
  76 + */
  77 + shopWithdrawList(params) {
  78 + return this.get(apiUrl.shopWithdrawList, params);
  79 + }
  80 +
  81 + /**
  82 + * 提现申请管理-资金操作明细-提现明细ß
  83 + * @param params
  84 + * @returns {Promise<unknown>}
  85 + */
  86 + shopWithdrawApplyGet(params) {
  87 + return this.get(apiUrl.shopWithdrawApply, params);
  88 + }
  89 +
  90 + /**
  91 + * 提现申请管理-申请提现
  92 + * @param params
  93 + * @returns {Promise<unknown>}
  94 + */
  95 + shopWithdrawApplyPost(params) {
  96 + return this.post(apiUrl.shopWithdrawApply, params);
  97 + }
  98 +
  99 + /**
  100 + * 账户资金-账务明细
  101 + * @param params
  102 + * @returns {Promise<unknown>}
  103 + */
  104 + shopWithdrawAccountList(params){
  105 + return this.post(apiUrl.shopWithdrawAccountList, params);
  106 + }
68 } 107 }
69 108
70 FinanceService.exportBalanceList = '/Api/erp/exportBalanceList'; // 导出对账单列表, 结算单列表 109 FinanceService.exportBalanceList = '/Api/erp/exportBalanceList'; // 导出对账单列表, 结算单列表
71 FinanceService.exportBalanceDetail = '/Api/erp/exportBalanceDetail'; // 导出对账单详情 110 FinanceService.exportBalanceDetail = '/Api/erp/exportBalanceDetail'; // 导出对账单详情
72 FinanceService.exportSettlementDetail = '/Api/erp/exportSettlementDetail'; // 导出结算单详情 111 FinanceService.exportSettlementDetail = '/Api/erp/exportSettlementDetail'; // 导出结算单详情
73 FinanceService.exportInventory = '/Api/erp/exportInventoryLedgerList'; // 导出结算单库存 112 FinanceService.exportInventory = '/Api/erp/exportInventoryLedgerList'; // 导出结算单库存
  113 +
  114 +FinanceService.exportShopWithdrawList = '/Api/erp/exportShopWithdrawList'; // 导出结算单库存
74 export default FinanceService; 115 export default FinanceService;
@@ -91,6 +91,13 @@ const domainApis = { @@ -91,6 +91,13 @@ const domainApis = {
91 exportFavoriteClearingList: '/erp-gateway-web/export/favoriteClearingList', 91 exportFavoriteClearingList: '/erp-gateway-web/export/favoriteClearingList',
92 exportFavoriteClearingDetail: '/erp-gateway-web/export/favoriteClearingDetail', 92 exportFavoriteClearingDetail: '/erp-gateway-web/export/favoriteClearingDetail',
93 exportFavoriteBalanceDetail: '/erp-gateway-web/export/exportFavoriteBalanceDetail', 93 exportFavoriteBalanceDetail: '/erp-gateway-web/export/exportFavoriteBalanceDetail',
  94 +
  95 + //提现申请管理
  96 + shopWithdrawList: '/erp-gateway-web/withdraw/list', //资金操作明细列表
  97 + shopWithdrawApply: '/erp-gateway-web/withdraw/apply', //资金操作明细-提现明细ß
  98 + //账户资金
  99 + shopWithdrawAccountList: '/erp-gateway-web/shop/account/list', //账务明细
  100 +
94 }, 101 },
95 platform: { 102 platform: {
96 queryShopsByAdminPid: '/SellerShopController/queryShopsByAdminPid', 103 queryShopsByAdminPid: '/SellerShopController/queryShopsByAdminPid',