Commit b2c4209f authored by chenfenglei's avatar chenfenglei

新增月课新增订单

parent 35e40afd
......@@ -19,12 +19,14 @@
},
methods:{
initPage(){
console.log(this.dialogObj)
},
},
watch:{
'dialogObj'(value){
'dialogObj.show'(value){
if(value){
this.initPage()
}
}
}
}
......
......@@ -139,8 +139,8 @@
dialogObj:{
show:false,
title:'售卖课程',
id:"",
time:""
teacher_id:"",
timeValue:"",
},
}
},
......@@ -171,7 +171,6 @@
end_at:this.searchFirstFrom.dateValue[1]
};
}
console.log(json)
getTeacherRankListApi(json).then(res=>{
this.firstList = res;
})
......@@ -203,7 +202,10 @@
this.searchSecondFrom.dateValue = [star,end]
},
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;
},
}
......
......@@ -682,7 +682,6 @@
})
});
getClassUserApi(this.userObj.classId,json).then(res=>{
console.log(res.list)
this.userTable = res.list
});
this.changeClassObj={
......
......@@ -101,9 +101,6 @@ export default {
getLink
},
methods: {
a() {
console.log("aa");
},
logOut() {
this.$confirm("确定退出系统?", "提示", {
confirmButtonText: "确定",
......
......@@ -321,7 +321,6 @@
this.selectBox([i.id])
});
}
});
break;
case 2:
......
......@@ -71,7 +71,7 @@
<el-button type="primary" plain @click="exportTable">导出</el-button>
</el-form-item>
<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>
<el-table
......@@ -229,7 +229,7 @@
</el-table-column>
</el-table>
<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>
<detail-dialog :dialogObj="dialogDetailObj" @changeShow="changeDetailShow"/>
<source-dialog :dialogObj="sourceDialog"/>
......@@ -588,7 +588,6 @@
json.name = name
}
getTeacherListApi(json).then(res=>{
console.log(res.list)
this.teacherList = res.list
this.loading = false
});
......@@ -597,7 +596,6 @@
console.log('handleCurrentTeacherChange', val)
},
updateTeacher(val){
console.log(val)
this.promoterDialog.show = true;
this.promoterDialog.id = val.id;
this.promoterDialog.teacher_id = val.invite_id;
......
......@@ -4,24 +4,12 @@
center
append-to-body
:visible.sync="newdialogObj.show"
width="900px">
width="70%">
<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-col :span="10">
<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
v-for="(data,index) in goodsList"
:key="index"
......@@ -31,35 +19,28 @@
</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-col :span="10">
<el-form-item label="期数名称" prop="periods_id">
<el-select v-model="form.periods_id" placeholder="请选择">
<el-option
v-for="item in buyTypeOptions"
:key="item.id"
:label="item.value"
:value="item.id">
v-for="(data,index) in periodsList"
:key="index"
:label="data.title"
:value="data.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</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-input v-model="form.invite_id"></el-input> -->
<el-select
......@@ -79,25 +60,28 @@
</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-row>
<el-col :span="10">
<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-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-date-picker
v-model="form.pay_at"
......@@ -107,20 +91,94 @@
placeholder="选择日期时间">
</el-date-picker>
</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>
<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 :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>
</template>
<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 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 page from '../framework/page'
export default {
name: "newdialogObj",
props:[
......@@ -144,13 +202,13 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
pay_at: [
{ required: true, message: '请选择日期', trigger: 'change' }
],
buy_type:[
{ required: true, message: '请选择购买方式', trigger: 'change' }
],
order_type:[
{ required: true, message: '请选择支付类型', trigger: 'change' }
]
},
nowPage: 1,
limit: 500,
total:0,
form:{
periods_id:"",
goods_id:"",
......@@ -176,16 +234,21 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
},
goodsList:[],
periodsList:[],
selectedGoods:[],
buyTypeOptions:BUYTYPEOPTION,
pickerOptions1:'',
buyWayOptioms:BUYWay,
teacherList: [],
teacherList: [],
addShow:false,
searchFrom:{
},
userList: [],
multipleSelection: [],
}
},
components:{
vueAddress
vueAddress,
page,
},
filters:{
filterGoods(val){
......@@ -193,6 +256,37 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
}
},
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){
this.$refs['form'].validate((valid) => {
if (valid) {
......@@ -201,7 +295,6 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
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,
......@@ -214,7 +307,7 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
order_type:data.order_type,
}
// 元转分
json.money=json.money*100.0;
json.money=json.money;
if(data.pay_at){
json.pay_at = CommonJs.dateFmt( data.pay_at,"yyyy-MM-dd hh:mm:ss");
}
......@@ -225,14 +318,10 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
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.$emit("reflash");
this.$message({
message: '添加成功',
......@@ -277,36 +366,18 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
getGoodsOption(){
let json = {
page: 1,
limit: 200
limit: 200,
course_type:0,
};
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
onOptionChange(id){
this.form.periods_id="";
getPeriodsApi({goods_id:id}).then((res) => {
this.periodsList=res.list
})
},
changePeriods(data){
if(data.length>1){
this.form.periods_id=data[1];
}
},
getTeacherList(name){
let json = {
......@@ -327,10 +398,30 @@ import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi} from "../..
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(){
this.getGoodsOption();
this.getPeriodsList();
this.getTeacherList();
},
}
......
......@@ -96,7 +96,6 @@
getConfigListApi({key:this.searchFrom2.key}).then(res=>{
if(res.list && res.list.length>0){
// 期数默认配置
// console.log(res.list)
}else{
this.searchFrom2.value = '';
}
......@@ -113,7 +112,6 @@
})
},
getUser(data){
console.log(data)
if(data.value!=""){
this.$confirm('此操作将设置系统指定配置为商品?', '提示', {
confirmButtonText: '确定',
......
......@@ -116,7 +116,6 @@ export default {
json.goods_id=this.searchFrom.goods_id
}
getClassConfigApi(json).then(res => {
console.log(res);
this.total = res.total;
this.configList=res.list;
});
......@@ -142,7 +141,6 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
console.log(id,value)
updateDescApi({desc: value},id).then(res=>{
this.$message({
type: 'success',
......
......@@ -28,6 +28,12 @@
<el-form-item label="团ID">
<el-input v-model="searchFrom.order_group_id"></el-input>
</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-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">
......@@ -51,9 +57,6 @@
<el-button type="primary" plain @click="getOrderList">搜索</el-button>
<el-button type="primary" plain @click="exportTable">导出</el-button>
</el-form-item>
<el-form-item style="float:right">
<!-- <el-button type="success" plain @click="add">新增订单</el-button> -->
</el-form-item>
</el-form>
<el-table :data="tableData" @expand-change="changeRow" style="width: 100%">
<el-table-column prop="out_trade_no" label="订单号">
......@@ -111,7 +114,7 @@
</el-table-column>
<el-table-column label="实付金额" width="80">
<template slot-scope="scope">
{{scope.row.money|moneytFilter}}
{{scope.row.money | moneytFilter}}
</template>
</el-table-column>
<el-table-column label="收货地址">
......@@ -155,7 +158,6 @@
</el-table-column>
</el-table>
<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>
<detail-dialog :dialogObj="dialogDetailObj" @changeShow="changeDetailShow" />
<source-dialog :dialogObj="sourceDialog" />
......@@ -192,7 +194,6 @@ import {
} from "../../service/api";
import page from "../framework/page";
import addressDialog from "./dialog";
import orderDialog from "./newDialog";
import sourceDialog from "./sourceDialog";
import refundDialog from "./refundDialog";
import couponDialog from "./couponDialog";
......@@ -207,7 +208,8 @@ import {
ORDERSTATUSOPTION,
INVITETYPEOPTION,
GOODSTYPE,
ISLEADER
ISLEADER,
ISLEADEROPTION
} from "../../util/wordbook";
import CommonJs from "../../util/common";
......@@ -240,15 +242,13 @@ export default {
goods_id: "",
out_trade_no: "",
payTime: [],
order_group_id: ""
order_group_id: "",
is_captain:"",
},
tableData: [],
dialogObj: {
show: false
},
newdialogObj: {
show: false
},
refundDialogObj: {
show: false,
id: "",
......@@ -274,7 +274,8 @@ export default {
teacher_id: ""
},
teacherList: [],
loading: false
loading: false,
isLeaderOption:ISLEADEROPTION,
};
},
methods: {
......@@ -325,6 +326,9 @@ export default {
}
if (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) {
json.receive_mobile = this.searchFrom.receive_mobile;
......@@ -431,6 +435,9 @@ export default {
if (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) {
json.out_trade_no = this.searchFrom.out_trade_no;
}
......@@ -449,7 +456,6 @@ export default {
}
json.course_type = 1; //日课
getOrderListApi(json).then(res => {
console.log(res.list);
res.list.forEach(i => {
i.refundList = [];
});
......@@ -584,13 +590,10 @@ export default {
});
});
},
add() {
this.newdialogObj.show = true;
}
},
components: {
addressDialog,
orderDialog,
refundDialog,
detailDialog,
refundDetail,
......@@ -606,11 +609,6 @@ export default {
this.getGoodsOption();
},
watch: {
"newdialogObj.show": function(val) {
if (!val) {
this.getOrderList();
}
}
},
filters: {
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 @@
<el-form ref="form" :model="form" label-width="100px" :disabled="dialogObj.type === 2">
<el-row>
<el-col :span="12">
<el-form-item label="商品名称">
<el-form-item label="商品名称" required>
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商品描述">
<el-form-item label="商品描述" required>
<el-input v-model="form.goods_desc.desc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="商品类型">
<el-form-item label="商品类型" required>
<el-select v-model="form.goods_type" placeholder="请选择">
<el-option
:label="'普通商品'"
......@@ -46,7 +46,7 @@
</el-form-item>
</el-col>
<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-option v-for="data in goodsList"
:key="data.id"
......@@ -59,7 +59,7 @@
</el-row>
<el-row v-if="form.goods_type === 3">
<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-option v-for="data in goodsList"
:key="data.id"
......@@ -71,7 +71,7 @@
</el-form-item>
</el-col>
<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-option v-for="data in goodsList"
:key="data.id"
......@@ -84,7 +84,7 @@
</el-row>
<el-row v-if="form.goods_type !== 3 && form.goods_type !== 4 && form.goods_type !== 5">
<el-col :span="12">
<el-form-item label="课程类型">
<el-form-item label="课程类型" required>
<el-select v-model="form.course_type" placeholder="请选择" @change="changeLessonType()">
<el-option
:label="'日课'"
......@@ -98,7 +98,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="课程">
<el-form-item label="课程" required>
<el-select v-model="form.course_id" placeholder="请选择">
<el-option
v-for="data in lessonList"
......@@ -248,7 +248,7 @@
</el-form-item>
<el-row>
<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> -->
<editor-detail :lookData="form.desc" />
</el-form-item>
......@@ -256,7 +256,7 @@
</el-row>
<el-row>
<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> -->
<editor-know :lookData1="form.desc"/>
</el-form-item>
......
......@@ -139,7 +139,6 @@
json.mobile = this.searchFrom.mobile
}
getsmsRecordApi(json).then((res)=>{
console.log(res.list)
this.total = res.total;
this.list = res.list ? res.list : []
})
......
......@@ -52,7 +52,7 @@
<el-form-item>
<el-button type="primary" @click="getList">搜索</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>
<el-table :data="list" style="width: 100%">
......@@ -156,7 +156,7 @@ export default {
goodList: [],
classObj:{
show: false,
title: "同步进度",
title: "当前同步进度",
order_id: 0,
teacher_id: 0
},
......@@ -244,11 +244,6 @@ export default {
getyunjiApi(json).then(res => {
this.total = res.total;
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() {
......@@ -314,6 +309,12 @@ export default {
},
classListOption() {
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;
}
});
}
}
};
......
......@@ -133,4 +133,15 @@ export const QRSTATUS = {
export const ISLEADER = {
0:'否',
1:'是'
}
\ No newline at end of file
}
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