Commit f3b8fbae authored by liwei's avatar liwei

liwei

parent 94e93dd6
<template> <template>
<div class="integral-page"> <div class="integral-page">
<el-form ref="searchFrom" :model="form" style="padding-top: 20px;background: white" label-width="80px" inline size="small"> <el-form
ref="searchFrom"
:model="form"
style="padding-top: 20px;background: white"
label-width="80px"
inline
size="small"
>
<el-form-item label="昵称"> <el-form-item label="昵称">
<el-input v-model="form.nickname" style="width: 120px;"></el-input> <el-input v-model="form.nickname" style="width: 120px;"></el-input>
</el-form-item> </el-form-item>
...@@ -16,8 +23,8 @@ ...@@ -16,8 +23,8 @@
v-for="(data,index) in sourceOption" v-for="(data,index) in sourceOption"
:key="index" :key="index"
:label="data.value" :label="data.value"
:value="data.id"> :value="data.id"
</el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -25,211 +32,217 @@ ...@@ -25,211 +32,217 @@
<el-button type="success" plain @click="addIntegral" v-if="!$store.state.readonly">变更用户积分</el-button> <el-button type="success" plain @click="addIntegral" v-if="!$store.state.readonly">变更用户积分</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-tabs v-model="form.is_add" type="card" style="background: white;padding-top: 10px" @tab-click="getList"> <el-tabs
<el-tab-pane label="全部" name="-1"/> v-model="form.is_add"
<el-tab-pane label="添加积分" name="1"/> type="card"
<el-tab-pane label="减少积分" name="0"/> style="background: white;padding-top: 10px"
<el-tab-pane label="积分排行" name="-2"/> @tab-click="getList"
>
<el-tab-pane label="全部" name="-1" />
<el-tab-pane label="添加积分" name="1" />
<el-tab-pane label="减少积分" name="0" />
<el-tab-pane label="积分排行" name="-2" />
</el-tabs> </el-tabs>
<el-table <el-table :data="list" size="mini" :style="{width: width+'px'}">
:data="list" <el-table-column width="220" class="f-c" label="用户">
size="mini"
style="width: 100%">
<el-table-column
width="220"
className="f-c"
label="用户">
<template slot-scope="scope"> <template slot-scope="scope">
<img class="avatar" :src="scope.row.avatar"/> {{scope.row.nickname}}(ID:{{scope.row.user_id}})<br>手机:{{scope.row.mobile}} <img class="avatar" :src="scope.row.avatar" />
{{scope.row.nickname}}(ID:{{scope.row.user_id}})
<br />
手机:{{scope.row.mobile}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-if="form.is_add !== '-2'" label="来源">
v-if="form.is_add !== '-2'" <template slot-scope="scope">{{scope.row.source | INTEGRALFUN}}</template>
label="来源">
<template slot-scope="scope">
{{scope.row.source | INTEGRALFUN}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="desc" v-if="form.is_add !== '-2'" label="积分变更描述" />
prop="desc" <el-table-column v-if="form.is_add !== '-2'" label="变更积分值">
v-if="form.is_add !== '-2'"
label="积分变更描述"
/>
<el-table-column
v-if="form.is_add !== '-2'"
label="变更积分值">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.is_add===1" style="color: green">+{{scope.row.value}}</span> <span v-if="scope.row.is_add===1" style="color: green">+{{scope.row.value}}</span>
<span v-if="scope.row.is_add===0" style="color: red">-{{scope.row.value}}</span> <span v-if="scope.row.is_add===0" style="color: red">-{{scope.row.value}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="last_value" :label="form.is_add !== '-2'?'变更后积分值':'最新积分'" />
prop="last_value" <el-table-column prop="created_at" :label="form.is_add !== '-2'?'创建时间':'最新变更时间'" />
:label="form.is_add !== '-2'?'变更后积分值':'最新积分'"
/>
<el-table-column
prop="created_at"
:label="form.is_add !== '-2'?'创建时间':'最新变更时间'"
/>
</el-table> </el-table>
<page :nowPage="nowPage" :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange"/> <page
<new-integral :newIntegral="newIntegral" @subAdd="subAdd" @showUserList="showUserList"/> :nowPage="nowPage"
<user-list-page :show="userListShow" @addUser="addUser"/> :total="total"
:limit="limit"
@pageChange="onPageChange"
@sizeChange="onSizeChange"
/>
<new-integral :newIntegral="newIntegral" @subAdd="subAdd" @showUserList="showUserList" />
<user-list-page :show="userListShow" @addUser="addUser" />
</div> </div>
</template> </template>
<script> <script>
import {getIntegralListApi,changeIntegralApi,integralApi} from "../../service/api"; import {
import {INTEGRALTYPE,INTEGRALFUN} from "../../util/wordbook"; getIntegralListApi,
import page from '../framework/page' changeIntegralApi,
import newIntegral from './newIntegral' integralApi
import userListPage from './userList' } from "../../service/api";
export default { import { INTEGRALTYPE, INTEGRALFUN } from "../../util/wordbook";
import page from "../framework/page";
import newIntegral from "./newIntegral";
import userListPage from "./userList";
export default {
name: "index", name: "index",
components: { components: {
page, page,
newIntegral, newIntegral,
userListPage userListPage
}, },
data(){ data() {
let is_addOption = []; let is_addOption = [];
for(let k in INTEGRALTYPE){ for (let k in INTEGRALTYPE) {
is_addOption.push({id:k,value:INTEGRALTYPE[k]}) is_addOption.push({ id: k, value: INTEGRALTYPE[k] });
} }
let sourceOption = []; let sourceOption = [];
for(let j in INTEGRALFUN){ for (let j in INTEGRALFUN) {
sourceOption.push({id:j,value:INTEGRALFUN[j]}) sourceOption.push({ id: j, value: INTEGRALFUN[j] });
} }
return { return {
list:[], width: 0,
total:0, list: [],
newIntegral:{ total: 0,
show:false, newIntegral: {
user_id:'', show: false,
is_add:'', user_id: "",
value:'', is_add: "",
desc:'' value: "",
desc: ""
}, },
is_addOption:is_addOption, is_addOption: is_addOption,
sourceOption:sourceOption, sourceOption: sourceOption,
limit:10, limit: 10,
userListShow:{ userListShow: {
show:false show: false
}, },
nowPage:1, nowPage: 1,
form:{ form: {
is_add:'-1', is_add: "-1",
source:'', source: "",
user_id:'', user_id: "",
mobile:'', mobile: "",
nickname:'' nickname: ""
}
} }
};
}, },
mounted(){ mounted() {
this.initPage() this.initPage();
this.width = window.innerWidth - 200;
}, },
filters:{ filters: {
INTEGRALTYPE(value){ INTEGRALTYPE(value) {
return INTEGRALTYPE[value] return INTEGRALTYPE[value];
}, },
INTEGRALFUN(value){ INTEGRALFUN(value) {
return INTEGRALFUN[value] return INTEGRALFUN[value];
} }
}, },
methods:{ methods: {
subAdd(){ subAdd() {
let json = { let json = {
user_id:this.newIntegral.user_id, user_id: this.newIntegral.user_id,
is_add:this.newIntegral.is_add, is_add: this.newIntegral.is_add,
value:this.newIntegral.value, value: this.newIntegral.value,
desc:this.newIntegral.desc, desc: this.newIntegral.desc
}; };
changeIntegralApi(json).then(res=>{ changeIntegralApi(json).then(res => {
this.getList(); this.getList();
this.newIntegral.show = false this.newIntegral.show = false;
}) });
}, },
showUserList(){ showUserList() {
this.userListShow.show = true this.userListShow.show = true;
}, },
addUser(value){ addUser(value) {
this.userListShow.show = false; this.userListShow.show = false;
this.newIntegral.user_id = value this.newIntegral.user_id = value;
}, },
changeUserList(){}, changeUserList() {},
addIntegral(){ addIntegral() {
this. newIntegral={ this.newIntegral = {
show:true, show: true,
user_id:'', user_id: "",
is_add:'', is_add: "",
value:'', value: "",
desc:'' desc: ""
} };
}, },
initPage(){ initPage() {
this.form = { this.form = {
is_add:'-1', is_add: "-1",
source:'', source: "",
user_id:'', user_id: "",
mobile:'', mobile: "",
nickname:'' nickname: ""
}; };
this.getList() this.getList();
}, },
onPageChange(val){ onPageChange(val) {
this.nowPage = val; this.nowPage = val;
this.getList() this.getList();
}, },
onSizeChange(val){ onSizeChange(val) {
this.limit = val; this.limit = val;
this.nowPage = 1; this.nowPage = 1;
this.getList() this.getList();
}, },
getList(){ getList() {
let json={ let json = {
limit:this.limit, limit: this.limit,
page: this.nowPage page: this.nowPage
}; };
if(this.form.is_add === '-2'){ if (this.form.is_add === "-2") {
integralApi(json).then(res=>{ integralApi(json).then(res => {
this.list = res.list; this.list = res.list;
this.total = res.total this.total = res.total;
}) });
}else{ } else {
if(this.form.is_add !== '' && this.form.is_add !== '-1'){ if (this.form.is_add !== "" && this.form.is_add !== "-1") {
json.is_add = this.form.is_add json.is_add = this.form.is_add;
} }
if(this.form.source !== ''){json.source = this.form.source} if (this.form.source !== "") {
if(this.form.user_id !== ''){json.user_id = this.form.user_id} json.source = this.form.source;
if(this.form.mobile !== ''){json.mobile = this.form.mobile} }
if(this.form.nickname !== ''){json.nickname = this.form.nickname} if (this.form.user_id !== "") {
getIntegralListApi(json).then(res=>{ json.user_id = this.form.user_id;
this.list = res.list;
this.total = res.total
})
} }
if (this.form.mobile !== "") {
json.mobile = this.form.mobile;
}
if (this.form.nickname !== "") {
json.nickname = this.form.nickname;
}
getIntegralListApi(json).then(res => {
this.list = res.list;
this.total = res.total;
});
} }
} }
} }
};
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@import "../../util/public"; @import "../../util/public";
.avatar{ .avatar {
width: 50px; width: 50px;
min-width: 50px; min-width: 50px;
height: 50px; height: 50px;
margin-right: 5px; margin-right: 5px;
border-radius: 50%; border-radius: 50%;
} }
</style> </style>
<style> <style>
.f-c > .cell { .f-c > .cell {
display: flex !important; display: flex !important;
flex-flow: row; flex-flow: row;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
} }
</style> </style>
<template> <template>
<el-dialog <el-dialog title="新增订单" center append-to-body :visible.sync="newdialogObj.show" width="70%">
title="新增订单"
center
append-to-body
:visible.sync="newdialogObj.show"
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="10"> <el-col :span="10">
...@@ -14,8 +9,8 @@ ...@@ -14,8 +9,8 @@
v-for="(data,index) in goodsList" v-for="(data,index) in goodsList"
:key="index" :key="index"
:label="data | filterGoods" :label="data | filterGoods"
:value="data.id"> :value="data.id"
</el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -30,17 +25,17 @@ ...@@ -30,17 +25,17 @@
</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="10"> <el-col :span="10">
<el-form-item label="用户ID" prop="user_id" > <el-form-item label="用户ID" prop="user_id">
<el-input width='100' v-model="form.user_id"></el-input> <el-input width="100" v-model="form.user_id"></el-input>
<el-button type="success" @click="onAddUser">+添加用户</el-button> <el-button type="success" @click="onAddUser">+添加用户</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <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
v-model="form.invite_id" v-model="form.invite_id"
...@@ -53,8 +48,8 @@ ...@@ -53,8 +48,8 @@
v-for="item in teacherList" v-for="item in teacherList"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.user_id"> :value="item.user_id"
</el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -68,27 +63,27 @@ ...@@ -68,27 +63,27 @@
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
:disabled="item.disabled"> :disabled="item.disabled"
</el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实付金额(元)" prop="money" > <el-form-item label="实付金额(元)" prop="money">
<el-input-number v-model="form.money"></el-input-number> <el-input-number v-model="form.money"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="10"> <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"
type="datetime" type="datetime"
:picker-options="pickerOptions1" :picker-options="pickerOptions1"
default-time="12:00:00" default-time="12:00:00"
placeholder="选择日期时间"> placeholder="选择日期时间"
</el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
...@@ -104,18 +99,24 @@ ...@@ -104,18 +99,24 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <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
</vue-address> :province="form.province"
:city="form.city"
:district="form.district"
:detail="form.address"
:mobile="form.receive_mobile"
:name="form.receive_name"
@change="handlerAddressChange"
></vue-address>
</el-col> </el-col>
</el-row> </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-dialog :modal="false" :visible.sync="addShow">
<el-form label-width="90px"> <el-form label-width="90px">
<!--<el-form-item label="用户id">--> <!--<el-form-item label="用户id">-->
<!--<el-input v-model="addId"></el-input>--> <!--<el-input v-model="addId"></el-input>-->
...@@ -149,305 +150,315 @@ ...@@ -149,305 +150,315 @@
:data="userList" :data="userList"
ref="multipleTable" ref="multipleTable"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
style="width: 100%"> style="width: 100%"
<el-table-column >
type="selection" <el-table-column type="selection" width="55"></el-table-column>
width="55"> <el-table-column class="f-c" label="用户">
</el-table-column>
<el-table-column
className="f-c"
label="用户">
<template slot-scope="scope"> <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}}) <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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="mobile" label="手机号"></el-table-column>
prop="mobile"
label="手机号">
</el-table-column>
</el-table> </el-table>
<page :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange"/> <page :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="addShow = false">取 消</el-button> <el-button @click="addShow = false">取 消</el-button>
<el-button type="primary" @click="onAdd">确 定</el-button> <el-button type="primary" @click="onAdd">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {getGoodsListApi,setOrderApi,getPeriodsApi,getTeacherListApi,getUserListApi,getOrderTypeApi} from "../../service/api" import {
import vueAddress from '../framework/address-picker/Address' getGoodsListApi,
import AddressArray from '../framework/address-picker/addr' setOrderApi,
import {ORDERSTATUS,BUYWay,GOODSTYPE} from "../../util/wordbook" getPeriodsApi,
import CommonJs from '../../util/common'; getTeacherListApi,
import page from '../framework/page' getUserListApi,
export default { getOrderTypeApi
} from "../../service/api";
import vueAddress from "../framework/address-picker/Address";
import AddressArray from "../framework/address-picker/addr";
import { ORDERSTATUS, BUYWay, GOODSTYPE } from "../../util/wordbook";
import CommonJs from "../../util/common";
import page from "../framework/page";
export default {
name: "newdialogObj", name: "newdialogObj",
props:[ props: ["newdialogObj"],
'newdialogObj' data() {
], return {
data(){ rules: {
return{
rules:{
periods_id: [ periods_id: [
{ required: true, message: '请输入期数名称', trigger: 'change' } { required: true, message: "请输入期数名称", trigger: "change" }
], ],
goods_id: [ goods_id: [
{ required: true, message: '请输入商品名称', trigger: 'change' } { required: true, message: "请输入商品名称", trigger: "change" }
], ],
money: [ money: [{ required: true, message: "请输入金额", trigger: "blur" }],
{ required: true, message: '请输入金额', trigger: 'blur' } user_id: [{ required: true, message: "请输入用户ID", trigger: "blur" }],
], pay_at: [{ required: true, message: "请选择日期", trigger: "change" }],
user_id: [ order_type: [
{ required: true, message: '请输入用户ID', trigger: 'blur' } { required: true, message: "请选择支付类型", trigger: "change" }
],
pay_at: [
{ required: true, message: '请选择日期', trigger: 'change' }
],
order_type:[
{ required: true, message: '请选择支付类型', trigger: 'change' }
],
out_trade_no:[
{ required: true, message: '请填写订单号', trigger: 'change' }
], ],
out_trade_no: [
{ required: true, message: "请填写订单号", trigger: "change" }
]
}, },
nowPage: 1, nowPage: 1,
limit: 200, limit: 200,
total:0, total: 0,
form:{ form: {
periods_id:"", periods_id: "",
goods_id:"", goods_id: "",
user_id:"", user_id: "",
money:"", money: "",
buy_type:"", buy_type: "",
invite_id:"", invite_id: "",
desc:"", desc: "",
province_name:"",
city:"",
area:"",
city_name:"",
district_name:"",
district:"",
province:"",
address:"",
receive_mobile:"",
receive_name:"",
order_type:"",
pay_at:"",
province_name: "",
city: "",
area: "",
city_name: "",
district_name: "",
district: "",
province: "",
address: "",
receive_mobile: "",
receive_name: "",
order_type: "",
pay_at: ""
}, },
goodsList:[], goodsList: [],
periodsList:[], periodsList: [],
pickerOptions1:'', pickerOptions1: "",
buyWayOptioms:[], buyWayOptioms: [],
teacherList: [], teacherList: [],
addShow:false, addShow: false,
searchFrom:{ searchFrom: {},
},
userList: [], userList: [],
multipleSelection: [], multipleSelection: []
};
}
}, },
components:{ components: {
vueAddress, vueAddress,
page, page
}, },
filters:{ filters: {
filterGoods(val){ filterGoods(val) {
return '[' + GOODSTYPE[val.goods_type] + ']' + '[' +val.current_price / 100 + '元]' + val.name return (
"[" +
GOODSTYPE[val.goods_type] +
"]" +
"[" +
val.current_price / 100 +
"元]" +
val.name
);
} }
}, },
methods:{ methods: {
onPageChange(val){ onPageChange(val) {
this.nowPage = val this.nowPage = val;
this.getUser() this.getUser();
}, },
onSizeChange(val){ onSizeChange(val) {
this.limit = val this.limit = val;
this.nowPage = 1; this.nowPage = 1;
this.getUser() this.getUser();
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
}, },
getUser(){ getUser() {
let json = { let json = {
page: this.nowPage, page: this.nowPage,
limit: 5 limit: 5
}; };
if (this.searchFrom.userId) { if (this.searchFrom.userId) {
json.user_id = this.searchFrom.userId json.user_id = this.searchFrom.userId;
} }
if (this.searchFrom.nickName) { if (this.searchFrom.nickName) {
json.nickname = this.searchFrom.nickName json.nickname = this.searchFrom.nickName;
} }
if (this.searchFrom.mobile) { if (this.searchFrom.mobile) {
json.mobile = this.searchFrom.mobile json.mobile = this.searchFrom.mobile;
} }
getUserListApi(json).then(res=>{ getUserListApi(json).then(res => {
this.userList = res.list; this.userList = res.list;
this.total = res.total; this.total = res.total;
}) });
}, },
saveAddOrder(data){ saveAddOrder(data) {
this.$refs['form'].validate((valid) => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
let json={ let json = {
periods_id:data.periods_id, periods_id: data.periods_id,
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,
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,
area:data.district_name, area: data.district_name,
area_id:data.district, area_id: data.district,
province_id:data.province, province_id: data.province,
address:data.address, address: data.address,
receive_mobile:data.receive_mobile, receive_mobile: data.receive_mobile,
receive_name:data.receive_name, receive_name: data.receive_name,
order_type:data.order_type, order_type: data.order_type
} };
// 元转分 // 元转分
json.money=json.money; 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");
} }
if(this.form.invite_id){ if (this.form.invite_id) {
json.invite_id = this.form.invite_id json.invite_id = this.form.invite_id;
} }
if(this.form.desc){ if (this.form.desc) {
json.desc = this.form.desc json.desc = this.form.desc;
} }
if(this.form.out_trade_no){ if (this.form.out_trade_no) {
json.out_trade_no = this.form.out_trade_no json.out_trade_no = this.form.out_trade_no;
} }
json.invite_type="TEACHER"; json.invite_type = "TEACHER";
if(json.province_name && json.address && json.receive_mobile && json.receive_name){ if (
setOrderApi(json).then(res=>{ json.province_name &&
this.newdialogObj.show=false json.address &&
json.receive_mobile &&
json.receive_name
) {
setOrderApi(json).then(res => {
this.newdialogObj.show = false;
this.$emit("reflash"); this.$emit("reflash");
this.$message({ this.$message({
message: '添加成功', message: "添加成功",
type: 'success' type: "success"
});
}); });
}) } else {
}else{
this.$message({ this.$message({
message: "缺少必填项", message: "缺少必填项",
type: "warning" type: "warning"
}); });
} }
} else { } else {
console.log('error submit!!'); console.log("error submit!!");
return false; return false;
} }
}); });
}, },
handlerAddressChange(val){ handlerAddressChange(val) {
if(!val.province || !val.city || !val.district){ if (!val.province || !val.city || !val.district) {
return return;
} }
this.form.address = val.detail; this.form.address = val.detail;
this.form.province = val.province; this.form.province = val.province;
this.form.city = val.city; this.form.city = val.city;
this.form.receive_mobile = val.mobile; this.form.receive_mobile = val.mobile;
this.form.receive_name = val.name; this.form.receive_name = val.name;
let provinceObj = AddressArray.filter((item) => { let provinceObj = AddressArray.filter(item => {
return item.value === val.province return item.value === val.province;
}) });
let cityObj = provinceObj[0].children.filter((city) => { let cityObj = provinceObj[0].children.filter(city => {
return city.value === val.city return city.value === val.city;
}) });
let districtObj = cityObj[0].children.filter((district) => { let districtObj = cityObj[0].children.filter(district => {
return district.value === val.district return district.value === val.district;
}) });
this.form.province_name = provinceObj[0].label; this.form.province_name = provinceObj[0].label;
this.form.city_name = cityObj[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_name =
this.form.district = districtObj.length > 0 ? districtObj[0].value : cityObj[0].children[0].value; 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(){ getGoodsOption() {
let json = { let json = {
page: 1, page: 1,
limit: 200, limit: 200,
course_type:0, course_type: 0
}; };
getGoodsListApi(json).then(res=>{ getGoodsListApi(json).then(res => {
this.goodsList = res.list; this.goodsList = res.list;
}) });
}, },
onOptionChange(id){ onOptionChange(id) {
this.form.periods_id=""; this.form.periods_id = "";
getPeriodsApi({goods_id:id}).then((res) => { getPeriodsApi({ goods_id: id }).then(res => {
this.periodsList=res.list this.periodsList = res.list;
}) });
}, },
getTeacherList(name){ getTeacherList(name) {
let json = { let json = {
limit: 100, limit: 100,
page: 1 page: 1
}; };
if(name) { if (name) {
json.name = name json.name = name;
} }
getTeacherListApi(json).then(res=>{ getTeacherListApi(json).then(res => {
this.teacherList = res.list this.teacherList = res.list;
});
getOrderTypeApi().then(res => {
this.buyWayOptioms = res;
}); });
getOrderTypeApi().then(res =>{
this.buyWayOptioms = res
})
}, },
remoteMethod(query) { remoteMethod(query) {
if (query !== '') { if (query !== "") {
this.getTeacherList(query); this.getTeacherList(query);
} else { } else {
this.getTeacherList(); this.getTeacherList();
} }
}, },
onAddUser(){ onAddUser() {
this.addShow = true; this.addShow = true;
this.getUser(); this.getUser();
}, },
onAdd(){ onAdd() {
if(this.multipleSelection.length === 0) { if (this.multipleSelection.length === 0) {
this.$message({ this.$message({
type: 'error', type: "error",
message: '请选择用户!' message: "请选择用户!"
}); });
return return;
} else if (this.multipleSelection.length !== 1){ } else if (this.multipleSelection.length !== 1) {
this.$message({ this.$message({
type: 'error', type: "error",
message: '只能选择一个用户!' message: "只能选择一个用户!"
}); });
return return;
} }
this.form.user_id=this.multipleSelection[0].user_id; this.form.user_id = this.multipleSelection[0].user_id;
this.addShow = false; this.addShow = false;
}
}, },
}, watch: {
watch:{ "newdialogObj.show"(val) {
'newdialogObj.show'(val){ if (val) {
if(val){
this.getGoodsOption(); this.getGoodsOption();
this.getTeacherList(); this.getTeacherList();
} }
} }
}, },
mounted(){ mounted() {}
}, };
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.dialog-footer{ .dialog-footer {
display: block; display: block;
text-align: center; text-align: center;
} }
</style> </style>
<template> <template>
<div class="integral-page"> <div class="integral-page">
<el-form ref="searchFrom" :model="searchFrom" style="padding-top:20px;" label-width="80px" inline> <el-form
ref="searchFrom"
:model="searchFrom"
style="padding-top:20px;"
label-width="80px"
inline
>
<el-form-item label="主账户ID"> <el-form-item label="主账户ID">
<el-input v-model="searchFrom.user_id"></el-input> <el-input v-model="searchFrom.user_id"></el-input>
</el-form-item> </el-form-item>
...@@ -11,126 +17,119 @@ ...@@ -11,126 +17,119 @@
<el-button type="primary" plain @click="getUser">搜索</el-button> <el-button type="primary" plain @click="getUser">搜索</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table :data="userList" :style="{width: width+'px'}">
:data="userList" <el-table-column class="f-c" label="主账户">
style="width: 100%">
<el-table-column
className="f-c"
label="主账户">
<template slot-scope="scope"> <template slot-scope="scope">
<img class="avatar" :src="scope.row.user_avatar">{{scope.row.user_nickname}}(ID:{{scope.row.user_id}}) <img class="avatar" :src="scope.row.user_avatar" />
{{scope.row.user_nickname}}(ID:{{scope.row.user_id}})
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column class="f-c" label="子账户">
className="f-c"
label="子账户">
<template slot-scope="scope"> <template slot-scope="scope">
<img class="avatar" :src="scope.row.sub_user_avatar">{{scope.row.sub_user_nickname}}(ID:{{scope.row.sub_user_id}}) <img class="avatar" :src="scope.row.sub_user_avatar" />
{{scope.row.sub_user_nickname}}(ID:{{scope.row.sub_user_id}})
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="created_at" label="绑定时间"></el-table-column>
prop="created_at" <el-table-column prop="unbind_at" label="解绑时间">
label="绑定时间"> <template
</el-table-column> slot-scope="scope"
<el-table-column >{{scope.row.unbind_at=='0000-00-00 00:00:00'?'未解绑':scope.row.unbind_at}}</template>
prop="unbind_at"
label="解绑时间">
<template slot-scope="scope">
{{scope.row.unbind_at=='0000-00-00 00:00:00'?'未解绑':scope.row.unbind_at}}
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<page :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange"/> <page :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange" />
</div> </div>
</template> </template>
<script> <script>
import {getSubAccountListApi,getOldListApi} from "../../service/api"; import { getSubAccountListApi, getOldListApi } from "../../service/api";
import {INTEGRALTYPE,INTEGRALFUN} from "../../util/wordbook"; import { INTEGRALTYPE, INTEGRALFUN } from "../../util/wordbook";
import page from '../framework/page' import page from "../framework/page";
export default { export default {
name: "index", name: "index",
components: { components: {
page page
}, },
data(){ data() {
let is_addOption = []; let is_addOption = [];
for(let k in INTEGRALTYPE){ for (let k in INTEGRALTYPE) {
is_addOption.push({id:k,value:INTEGRALTYPE[k]}) is_addOption.push({ id: k, value: INTEGRALTYPE[k] });
} }
let sourceOption = []; let sourceOption = [];
for(let j in INTEGRALFUN){ for (let j in INTEGRALFUN) {
sourceOption.push({id:j,value:INTEGRALFUN[j]}) sourceOption.push({ id: j, value: INTEGRALFUN[j] });
} }
return { return {
searchFrom:{ width: 0,
user_id:'', searchFrom: {
sub_user_id:"" user_id: "",
sub_user_id: ""
}, },
userList:[], userList: [],
total:0, total: 0,
nowPage:1, nowPage: 1,
limit: 10, limit: 10,
showDetail:false showDetail: false
} };
}, },
mounted(){ mounted() {
this.getUser() this.getUser();
this.width = window.innerWidth - 200;
}, },
filters:{ filters: {
INTEGRALTYPE(value){ INTEGRALTYPE(value) {
return INTEGRALTYPE[value] return INTEGRALTYPE[value];
}, },
INTEGRALFUN(value){ INTEGRALFUN(value) {
return INTEGRALFUN[value] return INTEGRALFUN[value];
} }
}, },
methods:{ methods: {
onPageChange(val){ onPageChange(val) {
this.nowPage = val this.nowPage = val;
this.getUser() this.getUser();
}, },
onSizeChange(val){ onSizeChange(val) {
this.limit = val; this.limit = val;
this.nowPage = 1; this.nowPage = 1;
this.getUser() this.getUser();
}, },
getUser(){ getUser() {
let json = { let json = {
page: this.nowPage, page: this.nowPage,
limit: this.limit limit: this.limit
} };
if (this.searchFrom.user_id) { if (this.searchFrom.user_id) {
json.user_id = this.searchFrom.user_id json.user_id = this.searchFrom.user_id;
} }
if (this.searchFrom.sub_user_id) { if (this.searchFrom.sub_user_id) {
json.sub_user_id = this.searchFrom.sub_user_id json.sub_user_id = this.searchFrom.sub_user_id;
} }
getSubAccountListApi(json).then(res=>{ getSubAccountListApi(json).then(res => {
this.userList = res.list; this.userList = res.list;
this.total = res.total this.total = res.total;
}) });
}
} }
} }
};
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@import "../../util/public"; @import "../../util/public";
.avatar{ .avatar {
width: 50px; width: 50px;
min-width: 50px; min-width: 50px;
height: 50px; height: 50px;
margin-right: 5px; margin-right: 5px;
border-radius: 50%; border-radius: 50%;
} }
</style> </style>
<style> <style>
.f-c > .cell { .f-c > .cell {
display: flex !important; display: flex !important;
flex-flow: row; flex-flow: row;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
} }
</style> </style>
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