Commit 31c13c21 authored by leiqingsong's avatar leiqingsong

Merge branch 'dev_lqs' into 'master'

Dev lqs

See merge request !16
parents e4821008 1cbe1160
import request from "@/utils/request";
/**
* 保存用户银行卡信息 bankInfo
* @param {*} params bankName string
* @param {*}
* @returns
*/
export function addUserBankInfo(params) {
return request({
url: "/bank/add",
method: "post",
data: params
});
}
/**
* 编辑银行卡信息
* @param {*} params
* @returns
*/
export function editUserBankInfo(params) {
return request({
url: "/bank/edit",
method: "post",
data: params
});
}
/**
* 提现发送验证码
* @param {*} params userId
* @returns
*/
export function sendSms(params) {
return request({
url: "/bank/sendSmsCode",
method: "get",
params
});
}
/**
* 提现
* @param {*} params code 验证码
* @param {*} params money 提现金额
* @returns
*/
export function cashOut(params) {
return request({
url: "/bank/userWithdrawBank",
methods: "post",
data: params
});
}
/**
* 获取用户银行卡信息
* @param {*} params
* @returns
*/
export function getUserBankInfo(params) {
return request({
url: "/bank/getByUserId",
method: "get",
params
});
}
import request from "@/utils/request";
import qs from "qs";
/**
* 发送验证码
* @param {*} params codeType 0注册/登录验证 1修改密码 2订单通知信息
* @param {*} param phone required 用户手机号
* @returns
*/
export function smsCode(params) {
const final_params = qs.stringify(params);
return request({
url: `/api/sms/verifyCode`,
method: "post",
// headers: { 'Content-Type': 'application/x-www-form-urlencoded;' },
data: final_params
});
}
...@@ -5,12 +5,24 @@ import request from "@/utils/request"; ...@@ -5,12 +5,24 @@ import request from "@/utils/request";
* @param {*} params * @param {*} params
* @param {*} file 图片文件 * @param {*} file 图片文件
*/ */
export function uploadImage(params, file) { export function uploadImage(file) {
return request({ return request({
url: "/ZX/multipleImageUpload", url: "/ZX/multipleImageUpload",
method: "post", method: "post",
headers: { "Content-Type": "multipart/form-data" }, headers: { "Content-Type": "multipart/form-data" },
params,
data: file data: file
}); });
} }
/**
* 根据Id查找资讯
* @param {*} params userId
* @returns
*/
export function findByUserId(params) {
return request({
url: "/ZX/findByUserId",
method: "get",
params
});
}
...@@ -18,7 +18,7 @@ export function getMoneyPackage(params) { ...@@ -18,7 +18,7 @@ export function getMoneyPackage(params) {
*/ */
export function getWithdrawalAmount(params) { export function getWithdrawalAmount(params) {
return request({ return request({
url: "getWithdrawalAmount", url: "/wallet/getWithdrawalAmount",
method: "get", method: "get",
params params
}); });
......
...@@ -5,12 +5,14 @@ let loading = null; ...@@ -5,12 +5,14 @@ let loading = null;
const service = axios.create({ const service = axios.create({
baseURL: "/shop-mall", baseURL: "/shop-mall",
// baseURL: "http://192.168.204.152:8997/shop-mall",
timeout: 5000 timeout: 5000
}); });
service.interceptors.request.use( service.interceptors.request.use(
config => { config => {
config.headers["Authorization"] = "b6cd4e221fdc4e46a6825c236c912fa6"; config.headers["Authorization"] =
"Bearer " + "b6cd4e221fdc4e46a6825c236c912fa6";
if (!config.loading) { if (!config.loading) {
loading = Toast.loading({ loading = Toast.loading({
forbidClick: true, forbidClick: true,
...@@ -22,6 +24,8 @@ service.interceptors.request.use( ...@@ -22,6 +24,8 @@ service.interceptors.request.use(
error => { error => {
if (loading) Toast.clear(); if (loading) Toast.clear();
console.log("rqquest====错误", error); console.log("rqquest====错误", error);
console.log(error);
this.$toast.fail(error.response.data.error);
} }
); );
...@@ -33,7 +37,7 @@ service.interceptors.response.use( ...@@ -33,7 +37,7 @@ service.interceptors.response.use(
}, },
error => { error => {
if (loading) Toast.clear(); if (loading) Toast.clear();
console.log("response===错误", error); return Promise.reject(error);
} }
); );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="bank"> <div class="bank">
<van-cell-group> <van-cell-group>
<van-field <van-field
v-model="form.bank" v-model="form.bankName"
label="所属银行" label="所属银行"
right-icon="arrow" right-icon="arrow"
placeholder="请选择" placeholder="请选择"
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
readonly readonly
/> />
<van-field <van-field
v-model="form.bankCardId" v-model="form.cardNumber"
type="number" type="number"
label="银行卡卡号" label="银行卡卡号"
placeholder="请输入" placeholder="请输入"
...@@ -23,21 +23,77 @@ ...@@ -23,21 +23,77 @@
size="large" size="large"
/> />
</van-cell-group> </van-cell-group>
<van-button type="primary" block class="btn" size="large">编辑</van-button> <van-button
type="primary"
block
class="btn"
size="large"
@click="addAndEditBankInfo"
>编辑</van-button
>
</div> </div>
</template> </template>
<script> <script>
import { getUserBankInfo, addUserBankInfo, editUserBankInfo } from "@/api/bank";
export default { export default {
name: "Bank", name: "Bank",
data() { data() {
return { return {
form: { form: {
bank: "", bankName: "",
bankCardId: "", cardNumber: "",
name: "" name: "",
id: ""
} }
}; };
},
mounted() {
this.getBankInfo();
},
methods: {
addAndEditBankInfo() {
const params = this.form;
if (this.form.id) {
editUserBankInfo(params)
.then(res => {
if (res.code === 0) {
this.$toast.success("编辑成功");
} else {
this.$toast.fail("编辑失败");
}
})
.catch(error => {
this.$toast.fail(
error.response.data.error + error.response.data.message
);
});
} else {
addUserBankInfo()
.then(res => {
if (res.code === 0) {
this.$toast.success("添加成功");
} else {
this.$toast.fail("添加失败");
}
})
.catch(error => {
this.$toast.fail(
error.response.data.error + error.response.data.message
);
});
}
},
getBankInfo() {
const params = {
userId: "13100911369"
};
getUserBankInfo(params).then(res => {
if (res.code === 0) {
this.form = res.data;
}
});
}
} }
}; };
</script> </script>
......
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
</template> </template>
<script> <script>
import { getWithdrawalAmount } from "@/api/wallet";
export default { export default {
name: "leagueNums", name: "leagueNums",
data() { data() {
...@@ -40,7 +42,23 @@ export default { ...@@ -40,7 +42,23 @@ export default {
"提现规则:这是一条规则,这是一条规则,这是一条规则,这是一条规则这是一条规则这是一条规则这是一条规则。" "提现规则:这是一条规则,这是一条规则,这是一条规则,这是一条规则这是一条规则这是一条规则这是一条规则。"
}; };
}, },
methods: {} mounted() {
this.getWithdrawal();
},
methods: {
getWithdrawal() {
const params = {
userId: "13100911369"
};
getWithdrawalAmount(params).then(res => {
if (res.code === 0) {
this.preNum = res.data.lastMoneyNot;
this.currentNum = res.data.currentMoneyCan;
this.rules = res.data.withdrawRule;
}
});
}
}
}; };
</script> </script>
......
<template> <template>
<div class="cash-out"> <div class="cash-out">
<van-cell-group style="margin-bottom: 10px"> <van-cell-group style="margin-bottom: 10px">
<van-field <van-cell is-link title="所属银行" :value="bank" @click="jumpToBank" />
v-model="bank"
label="所属银行"
right-icon="arrow"
placeholder="请选择"
size="large"
class="bank"
readonly
/>
</van-cell-group> </van-cell-group>
<div class="detail"> <div class="detail">
<p style="font-size: 24px">提现金额</p> <p style="font-size: 24px">提现金额</p>
...@@ -52,7 +44,7 @@ ...@@ -52,7 +44,7 @@
@onClick="onSubmit" @onClick="onSubmit"
> >
<div slot="content"> <div slot="content">
<p class="content-text">请输入手机号135****1548的动态验证码</p> <p class="content-text">请输入手机号{{ userPhone }}的动态验证码</p>
<van-field <van-field
v-model="validCode" v-model="validCode"
type="number" type="number"
...@@ -84,12 +76,14 @@ ...@@ -84,12 +76,14 @@
</template> </template>
<script> <script>
import { getUserBankInfo, sendSms, cashOut } from "@/api/bank";
import BaseDialog from "@/components/BaseDialog.vue"; import BaseDialog from "@/components/BaseDialog.vue";
export default { export default {
components: { BaseDialog }, components: { BaseDialog },
name: "CashOut", name: "CashOut",
data() { data() {
return { return {
userPhone: "13100911369",
bank: "", bank: "",
money: null, money: null,
remainMoney: 100, remainMoney: 100,
...@@ -101,29 +95,64 @@ export default { ...@@ -101,29 +95,64 @@ export default {
validCode: null validCode: null
}; };
}, },
created() {
this.getUserInfo();
},
methods: { methods: {
jumpToBank() {
console.log("1");
this.$router.push("/bank");
},
// 全部提现
allIn() { allIn() {
this.money = this.remainMoney; this.money = this.remainMoney;
}, },
// 点击提现
onCashOut() { onCashOut() {
if (!this.money) { if (!this.money) {
this.$toast.fail("未输入提现金额"); this.$toast.fail("未输入提现金额");
return; return;
} }
const params = {
userId: this.userPhone
};
sendSms(params).then();
this.validCode = null; this.validCode = null;
this.validCodeDialogShow = true; this.validCodeDialogShow = true;
}, },
getUserInfo() {
const params = {
userId: "13100911369"
};
getUserBankInfo(params).then(res => {
if (res.code === 0) {
this.bank = res.data.bankName;
}
});
},
onSubmit() { onSubmit() {
this.validCodeDialogShow = false; this.validCodeDialogShow = false;
const params = {
code: this.validCode,
money: this.money
};
cashOut(params)
.then(res => {
this.resultDialog = true; this.resultDialog = true;
const res = "error"; if (res.code === 0) {
this.resultDialogTitle = res === "success" ? "提现成功" : "提现失败"; this.resultDialogTitle = "提现成功";
this.resultDialogTip = this.resultDialogTip = "提现成功,请及时查收";
res === "success" ? "提现成功,请及时查收" : "提现失败,验证码错误"; this.resultDialogImg = require("@/assets/images/成功.png");
this.resultDialogImg = } else {
res === "success" this.resultDialogTitle = "提现失败";
? require("@/assets/images/成功.png") this.resultDialogTip = "提现失败,验证码错误";
: require("@/assets/images/叉号.png"); this.resultDialogImg = require("@/assets/images/叉号.png");
}
})
.catch(err => {
this.$toast.fail(err.response.data.error);
});
}, },
onSuccess() { onSuccess() {
this.resultDialog = false; this.resultDialog = false;
......
...@@ -24,16 +24,14 @@ ...@@ -24,16 +24,14 @@
</template> </template>
<script> <script>
var userId = 13100911369 // var userId = 13100911369
export default { export default {
name: "customerService", name: "customerService",
data() { data() {
return {}; return {};
}, },
mounted(){ mounted() {},
},
methods: { methods: {
handleUrl(urlName) { handleUrl(urlName) {
this.$router.push({ name: urlName }); this.$router.push({ name: urlName });
......
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
<base-refresh-scroll @downLoad="onDownLoad" @upRefresh="onUpRefresh"> <base-refresh-scroll @downLoad="onDownLoad" @upRefresh="onUpRefresh">
<div slot="content"> <div slot="content">
<div <div
v-for="(item, index) in 10" v-for="(item, index) in detailList"
:key="`income-detail-${index}`" :key="`income-detail-${index}`"
class="detail-list-item" class="detail-list-item"
> >
<span>工资收益</span> <span>{{ item.name }}</span>
<span>55</span> <span>{{ item.money }}</span>
<span class="time">2021.02.26 10:02</span> <span class="time">2021.02.26 10:02</span>
</div> </div>
</div> </div>
...@@ -25,12 +25,52 @@ ...@@ -25,12 +25,52 @@
</template> </template>
<script> <script>
import { queryIncomeDetail } from "@/api/wallet";
import BaseRefreshScroll from "../../components/BaseRefreshScroll.vue"; import BaseRefreshScroll from "../../components/BaseRefreshScroll.vue";
export default { export default {
components: { BaseRefreshScroll }, components: { BaseRefreshScroll },
name: "IncomeDetail", name: "IncomeDetail",
data() { data() {
return { return {
detailList: [],
legendPos: [
{
x: "1%",
y: "65%"
},
{
x: "28%",
y: "65%"
},
{
x: "65%",
y: "65%"
},
{
x: "1%",
y: "75%"
},
{
x: "28%",
y: "75%"
},
{
x: "65%",
y: "75%"
},
{
x: "1%",
y: "85%"
},
{
x: "28%",
y: "85%"
},
{
x: "65%",
y: "85%"
}
],
pieOption: { pieOption: {
legend: [ legend: [
{ {
...@@ -179,7 +219,8 @@ export default { ...@@ -179,7 +219,8 @@ export default {
}; };
}, },
mounted() { mounted() {
this.pieOption.graphic.children[0].style.text = "123456"; // this.pieOption.graphic.children[0].style.text = "123456";
this.getDetail();
}, },
methods: { methods: {
onDownLoad(val) { onDownLoad(val) {
...@@ -187,6 +228,38 @@ export default { ...@@ -187,6 +228,38 @@ export default {
}, },
onUpRefresh(val) { onUpRefresh(val) {
console.log("上拉加载", val); console.log("上拉加载", val);
},
getDetail() {
const params = {
userId: "13100911369"
};
queryIncomeDetail(params).then(res => {
if (res.code === 0) {
this.pieOption.graphic.children[0].style.text = res.data.totalIncome;
this.detailList = res.data.list.map(item => {
return {
name: item.typeName,
money: item.money,
incomeTime: item.incomeTime.substr(0, 16).replaceAll("-", ".")
};
});
this.pieOption.series[0].data = this.detailList.map(item => {
return {
value: item.money,
name: item.name
};
});
const legend = this.detailList.map((item, index) => {
return {
selectedMode: false,
...this.legendPos[index],
itemWidth: 12,
data: [item.name]
};
});
this.pieOption.legend = legend;
}
});
} }
} }
}; };
......
...@@ -7,7 +7,10 @@ ...@@ -7,7 +7,10 @@
> >
当月收益 当月收益
</p> </p>
<div style="position:absolute;top:178px;width:100%" @click="jumpToIncomeDetail"> <div
style="position:absolute;top:178px;width:100%"
@click="jumpToIncomeDetail"
>
<span class="month-income">{{ walletInfo.moneyIncome }}</span> <span class="month-income">{{ walletInfo.moneyIncome }}</span>
<img <img
src="@/assets/images/右箭头.png" src="@/assets/images/右箭头.png"
...@@ -92,13 +95,17 @@ export default { ...@@ -92,13 +95,17 @@ export default {
const params = { const params = {
userId: "13100911369" userId: "13100911369"
}; };
getMoneyPackage(params).then(res => { getMoneyPackage(params)
.then(res => {
if (res.code === 0) { if (res.code === 0) {
console.log("res", res); console.log("res", res);
this.walletInfo = res.data; this.walletInfo = res.data;
} else { } else {
this.$toast.fail(res.message); this.$toast.fail(res.message);
} }
})
.catch(error => {
console.log(error);
}); });
} }
} }
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
</template> </template>
<script> <script>
var userId = 13100911369 var userId = 13100911369;
import { getMyTeam} from '@/api/grade' import { getMyTeam } from "@/api/grade";
export default { export default {
name: "leagueNums", name: "leagueNums",
data() { data() {
...@@ -31,58 +31,58 @@ export default { ...@@ -31,58 +31,58 @@ export default {
{ {
num: "", num: "",
label: "普通用户", label: "普通用户",
field:"normalUserNum" field: "normalUserNum"
}, },
{ {
num: "", num: "",
label: "幼苗", label: "幼苗",
field:"seedlingNum" field: "seedlingNum"
}, },
{ {
num: "", num: "",
label: "青铜树", label: "青铜树",
field:"bronzeTreeNum" field: "bronzeTreeNum"
}, },
{ {
num: "", num: "",
label: "白银树", label: "白银树",
field:"silverTreeNum" field: "silverTreeNum"
}, },
{ {
num: "", num: "",
label: "黄金树", label: "黄金树",
field:"goldTreeNum" field: "goldTreeNum"
}, },
{ {
num: "", num: "",
label: "农场主", label: "农场主",
field:"farmerNum" field: "farmerNum"
}, },
{ {
num: "", num: "",
label: "森林之星", label: "森林之星",
field:"forestStartNum" field: "forestStartNum"
}, },
{ {
num: "", num: "",
label: "西田森合伙人", label: "西田森合伙人",
field:"partnerNum" field: "partnerNum"
} }
] ]
}; };
}, },
mounted(){ mounted() {
this.getMyTeam() this.getMyTeam();
}, },
methods: { methods: {
getMyTeam(){ getMyTeam() {
getMyTeam(userId).then(res=>{ getMyTeam(userId).then(res => {
if(res.data){ if (res.data) {
this.list.forEach(v=>{ this.list.forEach(v => {
v.num = res.data[v["field"]] v.num = res.data[v["field"]];
}) });
} }
}) });
} }
} }
}; };
......
...@@ -8,11 +8,25 @@ ...@@ -8,11 +8,25 @@
</template> </template>
<script> <script>
import { findByUserId } from "@/api/infomation";
import MomentItem from "./components/momentItem.vue"; import MomentItem from "./components/momentItem.vue";
export default { export default {
name: "Moments", name: "Moments",
components: { MomentItem } components: { MomentItem },
created() {
this.getMoment();
},
methods: {
getMoment() {
const params = {
userId: "13100911369"
};
findByUserId(params).then(res => {
console.log(res);
});
}
}
}; };
</script> </script>
......
...@@ -46,16 +46,13 @@ export default { ...@@ -46,16 +46,13 @@ export default {
onPublish() { onPublish() {
console.log("发布===文字", this.message); console.log("发布===文字", this.message);
console.log("发布===文件", this.fileList); console.log("发布===文件", this.fileList);
const params = {
userId: "1",
zxField: this.message,
zxAddress: "北京海淀"
};
const fd = new FormData(); const fd = new FormData();
this.fileList.forEach(file => { this.fileList.forEach(file => {
fd.append("files", file.file); fd.append("files", file.file);
}); });
uploadImage(params, fd).then(); fd.append("zxField", this.message);
fd.append("userId", "13100911369");
uploadImage(fd).then();
}, },
openPopup() { openPopup() {
this.fileShow = true; this.fileShow = true;
......
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