|
@@ -0,0 +1,259 @@
|
|
|
|
+<template>
|
|
|
|
+ <div class="m-container">
|
|
|
|
+ <h2>
|
|
|
|
+ <div class="squrt"></div>销售列表
|
|
|
|
+ </h2>
|
|
|
|
+ <div class="m-core">
|
|
|
|
+ <!-- 搜索类型 -->
|
|
|
|
+ <el-form :inline="true"
|
|
|
|
+ class="searchForm"
|
|
|
|
+ v-model.trim="searchForm">
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-input placeholder="请输入流水号、订单号" type="text"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-select v-model.trim="searchForm.organId" clearable filterable placeholder="请选择所属分部">
|
|
|
|
+ <el-option v-for="(item,index) in organList" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-select clearable filterable placeholder="请选择所属学校" v-model="searchForm.schoolName">
|
|
|
|
+ <el-option label="1" value="1"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-select clearable filterable placeholder="请选择销售类型" v-model="searchForm.saleType">
|
|
|
|
+ <el-option label="1" value="1"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-select clearable filterable placeholder="请选择交易方式" v-model="searchForm.paymentChannel">
|
|
|
|
+ <el-option v-for="item in paymentChannelStatus" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-date-picker style="width:410px;"
|
|
|
|
+ v-model.trim="orderDate"
|
|
|
|
+ type="daterange"
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
+ @change="searchOrderDate"
|
|
|
|
+ range-separator="至"
|
|
|
|
+ start-placeholder="开始日期"
|
|
|
|
+ end-placeholder="结束日期"
|
|
|
|
+ :picker-options="{ firstDayOfWeek: 1 }">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button @click="search" type="danger">搜索</el-button>
|
|
|
|
+ <el-button @click="onReSet" type="primary">重置</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <!-- 列表 -->
|
|
|
|
+ <div class="tableWrap">
|
|
|
|
+ <el-table :data='tableList' style="width: 100%"
|
|
|
|
+ :header-cell-style="{background:'#EDEEF0',color:'#444'}">
|
|
|
|
+ <el-table-column align='center' width="150" prop="orderNo" label="交易流水号"></el-table-column>
|
|
|
|
+ <el-table-column align='center' prop="orderNo" label="订单号"></el-table-column>
|
|
|
|
+ <el-table-column align='center' label="销售日期">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ {{scope.row.createTime | dateForMinFormat}}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="销售类型"></el-table-column>
|
|
|
|
+ <el-table-column align='center' width="100" prop="studentPaymentOrder.expectAmount" label="应付金额(元)"></el-table-column>
|
|
|
|
+ <el-table-column align='center' width="100" prop="studentPaymentOrder.actualAmount" label="余额支付(元)"></el-table-column>
|
|
|
|
+ <el-table-column align='center' width="100" prop="studentPaymentOrder.expectAmount" label="现金支付(元)"></el-table-column>
|
|
|
|
+ <el-table-column align='center' width="100" prop="studentPaymentOrder.actualAmount" label="销售成本(元)"></el-table-column>
|
|
|
|
+ <el-table-column align='center' prop="user.username" label="学员姓名"></el-table-column>
|
|
|
|
+ <el-table-column align='center' prop="remark" label="退费说明"></el-table-column>
|
|
|
|
+ <el-table-column align='center' prop="paymentChannel" label="交易类型">
|
|
|
|
+ <template slot-scope="scope">{{ scope.row.paymentChannel | paymentChannelStatus }}</template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align='center' prop="merNos" 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' fixed="right" label="操作">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-button @click="onBackMoney(scope.row)" v-permission="'vipGroupManage/applyRefundAudit'" type="text">修改成本</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ <pagination :total="pageInfo.total"
|
|
|
|
+ :page.sync="pageInfo.page"
|
|
|
|
+ :limit.sync="pageInfo.limit"
|
|
|
|
+ :page-sizes="pageInfo.page_size"
|
|
|
|
+ @pagination="getList" />
|
|
|
|
+ </div>
|
|
|
|
+ <el-dialog title="修改成本" :visible.sync="backStatus" @close="onFormClose('ruleForm')" width="500px">
|
|
|
|
+ <el-form :model="form" :rules="rules" ref="ruleForm">
|
|
|
|
+ <el-form-item label="交易流水号" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="订单号" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="销售日期" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="学员姓名" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="所属乐团" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="所属学校" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="商品名称" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="商品型号" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="应付金额(元)" :label-width="formLabelWidth">
|
|
|
|
+ {{ form.name }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="成本(元)" prop="amount" :label-width="formLabelWidth">
|
|
|
|
+ <!-- <el-input autocomplete="off"></el-input> -->
|
|
|
|
+ <el-autocomplete v-model="form.amount" class="inline-input" :fetch-suggestions="querySearch" placeholder="请输入成本"
|
|
|
|
+ ></el-autocomplete>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <span slot="footer"
|
|
|
|
+ class="dialog-footer">
|
|
|
|
+ <el-button @click="backStatus = false">取消</el-button>
|
|
|
|
+ <el-button type="primary" @click="onTeachingSubmit('ruleForm', 'DONE')">确认</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+<script>
|
|
|
|
+import pagination from '@/components/Pagination/index'
|
|
|
|
+import { studentRefundsQueryPage, applyRefundAudit } from '@/api/orderManager'
|
|
|
|
+import { getEmployeeOrgan } from '@/api/buildTeam'
|
|
|
|
+import { paymentChannelStatus } from '@/utils/searchArray'
|
|
|
|
+import dayjs from 'dayjs'
|
|
|
|
+export default {
|
|
|
|
+ components: { pagination },
|
|
|
|
+ name: 'backMoney',
|
|
|
|
+ data () {
|
|
|
|
+ return {
|
|
|
|
+ paymentChannelStatus: paymentChannelStatus,
|
|
|
|
+ orderDate: null,
|
|
|
|
+ searchForm: {
|
|
|
|
+ startTime: null,
|
|
|
|
+ endTime: null,
|
|
|
|
+ organId: null
|
|
|
|
+ },
|
|
|
|
+ tableList: [],
|
|
|
|
+ organList: [],
|
|
|
|
+ pageInfo: {
|
|
|
|
+ // 分页规则
|
|
|
|
+ limit: 10, // 限制显示条数
|
|
|
|
+ page: 1, // 当前页
|
|
|
|
+ total: 0, // 总条数
|
|
|
|
+ page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
|
+ },
|
|
|
|
+ backStatus: false,
|
|
|
|
+ formLabelWidth: '150px',
|
|
|
|
+ form: {
|
|
|
|
+ id: null,
|
|
|
|
+ amount: null,
|
|
|
|
+ },
|
|
|
|
+ rules: {
|
|
|
|
+ amount: [{ required: true, message: '请输入金额', trigger: 'blur' }],
|
|
|
|
+ },
|
|
|
|
+ restaurants: [{ value: '1000' }, { value: '100' }],
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ mounted () {
|
|
|
|
+ getEmployeeOrgan().then(res => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ this.organList = res.data;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ this.getList()
|
|
|
|
+ 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)
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ search () {
|
|
|
|
+ this.pageInfo.page = 1;
|
|
|
|
+ this.getList()
|
|
|
|
+ },
|
|
|
|
+ onTeachingSubmit (formName, status) { // 添加数据
|
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ this.form.status = status
|
|
|
|
+ applyRefundAudit(this.form).then(res => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ this.$message.success('操作成功')
|
|
|
|
+ this.backStatus = false
|
|
|
|
+ this.getList()
|
|
|
|
+ } else {
|
|
|
|
+ this.$message.error(res.msg)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getList () {
|
|
|
|
+ let params = this.searchForm
|
|
|
|
+ params.rows = this.pageInfo.limit
|
|
|
|
+ params.page = this.pageInfo.page
|
|
|
|
+ studentRefundsQueryPage(params).then(res => {
|
|
|
|
+ let result = res.data
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ this.tableList = result.rows
|
|
|
|
+ this.pageInfo.total = result.total
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ searchOrderDate (value) {
|
|
|
|
+ if (value) {
|
|
|
|
+ this.searchForm.startTime = value[0] + ' 00:00:00'
|
|
|
|
+ this.searchForm.endTime = value[1] + ' 23:59:59'
|
|
|
|
+ } else {
|
|
|
|
+ this.searchForm.startTime = null
|
|
|
|
+ this.searchForm.endTime = null
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ onReSet () {
|
|
|
|
+ this.orderDate = null
|
|
|
|
+ this.searchForm = {
|
|
|
|
+ startTime: null,
|
|
|
|
+ endTime: null
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ querySearch(queryString, cb) {
|
|
|
|
+ let restaurants = this.restaurants;
|
|
|
|
+ // this.createFilter(queryString)
|
|
|
|
+ let results = queryString ? restaurants.filter((restaurant) => {
|
|
|
|
+ return restaurant.value.toString().indexOf(queryString) === 0
|
|
|
|
+ }) : restaurants;
|
|
|
|
+ // 调用 callback 返回建议列表的数据
|
|
|
|
+ cb(results);
|
|
|
|
+ },
|
|
|
|
+ onFormClose (formName) { // 关闭弹窗重置验证
|
|
|
|
+ this.$refs[formName].clearValidate()
|
|
|
|
+ },
|
|
|
|
+ onBackMoney (row) { // 退费
|
|
|
|
+ this.backStatus = true
|
|
|
|
+ this.form = {
|
|
|
|
+ id: row.id,
|
|
|
|
+ amount: row.expectAmount.toString()
|
|
|
|
+ }
|
|
|
|
+ // applyRefundAudit()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+<style lang="scss">
|
|
|
|
+</style>
|