540 lines
16 KiB
JavaScript
540 lines
16 KiB
JavaScript
// packageA/mycomponent/goods_telephone_charges_pro/goods_telephone_charges_pro.js
|
|
var app = getApp();
|
|
Component({
|
|
/**
|
|
* 组件的属性列表
|
|
*/
|
|
properties: {
|
|
prop_goods_info: {
|
|
type: null, //父组件的商品详情数据
|
|
},
|
|
goodsId: {
|
|
type: Number,
|
|
},
|
|
goodsType: {
|
|
type: String,
|
|
},
|
|
hoet: {
|
|
type: null,
|
|
},
|
|
},
|
|
|
|
/**
|
|
* 组件的初始数据
|
|
*/
|
|
data: {
|
|
goodsInfo: {},
|
|
|
|
rechargeType: {},
|
|
rechargeItem: {},
|
|
rechargeSpecId: 0,
|
|
|
|
displayOptions: [],
|
|
optionsId: 0,
|
|
|
|
show1: false,
|
|
service_QRcode: "",
|
|
service_mobile: "",
|
|
cservice: "",
|
|
|
|
//猜你喜欢
|
|
likeArr: [],
|
|
swipeIndex: 0,
|
|
|
|
mobile: "",
|
|
|
|
bannerUrl: "",
|
|
|
|
posterShow: false,
|
|
|
|
tapSelect: false,
|
|
|
|
AccountList: [],
|
|
currentAccount: null,
|
|
editUserShow: false,
|
|
|
|
form_account_name: "",
|
|
form_account_number: "",
|
|
form_charge_type: 1,
|
|
|
|
addressShow_p: false,
|
|
|
|
form_province: "",
|
|
form_city: "",
|
|
|
|
selectUserShow: false,
|
|
radioAccount: "1",
|
|
|
|
tipsShow: false,
|
|
|
|
desc_text: "",
|
|
codeArr: [{
|
|
value: '',
|
|
focusa: true
|
|
},
|
|
{
|
|
value: '',
|
|
focusa: false
|
|
},
|
|
{
|
|
value: '',
|
|
focusa: false
|
|
},
|
|
{
|
|
value: '',
|
|
focusa: false
|
|
},
|
|
{
|
|
value: '',
|
|
focusa: false
|
|
},
|
|
{
|
|
value: '',
|
|
focusa: false
|
|
}
|
|
],
|
|
codeValue: '',
|
|
isProvinceShow: false
|
|
},
|
|
ready() {
|
|
console.log(this.properties.prop_goods_info);
|
|
let prop_goods_info = this.properties.prop_goods_info;
|
|
let changeData = {};
|
|
let goodsInfo = this.data.goodsInfo = prop_goods_info.get_goods;
|
|
let rechargeType = goodsInfo.has_many_specs[0];
|
|
this._handClickSpecs(rechargeType.specitem[0]);
|
|
changeData.goodsInfo = goodsInfo;
|
|
changeData.rechargeType = rechargeType;
|
|
//轮播图
|
|
if (prop_goods_info && prop_goods_info.plugin && prop_goods_info.plugin.electricityBillPro) {
|
|
changeData.bannerUrl = prop_goods_info.plugin.electricityBillPro.banner;
|
|
}
|
|
|
|
//客服相关
|
|
if (prop_goods_info.customer_service) {
|
|
// 客服
|
|
changeData.service_QRcode = prop_goods_info.customer_service.service_QRcode;
|
|
changeData.service_mobile = prop_goods_info.customer_service.service_mobile;
|
|
changeData.cservice = prop_goods_info.customer_service.cservice;
|
|
}
|
|
|
|
changeData.desc_text = prop_goods_info.plugin.electricityBillPro.desc;
|
|
|
|
//猜你喜欢
|
|
let show_push = goodsInfo.show_push.slice(0, 30);
|
|
let likeArr = [];
|
|
show_push.forEach(function (item, index) {
|
|
var num = Math.floor(index / 6); //
|
|
if (!likeArr[num]) {
|
|
likeArr[num] = [];
|
|
}
|
|
likeArr[num].push(item); //将数据添加到数组里
|
|
});
|
|
changeData.likeArr = likeArr;
|
|
this.setData(changeData);
|
|
this.getDataAccountList();
|
|
this.getAddressProvince();
|
|
},
|
|
/**
|
|
* 组件的方法列表
|
|
*/
|
|
methods: {
|
|
// handClickSpecs(evt) {
|
|
// let item = evt.currentTarget.dataset.item;
|
|
// this._handClickSpecs(item);
|
|
// },
|
|
setEditUserShow() {
|
|
this.setData({
|
|
editUserShow: !this.data.editUserShow
|
|
});
|
|
},
|
|
setSelectUserShow() {
|
|
this.setData({
|
|
selectUserShow: !this.data.selectUserShow
|
|
});
|
|
},
|
|
setTipsShow() {
|
|
this.setData({
|
|
tipsShow: !this.data.tipsShow
|
|
});
|
|
},
|
|
_handClickSpecs(item) {
|
|
if (this.data.rechargeSpecId == item.id) return;
|
|
let has_many_options = this.data.goodsInfo.has_many_options;
|
|
let arr = [];
|
|
for (let i = 0; i < has_many_options.length; i++) {
|
|
//if (has_many_options[i].specs.indexOf(item.id) >= 0) {
|
|
arr.push(has_many_options[i]);
|
|
// }
|
|
}
|
|
this.setData({
|
|
// rechargeSpecId: item.id,
|
|
// rechargeItem: item,
|
|
displayOptions: arr,
|
|
optionsId: 0
|
|
});
|
|
},
|
|
|
|
handClickOptions(evt) {
|
|
let item = evt.currentTarget.dataset.item;
|
|
this.setData({
|
|
optionsId: item.id
|
|
});
|
|
},
|
|
|
|
onChangeSwipeIndex(evt) {
|
|
let index = evt.detail.current;
|
|
this.setData({
|
|
swipeIndex: index
|
|
});
|
|
},
|
|
gotoDetailV2(evt) {
|
|
let id = evt.currentTarget.dataset.id;
|
|
wx.navigateTo({
|
|
url: '/packageA/detail_v2/detail_v2?id=' + id,
|
|
});
|
|
},
|
|
gotoChat(evt) {
|
|
let url = evt.currentTarget.dataset.cservice + "&goods_id=" + this.data.goodsId;
|
|
wx.navigateTo({
|
|
url: url,
|
|
fail: (err) => {
|
|
app.tips("客服路由出错");
|
|
}
|
|
});
|
|
},
|
|
|
|
setCserviceFlag() {
|
|
this.setData({
|
|
show1: !this.data.show1
|
|
});
|
|
},
|
|
|
|
gotoOrderList() {
|
|
wx.navigateTo({
|
|
url: '/packageA/member/myOrder_v2/myOrder_v2',
|
|
});
|
|
},
|
|
|
|
gotoIndex() {
|
|
wx.reLaunch({
|
|
url: '/packageG/index/index',
|
|
});
|
|
},
|
|
|
|
setPosterShow() {
|
|
this.setData({
|
|
posterShow: true
|
|
});
|
|
},
|
|
setTopping() {
|
|
wx.pageScrollTo({
|
|
scrollTop: 0
|
|
});
|
|
},
|
|
|
|
sendRecharge() {
|
|
// 手机慢充
|
|
let {
|
|
goodsId,
|
|
optionsId
|
|
} = this.data;
|
|
// if (!mobile) {
|
|
// app.tips("请输入充值手机号码!");
|
|
// return false;
|
|
// } else {
|
|
// let reg_txt = /^[1][0-9]{10}$/;
|
|
// if (!reg_txt.test(mobile)) {
|
|
// app.tips("请输入正确的充值手机号码!");
|
|
// return false;
|
|
// }
|
|
// }
|
|
if (!this.data.currentAccount) return app.tips("请先添加户号");
|
|
if (optionsId <= 0) return app.tips("请选择充值金额");
|
|
|
|
wx.navigateTo({
|
|
url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&&goodsId=" + goodsId + "&optionsId=" + optionsId + "&account_id=" + this.data.currentAccount.id + "&electricity=electricity"
|
|
});
|
|
//this.$router.push(this.fun.getUrl("goodsorder", {}, json_data));
|
|
},
|
|
|
|
tapSelect_btn() {
|
|
this.setData({
|
|
tapSelect: !this.data.tapSelect
|
|
});
|
|
},
|
|
checkProvince(key) {
|
|
let pro = key || this.data.form_province;
|
|
if (pro == "广东省") {
|
|
return true;
|
|
} else if (pro == "广西壮族自治区") {
|
|
return true;
|
|
} else if (pro == "云南省") {
|
|
return true;
|
|
} else if (pro == "贵州省") {
|
|
return true;
|
|
} else if (pro == "海南省") {
|
|
return true;
|
|
} else if (pro == "澳门特别行政区") {
|
|
return true;
|
|
} else if (pro == "香港特别行政区") {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
},
|
|
saveBox() {
|
|
if (app._isTextEmpty(this.data.form_account_name)) return app.tips("填写户名");
|
|
if (app._isTextEmpty(this.data.form_account_number)) return app.tips("请输入缴费户号");
|
|
if (app._isTextEmpty(this.data.form_province) || app._isTextEmpty(this.data.form_city)) return app.tips("请选择所在省市");
|
|
let check = this.checkProvince();
|
|
if (check) {
|
|
if (app._isTextEmpty(this.data.codeValue)) {
|
|
wx.showModal({
|
|
title: '',
|
|
content: '请输入身份证/营业执照/机构代码后6位',
|
|
showCancel:false
|
|
})
|
|
return
|
|
} else if (this.data.codeValue.length < 6) {
|
|
wx.showModal({
|
|
title: '',
|
|
content: '请输入身份证/营业执照/机构代码后6位',
|
|
showCancel:false
|
|
})
|
|
return
|
|
}
|
|
}
|
|
let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.saveAccount");
|
|
let form = {
|
|
account_name: this.data.form_account_name,
|
|
account_number: this.data.form_account_number,
|
|
province: this.data.form_province,
|
|
city: this.data.form_city,
|
|
charge_type: this.data.form_charge_type
|
|
};
|
|
if (check) {
|
|
form.code = this.data.codeValue;
|
|
}
|
|
let json = {
|
|
form
|
|
};
|
|
if (this.data.AccountID) {
|
|
json.id = this.data.AccountID;
|
|
}
|
|
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
data: json,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
app.tips(res.msg);
|
|
if (res.result == 1) {
|
|
this.setData({
|
|
AccountID: "",
|
|
editUserShow: false
|
|
});
|
|
this.getDataAccountList();
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
|
|
newCreate() {
|
|
this.setData({
|
|
form_account_name: "",
|
|
form_account_number: "",
|
|
form_province: "",
|
|
form_city: "",
|
|
form_charge_type: 1,
|
|
AccountID: "",
|
|
editUserShow: true,
|
|
isProvinceShow:false,
|
|
codeValue:''
|
|
});
|
|
},
|
|
|
|
onChangeCurrentAccount(evt) {
|
|
let id = evt.detail;
|
|
for (let i = 0; i < this.data.AccountList.length; i++) {
|
|
if (this.data.AccountList[i].id == id) {
|
|
this.setData({
|
|
currentAccount: this.data.AccountList[i],
|
|
radioAccount: id,
|
|
selectUserShow: false
|
|
});
|
|
|
|
}
|
|
}
|
|
},
|
|
|
|
async delIcon(evt) {
|
|
let item = evt.currentTarget.dataset.item;
|
|
let confirmFlag = await app.confirm("确定删除吗?");
|
|
if (!confirmFlag) return;
|
|
let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.delAccount");
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
data: {
|
|
id: item.id
|
|
},
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
app.tips(res.msg);
|
|
if (res.result == 1) {
|
|
if (item.id == this.data.currentAccount.id) {
|
|
this.setData({
|
|
currentAccount: null
|
|
});
|
|
}
|
|
this.getDataAccountList();
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
|
|
// 编辑
|
|
editIcon(evt) {
|
|
let item = evt.currentTarget.dataset.item;
|
|
let check = this.checkProvince(item.province);
|
|
if(check){
|
|
if(item.code){
|
|
this.setData({
|
|
isProvinceShow:true,
|
|
codeValue:item.code
|
|
})
|
|
}else{
|
|
this.setData({
|
|
isProvinceShow:true,
|
|
codeValue:""
|
|
})
|
|
}
|
|
}else{
|
|
this.setData({
|
|
isProvinceShow:false
|
|
})
|
|
}
|
|
|
|
this.setData({
|
|
selectUserShow: false,
|
|
editUserShow: true,
|
|
form_account_name: item.account_name,
|
|
form_account_number: item.account_number,
|
|
form_province: item.province,
|
|
form_city: item.city,
|
|
form_charge_type: item.charge_type,
|
|
AccountID: item.id
|
|
});
|
|
},
|
|
|
|
getDataAccountList() {
|
|
let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.getAccountList");
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
this.setData({
|
|
AccountList: res.data,
|
|
radioAccount: res.data[0] ? res.data[0].id : 0
|
|
});
|
|
// if (!this.data.currentAccount) {
|
|
this.setData({
|
|
currentAccount: res.data[0] ? res.data[0] : null,
|
|
});
|
|
// }
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
|
|
getAddressProvince() {
|
|
let urlStr = app.getNetAddresss("plugin.electricity-bill-pro.frontend.accountUser.getRegion");
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
let list = res.data;
|
|
this.setData({
|
|
provinceData: [{
|
|
values: list,
|
|
className: "columnl"
|
|
}, {
|
|
values: list[0].children,
|
|
className: "column2"
|
|
}]
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
|
|
onChangeChargeType(event) {
|
|
this.setData({
|
|
form_charge_type: event.detail,
|
|
});
|
|
},
|
|
|
|
setAddressShow_p() {
|
|
this.setData({
|
|
addressShow_p: !this.data.addressShow_p
|
|
});
|
|
},
|
|
|
|
onChangeAddress(event) {
|
|
const {
|
|
picker,
|
|
value
|
|
} = event.detail;
|
|
console.log(value);
|
|
picker.setColumnValues(1, value[0].children);
|
|
},
|
|
|
|
addressCallback(evt) {
|
|
let {
|
|
value
|
|
} = evt.detail;
|
|
// if (value[1].is_open != "1") return app.tips("该地区不支持电费充值");
|
|
this.setData({
|
|
form_province: value[0].text,
|
|
form_city: value[1].text,
|
|
addressShow_p: false
|
|
});
|
|
let check = this.checkProvince();
|
|
if (check == true) {
|
|
this.setData({
|
|
isProvinceShow: true
|
|
})
|
|
}else{
|
|
this.setData({
|
|
isProvinceShow: false
|
|
})
|
|
}
|
|
// if (this.provinceData[ind[0]].children[ind[1]].is_open == 0) {
|
|
// this.$dialog.alert({ message: "该地区不支持电费充值" });
|
|
// } else {
|
|
// this.form.province = e[0];
|
|
// this.form.city = e[1];
|
|
// this.addressShow_p = false;
|
|
// }
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}); |