|  | @@ -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>
 |