|
@@ -76,8 +76,95 @@
|
|
|
></DatePicker>
|
|
|
</FormItem>
|
|
|
</template>
|
|
|
- <template slot="filterRight">
|
|
|
- <Input suffix="md-search" type="text" size="large" v-model="sear.keyword" placeholder="搜索订单编号" clearable class="ser-ipt"/>
|
|
|
+ <template slot="filterContent" v-if="flag">
|
|
|
+ <Select size="large" placeholder="产品类型" clearable v-model="filter.productType" style="width:100px;margin:0 10px 10px 0">
|
|
|
+ <Option v-for="item in proType" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Select size="large" placeholder="订单类型" clearable v-model="filter.orderType" style="width:100px;margin:0 10px 10px 0">
|
|
|
+ <Option v-for="item in orderTips" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Select size="large" placeholder="订单状态" clearable v-model="filter.orderStatus" style="width:100px;margin:0 10px 10px 0">
|
|
|
+ <Option v-for="item in orderSta" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Select size="large" placeholder="发票状态" clearable v-model="filter.invoiceStatus" style="width:100px;margin:0 10px 10px 0">
|
|
|
+ <Option v-for="item in invoiceSta" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Select size="large" placeholder="付款方式" clearable v-model="filter.payWay" style="width:100px;margin:0 10px 10px 0">
|
|
|
+ <Option v-for="item in payStatus" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ size="large"
|
|
|
+ v-model="filter.payMoneyMin"
|
|
|
+ placeholder="最小金额"
|
|
|
+ clearable
|
|
|
+ prefix="logo-yen"
|
|
|
+ style="width:90px;height:36px:margin-bottom:10px"
|
|
|
+ ></Input>
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ size="large"
|
|
|
+ v-model="filter.payMoneyMax"
|
|
|
+ placeholder="最大金额"
|
|
|
+ clearable
|
|
|
+ prefix="logo-yen"
|
|
|
+ style="width:90px;height:36px;margin: 0 10px 10px 2px;"
|
|
|
+ />
|
|
|
+ <DatePicker
|
|
|
+ type="datetime"
|
|
|
+ size="large"
|
|
|
+ v-model="dataVal1"
|
|
|
+ placeholder="起始时间"
|
|
|
+ style="width: 172px"
|
|
|
+ :options="options1"
|
|
|
+ @on-change="handleChange1"
|
|
|
+ @on-ok="confirmed1"
|
|
|
+ @on-open-change="opened1"
|
|
|
+ ></DatePicker>
|
|
|
+ <DatePicker
|
|
|
+ type="datetime"
|
|
|
+ size="large"
|
|
|
+ v-model="dataVal2"
|
|
|
+ placeholder="截止时间"
|
|
|
+ style="width: 172px;margin-left:2px;margin-right:10px"
|
|
|
+ :options="options2"
|
|
|
+ @on-change="handleChange2"
|
|
|
+ @on-ok="confirmed2"
|
|
|
+ @on-open-change="opened2"
|
|
|
+ ></DatePicker><br/>
|
|
|
+ <Select
|
|
|
+ size="large"
|
|
|
+ placeholder="付费类型"
|
|
|
+ clearable
|
|
|
+ v-model="filter.payType"
|
|
|
+ style="width:100px;margin:0 10px 10px 0"
|
|
|
+ v-show="select1"
|
|
|
+ >
|
|
|
+ <Option v-for="item in payCont" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Select
|
|
|
+ size="large"
|
|
|
+ placeholder="数据规格"
|
|
|
+ clearable
|
|
|
+ v-model="filter.dataType"
|
|
|
+ style="width:100px;margin:0 10px 10px 0"
|
|
|
+ v-show="select2"
|
|
|
+ >
|
|
|
+ <Option v-for="item in dataCont" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Select
|
|
|
+ size="large"
|
|
|
+ placeholder="发票开具方"
|
|
|
+ clearable
|
|
|
+ v-model="filter.invoiceType"
|
|
|
+ style="width:110px;margin:0 10px 10px 0"
|
|
|
+ v-show="select3"
|
|
|
+ >
|
|
|
+ <Option v-for="item in invoicePerson" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
+ </Select><br v-show="select1 || select2 || select3"/>
|
|
|
+ </template>
|
|
|
+ <template slot="exportData" v-if="flag">
|
|
|
+ <Button type="primary" size="large" @click="orderExport" style="margin: 0 0 10px 10px">导出结果</Button>
|
|
|
</template>
|
|
|
<Table
|
|
|
size="large"
|
|
@@ -115,7 +202,7 @@
|
|
|
</template>
|
|
|
</Table>
|
|
|
<template slot="options">
|
|
|
- <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}个订单,实付金额¥{{list.money}}</div>
|
|
|
+ <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}个订单,实付金额¥{{list.money>=0?list.money:0}}</div>
|
|
|
</template>
|
|
|
</table-lists>
|
|
|
<Modal title="退款原因" v-model="models.tShow">
|
|
@@ -129,7 +216,50 @@
|
|
|
<script>
|
|
|
import { ChangeDate,ChangeDate2 } from '../../assets/js/date.js'
|
|
|
export default {
|
|
|
+ watch: {
|
|
|
+ 'filter.productType': {
|
|
|
+ handler(newVal) {
|
|
|
+ if (newVal == '0') {
|
|
|
+ this.select1 = true
|
|
|
+ this.select2 = false
|
|
|
+ this.select3 = false
|
|
|
+ this.filter.dataType = ''
|
|
|
+ this.filter.invoiceType = ''
|
|
|
+ } else if (newVal == '2') {
|
|
|
+ this.select2 = true
|
|
|
+ this.select1 = false
|
|
|
+ this.select3 = false
|
|
|
+ this.filter.payType = ''
|
|
|
+ this.filter.invoiceType = ''
|
|
|
+ } else if (newVal == '4') {
|
|
|
+ this.select3 = true
|
|
|
+ this.select1 = false
|
|
|
+ this.select2 = false
|
|
|
+ this.filter.dataType = ''
|
|
|
+ this.filter.payType = ''
|
|
|
+ } else {
|
|
|
+ this.select1 = false
|
|
|
+ this.select2 = false
|
|
|
+ this.select3 = false
|
|
|
+ this.filter.payType = ''
|
|
|
+ this.filter.dataType = ''
|
|
|
+ this.filter.invoiceType = ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ screened () {
|
|
|
+ this.flag = !this.flag
|
|
|
+ if (this.flag) {
|
|
|
+ this.filterType = 1
|
|
|
+ this.filterReset = 1
|
|
|
+ } else {
|
|
|
+ this.filterType = 0
|
|
|
+ this.filterReset = 0
|
|
|
+ }
|
|
|
+ },
|
|
|
load (val) {
|
|
|
this.loading = val
|
|
|
},
|
|
@@ -144,6 +274,10 @@ export default {
|
|
|
this.filter.payMoneyMax = ''
|
|
|
this.filter.orderTimeStart = ''
|
|
|
this.filter.orderTimeEnd = ''
|
|
|
+ this.filter.payWay = ''
|
|
|
+ this.filter.payType = ''
|
|
|
+ this.filter.dataType = ''
|
|
|
+ this.filter.invoiceType = ''
|
|
|
this.dataVal1 = ''
|
|
|
this.dataVal2 = ''
|
|
|
}
|
|
@@ -198,6 +332,47 @@ export default {
|
|
|
this.models.tShow = true
|
|
|
this.models.reCode = code
|
|
|
},
|
|
|
+ orderExport() {
|
|
|
+ if (this.list.lists.length == 0) {
|
|
|
+ this.$Notice.warning({
|
|
|
+ title: '警告提示',
|
|
|
+ desc: "暂无相应数据",
|
|
|
+ duration: 5
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let obj = {
|
|
|
+ productType: this.filter.productType,
|
|
|
+ orderStatus: this.filter.orderStatus,
|
|
|
+ invoiceStatus: this.filter.invoiceStatus,
|
|
|
+ payWay: this.filter.payWay,
|
|
|
+ orderTimeStart: this.filter.orderTimeStart,
|
|
|
+ orderTimeEnd: this.filter.orderTimeEnd,
|
|
|
+ payMoneyMin: this.filter.payMoneyMin,
|
|
|
+ payMoneyMax: this.filter.payMoneyMax,
|
|
|
+ orderType: this.filter.orderType,
|
|
|
+ payType: this.filter.payType,
|
|
|
+ dataType: this.filter.dataType,
|
|
|
+ invoiceType: this.filter.invoiceType
|
|
|
+ }
|
|
|
+ this.$Modal.confirm({
|
|
|
+ title: "确定导出结果吗?",
|
|
|
+ onOk: () => {
|
|
|
+ this.$request('/order/orderList/exportOrder').data(obj).success((res) => {
|
|
|
+ if (res.data.path) {
|
|
|
+ window.location.href = res.data.path
|
|
|
+ this.reload()
|
|
|
+ } else {
|
|
|
+ this.$Notice.warning({
|
|
|
+ title: '警告提示',
|
|
|
+ desc: "暂无相应数据",
|
|
|
+ duration: 5
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).get()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
subSave () {
|
|
|
var curTime = new Date().getTime()
|
|
|
this.$request('/order/orderList/confirmRefund').data({
|
|
@@ -250,6 +425,31 @@ export default {
|
|
|
{v: '0', n: '未申请'},
|
|
|
{v: '1', n: '已申请'}
|
|
|
],
|
|
|
+ payStatus: [
|
|
|
+ {v: '', n: '全部'},
|
|
|
+ {v: '0', n: '支付宝'},
|
|
|
+ {v: '1', n: '微信'},
|
|
|
+ {v: '2', n: '线下支付'},
|
|
|
+ {v: '3', n: '对公转账'},
|
|
|
+ {v: '4', n: '其它'}
|
|
|
+ ],
|
|
|
+ payCont: [
|
|
|
+ {v: '', n: '全部'},
|
|
|
+ {v: '0', n: '试用'},
|
|
|
+ {v: '1', n: '续费'},
|
|
|
+ {v: '2', n: '升级'},
|
|
|
+ {v: '3', n: '购买'}
|
|
|
+ ],
|
|
|
+ dataCont: [
|
|
|
+ {v: '', n: '全部'},
|
|
|
+ {v: '标准字段包', n: '标准字段包'},
|
|
|
+ {v: '高级字段包', n: '高级字段包'}
|
|
|
+ ],
|
|
|
+ invoicePerson: [
|
|
|
+ {v: '', n: '全部'},
|
|
|
+ {v: '0', n: '汇学网'},
|
|
|
+ {v: '1', n: '王凯精品课'}
|
|
|
+ ],
|
|
|
filter: {
|
|
|
// keyword: '',
|
|
|
productType: '',
|
|
@@ -260,7 +460,10 @@ export default {
|
|
|
orderTimeEnd: '',
|
|
|
payMoneyMin: '',
|
|
|
payMoneyMax: '',
|
|
|
- payStatus: ''
|
|
|
+ payWay: '',
|
|
|
+ payType: '',
|
|
|
+ dataType: '',
|
|
|
+ invoiceType: ''
|
|
|
},
|
|
|
sear: {
|
|
|
keyword: ''
|
|
@@ -290,10 +493,25 @@ export default {
|
|
|
{
|
|
|
title: '产品类型',
|
|
|
key: 'product_type',
|
|
|
+ width: '150',
|
|
|
align: 'center',
|
|
|
render: (h, {row}) => {
|
|
|
let words = row.product_type
|
|
|
- return h('span', words == 'VIP订阅' || words == 'vip订阅' ? '超级订阅' : row.product_type)
|
|
|
+ let vipType = ''
|
|
|
+ if (row.vip_type == 0) {
|
|
|
+ vipType = '(试用)'
|
|
|
+ } else if (row.vip_type == 1) {
|
|
|
+ vipType = '(续费)'
|
|
|
+ } else if (row.vip_type == 2) {
|
|
|
+ vipType = '(升级)'
|
|
|
+ } else if (row.vip_type == null) {
|
|
|
+ if (row.pay_way == "trial") {
|
|
|
+ vipType = '(试用)'
|
|
|
+ } else {
|
|
|
+ vipType = '(购买)'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return h('span', words == 'VIP订阅' || words == 'vip订阅' ? '超级订阅' + vipType : row.product_type)
|
|
|
}
|
|
|
},
|
|
|
{
|
|
@@ -316,7 +534,7 @@ export default {
|
|
|
key: 'pay_money',
|
|
|
align: 'center',
|
|
|
render: (h, {row}) => {
|
|
|
- return h('span','¥' + parseFloat(row.pay_money?row.pay_money/100:0).toLocaleString('en-US'))
|
|
|
+ return h('span','¥' + parseFloat(row.pay_money?row.pay_money/100:0).toLocaleString('en-US'))
|
|
|
}
|
|
|
},
|
|
|
{
|