Commit b2c4209f authored by chenfenglei's avatar chenfenglei

新增月课新增订单

parent 35e40afd
...@@ -19,15 +19,17 @@ ...@@ -19,15 +19,17 @@
}, },
methods:{ methods:{
initPage(){ initPage(){
console.log(this.dialogObj)
}, },
}, },
watch:{ watch:{
'dialogObj'(value){ 'dialogObj.show'(value){
if(value){
this.initPage() this.initPage()
} }
} }
} }
}
</script> </script>
<style scoped> <style scoped>
......
...@@ -139,8 +139,8 @@ ...@@ -139,8 +139,8 @@
dialogObj:{ dialogObj:{
show:false, show:false,
title:'售卖课程', title:'售卖课程',
id:"", teacher_id:"",
time:"" timeValue:"",
}, },
} }
}, },
...@@ -171,7 +171,6 @@ ...@@ -171,7 +171,6 @@
end_at:this.searchFirstFrom.dateValue[1] end_at:this.searchFirstFrom.dateValue[1]
}; };
} }
console.log(json)
getTeacherRankListApi(json).then(res=>{ getTeacherRankListApi(json).then(res=>{
this.firstList = res; this.firstList = res;
}) })
...@@ -203,7 +202,10 @@ ...@@ -203,7 +202,10 @@
this.searchSecondFrom.dateValue = [star,end] this.searchSecondFrom.dateValue = [star,end]
}, },
nameClick(val){ nameClick(val){
console.log(val) this.dialogObj.teacher_id=val.tid;
if(val.cur_date){
this.dialogObj.timeValue=val.cur_date
}
this.dialogObj.show=true; this.dialogObj.show=true;
}, },
} }
......
...@@ -682,7 +682,6 @@ ...@@ -682,7 +682,6 @@
}) })
}); });
getClassUserApi(this.userObj.classId,json).then(res=>{ getClassUserApi(this.userObj.classId,json).then(res=>{
console.log(res.list)
this.userTable = res.list this.userTable = res.list
}); });
this.changeClassObj={ this.changeClassObj={
......
...@@ -101,9 +101,6 @@ export default { ...@@ -101,9 +101,6 @@ export default {
getLink getLink
}, },
methods: { methods: {
a() {
console.log("aa");
},
logOut() { logOut() {
this.$confirm("确定退出系统?", "提示", { this.$confirm("确定退出系统?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
......
...@@ -321,7 +321,6 @@ ...@@ -321,7 +321,6 @@
this.selectBox([i.id]) this.selectBox([i.id])
}); });
} }
}); });
break; break;
case 2: case 2:
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<el-button type="primary" plain @click="exportTable">导出</el-button> <el-button type="primary" plain @click="exportTable">导出</el-button>
</el-form-item> </el-form-item>
<el-form-item style="float:right"> <el-form-item style="float:right">
<!-- <el-button type="success" plain @click="add">新增订单</el-button> --> <el-button type="success" plain @click="add" v-if="!$store.state.readonly">新增订单</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
</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>
<order-dialog v-if="newdialogObj.show" :newdialogObj="newdialogObj"></order-dialog> <order-dialog v-if="newdialogObj.show" :newdialogObj="newdialogObj" @reflash="getOrderList"></order-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"/> <detail-dialog :dialogObj="dialogDetailObj" @changeShow="changeDetailShow"/>
<source-dialog :dialogObj="sourceDialog"/> <source-dialog :dialogObj="sourceDialog"/>
...@@ -588,7 +588,6 @@ ...@@ -588,7 +588,6 @@
json.name = name json.name = name
} }
getTeacherListApi(json).then(res=>{ getTeacherListApi(json).then(res=>{
console.log(res.list)
this.teacherList = res.list this.teacherList = res.list
this.loading = false this.loading = false
}); });
...@@ -597,7 +596,6 @@ ...@@ -597,7 +596,6 @@
console.log('handleCurrentTeacherChange', val) console.log('handleCurrentTeacherChange', val)
}, },
updateTeacher(val){ updateTeacher(val){
console.log(val)
this.promoterDialog.show = true; this.promoterDialog.show = true;
this.promoterDialog.id = val.id; this.promoterDialog.id = val.id;
this.promoterDialog.teacher_id = val.invite_id; this.promoterDialog.teacher_id = val.invite_id;
......
...@@ -4,24 +4,12 @@ ...@@ -4,24 +4,12 @@
center center
append-to-body append-to-body
:visible.sync="newdialogObj.show" :visible.sync="newdialogObj.show"
width="900px"> width="70%">
<el-form ref="form" :model="form" label-width="120px" :rules="rules"> <el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="10">
<el-form-item label="期数名称">
<el-cascader
:options="periodsList"
:props="{value:'id',label:'name'}"
@active-item-change="handleItemChange"
@change="changePeriods"
v-model="selectedGoods"
>
</el-cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商品名称" prop="goods_id"> <el-form-item label="商品名称" prop="goods_id">
<el-select v-model="form.goods_id" placeholder="请选择"> <el-select v-model="form.goods_id" placeholder="请选择" @change="onOptionChange">
<el-option <el-option
v-for="(data,index) in goodsList" v-for="(data,index) in goodsList"
:key="index" :key="index"
...@@ -31,35 +19,28 @@ ...@@ -31,35 +19,28 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="10">
<el-row> <el-form-item label="期数名称" prop="periods_id">
<el-col :span="12"> <el-select v-model="form.periods_id" placeholder="请选择">
<el-form-item label="用户ID" prop="user_id" >
<el-input v-model="form.user_id"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="实付金额(元)" prop="money" >
<el-input v-model="form.money"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="购买方式" prop="buy_type">
<el-select v-model="form.buy_type" placeholder="请选择">
<el-option <el-option
v-for="item in buyTypeOptions" v-for="(data,index) in periodsList"
:key="item.id" :key="index"
:label="item.value" :label="data.title"
:value="item.id"> :value="data.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="10">
<el-form-item label="用户ID" prop="user_id">
<el-input v-model="form.user_id"></el-input>
<el-button type="success" @click="onAddUser">+添加用户</el-button>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="添加推广人" > <el-form-item label="添加推广人" >
<!-- <el-input v-model="form.invite_id"></el-input> --> <!-- <el-input v-model="form.invite_id"></el-input> -->
<el-select <el-select
...@@ -80,14 +61,7 @@ ...@@ -80,14 +61,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="10">
<el-form-item label="备注">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
</el-col>
</el-row>
<vue-address :province="form.province_name" :city="form.city" :district="form.area" :detail="form.address" :mobile="form.receive_mobile" :name="form.receive_name" @change="handlerAddressChange">
</vue-address>
<el-form-item label="支付类型" prop="order_type"> <el-form-item label="支付类型" prop="order_type">
<el-select v-model="form.order_type" placeholder="请选择"> <el-select v-model="form.order_type" placeholder="请选择">
<el-option <el-option
...@@ -98,6 +72,16 @@ ...@@ -98,6 +72,16 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实付金额(元)" prop="money" >
<el-input-number v-model="form.money"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="支付时间" prop="pay_at" > <el-form-item label="支付时间" prop="pay_at" >
<el-date-picker <el-date-picker
v-model="form.pay_at" v-model="form.pay_at"
...@@ -107,20 +91,94 @@ ...@@ -107,20 +91,94 @@
placeholder="选择日期时间"> placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="备注">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<vue-address :province="form.province_name" :city="form.city" :district="form.area" :detail="form.address" :mobile="form.receive_mobile" :name="form.receive_name" @change="handlerAddressChange">
</vue-address>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="newdialogObj.show = false">取 消</el-button> <el-button @click="newdialogObj.show = false">取 消</el-button>
<el-button type="primary" @click="saveAddOrder(form)">确定</el-button> <el-button type="primary" @click="saveAddOrder(form)">确定</el-button>
</div> </div>
<el-dialog :modal="false" :visible.sync="addShow" >
<el-form label-width="90px">
<!--<el-form-item label="用户id">-->
<!--<el-input v-model="addId"></el-input>-->
<!--</el-form-item>-->
<el-row>
<el-col :span="8">
<el-form-item label="ID">
<el-input v-model="searchFrom.userId"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="昵称">
<el-input v-model="searchFrom.nickName"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="电话">
<el-input v-model="searchFrom.mobile"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" :offset="16">
<el-form-item>
<el-button style="float: right" type="primary" plain @click="getUser">搜索</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="userList"
ref="multipleTable"
@selection-change="handleSelectionChange"
style="width: 100%">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
className="f-c"
label="用户">
<template slot-scope="scope">
<img style="margin-right:5px;width: 50px;height: 50px;border-radius: 50px" :src="scope.row.avatar">{{scope.row.nickname}}(ID:{{scope.row.user_id}})
</template>
</el-table-column>
<el-table-column
prop="mobile"
label="手机号">
</el-table-column>
</el-table>
<page :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange"/>
<span slot="footer" class="dialog-footer">
<el-button @click="addShow = false">取 消</el-button>
<el-button type="primary" @click="onAdd">确 定</el-button>
</span>
</el-dialog>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../../service/api" import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListApi} from "../../service/api"
import vueAddress from '../framework/address-picker/Address' import vueAddress from '../framework/address-picker/Address'
import AddressArray from '../framework/address-picker/addr' import AddressArray from '../framework/address-picker/addr'
import {ORDERSTATUS,BUYTYPEOPTION,BUYWay,GOODSTYPE} from "../../util/wordbook" import {ORDERSTATUS,BUYWay,GOODSTYPE} from "../../util/wordbook"
import CommonJs from '../../util/common'; import CommonJs from '../../util/common';
import page from '../framework/page'
export default { export default {
name: "newdialogObj", name: "newdialogObj",
props:[ props:[
...@@ -144,13 +202,13 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -144,13 +202,13 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
pay_at: [ pay_at: [
{ required: true, message: '请选择日期', trigger: 'change' } { required: true, message: '请选择日期', trigger: 'change' }
], ],
buy_type:[
{ required: true, message: '请选择购买方式', trigger: 'change' }
],
order_type:[ order_type:[
{ required: true, message: '请选择支付类型', trigger: 'change' } { required: true, message: '请选择支付类型', trigger: 'change' }
] ]
}, },
nowPage: 1,
limit: 500,
total:0,
form:{ form:{
periods_id:"", periods_id:"",
goods_id:"", goods_id:"",
...@@ -176,16 +234,21 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -176,16 +234,21 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
}, },
goodsList:[], goodsList:[],
periodsList:[], periodsList:[],
selectedGoods:[],
buyTypeOptions:BUYTYPEOPTION,
pickerOptions1:'', pickerOptions1:'',
buyWayOptioms:BUYWay, buyWayOptioms:BUYWay,
teacherList: [], teacherList: [],
addShow:false,
searchFrom:{
},
userList: [],
multipleSelection: [],
} }
}, },
components:{ components:{
vueAddress vueAddress,
page,
}, },
filters:{ filters:{
filterGoods(val){ filterGoods(val){
...@@ -193,6 +256,37 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -193,6 +256,37 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
} }
}, },
methods:{ methods:{
onPageChange(val){
this.nowPage = val
this.getUser()
},
onSizeChange(val){
this.limit = val
this.nowPage = 1;
this.getUser()
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
getUser(){
let json = {
page: this.nowPage,
limit: 5
};
if (this.searchFrom.userId) {
json.user_id = this.searchFrom.userId
}
if (this.searchFrom.nickName) {
json.nickname = this.searchFrom.nickName
}
if (this.searchFrom.mobile) {
json.mobile = this.searchFrom.mobile
}
getUserListApi(json).then(res=>{
this.userList = res.list;
this.total = res.total;
})
},
saveAddOrder(data){ saveAddOrder(data){
this.$refs['form'].validate((valid) => { this.$refs['form'].validate((valid) => {
if (valid) { if (valid) {
...@@ -201,7 +295,6 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -201,7 +295,6 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
goods_id:data.goods_id, goods_id:data.goods_id,
user_id:data.user_id, user_id:data.user_id,
money:data.money, money:data.money,
buy_type:data.buy_type,
province_name:data.province_name, province_name:data.province_name,
city_id:data.city, city_id:data.city,
city:data.city_name, city:data.city_name,
...@@ -214,7 +307,7 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -214,7 +307,7 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
order_type:data.order_type, order_type:data.order_type,
} }
// 元转分 // 元转分
json.money=json.money*100.0; json.money=json.money;
if(data.pay_at){ if(data.pay_at){
json.pay_at = CommonJs.dateFmt( data.pay_at,"yyyy-MM-dd hh:mm:ss"); json.pay_at = CommonJs.dateFmt( data.pay_at,"yyyy-MM-dd hh:mm:ss");
} }
...@@ -225,14 +318,10 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -225,14 +318,10 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
json.desc = this.form.desc json.desc = this.form.desc
} }
json.invite_type="TEACHER"; json.invite_type="TEACHER";
json.status=2;
json.invite_earnings=0;
json.is_captain="";
json.out_trade_no="1"
console.log(json)
if(json.province_name && json.address && json.receive_mobile && json.receive_name){ if(json.province_name && json.address && json.receive_mobile && json.receive_name){
setOrderApi(json).then(res=>{ setOrderApi(json).then(res=>{
this.newdialogObj.show=false this.newdialogObj.show=false
this.$emit("reflash");
this.$message({ this.$message({
message: '添加成功', message: '添加成功',
...@@ -277,36 +366,18 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -277,36 +366,18 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
getGoodsOption(){ getGoodsOption(){
let json = { let json = {
page: 1, page: 1,
limit: 200 limit: 200,
course_type:0,
}; };
getGoodsListApi(json).then(res=>{ getGoodsListApi(json).then(res=>{
this.goodsList = res.list; this.goodsList = res.list;
}) })
}, },
getPeriodsList(){ onOptionChange(id){
let json = { this.form.periods_id="";
page: 1, getPeriodsApi({goods_id:id}).then((res) => {
limit: 100, this.periodsList=res.list
goods_type:'1,2'
};
getGoodsListApi(json).then(res=>{
res.list.forEach(i=>{
i.name = '[' + GOODSTYPE[i.goods_type] + ']' + '[' +i.current_price / 100 + '元]' + i.name
i.children = [];
});
this.periodsList = res.list;
});
},
handleItemChange(val){
getPeriodsApi({goods_id:val[0]}).then(res=>{
res.list.forEach(i=>{i.name = i.title});
this.periodsList.find(i=>{return i.id === val[0]}).children = res.list
}) })
},
changePeriods(data){
if(data.length>1){
this.form.periods_id=data[1];
}
}, },
getTeacherList(name){ getTeacherList(name){
let json = { let json = {
...@@ -327,10 +398,30 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../.. ...@@ -327,10 +398,30 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
this.getTeacherList(); this.getTeacherList();
} }
}, },
onAddUser(){
this.addShow = true;
this.getUser();
},
onAdd(){
if(this.multipleSelection.length === 0) {
this.$message({
type: 'error',
message: '请选择用户!'
});
return
} else if (this.multipleSelection.length !== 1){
this.$message({
type: 'error',
message: '只能选择一个用户!'
});
return
}
this.form.user_id=this.multipleSelection[0].user_id;
this.addShow = false;
},
}, },
mounted(){ mounted(){
this.getGoodsOption(); this.getGoodsOption();
this.getPeriodsList();
this.getTeacherList(); this.getTeacherList();
}, },
} }
......
...@@ -96,7 +96,6 @@ ...@@ -96,7 +96,6 @@
getConfigListApi({key:this.searchFrom2.key}).then(res=>{ getConfigListApi({key:this.searchFrom2.key}).then(res=>{
if(res.list && res.list.length>0){ if(res.list && res.list.length>0){
// 期数默认配置 // 期数默认配置
// console.log(res.list)
}else{ }else{
this.searchFrom2.value = ''; this.searchFrom2.value = '';
} }
...@@ -113,7 +112,6 @@ ...@@ -113,7 +112,6 @@
}) })
}, },
getUser(data){ getUser(data){
console.log(data)
if(data.value!=""){ if(data.value!=""){
this.$confirm('此操作将设置系统指定配置为商品?', '提示', { this.$confirm('此操作将设置系统指定配置为商品?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
......
...@@ -116,7 +116,6 @@ export default { ...@@ -116,7 +116,6 @@ export default {
json.goods_id=this.searchFrom.goods_id json.goods_id=this.searchFrom.goods_id
} }
getClassConfigApi(json).then(res => { getClassConfigApi(json).then(res => {
console.log(res);
this.total = res.total; this.total = res.total;
this.configList=res.list; this.configList=res.list;
}); });
...@@ -142,7 +141,6 @@ export default { ...@@ -142,7 +141,6 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(()=>{ }).then(()=>{
console.log(id,value)
updateDescApi({desc: value},id).then(res=>{ updateDescApi({desc: value},id).then(res=>{
this.$message({ this.$message({
type: 'success', type: 'success',
......
...@@ -28,6 +28,12 @@ ...@@ -28,6 +28,12 @@
<el-form-item label="团ID"> <el-form-item label="团ID">
<el-input v-model="searchFrom.order_group_id"></el-input> <el-input v-model="searchFrom.order_group_id"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否团长">
<el-select v-model="searchFrom.is_captain" placeholder="请选择" @change="getOrderList" clearable>
<el-option v-for="item in isLeaderOption" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="购买方式"> <el-form-item label="购买方式">
<el-select v-model="searchFrom.buy_type" placeholder="请选择" @change="getOrderList" clearable> <el-select v-model="searchFrom.buy_type" placeholder="请选择" @change="getOrderList" clearable>
<el-option v-for="item in buyTypeOption" :key="item.id" :label="item.value" :value="item.id"> <el-option v-for="item in buyTypeOption" :key="item.id" :label="item.value" :value="item.id">
...@@ -51,9 +57,6 @@ ...@@ -51,9 +57,6 @@
<el-button type="primary" plain @click="getOrderList">搜索</el-button> <el-button type="primary" plain @click="getOrderList">搜索</el-button>
<el-button type="primary" plain @click="exportTable">导出</el-button> <el-button type="primary" plain @click="exportTable">导出</el-button>
</el-form-item> </el-form-item>
<el-form-item style="float:right">
<!-- <el-button type="success" plain @click="add">新增订单</el-button> -->
</el-form-item>
</el-form> </el-form>
<el-table :data="tableData" @expand-change="changeRow" style="width: 100%"> <el-table :data="tableData" @expand-change="changeRow" style="width: 100%">
<el-table-column prop="out_trade_no" label="订单号"> <el-table-column prop="out_trade_no" label="订单号">
...@@ -111,7 +114,7 @@ ...@@ -111,7 +114,7 @@
</el-table-column> </el-table-column>
<el-table-column label="实付金额" width="80"> <el-table-column label="实付金额" width="80">
<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 label="收货地址"> <el-table-column label="收货地址">
...@@ -155,7 +158,6 @@ ...@@ -155,7 +158,6 @@
</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>
<order-dialog v-if="newdialogObj.show" :newdialogObj="newdialogObj"></order-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" /> <detail-dialog :dialogObj="dialogDetailObj" @changeShow="changeDetailShow" />
<source-dialog :dialogObj="sourceDialog" /> <source-dialog :dialogObj="sourceDialog" />
...@@ -192,7 +194,6 @@ import { ...@@ -192,7 +194,6 @@ import {
} from "../../service/api"; } from "../../service/api";
import page from "../framework/page"; import page from "../framework/page";
import addressDialog from "./dialog"; import addressDialog from "./dialog";
import orderDialog from "./newDialog";
import sourceDialog from "./sourceDialog"; import sourceDialog from "./sourceDialog";
import refundDialog from "./refundDialog"; import refundDialog from "./refundDialog";
import couponDialog from "./couponDialog"; import couponDialog from "./couponDialog";
...@@ -207,7 +208,8 @@ import { ...@@ -207,7 +208,8 @@ import {
ORDERSTATUSOPTION, ORDERSTATUSOPTION,
INVITETYPEOPTION, INVITETYPEOPTION,
GOODSTYPE, GOODSTYPE,
ISLEADER ISLEADER,
ISLEADEROPTION
} from "../../util/wordbook"; } from "../../util/wordbook";
import CommonJs from "../../util/common"; import CommonJs from "../../util/common";
...@@ -240,15 +242,13 @@ export default { ...@@ -240,15 +242,13 @@ export default {
goods_id: "", goods_id: "",
out_trade_no: "", out_trade_no: "",
payTime: [], payTime: [],
order_group_id: "" order_group_id: "",
is_captain:"",
}, },
tableData: [], tableData: [],
dialogObj: { dialogObj: {
show: false show: false
}, },
newdialogObj: {
show: false
},
refundDialogObj: { refundDialogObj: {
show: false, show: false,
id: "", id: "",
...@@ -274,7 +274,8 @@ export default { ...@@ -274,7 +274,8 @@ export default {
teacher_id: "" teacher_id: ""
}, },
teacherList: [], teacherList: [],
loading: false loading: false,
isLeaderOption:ISLEADEROPTION,
}; };
}, },
methods: { methods: {
...@@ -325,6 +326,9 @@ export default { ...@@ -325,6 +326,9 @@ export default {
} }
if (this.searchFrom.out_trade_no) { if (this.searchFrom.out_trade_no) {
json.out_trade_no = this.searchFrom.out_trade_no; json.out_trade_no = this.searchFrom.out_trade_no;
}
if (this.searchFrom.is_captain || this.searchFrom.is_captain == 0) {
json.is_captain = this.searchFrom.is_captain;
} }
if (this.searchFrom.receive_mobile) { if (this.searchFrom.receive_mobile) {
json.receive_mobile = this.searchFrom.receive_mobile; json.receive_mobile = this.searchFrom.receive_mobile;
...@@ -431,6 +435,9 @@ export default { ...@@ -431,6 +435,9 @@ export default {
if (this.searchFrom.goods_id) { if (this.searchFrom.goods_id) {
json.goods_id = this.searchFrom.goods_id; json.goods_id = this.searchFrom.goods_id;
} }
if (this.searchFrom.is_captain || this.searchFrom.is_captain == 0) {
json.is_captain = this.searchFrom.is_captain;
}
if (this.searchFrom.out_trade_no) { if (this.searchFrom.out_trade_no) {
json.out_trade_no = this.searchFrom.out_trade_no; json.out_trade_no = this.searchFrom.out_trade_no;
} }
...@@ -449,7 +456,6 @@ export default { ...@@ -449,7 +456,6 @@ export default {
} }
json.course_type = 1; //日课 json.course_type = 1; //日课
getOrderListApi(json).then(res => { getOrderListApi(json).then(res => {
console.log(res.list);
res.list.forEach(i => { res.list.forEach(i => {
i.refundList = []; i.refundList = [];
}); });
...@@ -584,13 +590,10 @@ export default { ...@@ -584,13 +590,10 @@ export default {
}); });
}); });
}, },
add() {
this.newdialogObj.show = true;
}
}, },
components: { components: {
addressDialog, addressDialog,
orderDialog,
refundDialog, refundDialog,
detailDialog, detailDialog,
refundDetail, refundDetail,
...@@ -606,11 +609,6 @@ export default { ...@@ -606,11 +609,6 @@ export default {
this.getGoodsOption(); this.getGoodsOption();
}, },
watch: { watch: {
"newdialogObj.show": function(val) {
if (!val) {
this.getOrderList();
}
}
}, },
filters: { filters: {
isLeader(value){ isLeader(value){
......
<template>
<el-dialog
title="新增订单"
center
append-to-body
:visible.sync="newdialogObj.show"
width="900px">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-row>
<el-col :span="12">
<el-form-item label="期数名称">
<el-cascader
:options="periodsList"
:props="{value:'id',label:'name'}"
@active-item-change="handleItemChange"
@change="changePeriods"
v-model="selectedGoods"
>
</el-cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商品名称" prop="goods_id">
<el-select v-model="form.goods_id" placeholder="请选择">
<el-option
v-for="(data,index) in goodsList"
:key="index"
:label="data | filterGoods"
:value="data.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户ID" prop="user_id" >
<el-input v-model="form.user_id"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="实付金额(元)" prop="money" >
<el-input v-model="form.money"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="购买方式" prop="buy_type">
<el-select v-model="form.buy_type" placeholder="请选择">
<el-option
v-for="item in buyTypeOptions"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="添加推广人" >
<!-- <el-input v-model="form.invite_id"></el-input> -->
<el-select
v-model="form.invite_id"
filterable
clearable
placeholder="请输入名称"
:remote-method="remoteMethod"
>
<el-option
v-for="item in teacherList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
</el-col>
</el-row>
<vue-address :province="form.province_name" :city="form.city" :district="form.area" :detail="form.address" :mobile="form.receive_mobile" :name="form.receive_name" @change="handlerAddressChange">
</vue-address>
<el-form-item label="支付类型" prop="order_type">
<el-select v-model="form.order_type" placeholder="请选择">
<el-option
v-for="item in buyWayOptioms"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="支付时间" prop="pay_at" >
<el-date-picker
v-model="form.pay_at"
type="datetime"
:picker-options="pickerOptions1"
default-time="12:00:00"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="newdialogObj.show = false">取 消</el-button>
<el-button type="primary" @click="saveAddOrder(form)">确定</el-button>
</div>
</el-dialog>
</template>
<script>
import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../../service/api"
import vueAddress from '../framework/address-picker/Address'
import AddressArray from '../framework/address-picker/addr'
import {ORDERSTATUS,BUYTYPEOPTION,BUYWay,GOODSTYPE} from "../../util/wordbook"
import CommonJs from '../../util/common';
export default {
name: "newdialogObj",
props:[
'newdialogObj'
],
data(){
return{
rules:{
periods_id: [
{ required: true, message: '请输入期数名称', trigger: 'change' }
],
goods_id: [
{ required: true, message: '请输入商品名称', trigger: 'change' }
],
money: [
{ required: true, message: '请输入金额', trigger: 'blur' }
],
user_id: [
{ required: true, message: '请输入用户ID', trigger: 'blur' }
],
pay_at: [
{ required: true, message: '请选择日期', trigger: 'change' }
],
buy_type:[
{ required: true, message: '请选择购买方式', trigger: 'change' }
],
order_type:[
{ required: true, message: '请选择支付类型', trigger: 'change' }
]
},
form:{
periods_id:"",
goods_id:"",
user_id:"",
money:"",
buy_type:"",
invite_id:"",
desc:"",
province_name:"",
city:"",
area:"",
city_name:"",
district_name:"",
district:"",
province:"",
address:"",
receive_mobile:"",
receive_name:"",
order_type:"",
pay_at:"",
},
goodsList:[],
periodsList:[],
selectedGoods:[],
buyTypeOptions:BUYTYPEOPTION,
pickerOptions1:'',
buyWayOptioms:BUYWay,
teacherList: [],
}
},
components:{
vueAddress
},
filters:{
filterGoods(val){
return '[' + GOODSTYPE[val.goods_type] + ']' + '[' +val.current_price / 100 + '元]' + val.name
}
},
methods:{
saveAddOrder(data){
this.$refs['form'].validate((valid) => {
if (valid) {
let json={
periods_id:data.periods_id,
goods_id:data.goods_id,
user_id:data.user_id,
money:data.money,
buy_type:data.buy_type,
province_name:data.province_name,
city_id:data.city,
city:data.city_name,
area:data.district_name,
area_id:data.district,
province_id:data.province,
address:data.address,
receive_mobile:data.receive_mobile,
receive_name:data.receive_name,
order_type:data.order_type,
}
// 元转分
json.money=json.money*100.0;
if(data.pay_at){
json.pay_at = CommonJs.dateFmt( data.pay_at,"yyyy-MM-dd hh:mm:ss");
}
if(this.form.invite_id){
json.invite_id = this.form.invite_id
}
if(this.form.desc){
json.desc = this.form.desc
}
json.invite_type="TEACHER";
json.status=2;
json.invite_earnings=0;
json.is_captain="";
json.out_trade_no="1"
console.log(json)
if(json.province_name && json.address && json.receive_mobile && json.receive_name){
setOrderApi(json).then(res=>{
this.newdialogObj.show=false
this.$message({
message: '添加成功',
type: 'success'
});
})
}else{
this.$message({
message: "缺少必填项",
type: "warning"
});
}
} else {
console.log('error submit!!');
return false;
}
});
},
handlerAddressChange(val){
if(!val.province || !val.city || !val.district){
return
}
this.form.address = val.detail;
this.form.province = val.province;
this.form.city = val.city;
this.form.receive_mobile = val.mobile;
this.form.receive_name = val.name;
let provinceObj = AddressArray.filter((item) => {
return item.value === val.province
})
let cityObj = provinceObj[0].children.filter((city) => {
return city.value === val.city
})
let districtObj = cityObj[0].children.filter((district) => {
return district.value === val.district
})
this.form.province_name = provinceObj[0].label;
this.form.city_name = cityObj[0].label;
this.form.district_name = districtObj.length > 0 ? districtObj[0].label : cityObj[0].children[0].label;
this.form.district = districtObj.length > 0 ? districtObj[0].value : cityObj[0].children[0].value;
},
getGoodsOption(){
let json = {
page: 1,
limit: 200
};
getGoodsListApi(json).then(res=>{
this.goodsList = res.list;
})
},
getPeriodsList(){
let json = {
page: 1,
limit: 100,
goods_type:'1,2'
};
getGoodsListApi(json).then(res=>{
res.list.forEach(i=>{
i.name = '[' + GOODSTYPE[i.goods_type] + ']' + '[' +i.current_price / 100 + '元]' + i.name
i.children = [];
});
this.periodsList = res.list;
});
},
handleItemChange(val){
getPeriodsApi({goods_id:val[0]}).then(res=>{
res.list.forEach(i=>{i.name = i.title});
this.periodsList.find(i=>{return i.id === val[0]}).children = res.list
})
},
changePeriods(data){
if(data.length>1){
this.form.periods_id=data[1];
}
},
getTeacherList(name){
let json = {
limit: 100,
page: 1
};
if(name) {
json.name = name
}
getTeacherListApi(json).then(res=>{
this.teacherList = res.list
});
},
remoteMethod(query) {
if (query !== '') {
this.getTeacherList(query);
} else {
this.getTeacherList();
}
},
},
mounted(){
this.getGoodsOption();
this.getPeriodsList();
this.getTeacherList();
},
}
</script>
<style scoped lang="less">
.dialog-footer{
display: block;
text-align: center;
}
</style>
...@@ -8,19 +8,19 @@ ...@@ -8,19 +8,19 @@
<el-form ref="form" :model="form" label-width="100px" :disabled="dialogObj.type === 2"> <el-form ref="form" :model="form" label-width="100px" :disabled="dialogObj.type === 2">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="商品名称"> <el-form-item label="商品名称" required>
<el-input v-model="form.name"></el-input> <el-input v-model="form.name"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="商品描述"> <el-form-item label="商品描述" required>
<el-input v-model="form.goods_desc.desc"></el-input> <el-input v-model="form.goods_desc.desc"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="商品类型"> <el-form-item label="商品类型" required>
<el-select v-model="form.goods_type" placeholder="请选择"> <el-select v-model="form.goods_type" placeholder="请选择">
<el-option <el-option
:label="'普通商品'" :label="'普通商品'"
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="form.goods_type === 4"> <el-col :span="12" v-if="form.goods_type === 4">
<el-form-item label="可用商品"> <el-form-item label="可用商品" required>
<el-select multiple v-model="goodsYou" placeholder="全部"> <el-select multiple v-model="goodsYou" placeholder="全部">
<el-option v-for="data in goodsList" <el-option v-for="data in goodsList"
:key="data.id" :key="data.id"
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
</el-row> </el-row>
<el-row v-if="form.goods_type === 3"> <el-row v-if="form.goods_type === 3">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="续课已购商品"> <el-form-item label="续课已购商品" required>
<el-select v-model="goOn_goods_Id.before_goods_id" placeholder="请选择"> <el-select v-model="goOn_goods_Id.before_goods_id" placeholder="请选择">
<el-option v-for="data in goodsList" <el-option v-for="data in goodsList"
:key="data.id" :key="data.id"
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="续购商品"> <el-form-item label="续购商品" required>
<el-select v-model="goOn_goods_Id.after_goods_id" placeholder="请选择"> <el-select v-model="goOn_goods_Id.after_goods_id" placeholder="请选择">
<el-option v-for="data in goodsList" <el-option v-for="data in goodsList"
:key="data.id" :key="data.id"
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
</el-row> </el-row>
<el-row v-if="form.goods_type !== 3 && form.goods_type !== 4 && form.goods_type !== 5"> <el-row v-if="form.goods_type !== 3 && form.goods_type !== 4 && form.goods_type !== 5">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="课程类型"> <el-form-item label="课程类型" required>
<el-select v-model="form.course_type" placeholder="请选择" @change="changeLessonType()"> <el-select v-model="form.course_type" placeholder="请选择" @change="changeLessonType()">
<el-option <el-option
:label="'日课'" :label="'日课'"
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="课程"> <el-form-item label="课程" required>
<el-select v-model="form.course_id" placeholder="请选择"> <el-select v-model="form.course_id" placeholder="请选择">
<el-option <el-option
v-for="data in lessonList" v-for="data in lessonList"
...@@ -248,7 +248,7 @@ ...@@ -248,7 +248,7 @@
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="商品详情"> <el-form-item label="商品详情" required>
<!-- <el-input type="textarea" :rows="25" v-model="form.desc.detail"></el-input> --> <!-- <el-input type="textarea" :rows="25" v-model="form.desc.detail"></el-input> -->
<editor-detail :lookData="form.desc" /> <editor-detail :lookData="form.desc" />
</el-form-item> </el-form-item>
...@@ -256,7 +256,7 @@ ...@@ -256,7 +256,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="购买须知"> <el-form-item label="购买须知" required>
<!-- <el-input type="textarea" :rows="25" v-model="form.desc.qa"></el-input> --> <!-- <el-input type="textarea" :rows="25" v-model="form.desc.qa"></el-input> -->
<editor-know :lookData1="form.desc"/> <editor-know :lookData1="form.desc"/>
</el-form-item> </el-form-item>
......
...@@ -139,7 +139,6 @@ ...@@ -139,7 +139,6 @@
json.mobile = this.searchFrom.mobile json.mobile = this.searchFrom.mobile
} }
getsmsRecordApi(json).then((res)=>{ getsmsRecordApi(json).then((res)=>{
console.log(res.list)
this.total = res.total; this.total = res.total;
this.list = res.list ? res.list : [] this.list = res.list ? res.list : []
}) })
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="getList">搜索</el-button> <el-button type="primary" @click="getList">搜索</el-button>
<el-button type="primary" plain @click="exportTable(list)">导出</el-button> <el-button type="primary" plain @click="exportTable(list)">导出</el-button>
<el-button type="success" plain @click="classListOption()">同步进度</el-button> <el-button type="success" plain @click="classListOption()">当前同步进度</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table :data="list" style="width: 100%"> <el-table :data="list" style="width: 100%">
...@@ -156,7 +156,7 @@ export default { ...@@ -156,7 +156,7 @@ export default {
goodList: [], goodList: [],
classObj:{ classObj:{
show: false, show: false,
title: "同步进度", title: "当前同步进度",
order_id: 0, order_id: 0,
teacher_id: 0 teacher_id: 0
}, },
...@@ -244,11 +244,6 @@ export default { ...@@ -244,11 +244,6 @@ export default {
getyunjiApi(json).then(res => { getyunjiApi(json).then(res => {
this.total = res.total; this.total = res.total;
this.list = res.list ? res.list : []; this.list = res.list ? res.list : [];
console.log(res)
this.classList=res.teacher;
if(res.last_pull_time){
this.last_pull_time=res.last_pull_time;
}
}); });
}, },
getGoodsOption() { getGoodsOption() {
...@@ -314,6 +309,12 @@ export default { ...@@ -314,6 +309,12 @@ export default {
}, },
classListOption() { classListOption() {
this.classObj.show=true; this.classObj.show=true;
getyunjiApi({ page: 1,limit: 200}).then(res => {
this.classList=res.teacher;
if(res.last_pull_time){
this.last_pull_time=res.last_pull_time;
}
});
} }
} }
}; };
......
...@@ -134,3 +134,14 @@ export const ISLEADER = { ...@@ -134,3 +134,14 @@ export const ISLEADER = {
0:'否', 0:'否',
1:'是' 1:'是'
} }
export const ISLEADEROPTION = [
{
id: 0,
value: '否'
},
{
id: 1,
value: '是'
},
];
\ No newline at end of file
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