Commit 2cbcc9fd authored by 王's avatar

订单管理

parent 09c2daa5
<template>
<el-dialog
title="订单详情"
center
:visible.sync="dialogObj.show"
width="800px">
<el-row align="middle" type="flex">
<el-col :span="4"><label>订单号</label></el-col>
<el-col :span="8">
{{detail.out_trade_no}}
</el-col>
<el-col :span="4"><label>商品名称</label></el-col>
<el-col :span="8">{{detail.goods_name}}</el-col>
</el-row>
<el-row align="middle" type="flex">
<el-col :span="4"><label>用户昵称</label></el-col>
<el-col :span="8">
{{detail.user_nickname}}
</el-col>
<el-col :span="4"><label>用户手机号</label></el-col>
<el-col :span="8">{{detail.user_mobile}}</el-col>
</el-row>
<el-row align="middle" type="flex">
<el-col :span="4"><label>推广人类型</label></el-col>
<el-col :span="8">{{detail.invite_type}}</el-col>
<el-col :span="4"><label>推广人ID</label></el-col>
<el-col :span="8">{{detail.invite_id}}</el-col>
</el-row>
<el-row align="middle" type="flex">
<el-col :span="4"><label>推广人收益</label></el-col>
<el-col :span="8">{{ detail.invite_earnings ? detail.invite_earnings/100 : 0}}</el-col>
<template v-if="detail.buy_type === 2">
<el-col :span="4"><label>团购信息</label></el-col>
<el-col :span="8">团ID:{{detail.order_group_id}}<br>时否是团长:{{detail.is_captain === 0 ? '否' : '是'}}</el-col>
</template>
</el-row>
<el-row>
<el-col :span="4"><label>期数ID</label></el-col>
<el-col :span="8">{{detail.periods_id}}</el-col>
<el-col :span="4"><label>描述</label></el-col>
<el-col :span="8">{{detail.desc}}</el-col>
</el-row>
<el-row>
<el-col :span="4"><label>收获地址</label></el-col>
<el-col :span="20">
<template v-if="detail.user_address_id">
收货人:{{detail.receive_name}}<br>
手机号:{{detail.receive_mobile}}<br>
收获地址: {{detail.province_name}}{{detail.city}}{{detail.area}}{{detail.address}}
</template>
</el-col>
</el-row>
<el-row>
<el-col :span="4"><label>付款时间</label></el-col>
<el-col :span="8">{{detail.pay_at}}</el-col>
</el-row>
</el-dialog>
</template>
<script>
import {INVITETYPE,ORDERSTATUS,BUYTYPE} from "../../util/wordbook";
export default {
name: "detail",
props:[
'dialogObj'
],
data(){
return {
detail:{},
show:false
}
},
methods:{
initDialog(){
this.detail = this.dialogObj.detail;
this.show = this.dialogObj.show;
}
},
filters:{
payMentFilter(val){
return val=='1'?'已付款':'未付款'
},
courseTypeFilter(val){
return val.type=='1'?`正式课(${val.duration}个月)`:`试听课(${val.duration}天)`
},
inviteType(value){
return INVITETYPE[value]
},
status(value){
return ORDERSTATUS[value]
},
buyType(value){
return BUYTYPE[value]
},
moneytFilter(val){
return val = val / 100 + '元'
}
},
watch:{
dialogObj:{
handler: function () {
this.initDialog()
},
deep: true
},
show(value){
this.$emit("changeShow",value);
}
}
}
</script>
<style scoped lang="less">
.el-col{
height: 60px;
img{
width: 50px;
border-radius: 100px;
}
label{
color: #5982e6;
}
}
</style>
<template> <template>
<div> <div class="order">
<el-table <el-form ref="searchFrom" :model="searchFrom" label-width="100px">
:data="tableData"
border
style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" class="demo-table-expand">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="6">
<el-form-item label="客户信息:"> <el-form-item label="用户昵称">
<span>ID:{{props.row.user_id}} {{props.row.user_nickname}} {{props.row.user_mobile}}</span> <el-input v-model="searchFrom.nickname"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="用户ID">
<el-input v-model="searchFrom.user_id"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="商品ID">
<el-input v-model="searchFrom.goods_id"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="来源:"> <el-form-item label="推广人ID">
<span> {{props.row.invite_type}}<br>{{props.row.invite_id}}</span> <el-input v-model="searchFrom.invite_id"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="备注:"> <el-row>
<span>{{ props.row.desc }}</span> <el-col :span="6">
<el-form-item label="推广人类型">
<el-select v-model="searchFrom.invite_type" placeholder="请选择" clearable>
<el-option
v-for="item in inviteTypeOption"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="收货地址:"> </el-col>
<div> <el-col :span="6">
{{props.row.receive_name}} <el-form-item label="购买方式">
{{props.row.receive_mobile}} <el-select v-model="searchFrom.buy_type" placeholder="请选择" clearable>
{{props.row.province_name}}{{props.row.city}}{{props.row.area}}{{props.row.address}} <el-option
</div> v-for="item in buyTypeOption"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="订单状态">
<el-select v-model="searchFrom.status" placeholder="请选择" clearable>
<el-option
v-for="item in orderStatusOption"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="交易订单号">
<el-input v-model="searchFrom.out_trade_no"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-form-item label="购买时间">
<el-date-picker
v-model="searchFrom.payTime"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00','23:59:59']">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item style="float: right">
<el-button type="primary" plain @click="getOrderList">搜索</el-button>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</template> <el-table
</el-table-column> :data="tableData"
border
style="width: 100%">
<el-table-column <el-table-column
prop="out_trade_no" prop="out_trade_no"
label="订单号" label="订单号"
> >
</el-table-column> </el-table-column>
</el-table-column>
<el-table-column <el-table-column
prop="user_nickname" label="购买人"
label="购买人"> className="f-c"
>
<template slot-scope="scope">
<img class="avatar" :src="scope.row.user_avatar"/> {{scope.row.user_nickname}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="goods_name" prop="goods_name"
...@@ -47,57 +110,64 @@ ...@@ -47,57 +110,64 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="实付金额" label="实付金额"
> width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.money|moneytFilter}} {{scope.row.money|moneytFilter}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="付款状态"> label="付款状态"
width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.status|status}} {{scope.row.status|status}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="desc"
label="备注">
</el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
min-width="80" min-width="120"
v-if="!$store.state.readonly" v-if="!$store.state.readonly"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover
placement="top"
width="280">
<div style="text-align: center">
<el-button <el-button
v-if="scope.row.status == 1" v-if="scope.row.status == 1"
@click="onRefund(scope.row.id, scope.row.money)" @click="onRefund(scope.row.id, scope.row.money)"
type="warning" type="text"
plain plain
size="mini"> size="mini">
退款 退款
</el-button> </el-button>
<el-button <el-button
@click="editComment(scope.row.id, scope.row.desc)" @click="editComment(scope.row.id, scope.row.desc)"
type="warning" type="text"
plain plain
size="mini"> size="mini">
编辑备注 编辑备注
</el-button> </el-button>
<el-button <el-button
v-if="scope.row.user_address_id"
@click="editAddress(scope.row)" @click="editAddress(scope.row)"
plain plain
type="warning" type="text"
size="mini"> size="mini">
编辑收货地址 编辑收货地址
</el-button> </el-button>
</div> <el-button
<el-button slot="reference" size="mini" type="text" >操作</el-button> @click="detail(scope.row)"
</el-popover> type="text"
plain
size="mini">
查看详情
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<address-dialog v-if="dialogObj.show" :dialogObj="dialogObj" @reflash="onUpdateAddress"></address-dialog> <address-dialog v-if="dialogObj.show" :dialogObj="dialogObj" @reflash="onUpdateAddress"></address-dialog>
<refund-dialog :dialogObj="refundDialogObj" @reflash="onAfterRefund" @changeShow="changeShow"></refund-dialog> <refund-dialog :dialogObj="refundDialogObj" @reflash="onAfterRefund" @changeShow="changeShow"></refund-dialog>
<detail-dialog :dialogObj="dialogDetailObj" @changeShow="changeDetailShow"/>
<page :nowPage="nowPage" :total="total"/> <page :nowPage="nowPage" :total="total"/>
</div> </div>
</template> </template>
...@@ -107,8 +177,10 @@ ...@@ -107,8 +177,10 @@
import page from '../framework/page' import page from '../framework/page'
import addressDialog from './dialog' import addressDialog from './dialog'
import refundDialog from './refundDialog' import refundDialog from './refundDialog'
import detailDialog from './detail'
import AddressArray from '../framework/address-picker/addr' import AddressArray from '../framework/address-picker/addr'
import {INVITETYPE,ORDERSTATUS,BUYTYPE} from "../../util/wordbook"; import {INVITETYPE,ORDERSTATUS,BUYTYPE,BUYTYPEOPTION,ORDERSTATUSOPTION,INVITETYPEOPTION} from "../../util/wordbook";
import CommonJs from '../../util/common';
export default { export default {
name: 'index', name: 'index',
...@@ -116,6 +188,17 @@ ...@@ -116,6 +188,17 @@
return { return {
nowPage: 1, nowPage: 1,
total: 0, total: 0,
searchFrom: {
nickname: '',
user_id: '',
invite_type: '',
invite_id: '',
buy_type: '',
status: '',
goods_id: '',
out_trade_no: '',
payTime: []
},
tableData: [], tableData: [],
dialogObj: { dialogObj: {
show: false show: false
...@@ -124,10 +207,24 @@ ...@@ -124,10 +207,24 @@
show: false, show: false,
id: '', id: '',
money: 0 money: 0
} },
dialogDetailObj: {
show: false,
detail: {}
},
inviteTypeOption: INVITETYPEOPTION,
orderStatusOption: ORDERSTATUSOPTION,
buyTypeOption: BUYTYPEOPTION
} }
}, },
methods: { methods: {
detail(row){
let _detail = row;
this.dialogDetailObj = {
show: true,
detail: _detail
}
},
editComment(id, desc) { editComment(id, desc) {
this.$prompt('编辑备注', '提示', { this.$prompt('编辑备注', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -138,15 +235,51 @@ ...@@ -138,15 +235,51 @@
this.$message({ this.$message({
type: 'success', type: 'success',
message: '编辑备注成功' message: '编辑备注成功'
}); })
this.getOrderList();
}); });
}) })
}, },
getOrderList(){ getOrderList(){
getOrderListApi().then((res)=>{ let json = {};
if (this.searchFrom.nickname) {
json.nickname = this.searchFrom.nickname
}
if (this.searchFrom.user_id) {
json.user_id = this.searchFrom.user_id
}
if (this.searchFrom.invite_type) {
json.invite_type = this.searchFrom.invite_type
}
if (this.searchFrom.invite_id) {
json.invite_id = this.searchFrom.invite_id
}
if (this.searchFrom.buy_type) {
json.buy_type = this.searchFrom.buy_type
}
if (this.searchFrom.status) {
json.status = this.searchFrom.status
}
if (this.searchFrom.goods_id) {
json.goods_id = this.searchFrom.goods_id
}
if (this.searchFrom.out_trade_no) {
json.out_trade_no = this.searchFrom.out_trade_no
}
if(this.searchFrom.payTime && this.searchFrom.payTime.length > 0){
console.log('this.searchFrom.payTime')
json.pay_start_at = CommonJs.dateFmt(this.searchFrom.payTime[0],"yyyy-MM-dd hh:mm:ss")
json.pay_end_at = CommonJs.dateFmt(this.searchFrom.payTime[1],"yyyy-MM-dd hh:mm:ss")
}
console.log('json', json);
getOrderListApi(json).then((res)=>{
this.tableData = res.list this.tableData = res.list
this.total = res.total
}) })
}, },
changeDetailShow(data){
this.dialogDetailObj.show=data
},
changeShow(data){ changeShow(data){
this.refundDialogObj.show=data this.refundDialogObj.show=data
}, },
...@@ -164,7 +297,7 @@ ...@@ -164,7 +297,7 @@
this.getOrderList(); this.getOrderList();
}, },
editAddress(row){ editAddress(row){
if(!row.address_info.province_name){ if( !row.address_info || !row.address_info.province_name ){
this.dialogObj.province = '' this.dialogObj.province = ''
this.dialogObj.city = '' this.dialogObj.city = ''
this.dialogObj.district = '' this.dialogObj.district = ''
...@@ -197,13 +330,12 @@ ...@@ -197,13 +330,12 @@
} }
} }
this.dialogObj.detail = row.address_info.address; this.dialogObj.detail = row.address_info ? row.address_info.address : '';
this.dialogObj.user_id = row.address_info.user_id; this.dialogObj.receive_mobile = row.address_info ? row.address_info.receive_mobile : '';
this.dialogObj.receive_mobile = row.address_info.receive_mobile; this.dialogObj.receive_name = row.address_info ? row.address_info.receive_name : '';
this.dialogObj.receive_name = row.address_info.receive_name; this.dialogObj.province_name = row.address_info ? row.address_info.province_name : '';
this.dialogObj.province_name = row.address_info.province_name; this.dialogObj.city_name = row.address_info ? row.address_info.city : '';
this.dialogObj.city_name = row.address_info.city; this.dialogObj.district_name = row.address_info ? row.address_info.area : '';
this.dialogObj.district_name = row.address_info.area;
this.dialogObj.id = row.id; this.dialogObj.id = row.id;
this.dialogObj.show=true; this.dialogObj.show=true;
} }
...@@ -211,6 +343,7 @@ ...@@ -211,6 +343,7 @@
components: { components: {
addressDialog, addressDialog,
refundDialog, refundDialog,
detailDialog,
page page
}, },
mounted(){ mounted(){
...@@ -240,5 +373,20 @@ ...@@ -240,5 +373,20 @@
</script> </script>
<style scoped> <style scoped>
.avatar{
width: 50px;
margin-right: 5px;
border-radius: 50%;
}
.order {
padding: 20px;
}
</style>
<style>
.f-c > .cell {
display: flex !important;
flex-flow: row;
justify-content: flex-start;
align-items: center;
}
</style> </style>
<template> <template>
<div> <div class="putForward">
<el-form :inline="true" :model="search" class="demo-form-inline" label-width="80px"> <el-form :inline="true" :model="search" class="demo-form-inline" label-width="80px">
<el-form-item label="关键字"> <el-form-item label="关键字">
<el-input v-model="search.key" placeholder="用户名/手机号"></el-input> <el-input v-model="search.key" placeholder="用户名/手机号"></el-input>
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
import {getWithdrawListApi,editOrderDescApi,withdrawApi} from "../../service/api"; import {getWithdrawListApi,editOrderDescApi,withdrawApi} from "../../service/api";
import page from '../framework/page' import page from '../framework/page'
export default { export default {
name: "orderMoney", name: "putForward",
data(){ data(){
return { return {
nowPage: 1, nowPage: 1,
...@@ -206,19 +206,11 @@ ...@@ -206,19 +206,11 @@
methods:{ methods:{
//获取列表 //获取列表
getList:function () { getList:function () {
let data = { let json = {
key : this.search.key,
page : this.page.current,
per_page : this.page.pageSize,
status : this.search.status
}; };
getWithdrawListApi( data ).then(res=>{ getWithdrawListApi(json).then(res=>{
if( res.data.result === 'success' ){ this.tableData = res.list;
this.tableData = res.data.data.data; this.total = res.total;
this.total = res.data.data.total;
}else{
this.$message.error( res.data.message );
}
}) })
}, },
// 查询按钮 // 查询按钮
...@@ -272,11 +264,7 @@ ...@@ -272,11 +264,7 @@
return false return false
} }
editOrderDescApi(this.nowObj.id,'withdraw',data).then(res=>{ editOrderDescApi(this.nowObj.id,'withdraw',data).then(res=>{
if( res.data.result === 'success' ){
this.doCallback() this.doCallback()
}else{
this.$message.error( res.data.message );
}
}); });
// 审核 // 审核
}else{ }else{
...@@ -291,11 +279,7 @@ ...@@ -291,11 +279,7 @@
data.reason = ''; data.reason = '';
} }
withdrawApi(this.nowObj.id, data ).then(res=>{ withdrawApi(this.nowObj.id, data ).then(res=>{
if( res.data.result === 'success' ){
this.doCallback() this.doCallback()
}else{
this.$message.error( res.data.message );
}
}) })
} }
} }
...@@ -304,6 +288,9 @@ ...@@ -304,6 +288,9 @@
</script> </script>
<style scoped> <style scoped>
.putForward {
padding: 20px;
}
.status{ .status{
color: #e9a038; color: #e9a038;
} }
......
<template> <template>
<div class="refund"> <div class="refund">
<el-form ref="searchFrom" :model="searchFrom" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="用户昵称">
<el-input v-model="searchFrom.nickname"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="用户ID">
<el-input v-model="searchFrom.user_id"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" :offset="6">
<el-form-item style="float: right">
<el-button type="primary" plain @click="getRefundList">搜索</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table <el-table
:data="list" :data="list"
style="width: 100%"> style="width: 100%">
...@@ -84,19 +103,11 @@ ...@@ -84,19 +103,11 @@
return { return {
nowPage: 1, nowPage: 1,
total: 0, total: 0,
list: [ searchFrom: {
{ nickname:'',
out_trade_no: '111', user_id: ''
refund_no: '111', },
user_id: '1', list: []
order_money: 100,
refund_money: 100,
desc: 'sdfaf',
callback: 'ewewew',
status: 1,
success_at: '2018-09-01'
}
]
} }
}, },
filters:{ filters:{
...@@ -132,7 +143,14 @@ ...@@ -132,7 +143,14 @@
}) })
}, },
getRefundList(){ getRefundList(){
getRefundListApi().then((res)=>{ let json = {}
if(this.searchFrom.nickname){
json.nickname = this.searchFrom.nickname
}
if(this.searchFrom.user_id){
json.user_id = this.searchFrom.user_id
}
getRefundListApi(json).then((res)=>{
this.total = res.total; this.total = res.total;
this.list = res.list this.list = res.list
}) })
...@@ -144,6 +162,6 @@ ...@@ -144,6 +162,6 @@
<style scoped> <style scoped>
.refund{ .refund{
margin: 10px; padding: 20px;
} }
</style> </style>
...@@ -16,6 +16,11 @@ ...@@ -16,6 +16,11 @@
<img class="avatar" :src="detail.qr"/> <img class="avatar" :src="detail.qr"/>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="6">
<label>老师状态:</label>{{detail.status === 0 ? '正常' : '禁用'}}
</el-col>
</el-row>
</div> </div>
<el-table <el-table
:data="list" :data="list"
......
...@@ -15,26 +15,36 @@ ...@@ -15,26 +15,36 @@
<el-row> <el-row>
<el-col :span="4"><label>手机号</label></el-col> <el-col :span="4"><label>手机号</label></el-col>
<el-col :span="8">{{userDetail.mobile}}</el-col> <el-col :span="8">{{userDetail.mobile}}</el-col>
<el-col :span="4"><label>注册时间</label></el-col> <el-col :span="4"><label>用户ID</label></el-col>
<el-col :span="8">{{userDetail.created_at}}</el-col> <el-col :span="8">{{userDetail.user_id}}</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4"><label>生日</label></el-col> <el-col :span="4"><label>生日</label></el-col>
<el-col :span="8">{{userDetail.birthday}}</el-col> <el-col :span="8">{{userDetail.birthday}}</el-col>
<el-col :span="4"><label>ID</label></el-col> <el-col :span="4"><label>邀请类型</label></el-col>
<el-col :span="8">{{userDetail.user_id}}</el-col> <el-col :span="8">{{userDetail.invite_type}}</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4"><label>等级</label></el-col> <el-col :span="4"><label>等级</label></el-col>
<el-col :span="8">{{userDetail.level}}</el-col> <el-col :span="8">{{userDetail.level}}</el-col>
<el-col :span="4"><label>最后登录</label></el-col> <el-col :span="4"><label>邀请人ID</label></el-col>
<el-col :span="8">{{userDetail.last_login_at}}</el-col> <el-col :span="8">{{userDetail.invite_user_id}}</el-col>
</el-row> </el-row>
<el-row align="middle" type="flex"> <el-row align="middle" type="flex">
<el-col :span="4"><label>邀请码</label></el-col> <el-col :span="4"><label>邀请码</label></el-col>
<el-col :span="8"> <el-col :span="8">
{{userDetail.invite_code}} {{userDetail.invite_code}}
</el-col> </el-col>
<el-col :span="4"><label>老师ID</label></el-col>
<el-col :span="8">
{{userDetail.teacher_id}}
</el-col>
</el-row>
<el-row>
<el-col :span="4"><label>注册时间</label></el-col>
<el-col :span="8">{{userDetail.created_at}}</el-col>
<el-col :span="4"><label>最后登录</label></el-col>
<el-col :span="8">{{userDetail.last_login_at}}</el-col>
</el-row> </el-row>
</el-dialog> </el-dialog>
</template> </template>
...@@ -81,7 +91,7 @@ ...@@ -81,7 +91,7 @@
<style scoped lang="less"> <style scoped lang="less">
.el-col{ .el-col{
height: 50px; height: 60px;
img{ img{
width: 50px; width: 50px;
border-radius: 100px; border-radius: 100px;
......
...@@ -445,7 +445,7 @@ export const refundApi = function (id, json) { ...@@ -445,7 +445,7 @@ export const refundApi = function (id, json) {
// 修改订单收货地址 // 修改订单收货地址
const editAddressUrl = `${_baseUrl}api/admin/order/address/`; const editAddressUrl = `${_baseUrl}api/admin/order/address/`;
export const editAddressApi = function (id,json) { export const editAddressApi = function (id,json) {
return Vue.prototype.$put(`${editAddressUrl}/${id}`,json) return Vue.prototype.$put(`${editAddressUrl}${id}`,json)
}; };
// 提现审核 // 提现审核
const withdrawUrl = `${_baseUrl}/api/admin/order/withdraw/`; const withdrawUrl = `${_baseUrl}/api/admin/order/withdraw/`;
......
export default{
dateFmt:function(date,format) {
var o = {
"M+" : date.getMonth()+1, //month
"d+" : date.getDate(), //day
"h+" : date.getHours(), //hour
"m+" : date.getMinutes(), //minute
"s+" : date.getSeconds(), //second
"q+" : Math.floor((date.getMonth()+3)/3), //quarter
"S" : date.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
}
\ No newline at end of file
...@@ -48,3 +48,45 @@ export const BUYTYPE = { ...@@ -48,3 +48,45 @@ export const BUYTYPE = {
1:'单买', 1:'单买',
2:'团购' 2:'团购'
} }
export const BUYTYPEOPTION = [
{
id: 1,
value: '单买'
},
{
id: 2,
value: '团购'
}
]
export const ORDERSTATUSOPTION = [
{
id: 0,
value: '待付款'
},
{
id: 1,
value: '付款成功'
},
{
id: 2,
value: '付款失败'
},
{
id: 3,
value: '退款成功'
}
]
export const INVITETYPEOPTION = [
{
id: 0,
value: '用户'
},
{
id: 1,
value: '老师'
},
{
id: 2,
value: '推广渠道'
}
]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment