279 lines
8.6 KiB
JavaScript
279 lines
8.6 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../../common/vendor.js");
|
|
const request_api = require("../../../request/api.js");
|
|
const common_assets = require("../../../common/assets.js");
|
|
const _sfc_main = {
|
|
data() {
|
|
return {
|
|
avatarTop: "",
|
|
contentTop: "",
|
|
avatar: "",
|
|
//选择头像临时地址
|
|
avatarUrl: "",
|
|
//已上传的链接
|
|
investPreferenceList: ["长期投资", "中短期投资", "风险控制型"],
|
|
selectInvestIndex: -1,
|
|
stockYearList: ["新手入门", "1年以内", "1-3年", "3-5年", "5-10年", "10年以上"],
|
|
selectYearIndex: -1,
|
|
riskPreferenceList: ["保守型", "稳健型", "保守型"],
|
|
selectRiskIndex: -1,
|
|
investmentScaleList: ["50万以下", "50-100万", "100万以上"],
|
|
selectScaleIndex: -1,
|
|
preferredMarketList: [{ title: "A股" }, { title: "港股" }, { title: "美股" }, { title: "期货" }, { title: "虚拟货币" }, { title: "新兴市场" }]
|
|
};
|
|
},
|
|
onLoad() {
|
|
this.avatarTop = common_vendor.inject("navHeight") + 60 / 750 * common_vendor.inject("windowWidth");
|
|
this.contentTop = this.avatarTop + 75 / 750 * common_vendor.inject("windowWidth");
|
|
this.getUserInfoData();
|
|
},
|
|
methods: {
|
|
/**
|
|
* 点击选择头像
|
|
* @param {Object} e
|
|
*/
|
|
chooseAvatar(e) {
|
|
this.avatar = e.detail.avatarUrl;
|
|
},
|
|
/**
|
|
* 点击选择投资偏好
|
|
* @param {Object} index
|
|
*/
|
|
clickInvestItem(index) {
|
|
if (this.selectInvestIndex != index) {
|
|
this.selectInvestIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择风险偏好
|
|
* @param {Object} index
|
|
*/
|
|
clickYearItem(index) {
|
|
if (this.selectYearIndex != index) {
|
|
this.selectYearIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择风险偏好
|
|
* @param {Object} index
|
|
*/
|
|
clickRiskItem(index) {
|
|
if (this.selectRiskIndex != index) {
|
|
this.selectRiskIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择投资规模
|
|
* @param {Object} index
|
|
*/
|
|
clickScaleItem(index) {
|
|
if (this.selectScaleIndex != index) {
|
|
this.selectScaleIndex = index;
|
|
}
|
|
},
|
|
/**
|
|
* 点击选择市场偏好
|
|
* @param {Object} index
|
|
*/
|
|
clickMarketItem(index) {
|
|
this.preferredMarketList[index].select = !this.preferredMarketList[index].select;
|
|
},
|
|
/**
|
|
* 点击上一步
|
|
*/
|
|
clickPre() {
|
|
common_vendor.index.navigateBack();
|
|
},
|
|
/**
|
|
* 点击完成
|
|
*/
|
|
clickFinish() {
|
|
if (this.selectInvestIndex < 0) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择投资偏好",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (this.selectYearIndex < 0) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择炒股年限",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (this.selectRiskIndex < 0) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择风险偏好",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (this.selectScaleIndex < 0) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择投资规模",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
let arr = [];
|
|
for (let item of this.preferredMarketList) {
|
|
if (item.select) {
|
|
arr.push(item.title);
|
|
}
|
|
}
|
|
if (arr.length == 0) {
|
|
common_vendor.index.showToast({
|
|
title: "请选择偏好市场",
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (this.avatar) {
|
|
let param = { avatar: this.avatar, isFile: 1 };
|
|
updateBasicInfo(param).then((res) => {
|
|
this.uploadInvestPreferenceData();
|
|
}).catch((error) => {
|
|
});
|
|
} else
|
|
this.uploadInvestPreferenceData();
|
|
},
|
|
/**
|
|
* 更新投资偏好设置
|
|
*/
|
|
uploadInvestPreferenceData() {
|
|
let arr = [];
|
|
for (let item of this.preferredMarketList) {
|
|
if (item.select) {
|
|
arr.push(item.title);
|
|
}
|
|
}
|
|
let param = {
|
|
trading_experience: this.selectYearIndex,
|
|
investment_style: this.investPreferenceList[this.selectInvestIndex],
|
|
risk_preference: this.riskPreferenceList[this.selectRiskIndex],
|
|
investment_amount: this.investmentScaleList[this.selectScaleIndex],
|
|
preferred_markets: arr
|
|
};
|
|
request_api.updateInvestPreference(param).then((res) => {
|
|
common_vendor.index.navigateBack({
|
|
delta: 2
|
|
});
|
|
}).catch((error) => {
|
|
});
|
|
},
|
|
/**
|
|
* 获取用户偏好设置数据
|
|
*/
|
|
getUserInfoData() {
|
|
request_api.userInfo().then((res) => {
|
|
if (res.code == 200) {
|
|
this.avatarUrl = res.data.basic_info.avatar_url;
|
|
let data = res.data.investment_preferences;
|
|
for (var i = 0; i < this.investPreferenceList.length; i++) {
|
|
let item = this.investPreferenceList[i];
|
|
if (item == data.investment_style) {
|
|
this.selectInvestIndex = i;
|
|
break;
|
|
}
|
|
}
|
|
this.selectYearIndex = data.trading_experience;
|
|
for (var i = 0; i < this.riskPreferenceList.length; i++) {
|
|
let item = this.riskPreferenceList[i];
|
|
if (item == data.risk_preference) {
|
|
this.selectRiskIndex = i;
|
|
break;
|
|
}
|
|
}
|
|
for (var i = 0; i < this.investmentScaleList.length; i++) {
|
|
let item = this.investmentScaleList[i];
|
|
if (item == data.investment_amount) {
|
|
this.selectScaleIndex = i;
|
|
break;
|
|
}
|
|
}
|
|
for (let item of this.preferredMarketList) {
|
|
let arr = JSON.parse(data.preferred_markets);
|
|
let arr1 = arr[0].split(",");
|
|
if (arr1.indexOf(item.title) > -1) {
|
|
item.select = true;
|
|
} else {
|
|
item.select = false;
|
|
}
|
|
}
|
|
} else
|
|
common_vendor.wx$1.showToast({
|
|
title: res.message
|
|
});
|
|
}).catch((error) => {
|
|
});
|
|
}
|
|
}
|
|
};
|
|
if (!Array) {
|
|
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
|
|
_easycom_navBar2();
|
|
}
|
|
const _easycom_navBar = () => "../../../components/navBar/navBar.js";
|
|
if (!Math) {
|
|
_easycom_navBar();
|
|
}
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return {
|
|
a: common_vendor.p({
|
|
leftText: "信息完善"
|
|
}),
|
|
b: common_assets._imports_0,
|
|
c: $data.avatar ? $data.avatar : $data.avatarUrl,
|
|
d: common_assets._imports_1$3,
|
|
e: common_vendor.o((...args) => $options.chooseAvatar && $options.chooseAvatar(...args)),
|
|
f: common_vendor.s("top:" + $data.avatarTop + "px;"),
|
|
g: common_vendor.f($data.investPreferenceList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: common_vendor.n("item " + ($data.selectInvestIndex == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickInvestItem(index), index)
|
|
};
|
|
}),
|
|
h: common_vendor.f($data.stockYearList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: common_vendor.n("item " + ($data.selectYearIndex == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickYearItem(index), index)
|
|
};
|
|
}),
|
|
i: common_vendor.f($data.riskPreferenceList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: common_vendor.n("item " + ($data.selectRiskIndex == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickRiskItem(index), index)
|
|
};
|
|
}),
|
|
j: common_vendor.f($data.investmentScaleList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item),
|
|
b: common_vendor.n("item " + ($data.selectScaleIndex == index ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickScaleItem(index), index)
|
|
};
|
|
}),
|
|
k: common_vendor.f($data.preferredMarketList, (item, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(item.title),
|
|
b: common_vendor.n("item " + (item.select ? "select" : "")),
|
|
c: index,
|
|
d: common_vendor.o(($event) => $options.clickMarketItem(index), index)
|
|
};
|
|
}),
|
|
l: common_vendor.s("top:" + $data.contentTop + "px;"),
|
|
m: common_vendor.o(($event) => $options.clickPre()),
|
|
n: common_vendor.o(($event) => $options.clickFinish())
|
|
};
|
|
}
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/mine/investPreference/investPreference.js.map
|