|
@@ -4,343 +4,318 @@
|
|
|
<statistic-item>
|
|
|
<span>账户余额</span>
|
|
|
<span>
|
|
|
- {{ dataInfo.balance | moneyFormat}}
|
|
|
- <i class="el-icon-edit" v-permission="'userCashAccount/updateBalance'" @click="onMoneyOperation('recharge')"></i>
|
|
|
+ {{ dataInfo.balance | moneyFormat }}
|
|
|
+ <i
|
|
|
+ class="el-icon-edit"
|
|
|
+ v-permission="'userCashAccount/updateBalance'"
|
|
|
+ @click="onMoneyOperation('recharge')"
|
|
|
+ ></i>
|
|
|
</span>
|
|
|
</statistic-item>
|
|
|
<statistic-item>
|
|
|
<span>课程余额</span>
|
|
|
<span>
|
|
|
- {{ dataInfo.courseBalance | moneyFormat}}
|
|
|
- <i class="el-icon-edit" v-permission="'userCashAccount/updateCourseBalance'" @click="onMoneyOperation('account')"></i>
|
|
|
+ {{ dataInfo.courseBalance | moneyFormat }}
|
|
|
+ <i
|
|
|
+ class="el-icon-edit"
|
|
|
+ v-permission="'userCashAccount/updateCourseBalance'"
|
|
|
+ @click="onMoneyOperation('account')"
|
|
|
+ ></i>
|
|
|
</span>
|
|
|
</statistic-item>
|
|
|
<statistic-item>
|
|
|
<span>银行卡</span>
|
|
|
- <span>{{ dataInfo.cardNo || '--' }}</span>
|
|
|
+ <span>{{ dataInfo.cardNo || "--" }}</span>
|
|
|
</statistic-item>
|
|
|
<statistic-item>
|
|
|
- <el-button @click="onCashAccount"
|
|
|
- v-permission="'userCashAccountDetail/queryPage'"
|
|
|
- type="primary">交易明细</el-button>
|
|
|
+ <el-button
|
|
|
+ @click="onCashAccount"
|
|
|
+ v-permission="'userCashAccountDetail/queryPage'"
|
|
|
+ type="primary"
|
|
|
+ >交易明细</el-button
|
|
|
+ >
|
|
|
</statistic-item>
|
|
|
</statistic>
|
|
|
- <!-- <el-row class="header-items">
|
|
|
- <el-col :span="5">
|
|
|
- <span>账户余额</span>
|
|
|
- <span>
|
|
|
- {{ dataInfo.balance | moneyFormat}}
|
|
|
- <i class="el-icon-edit" v-permission="'userCashAccount/updateBalance'" @click="onMoneyOperation('recharge')"></i>
|
|
|
- </span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1">
|
|
|
- <el-divider direction="vertical"></el-divider>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <span>课程余额</span>
|
|
|
- <span>
|
|
|
- {{ dataInfo.courseBalance | moneyFormat}}
|
|
|
- <i class="el-icon-edit" v-permission="'userCashAccount/updateCourseBalance'" @click="onMoneyOperation('account')"></i>
|
|
|
- </span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1">
|
|
|
- <el-divider direction="vertical"></el-divider>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <span>银行卡</span>
|
|
|
- <span>{{ dataInfo.cardNo || '--' }}</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1">
|
|
|
- <el-divider direction="vertical"></el-divider>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6" style="text-align: right;">
|
|
|
- <el-button @click="onCashAccount"
|
|
|
- v-permission="'userCashAccountDetail/queryPage'"
|
|
|
- type="primary">交易明细</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row> -->
|
|
|
- <!-- <div class="headWrap">
|
|
|
- <div class="left">
|
|
|
- <div class="headItem">
|
|
|
- <p>
|
|
|
- 账户余额:
|
|
|
- <span>{{ dataInfo.balance | moneyFormat}}</span>
|
|
|
- </p>
|
|
|
- <el-button type="text"
|
|
|
- v-permission="'userCashAccount/updateBalance'"
|
|
|
- @click="onMoneyOperation('recharge')">修改</el-button>
|
|
|
- </div>
|
|
|
- <div class="headItem">
|
|
|
- <p>
|
|
|
- 课程余额:
|
|
|
- <span>{{ dataInfo.courseBalance| moneyFormat }}</span>
|
|
|
- </p>
|
|
|
-
|
|
|
- <el-button v-permission="'userCashAccount/updateCourseBalance'"
|
|
|
- @click="onMoneyOperation('account')"
|
|
|
- type="text">修改</el-button>
|
|
|
- </div>
|
|
|
- <div class="headItem">
|
|
|
- <p>
|
|
|
- 银行卡:
|
|
|
- <span>{{ dataInfo.cardNo }}</span>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-button @click="onCashAccount"
|
|
|
- v-permission="'userCashAccountDetail/queryPage'"
|
|
|
- type="primary">交易明细</el-button>
|
|
|
- </div> -->
|
|
|
<!-- 搜索类型 -->
|
|
|
- <el-form :inline="true"
|
|
|
- class="searchForm"
|
|
|
- v-model.trim="searchForm">
|
|
|
+ <save-form
|
|
|
+ :inline="true"
|
|
|
+ class="searchForm"
|
|
|
+ :model="searchForm"
|
|
|
+ save-key="studentDetail-studentOrder"
|
|
|
+ @submit="search"
|
|
|
+ @reset="onReSet"
|
|
|
+ >
|
|
|
<el-form-item>
|
|
|
- <el-date-picker style="width: 400px;"
|
|
|
- v-model.trim="orderDate"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- @change="searchCourseDate"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="订单开始日期"
|
|
|
- end-placeholder="订单结束日期"
|
|
|
- :picker-options="{
|
|
|
- firstDayOfWeek: 1
|
|
|
- }"></el-date-picker>
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 400px"
|
|
|
+ v-model.trim="searchForm.orderDate"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="订单开始日期"
|
|
|
+ end-placeholder="订单结束日期"
|
|
|
+ :picker-options="{
|
|
|
+ firstDayOfWeek: 1,
|
|
|
+ }"
|
|
|
+ ></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select v-model.trim="searchForm.paymentType"
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- @clear="onClear('paymentType')"
|
|
|
- placeholder="交易类型">
|
|
|
- <el-option v-for="(item, index) in orderStatus"
|
|
|
- :key="index"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"></el-option>
|
|
|
+ <el-select
|
|
|
+ v-model.trim="searchForm.paymentType"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ @clear="onClear('paymentType')"
|
|
|
+ placeholder="交易类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in orderStatus"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-input type="text"
|
|
|
- @keyup.enter.native="search"
|
|
|
- v-model.trim="searchForm.remark"
|
|
|
- placeholder="订单说明"></el-input>
|
|
|
+ <el-input
|
|
|
+ type="text"
|
|
|
+ @keyup.enter.native="search"
|
|
|
+ v-model.trim="searchForm.remark"
|
|
|
+ placeholder="订单说明"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button @click="search"
|
|
|
- type="danger">搜索</el-button>
|
|
|
- <el-button @click="onReSet"
|
|
|
- type="primary">重置</el-button>
|
|
|
+ <el-button native-type="submit" type="danger">搜索</el-button>
|
|
|
+ <el-button native-type="reset" type="primary">重置</el-button>
|
|
|
</el-form-item>
|
|
|
- </el-form>
|
|
|
+ </save-form>
|
|
|
<div class="tableWrap">
|
|
|
- <el-table :data="tableList"
|
|
|
- :header-cell-style="{background:'#EDEEF0',color:'#444'}">
|
|
|
- <el-table-column label="订单日期"
|
|
|
- prop="createTime"
|
|
|
- align="center"
|
|
|
- width="150px">
|
|
|
- <template slot-scope="scope">{{ scope.row.createTime | dateForMinFormat }}</template>
|
|
|
+ <el-table
|
|
|
+ :data="tableList"
|
|
|
+ :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ label="订单日期"
|
|
|
+ prop="createTime"
|
|
|
+ align="center"
|
|
|
+ width="150px"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.createTime | dateForMinFormat
|
|
|
+ }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="交易类型"
|
|
|
- align="center"
|
|
|
- width="180px">
|
|
|
- <template slot-scope="scope">{{ scope.row.type | orderType }}</template>
|
|
|
+ <el-table-column label="交易类型" align="center" width="180px">
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.type | orderType
|
|
|
+ }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="180px"
|
|
|
- align="center"
|
|
|
- label="应付金额"
|
|
|
- prop="expectAmount">
|
|
|
+ <el-table-column
|
|
|
+ width="180px"
|
|
|
+ align="center"
|
|
|
+ label="应付金额"
|
|
|
+ prop="expectAmount"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.expectAmount | moneyFormat }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="180px"
|
|
|
- align="center"
|
|
|
- label="余额支付"
|
|
|
- prop="balancePaymentAmount">
|
|
|
+ <el-table-column
|
|
|
+ width="180px"
|
|
|
+ align="center"
|
|
|
+ label="余额支付"
|
|
|
+ prop="balancePaymentAmount"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.balancePaymentAmount | moneyFormat }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="180px"
|
|
|
- align="center"
|
|
|
- label="实际金额"
|
|
|
- prop="actualAmount">
|
|
|
+ <el-table-column
|
|
|
+ width="180px"
|
|
|
+ align="center"
|
|
|
+ label="实际金额"
|
|
|
+ prop="actualAmount"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.actualAmount | moneyFormat }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="180px"
|
|
|
- align="center"
|
|
|
- label="订单状态"
|
|
|
- prop="status">
|
|
|
+ <el-table-column
|
|
|
+ width="180px"
|
|
|
+ align="center"
|
|
|
+ label="订单状态"
|
|
|
+ prop="status"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
- <div>{{scope.row.status | payStatus}}</div>
|
|
|
+ <div>{{ scope.row.status | payStatus }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="订单说明"
|
|
|
- align="center"
|
|
|
- prop="memo"></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="订单说明"
|
|
|
+ align="center"
|
|
|
+ prop="memo"
|
|
|
+ ></el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination :total="pageInfo.total"
|
|
|
- :page.sync="pageInfo.page"
|
|
|
- :limit.sync="pageInfo.limit"
|
|
|
- :page-sizes="pageInfo.page_size"
|
|
|
- @pagination="getList" />
|
|
|
+ <pagination
|
|
|
+ sync
|
|
|
+ :total.sync="pageInfo.total"
|
|
|
+ :page.sync="pageInfo.page"
|
|
|
+ :limit.sync="pageInfo.limit"
|
|
|
+ :page-sizes="pageInfo.page_size"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
</div>
|
|
|
- <el-dialog title="交易明细"
|
|
|
- width="850px"
|
|
|
- :visible.sync="cashStatus">
|
|
|
+ <el-dialog title="交易明细" width="850px" :visible.sync="cashStatus">
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-tabs v-model="activeName"
|
|
|
- type="border-card">
|
|
|
- <el-tab-pane label="账户余额明细"
|
|
|
- name="first">
|
|
|
+ <el-tabs v-model="activeName" type="border-card">
|
|
|
+ <el-tab-pane label="账户余额明细" name="first">
|
|
|
<el-table :data="cashAccount.gridData">
|
|
|
<!-- 交易金额,账户可用余额,交易状态,交易类型,操作时间,备注 -->
|
|
|
- <el-table-column align="center"
|
|
|
- property="amount"
|
|
|
- label="交易金额"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- property="balance"
|
|
|
- label="账户可用余额"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- label="交易状态">
|
|
|
- <template slot-scope="scope">{{ scope.row.status | payStatus }}</template>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ property="amount"
|
|
|
+ label="交易金额"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ property="balance"
|
|
|
+ label="账户可用余额"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column align="center" label="交易状态">
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.status | payStatus
|
|
|
+ }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- label="交易类型">
|
|
|
- <template slot-scope="scope">{{ scope.row.type | payType }}</template>
|
|
|
+ <el-table-column align="center" label="交易类型">
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.type | payType
|
|
|
+ }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- width="160px"
|
|
|
- property="createTime"
|
|
|
- label="交易时间"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- width="140px"
|
|
|
- label="备注">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="160px"
|
|
|
+ property="createTime"
|
|
|
+ label="交易时间"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column align="center" width="140px" label="备注">
|
|
|
<template slot-scope="scope">
|
|
|
- <span :title="scope.row.comment">{{ scope.row.comment }}</span>
|
|
|
+ <span :title="scope.row.comment">{{
|
|
|
+ scope.row.comment
|
|
|
+ }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination :total="cashAccount.total"
|
|
|
- :page.sync="cashAccount.page"
|
|
|
- :limit.sync="cashAccount.limit"
|
|
|
- :page-sizes="cashAccount.page_size"
|
|
|
- @pagination="getCashAccount" />
|
|
|
+ <pagination
|
|
|
+ :total="cashAccount.total"
|
|
|
+ :page.sync="cashAccount.page"
|
|
|
+ :limit.sync="cashAccount.limit"
|
|
|
+ :page-sizes="cashAccount.page_size"
|
|
|
+ @pagination="getCashAccount"
|
|
|
+ />
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="课程余额明细"
|
|
|
- name="second">
|
|
|
+ <el-tab-pane label="课程余额明细" name="second">
|
|
|
<el-table :data="courseAccount.gridData">
|
|
|
<!-- 交易金额,账户可用余额,交易状态,交易类型,操作时间,备注 -->
|
|
|
- <el-table-column align="center"
|
|
|
- property="amount"
|
|
|
- label="交易金额"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- property="balance"
|
|
|
- label="课程可用余额"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- label="交易状态">
|
|
|
- <template slot-scope="scope">{{ scope.row.status | payStatus }}</template>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ property="amount"
|
|
|
+ label="交易金额"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ property="balance"
|
|
|
+ label="课程可用余额"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column align="center" label="交易状态">
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.status | payStatus
|
|
|
+ }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- label="交易类型">
|
|
|
- <template slot-scope="scope">{{ scope.row.type | payType }}</template>
|
|
|
+ <el-table-column align="center" label="交易类型">
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.type | payType
|
|
|
+ }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- width="160px"
|
|
|
- property="createTime"
|
|
|
- label="交易时间"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- width="140px"
|
|
|
- label="备注">
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="160px"
|
|
|
+ property="createTime"
|
|
|
+ label="交易时间"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column align="center" width="140px" label="备注">
|
|
|
<template slot-scope="scope">
|
|
|
- <span :title="scope.row.comment">{{ scope.row.comment }}</span>
|
|
|
+ <span :title="scope.row.comment">{{
|
|
|
+ scope.row.comment
|
|
|
+ }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination :total="courseAccount.total"
|
|
|
- :page.sync="courseAccount.page"
|
|
|
- :limit.sync="courseAccount.limit"
|
|
|
- :page-sizes="courseAccount.page_size"
|
|
|
- @pagination="getCourseAccount" />
|
|
|
+ <pagination
|
|
|
+ :total="courseAccount.total"
|
|
|
+ :page.sync="courseAccount.page"
|
|
|
+ :limit.sync="courseAccount.limit"
|
|
|
+ :page-sizes="courseAccount.page_size"
|
|
|
+ @pagination="getCourseAccount"
|
|
|
+ />
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-dialog>
|
|
|
- <el-dialog :title="moneyForm.title"
|
|
|
- width="450px"
|
|
|
- @close="onFormClose('moneyForm')"
|
|
|
- :visible.sync="moneyVisible">
|
|
|
- <el-form ref="moneyForm"
|
|
|
- :rules="moneyRule"
|
|
|
- :model="moneyForm"
|
|
|
- label-width="80px">
|
|
|
- <el-form-item label="操作选择"
|
|
|
- prop="type">
|
|
|
+ <el-dialog
|
|
|
+ :title="moneyForm.title"
|
|
|
+ width="450px"
|
|
|
+ @close="onFormClose('moneyForm')"
|
|
|
+ :visible.sync="moneyVisible"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="moneyForm"
|
|
|
+ :rules="moneyRule"
|
|
|
+ :model="moneyForm"
|
|
|
+ label-width="80px"
|
|
|
+ >
|
|
|
+ <el-form-item label="操作选择" prop="type">
|
|
|
<el-radio-group v-model="moneyForm.type">
|
|
|
<el-radio :label="1">充值</el-radio>
|
|
|
<el-radio :label="2">扣除</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item :label="moneyForm.titleType == 'account' ? '课程余额' : '账户余额'">
|
|
|
- <el-input type="number"
|
|
|
- disabled
|
|
|
- :value="moneyForm.titleType == 'account' ? dataInfo.courseBalance : dataInfo.balance"></el-input>
|
|
|
+ <el-form-item
|
|
|
+ :label="moneyForm.titleType == 'account' ? '课程余额' : '账户余额'"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ type="number"
|
|
|
+ disabled
|
|
|
+ :value="
|
|
|
+ moneyForm.titleType == 'account'
|
|
|
+ ? dataInfo.courseBalance
|
|
|
+ : dataInfo.balance
|
|
|
+ "
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="金额"
|
|
|
- prop="money">
|
|
|
- <el-input type="number"
|
|
|
- @mousewheel.native.prevent
|
|
|
- v-model="moneyForm.money"></el-input>
|
|
|
+ <el-form-item label="金额" prop="money">
|
|
|
+ <el-input
|
|
|
+ type="number"
|
|
|
+ @mousewheel.native.prevent
|
|
|
+ v-model="moneyForm.money"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="备注"
|
|
|
- prop="remark">
|
|
|
- <el-input type="textarea"
|
|
|
- v-model="moneyForm.remark"></el-input>
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
+ <el-input type="textarea" v-model="moneyForm.remark"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <div slot="footer"
|
|
|
- class="dialog-footer">
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="moneyVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary"
|
|
|
- @click="submitMoney('moneyForm')">确 定</el-button>
|
|
|
+ <el-button type="primary" @click="submitMoney('moneyForm')"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <!-- 充值弹窗 -->
|
|
|
- <!-- <el-dialog
|
|
|
- title="课程余额转账户余额"
|
|
|
- width="400px"
|
|
|
- :visible.sync="rechargeVisible">
|
|
|
- <el-form
|
|
|
- :model="rechargeForm"
|
|
|
- ref="rechargeForm"
|
|
|
- label-position="right"
|
|
|
- label-width="80px;"
|
|
|
- :inline="true"
|
|
|
- >
|
|
|
- <el-form-item label="课程余额" >
|
|
|
- ¥{{ dataInfo.courseBalance}}
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="本次充值" prop="money">
|
|
|
- <el-input type="number" @mousewheel.native.prevent v-model.trim="rechargeForm.money"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="rechargeVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submitRecharge">确 定</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>-->
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -352,9 +327,10 @@ import {
|
|
|
transferCourseBalanceToBalance,
|
|
|
userCashAccountDetail,
|
|
|
userCoursesAccount,
|
|
|
- updateBalance
|
|
|
+ updateBalance,
|
|
|
} from "@/api/studentManager";
|
|
|
import { orderStatus } from "@/utils/searchArray";
|
|
|
+import { getTimes } from "@/utils";
|
|
|
import store from "@/store";
|
|
|
let validPrice = (rule, value, callback) => {
|
|
|
if ((value == "" && typeof value == "string") || value == null) {
|
|
@@ -370,17 +346,17 @@ let validPrice = (rule, value, callback) => {
|
|
|
export default {
|
|
|
name: "studentOrder",
|
|
|
components: { pagination },
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
rechargeVisible: false,
|
|
|
organId: null,
|
|
|
- orderDate: null,
|
|
|
searchForm: {
|
|
|
studentId: null,
|
|
|
orderStartDate: null,
|
|
|
orderEndDate: null,
|
|
|
paymentType: null,
|
|
|
- remark: null
|
|
|
+ remark: null,
|
|
|
+ orderDate: [],
|
|
|
},
|
|
|
orderStatus: orderStatus,
|
|
|
pageInfo: {
|
|
@@ -388,13 +364,13 @@ export default {
|
|
|
limit: 10, // 限制显示条数
|
|
|
page: 1, // 当前页
|
|
|
total: 0, // 总条数
|
|
|
- page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
+ page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
},
|
|
|
tableList: [],
|
|
|
dataInfo: {},
|
|
|
amountStatus: true, // 账户余额状态
|
|
|
rechargeForm: {
|
|
|
- money: null
|
|
|
+ money: null,
|
|
|
},
|
|
|
moneyVisible: false, //
|
|
|
moneyForm: {
|
|
@@ -402,14 +378,14 @@ export default {
|
|
|
titleType: "recharge",
|
|
|
type: 1, //
|
|
|
money: null,
|
|
|
- remark: null //备注
|
|
|
+ remark: null, //备注
|
|
|
},
|
|
|
moneyRule: {
|
|
|
type: [
|
|
|
- { required: true, message: "请选择操作类型", trigger: "change" }
|
|
|
+ { required: true, message: "请选择操作类型", trigger: "change" },
|
|
|
],
|
|
|
money: [{ required: true, validator: validPrice, trigger: "blur" }],
|
|
|
- remark: [{ required: true, message: "请输入备注", trigger: "blur" }]
|
|
|
+ remark: [{ required: true, message: "请输入备注", trigger: "blur" }],
|
|
|
},
|
|
|
cashStatus: false,
|
|
|
cashAccount: {
|
|
@@ -419,7 +395,7 @@ export default {
|
|
|
limit: 10, // 限制显示条数
|
|
|
page: 1, // 当前页
|
|
|
total: 0, // 总条数
|
|
|
- page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
+ page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
},
|
|
|
activeName: "first",
|
|
|
courseAccount: {
|
|
@@ -429,46 +405,46 @@ export default {
|
|
|
limit: 10, // 限制显示条数
|
|
|
page: 1, // 当前页
|
|
|
total: 0, // 总条数
|
|
|
- page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
- }
|
|
|
+ page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
- mounted () {
|
|
|
+ mounted() {
|
|
|
this.searchForm.studentId = this.$route.query.userId;
|
|
|
this.getList();
|
|
|
this.__init();
|
|
|
},
|
|
|
- activated () {
|
|
|
+ activated() {
|
|
|
this.searchForm.studentId = this.$route.query.userId;
|
|
|
this.getList();
|
|
|
this.__init();
|
|
|
},
|
|
|
methods: {
|
|
|
- onClear (type) {
|
|
|
+ onClear(type) {
|
|
|
if (type == "paymentType") {
|
|
|
this.searchForm.paymentType = null;
|
|
|
}
|
|
|
},
|
|
|
- __init () {
|
|
|
+ __init() {
|
|
|
getUserCashAccountBaseInfo({ userId: this.$route.query.userId }).then(
|
|
|
- res => {
|
|
|
+ (res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.dataInfo = {
|
|
|
balance: res.data.balance,
|
|
|
courseBalance: res.data.courseBalance,
|
|
|
wxBalance: 0,
|
|
|
cardNo: res.data.cardNo,
|
|
|
- zfb: null
|
|
|
+ zfb: null,
|
|
|
};
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
},
|
|
|
- onFormClose (formName) {
|
|
|
+ onFormClose(formName) {
|
|
|
// 关闭弹窗重置验证
|
|
|
this.$refs[formName].resetFields();
|
|
|
},
|
|
|
- onMoneyOperation (type) {
|
|
|
+ onMoneyOperation(type) {
|
|
|
let moneyForm = this.moneyForm;
|
|
|
if (type == "recharge") {
|
|
|
moneyForm.title = "账户余额修改";
|
|
@@ -479,22 +455,22 @@ export default {
|
|
|
}
|
|
|
this.moneyVisible = true;
|
|
|
},
|
|
|
- onCashAccount (item) {
|
|
|
+ onCashAccount(item) {
|
|
|
// 点名表
|
|
|
this.cashAccount.page = 1;
|
|
|
this.getCashAccount();
|
|
|
this.courseAccount.page = 1;
|
|
|
this.getCourseAccount();
|
|
|
- this.cashStatus = true
|
|
|
+ this.cashStatus = true;
|
|
|
},
|
|
|
- getCashAccount () {
|
|
|
+ getCashAccount() {
|
|
|
let cashAccount = this.cashAccount;
|
|
|
let params = {
|
|
|
page: cashAccount.page,
|
|
|
rows: cashAccount.limit,
|
|
|
- userId: this.searchForm.studentId
|
|
|
+ userId: this.searchForm.studentId,
|
|
|
};
|
|
|
- userCashAccountDetail(params).then(res => {
|
|
|
+ userCashAccountDetail(params).then((res) => {
|
|
|
let result = res.data;
|
|
|
cashAccount.status = true;
|
|
|
if (res.code == 200) {
|
|
@@ -503,14 +479,14 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- getCourseAccount () {
|
|
|
+ getCourseAccount() {
|
|
|
let courseAccount = this.courseAccount;
|
|
|
let params = {
|
|
|
page: courseAccount.page,
|
|
|
rows: courseAccount.limit,
|
|
|
- userId: this.searchForm.studentId
|
|
|
+ userId: this.searchForm.studentId,
|
|
|
};
|
|
|
- userCoursesAccount(params).then(res => {
|
|
|
+ userCoursesAccount(params).then((res) => {
|
|
|
let result = res.data;
|
|
|
courseAccount.status = true;
|
|
|
if (res.code == 200) {
|
|
@@ -519,8 +495,8 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- submitMoney (formName) {
|
|
|
- this.$refs[formName].validate(valid => {
|
|
|
+ submitMoney(formName) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
if (valid) {
|
|
|
let moneyForm = this.moneyForm;
|
|
|
let dataInfo = this.dataInfo;
|
|
@@ -543,15 +519,15 @@ export default {
|
|
|
} else {
|
|
|
courseBalance = Number(
|
|
|
Number(dataInfo.courseBalance) -
|
|
|
- Number(moneyForm.money).toFixed(2)
|
|
|
+ Number(moneyForm.money).toFixed(2)
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
updateCourseBalance({
|
|
|
userId: this.searchForm.studentId,
|
|
|
decimal: courseBalance,
|
|
|
- memo: moneyForm.remark
|
|
|
- }).then(res => {
|
|
|
+ memo: moneyForm.remark,
|
|
|
+ }).then((res) => {
|
|
|
let result = res.data;
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("保存成功");
|
|
@@ -578,8 +554,8 @@ export default {
|
|
|
updateBalance({
|
|
|
userId: this.searchForm.studentId,
|
|
|
decimal: balance,
|
|
|
- memo: moneyForm.remark
|
|
|
- }).then(res => {
|
|
|
+ memo: moneyForm.remark,
|
|
|
+ }).then((res) => {
|
|
|
let result = res.data;
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("保存成功");
|
|
@@ -595,7 +571,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- onUpdateCourse () {
|
|
|
+ onUpdateCourse() {
|
|
|
if (!this.dataInfo.courseBalance) {
|
|
|
this.$message.error("请输入课程余额");
|
|
|
return;
|
|
@@ -603,13 +579,13 @@ export default {
|
|
|
this.$confirm(`确定是否修改该学生课程余额?`, "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
+ type: "warning",
|
|
|
})
|
|
|
.then(() => {
|
|
|
updateCourseBalance({
|
|
|
userId: this.searchForm.studentId,
|
|
|
- decimal: this.dataInfo.courseBalance
|
|
|
- }).then(res => {
|
|
|
+ decimal: this.dataInfo.courseBalance,
|
|
|
+ }).then((res) => {
|
|
|
let result = res.data;
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("保存成功");
|
|
@@ -624,25 +600,33 @@ export default {
|
|
|
this.amountStatus = true;
|
|
|
});
|
|
|
},
|
|
|
- search () {
|
|
|
+ search() {
|
|
|
this.pageInfo.page = 1;
|
|
|
this.getList();
|
|
|
},
|
|
|
- getList () {
|
|
|
- let params = this.searchForm;
|
|
|
- params.rows = this.pageInfo.limit;
|
|
|
- params.page = this.pageInfo.page;
|
|
|
- if (params.remark == "" || !params.remark) {
|
|
|
- params.remark = null;
|
|
|
- }
|
|
|
- studentPaymentOrderList(params).then(res => {
|
|
|
+ getList() {
|
|
|
+ // let params = this.searchForm;
|
|
|
+ // params.rows = this.pageInfo.limit;
|
|
|
+ // params.page = this.pageInfo.page;
|
|
|
+ // if (params.remark == "" || !params.remark) {
|
|
|
+ // params.remark = null;
|
|
|
+ // }
|
|
|
+
|
|
|
+ const { orderDate, ...rest } = this.searchForm;
|
|
|
+ let params = {
|
|
|
+ ...rest,
|
|
|
+ ...getTimes(orderDate, ["orderStartDate", "orderEndDate"]),
|
|
|
+ page: this.pageInfo.page,
|
|
|
+ rows: this.pageInfo.limit,
|
|
|
+ };
|
|
|
+ studentPaymentOrderList(params).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.tableList = res.data.rows;
|
|
|
this.pageInfo.total = res.data.total;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- searchCourseDate (value) {
|
|
|
+ searchCourseDate(value) {
|
|
|
if (value) {
|
|
|
this.searchForm.orderStartDate = value[0];
|
|
|
this.searchForm.orderEndDate = value[1];
|
|
@@ -651,7 +635,7 @@ export default {
|
|
|
this.searchForm.orderEndDate = null;
|
|
|
}
|
|
|
},
|
|
|
- onReSet () {
|
|
|
+ onReSet() {
|
|
|
// 重置搜索
|
|
|
this.orderDate = null;
|
|
|
this.searchForm = {
|
|
@@ -659,10 +643,10 @@ export default {
|
|
|
orderStartDate: null,
|
|
|
orderEndDate: null,
|
|
|
paymentType: null,
|
|
|
- remark: null
|
|
|
+ remark: null,
|
|
|
};
|
|
|
},
|
|
|
- submitRecharge () {
|
|
|
+ submitRecharge() {
|
|
|
let money = parseFloat(
|
|
|
this.dataInfo.courseBalance - this.rechargeForm.money
|
|
|
).toFixed(2);
|
|
@@ -677,16 +661,16 @@ export default {
|
|
|
}
|
|
|
transferCourseBalanceToBalance({
|
|
|
userId: this.searchForm.studentId,
|
|
|
- money: this.rechargeForm.money
|
|
|
- }).then(res => {
|
|
|
+ money: this.rechargeForm.money,
|
|
|
+ }).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("充值成功");
|
|
|
this.rechargeVisible = false;
|
|
|
this.__init();
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
@@ -698,12 +682,12 @@ export default {
|
|
|
right: 20px;
|
|
|
}
|
|
|
}
|
|
|
-.header-items{
|
|
|
+.header-items {
|
|
|
padding: 20px 0;
|
|
|
text-align: center;
|
|
|
- /deep/ .el-icon-edit{
|
|
|
+ /deep/ .el-icon-edit {
|
|
|
cursor: pointer;
|
|
|
- color: #14928A;
|
|
|
+ color: #14928a;
|
|
|
font-size: 20px;
|
|
|
}
|
|
|
/deep/ .el-col {
|
|
@@ -715,18 +699,18 @@ export default {
|
|
|
align-items: center;
|
|
|
flex-direction: column;
|
|
|
}
|
|
|
- /deep/ .el-col-1{
|
|
|
+ /deep/ .el-col-1 {
|
|
|
font-size: 60px;
|
|
|
}
|
|
|
- span{
|
|
|
+ span {
|
|
|
display: block;
|
|
|
line-height: 1.8;
|
|
|
- color: rgba(0, 0, 0, .85);
|
|
|
+ color: rgba(0, 0, 0, 0.85);
|
|
|
font-size: 24px;
|
|
|
- &:first-child{
|
|
|
+ &:first-child {
|
|
|
font-size: 14px;
|
|
|
font-weight: normal;
|
|
|
- color: rgba(0, 0, 0, .45);
|
|
|
+ color: rgba(0, 0, 0, 0.45);
|
|
|
}
|
|
|
}
|
|
|
}
|