768 lines
21 KiB
JavaScript
768 lines
21 KiB
JavaScript
// pages/activity/activity.js
|
||
// var WxParse = require('../../../wxParse/wxParse.js');
|
||
var app = getApp();
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
startDate: new Date('1900-01-01'),
|
||
uploadUrl: 'upload.uploadPic',
|
||
activity_id: '',
|
||
types: {
|
||
"88": 'diyusername',
|
||
"99": 'diypassword',
|
||
"0": 'diyinput',
|
||
"1": 'diytextarea',
|
||
"3": 'diycheckbox',
|
||
"4": 'diyradio',
|
||
"2": 'diyselect',
|
||
"7": 'diydate',
|
||
"9": 'diycity',
|
||
"5": 'diyimage',
|
||
},
|
||
thumb: "",
|
||
conference: {},
|
||
form_id: '',
|
||
diyform: {},
|
||
diydata: [],
|
||
intro: false,
|
||
//地区
|
||
provinceData: [],
|
||
cityData: [],
|
||
districtData: [],
|
||
pickerValue: [0, 0, 0],
|
||
selectAddressData: [],
|
||
currentDate: new Date().getTime(),
|
||
isValidation: true,
|
||
nosubmit: true,
|
||
is_enrol:0
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
let scene = decodeURIComponent(options.scene);
|
||
|
||
// 扫码进入
|
||
if (scene) {
|
||
let info_arr = [];
|
||
info_arr = scene.split(',');
|
||
for (let i = 0; i < info_arr.length; i++) {
|
||
let chil_arr = [];
|
||
chil_arr = info_arr[i].split('=');
|
||
if (chil_arr[0] == 'id') {
|
||
this.setData({
|
||
activity_id: chil_arr[1]
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
// 点击进入
|
||
if (options.id) {
|
||
this.setData({
|
||
activity_id: options.id
|
||
});
|
||
}
|
||
if (!this.data.activity_id) {
|
||
wx.showToast({
|
||
title: '活动不存在!',
|
||
icon: 'none',
|
||
duration: 1500,
|
||
success: function () {
|
||
setTimeout(function () {
|
||
//要延时执行的代码
|
||
wx.redirectTo({
|
||
url: '/packageA/member/conferenceList/conferenceList'
|
||
});
|
||
}, 1500); //延迟时间
|
||
},
|
||
});
|
||
}
|
||
//加载地址数据初始化
|
||
this._initAddressInfo();
|
||
this.getActivity();
|
||
},
|
||
onRead_1(e) {
|
||
try {
|
||
let diydata = this.data.diydata;
|
||
let index = e.currentTarget.dataset.idex;
|
||
if (diydata[index].type == "diyimage") {
|
||
if (diydata[index].imgUrls.length >= diydata[index].data.tp_max) {
|
||
wx.showToast({
|
||
title: `最多只能上传${diydata[index].data.tp_max}张`,
|
||
icon: 'none',
|
||
duration: 1000
|
||
});
|
||
return;
|
||
}
|
||
}
|
||
// for (var i = 0; i < diydata.length; i++){
|
||
// if(diydata[i].type == "diyimage"){
|
||
// if(diydata[i].imgUrls.length >= diydata[i].data.tp_max){
|
||
// wx.showToast({
|
||
// title: `最多只能上传${diydata[i].data.tp_max}张`,
|
||
// icon:'none',
|
||
// duration:1000
|
||
// })
|
||
// return
|
||
// }
|
||
// }
|
||
// }
|
||
// console.log(this.data.diydata)
|
||
} catch (err) {
|
||
console.log(err);
|
||
}
|
||
let name = e.currentTarget.dataset.name;
|
||
this.setData({
|
||
setname: name
|
||
});
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss(this.data.uploadUrl);
|
||
wx.chooseImage({
|
||
count: 1,
|
||
sizeType: ['original', 'compressed'],
|
||
sourceType: ['album', 'camera'],
|
||
success(res) {
|
||
const tempFilePaths = res.tempFilePaths;
|
||
wx.compressImage({
|
||
src: tempFilePaths[0], // 图片路径
|
||
quality: 60, // 压缩质量
|
||
success(e) {
|
||
// console.log(e)
|
||
let photourl = e.tempFilePath;
|
||
|
||
wx.uploadFile({
|
||
url: urlStr,
|
||
filePath: photourl,
|
||
name: 'file',
|
||
formData: {
|
||
attach: that.data.setname
|
||
},
|
||
success(resdata) {
|
||
var res = JSON.parse(resdata.data);
|
||
console.log(res);
|
||
if (res.result == 1) {
|
||
let diydata = that.data.diydata;
|
||
console.log(res);
|
||
for (var i = 0; i < diydata.length; i++) {
|
||
if (diydata[i].name == res.data.attach) {
|
||
diydata[i].imgUrls.push(res.data.img_url);
|
||
}
|
||
}
|
||
that.setData({
|
||
diydata: diydata
|
||
});
|
||
console.log(that.data.diydata);
|
||
} else {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: res.msg,
|
||
duration: 1500
|
||
});
|
||
}
|
||
}
|
||
});
|
||
},
|
||
fail(e) {
|
||
console.log(e);
|
||
},
|
||
complete(e) {
|
||
|
||
}
|
||
});
|
||
}
|
||
});
|
||
},
|
||
removeImg: function (e) {
|
||
let delIndex = e.currentTarget.dataset.indexc;
|
||
let index_1 = e.currentTarget.dataset.index;
|
||
let diydata = this.data.diydata;
|
||
diydata[index_1].imgUrls.splice(delIndex, 1);
|
||
this.setData({
|
||
diydata: diydata
|
||
});
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {
|
||
return{
|
||
title:this.data.conference.title ? this.data.conference.title : '活动',
|
||
path:"/packageB/conference/activity/activity?id="+this.data.activity_id
|
||
};
|
||
},
|
||
getActivity() {
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss("plugin.conference.api.conference-activity.get-activity-detail");
|
||
urlStr += '&id=' + this.data.activity_id;
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
if (res.data.is_end == 1) {
|
||
wx.showToast({
|
||
title: '来晚了,活动已结束!',
|
||
icon: 'none',
|
||
duration: 1500,
|
||
success: function () {
|
||
setTimeout(function () {
|
||
//要延时执行的代码
|
||
wx.redirectTo({
|
||
url: '/packageA/member/conferenceList/conferenceList'
|
||
});
|
||
}, 1500); //延迟时间
|
||
},
|
||
});
|
||
return;
|
||
}
|
||
|
||
that.setData({
|
||
thumb: res.data.thumb,
|
||
conference: res.data,
|
||
form_id: res.data.form_id,
|
||
});
|
||
wx.setNavigationBarTitle({
|
||
title: that.data.conference.title ? that.data.conference.title : '活动'
|
||
});
|
||
// let article = that.data.conference.content;
|
||
/**
|
||
* WxParse.wxParse(bindName , type, data, target,imagePadding)
|
||
* 1.bindName绑定的数据名(必填)
|
||
* 2.type可以为html或者md(必填)
|
||
* 3.data为传入的具体数据(必填)
|
||
* 4.target为Page对象,一般为this(必填)
|
||
* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
|
||
*/
|
||
// try {
|
||
// WxParse.wxParse('article', 'html', article, that);
|
||
// } catch (e) {
|
||
// //TODO handle the exception
|
||
// }
|
||
that.getForm();
|
||
if(res.data.is_enrol == 1){
|
||
that.setData({
|
||
is_enrol:res.data.is_enrol
|
||
});
|
||
wx.showToast({
|
||
title: '您已报名该活动!',
|
||
icon:'none'
|
||
});
|
||
return;
|
||
}
|
||
} else {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: res.msg,
|
||
duration: 1500
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
},
|
||
goDetail(){
|
||
wx.navigateTo({
|
||
url: '/packageB/conference/myActivityInfo/myActivityInfo?id='+this.data.activity_id,
|
||
});
|
||
},
|
||
getForm() {
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.get-diy-form-by-id");
|
||
urlStr += '&form_id=' + this.data.form_id;
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
var f = {};
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
diyform: res.data
|
||
});
|
||
let fields = that.data.diyform.fields;
|
||
let diydata = that.data.diydata;
|
||
for (var field in fields) {
|
||
if (that.data.types[fields[field].data_type] == 'diycheckbox') {
|
||
f = {
|
||
name: field,
|
||
data: fields[field],
|
||
value: [],
|
||
type: that.data.types[fields[field].data_type],
|
||
};
|
||
} else if (that.data.types[fields[field].data_type] == 'diydate') {
|
||
f = {
|
||
name: field,
|
||
data: fields[field],
|
||
value: '',
|
||
type: that.data.types[fields[field].data_type],
|
||
};
|
||
|
||
} else if (that.data.types[fields[field].data_type] == 'diyselect') {
|
||
let tp_textArr = [];
|
||
for (let i = 0; i < fields[field].tp_text.length; i++) {
|
||
tp_textArr.push({
|
||
name: fields[field].tp_text[i]
|
||
});
|
||
}
|
||
|
||
f = {
|
||
name: field,
|
||
data: fields[field],
|
||
value: '',
|
||
type: that.data.types[fields[field].data_type],
|
||
diysishow: false,
|
||
sitem: tp_textArr
|
||
};
|
||
} else if (that.data.types[fields[field].data_type] == 'diycity') {
|
||
f = {
|
||
name: field,
|
||
data: fields[field],
|
||
value: '',
|
||
type: that.data.types[fields[field].data_type],
|
||
showAdd: false
|
||
};
|
||
|
||
} else if (that.data.types[fields[field].data_type] == 'diyimage') {
|
||
f = {
|
||
name: field,
|
||
data: fields[field],
|
||
imgUrls: fields[field].value ? fields[field].value : [],
|
||
isPhoto: false,
|
||
type: that.data.types[fields[field].data_type],
|
||
};
|
||
|
||
} else {
|
||
f = {
|
||
name: field,
|
||
data: fields[field],
|
||
value: '',
|
||
type: that.data.types[fields[field].data_type],
|
||
};
|
||
}
|
||
diydata.push(f);
|
||
that.setData({
|
||
diydata: diydata
|
||
});
|
||
console.log(that.data.diydata);
|
||
}
|
||
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
},
|
||
showIntro() {
|
||
this.setData({
|
||
intro: true
|
||
});
|
||
},
|
||
showIntroClose() {
|
||
this.setData({
|
||
intro: false
|
||
});
|
||
},
|
||
//自定义表单值绑定
|
||
tpnameinp(e) {
|
||
let val = e.detail.value;
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: val
|
||
});
|
||
},
|
||
diytextareainp(e) {
|
||
let val = e.detail.value;
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: val
|
||
});
|
||
},
|
||
checkboxinp(e) {
|
||
let val = e.detail;
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: val
|
||
});
|
||
},
|
||
diyselectBtn(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].diysishow"]: true
|
||
});
|
||
},
|
||
sitemClose(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].diysishow"]: false
|
||
});
|
||
},
|
||
sitemSelectBtn(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
let val = e.detail.name;
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: val,
|
||
["diydata[" + idx + "].diysishow"]: false
|
||
});
|
||
},
|
||
raidinp(e) {
|
||
let val = e.detail;
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: val
|
||
});
|
||
},
|
||
// 关闭选择收货地址
|
||
_closeDateLw: function (e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].showAdd"]: false
|
||
});
|
||
},
|
||
//地址选择器数据初始化
|
||
_initAddressInfo: function () {
|
||
var that = this;
|
||
var _keyName = 'provinceData';
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("地址信息准备就绪");
|
||
that._getProvinceData();
|
||
},
|
||
fail: function (res) {
|
||
console.log("省fail");
|
||
app._getNetWork({
|
||
url: app.getNetAddresss("member.member-address.address"),
|
||
success: function (res) {
|
||
var response = res.data;
|
||
var province = response.data.province;
|
||
var city = response.data.city;
|
||
var district = response.data.district;
|
||
wx.setStorage({
|
||
key: 'provinceData',
|
||
data: province
|
||
});
|
||
wx.setStorage({
|
||
key: 'cityData',
|
||
data: city
|
||
});
|
||
wx.setStorage({
|
||
key: 'districtData',
|
||
data: district
|
||
});
|
||
that._initAddressInfo();
|
||
},
|
||
fail: function (res) {},
|
||
state: true
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 读取省key
|
||
_getProvinceData: function () {
|
||
var that = this;
|
||
var _keyName = 'provinceData';
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("省读取成功", res.data);
|
||
that.setData({
|
||
provinceData: res.data
|
||
});
|
||
that.setData({
|
||
"selectAddressData[0].name": res.data[that.data.pickerValue[0]].areaname,
|
||
"selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
|
||
"selectAddressData[0].index": that.data.pickerValue[0]
|
||
});
|
||
that._getCityData();
|
||
}
|
||
});
|
||
},
|
||
// 读取城市key,筛选城市data
|
||
_getCityData: function () {
|
||
var _data = this.data.selectAddressData[0];
|
||
console.log("城市", "_data", _data);
|
||
var that = this;
|
||
var _keyName = 'cityData';
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("城市读取成功", res);
|
||
|
||
var _json = [];
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
if (res.data[i].parentid == _data.id) {
|
||
_json.push(res.data[i]);
|
||
}
|
||
}
|
||
console.log("城市数据筛选", _json);
|
||
that.setData({
|
||
cityData: _json
|
||
});
|
||
that.setData({
|
||
"selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
|
||
"selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
|
||
"selectAddressData[1].index": that.data.pickerValue[1]
|
||
});
|
||
that._getDistrictData();
|
||
}
|
||
});
|
||
},
|
||
// 读取地区key,筛选地区data
|
||
_getDistrictData: function () {
|
||
var _data = this.data.selectAddressData[1];
|
||
console.log("地区", "_data", _data);
|
||
console.log(_data);
|
||
var that = this;
|
||
var _keyName = 'districtData';
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("地区读取成功");
|
||
var _json = [];
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
if (res.data[i].parentid == _data.id) {
|
||
_json.push(res.data[i]);
|
||
}
|
||
}
|
||
console.log("地区数据筛选", _json);
|
||
that.setData({
|
||
districtData: _json
|
||
});
|
||
console.log("districtData", _json);
|
||
that.setData({
|
||
"selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
|
||
"selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
|
||
"selectAddressData[2].index": that.data.pickerValue[2]
|
||
});
|
||
console.log("over", that.data.selectAddressData);
|
||
}
|
||
});
|
||
},
|
||
// 收货地址滚动事件
|
||
bindChange: function (e) {
|
||
var val = e.detail.value;
|
||
if (this.data.pickerValue[0] != val[0]) {
|
||
val[1] = 0;
|
||
val[2] = 0;
|
||
}
|
||
if (this.data.pickerValue[1] != val[1]) {
|
||
val[2] = 0;
|
||
}
|
||
this.setData({
|
||
"pickerValue[0]": val[0],
|
||
"pickerValue[1]": val[1],
|
||
"pickerValue[2]": val[2]
|
||
});
|
||
this._initAddressInfo();
|
||
},
|
||
//城市结果
|
||
resultAdd: function (e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
let seleData = this.data.selectAddressData;
|
||
let retCity = seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name;
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: retCity,
|
||
["diydata[" + idx + "].showAdd"]: false
|
||
});
|
||
},
|
||
//自定义日期选择
|
||
openPicker(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].timeShow"]: true
|
||
});
|
||
},
|
||
PickerClose(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].timeShow"]: false
|
||
});
|
||
},
|
||
PickerChange(event) {
|
||
let idx = event.currentTarget.dataset.idex;
|
||
let time = event.detail;
|
||
this.setData({
|
||
["diydata[" + idx + "].currentDate"]: time
|
||
});
|
||
},
|
||
birthdayconfirm(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
let time = e.detail;
|
||
let changtime = this.timestampToTime(time);
|
||
this.setData({
|
||
["diydata[" + idx + "].value"]: changtime,
|
||
["diydata[" + idx + "].timeShow"]: false
|
||
});
|
||
},
|
||
timestampToTime(timestamp) {
|
||
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||
var Y = date.getFullYear() + '-';
|
||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||
var D = date.getDate();
|
||
return Y + M + D;
|
||
},
|
||
submit() {
|
||
let refs = this.selectComponent('.diyfrom');
|
||
refs.submit();
|
||
},
|
||
dfsave(e) {
|
||
this.setData({
|
||
formData: e.detail
|
||
});
|
||
this.submitConference();
|
||
},
|
||
submitConference() {
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss("plugin.conference.api.conference-activity.save-enrol");
|
||
urlStr += '&conference_id=' + this.data.activity_id;
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
var enrol_id = res.data.enrol_id;
|
||
that.submitForm(enrol_id);
|
||
} else {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: res.msg,
|
||
duration: 1500
|
||
});
|
||
wx.redirectTo({
|
||
url: '/packageA/member/conferenceList/conferenceList'
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
},
|
||
submitForm(enrol_id) {
|
||
let that = this;
|
||
let formData = [];
|
||
let formObject = {};
|
||
this.data.diydata.forEach(item => {
|
||
if (item.type == 'diyimage') {
|
||
formObject[item.name] = item.imgUrls;
|
||
} else {
|
||
formObject[item.name] = item.value;
|
||
}
|
||
|
||
});
|
||
console.log(formObject, this.data.diydata);
|
||
formData.push(formObject);
|
||
let json = {
|
||
form_data: this.data.formData,
|
||
form_id: this.data.form_id,
|
||
};
|
||
let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.save-diy-form-data");
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
showToastIn: false,
|
||
data: json,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
var form_data_id = res.data.form_data_id;
|
||
that.submitEnro(enrol_id, form_data_id);
|
||
} else {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: res.msg,
|
||
duration: 1500
|
||
});
|
||
}
|
||
|
||
},
|
||
fail: function (res) {}
|
||
});
|
||
},
|
||
submitEnro(enrol_id, form_data_id) {
|
||
let urlStr = app.getNetAddresss("plugin.conference.api.conference-activity.save-enrol-end");
|
||
let json = {
|
||
enrol_id: enrol_id,
|
||
form_data_id: form_data_id,
|
||
};
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
showToastIn: false,
|
||
data: json,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
wx.showToast({
|
||
title: '报名成功',
|
||
icon: 'none',
|
||
duration: 1500,
|
||
success: function () {
|
||
setTimeout(function () {
|
||
//要延时执行的代码
|
||
wx.redirectTo({
|
||
url: '/packageA/member/conferenceList/conferenceList'
|
||
});
|
||
}, 1500); //延迟时间
|
||
},
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {}
|
||
});
|
||
},
|
||
//自定义日期选择
|
||
showAddBtn(e) {
|
||
let idx = e.currentTarget.dataset.idex;
|
||
this.setData({
|
||
["diydata[" + idx + "].showAdd"]: true
|
||
});
|
||
},
|
||
}); |