yuminge-app/yun-min-program-plugin-master/packageB/member/business_card/EditCard/EditCard.js

867 lines
21 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// pages/member/rankingListSecond/rankingListSecond.js
var app = getApp();
let time = 0;
let timer = null;
Page({
/**
* 页面的初始数据
*/
data: {
language: '',
card_id: '',
chooseItem: [],
// 录音
showStart: false,
localId: '',
serverId: '',
downLoadId: '',
time: 0,
timer: null,
// 地址
// district: District, // 地址本地数据
pictures: [],
form: {
status: '1',
member_id: '',
card_avatar: '',
card_name: '',
card_mobile: '',
card_wechat: '',
role_name: '',
role_id: '', // 角色ID
introduction: '', // 简介
voice: '',
province: '',
city: '',
district: '',
street: '',
address: '',
picture: [],
goods_id: [],
addressName: '', // 地址区域
streetName: '',
isOldVoice: false,
company:''
},
addressShow: false,
strShow: false, // 街道显示
streetShow: false, // 街道pop
// 角色
showRole: false,
columns: [],
role: {},
// 图片
photosize: 1024 * 1024 * 4,
imageUrl: '',
fileList2: [],
Timestart: 0,
onFocus: false, // textarea焦点是否选中
isShowText: false // 控制显示 textarea 还是 text
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
card_id: options.card_id
});
if (options.isShow) {
this.setData({
isShow: options.isShow
});
} else {
this.setData({
isShow: false
});
}
this.getData();
this.getRole();
var that = this;
this.recorderManager = wx.getRecorderManager();
this.recorderManager.onError(function () {
that.tip('录音失败!');
});
this.recorderManager.onStop(function (res) {
that.setData({
src: res.tempFilePath,
localId: res.tempFilePath
});
console.log(res.tempFilePath, '上传的路径');
that.tip('录音完成!');
that.upVoice();
});
this.innerAudioContext = wx.createInnerAudioContext();
this.innerAudioContext.onError((res) => {
that.tip('播放录音失败!');
});
},
bindRegionChange: function (e) {
console.log(e);
if (e.detail.code[1] == '441900'){
e.detail.value[2] = "东莞市";
e.detail.code[2] = "659004523";
this.setData({
region: e.detail.value
});
}else{
this.setData({
'form.province': e.detail.code[0],
'form.city': e.detail.code[1],
'form.district': e.detail.code[2]
});
this.setData({
region: e.detail.value
});
}
this.setData({
addressShow: false,
'form.addressName': e.detail.value[0] + e.detail.value[1] + e.detail.value[2],
'form.streetName': '',
'form.street': ''
});
this.getStreet(e.detail.code[2]);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let language = wx.getStorageSync('langIndex');
this.setData({ 'language': language.en});
this.audioCtx = wx.createAudioContext('yp');
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.isLoadMore) {
this.getMoreData();
} else {
console.log('没有更多了');
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {},
/**
* 提示
*/
tip: function (msg) {
wx.showModal({
title: '提示',
content: msg,
showCancel: false
});
},
checkRole() {
this.setData({
showRole: true
});
},
checkoutAdress() {
this.setData({
addressShow: true
});
},
// 角色取消
onCancel() {
this.setData({
showRole: false
});
},
// 角色确定
onConfirm(e) {
for (var i in this.data.columnsObj) {
if (this.data.columnsObj[i] == e.detail.value) {
this.setData({
showRole: false,
'form.role_name': e.detail.value,
'form.role_id': i
});
}
}
},
// 地址取消
checkClose() {
this.setData({
addressShow: false
});
},
// 地址确定
checkClick(val) {
let adrVal = val.detail.values;
let name = '';
adrVal.forEach(item => {
name += item.name;
});
this.setData({
'form.province': adrVal[0].code,
'form.city': adrVal[1].code,
'form.district': adrVal[2].code
});
this.getStreet(adrVal[2].code);
this.setData({
addressShow: false,
'form.addressName': name,
'form.streetName': '',
'form.street': ''
});
},
// 上传图片
onRead() {
var that = this;
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
// 返回选定照片的本地文件路径列表tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths;
that.upload(that, tempFilePaths);
}
});
},
upload(page, path) {
let wx_token = wx.getStorageSync('wx_token');
let session = wx.getStorageSync('session');
let urlStr = app.getNetAddresss('plugin.business-card.frontend.controllers.card.card.upload');
urlStr += '&3rd_session=' + session;
wx.showToast({
icon: 'loading',
title: '正在上传'
}),
wx.uploadFile({
url: urlStr,
filePath: path[0],
name: 'file',
formData: {
// 和服务器约定的token, 一般也可以放在header中
'_wx_token': wx.getStorageSync('wx_token')
},
header:{
"Content-Type": "multipart/form-data",
Cookie: "PHPSESSID=" + wx_token,
},
success: (res) => {
let data = JSON.parse(res.data);
if (data.result == 1) {
this.setData({
'form.card_avatar': data.data.img_url
});
} else {
wx.showModal({
title: '提示',
content: data.msg,
showCancel: false
});
}
},
fail: function (e) {
console.log(e);
wx.showModal({
title: '提示',
content: '上传失败',
showCancel: false
});
},
complete: function () {
wx.hideToast(); // 隐藏Toast
}
});
},
onRead_1() {
var that = this;
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
// 返回选定照片的本地文件路径列表tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths;
that.upload2(that, tempFilePaths);
}
});
},
upload2(page, path) {
let wx_token = wx.getStorageSync('wx_token');
let session = wx.getStorageSync('session');
let urlStr = app.getNetAddresss('plugin.business-card.frontend.controllers.card.card.upload');
urlStr += '&3rd_session=' + session;
wx.showToast({
icon: 'loading',
title: '正在上传'
}),
wx.uploadFile({
url: urlStr,
filePath: path[0],
name: 'file',
formData: {
// 和服务器约定的token, 一般也可以放在header中
'_wx_token': wx.getStorageSync('wx_token')
},
header:{
"Content-Type": "multipart/form-data",
Cookie: "PHPSESSID=" + wx_token,
},
success: (res) => {
let data = JSON.parse(res.data);
if (data.result == 1) {
let picture = this.data.form.picture;
picture.push(data.data.img_url);
page.setData({ // 上传成功修改显示头像
'form.picture': picture,
pictures: picture
});
} else {
wx.showModal({
title: '提示',
content: '上传失败',
showCancel: false
});
}
},
fail: function (e) {
console.log(e);
wx.showModal({
title: '提示',
content: '上传失败',
showCancel: false
});
},
complete: function () {
wx.hideToast(); // 隐藏Toast
}
});
},
removeImg(e) {
let index = e.target.dataset.index || e.currentTarget.dataset.index;
let pictures = this.data.form.picture;
pictures.splice(index, 1);
this.setData({
'form.picture': pictures
});
},
getData() {
let urlStr = app.getNetAddresss('plugin.business-card.frontend.controllers.card.card.index');
urlStr += '&card_id=' + this.data.card_id;
app._getNetWork({
url: urlStr,
success: (res) => {
var response = res.data;
if (response.result == 1) {
let data = response.data.card;
if (app._isTextEmpty(data.voice)) {
this.setData({
isOldVoice: false
});
}else if (data.voice.indexOf('amr') != '-1') {
this.setData({
isOldVoice: false
});
} else {
this.setData({
isOldVoice: true,
'form.voice': data.voice
});
}
if (!this.options.type) {
if (app._isTextEmpty(this.data.form.street)) {
this.getStreet(this.data.form.district);
}
wx.getStorage({
key: 'chooseItem',
success: res => {
this.setData({
chooseItem: res.data
});
}
});
wx.getStorage({
key: 'cardData',
success: res => {
this.setData({
form: res.data
});
}
});
} else {
this.setData({
'form.status': data.status,
'form.member_id': data.member_id,
'form.card_avatar': data.card_avatar,
'form.card_name': data.card_name,
'form.card_mobile': data.card_mobile,
'form.card_wechat': data.card_wechat,
'form.role_name': data.role_name,
'form.role_id': data.role_id,
'form.introduction': data.introduction,
'form.address': data.address,
'form.company': data.company,
});
var status = this.data.form.status;
status = status.toString();
this.setData({
'form.status': status
});
if (data.areas[0]) {
this.setData({
'form.addressName': data.areas[0] + data.areas[1] + data.areas[2]
});
}
if (data.areas[3]) {
this.setData({
'form.streetName': data.areas[3]
});
}
this.setData({
'form.province': data.area_id[0],
'form.city': data.area_id[1],
'form.district': data.area_id[2],
'form.street': data.area_id[3],
'form.address ': data.address
});
if (data.area_id[2]) {
this.getStreet(data.area_id[2]);
}
if (!data.picture) {
this.setData({
'form.picture': []
});
} else {
this.setData({
'form.picture': data.picture
});
}
this.setData({
chooseItem: response.data.card_goods
});
// 把选择的商品保存在本地
wx.setStorage({
key: 'chooseItem',
data: this.data.chooseItem
});
}
} else {
wx.showToast({
title: response.msg,
icon: 'none'
});
setTimeout(() => {
wx.reLaunch({
url: '/packageG/index/index'
});
}, 2000);
}
},
fail: function (res) {
console.log(res);
}
});
},
getRole() {
let urlStr = app.getNetAddresss('plugin.business-card.frontend.controllers.card.card.getRoles');
urlStr += '&card_id=' + this.data.card_id;
app._getNetWork({
url: urlStr,
success: (response) => {
var res = response.data;
if (res.result == 1) {
let arr = [];
this.setData({
role: res.data
});
Object.keys(res.data).forEach(function (key) {
arr.push(res.data[key]);
});
this.setData({
columns: arr,
columnsObj: res.data
});
} else {
wx.showToast({
title: res.msg,
icon: 'none'
});
}
},
fail: function (res) {
console.log(res);
}
});
},
streetChoose(e) {
if (app._isTextEmpty(this.data.form.addressName)) {
wx.showToast({
title: '请先选择所在地区',
icon: 'none'
});
} else {
this.setData({
streetShow: true
});
}
},
// 选择街道
streetConfirm(e) {
let item = e.target.dataset.item || e.currentTarget.dataset.item;
this.setData({
'form.streetName': item.areaname,
'form.street': item.id,
streetShow: false
});
},
// 获取街道
getStreet(param) {
let urlStr = app.getNetAddresss('member.memberAddress.street');
urlStr += '&district_id=' + param;
app._getNetWork({
url: urlStr,
success: (response) => {
var res = response.data;
if (res.result == 1 && !app._isTextEmpty(res.data)) {
if (
!app._isTextEmpty(res.data) &&
res.data.length > 0
) {
this.setData({
districtVal: res.data,
strShow: true
});
} else {
this.setData({
strShow: false
});
}
}else if(res.result==1 && app._isTextEmpty(res.data)){
this.setData({
strShow: false
});
} else {
wx.showToast({
title: res.msg,
icon: 'none'
});
this.setData({
strShow: false
});
}
},
fail: function (res) {
console.log(res);
}
});
},
setJSONData() {
let card_id = this.data.card_id;
this.setData({
'form.card_id': card_id
});
let goods = [];
for (let i = 0; i < this.data.chooseItem.length; i++) {
goods.push(this.data.chooseItem[i].id);
}
this.setData({
'form.goods_id': goods
});
if (
this.data.form.role_id != '1' &&
this.data.form.role_id != '2' &&
this.data.form.role_id != '3' &&
this.data.form.role_id != '6'
) {
this.setData({
'form.goods_id': []
});
}
},
// 删除商品
deleteGoods(e) {
let id = e.target.dataset.id || e.currentTarget.dataset.id;
let data = this.data.chooseItem;
for (let i = 0; i < data.length; i++) {
if (data[i].id == id) {
data.splice(i, 1);
}
}
this.setData({
chooseItem: data
});
wx.setStorage({
key: 'chooseItem',
data: this.data.chooseItem
});
},
saveData(event) {
if (!this.data.form.card_name) {
wx.showToast({
title: '请输入姓名',
icon: 'none'
});
return;
}
this.setJSONData();
if (this.data.form.district == '441903'){
this.data.form.district = '659004523';
}
console.log(this.data.form.district);
let urlStr = app.getNetAddresss('plugin.business-card.frontend.controllers.card.card.edit');
let form = this.data.form;
wx.setStorage({
key: 'streetName',
data: form.streetName
});
app._postNetWork({
url: urlStr,
data: form,
success: (response) => {
var res = response.data;
if (res.result == 1) {
wx.setStorage({
key: 'cardData',
data: ''
});
wx.setStorage({
key: 'chooseItem',
data: ''
});
if (this.data.isShow == false) {
wx.navigateBack({
delta: 1
});
} else {
wx.navigateBack({
delta: 4
});
}
} else {
wx.showToast({
title: res.msg,
icon: 'none'
});
}
},
fail: function (res) {
console.log(res);
}
});
},
onChangeName(e) {
this.setData({
'form.card_name': e.detail.value
});
console.log(this.data.form.card_name, 'name');
},
onChangePhone(e) {
this.setData({
'form.card_mobile': e.detail.value
});
},
onChangeWechat(e) {
this.setData({
'form.card_wechat': e.detail.value
});
},
onChangeCompany(e){
console.log(e);
this.setData({
'form.company': e.detail.value
});
},
onChangeAddress(e) {
this.setData({
'form.address': e.detail.value
});
},
onChangeRadio(e) {
let i = e.detail.toString();
this.setData({
'form.status': i
});
},
onShowTextare() { // 显示textare
this.setData({
isShowText: true,
onFacus: true
});
},
onShowText() { // 显示text
this.setData({
isShowText: false,
onFacus: false
});
},
changeLine(e) {
this.setData({
'form.introduction': e.detail.value
});
},
// 录音
start() {
this.setData({
showStart: true
});
/**
* 录制mp3音频
*/
this.recorderManager.start({
format: 'mp3'
});
time = 0;
timer = setInterval(() => {
time++;
this.setData({
time});
}, 1000);
},
// 重新录音
reloadVoice() {
// this.start()
this.setData({
isOldVoice: false
});
},
/**
* 停止录音
*/
stop() {
this.setData({
showStart: false
});
clearInterval(timer);
this.setData({
time: time,
// 'form.voice': true,
// isOldVoice: true
});
this.recorderManager.stop();
},
// 播放声音
play() {
if (app._isTextEmpty(this.data.form.voice)) {
this.tip('请先录音!');
return;
}
this.innerAudioContext.src = this.data.form.voice;
this.innerAudioContext.play();
},
// 播放已有录音
playAmr() {
this.play();
},
upVoice() {
let wx_token = wx.getStorageSync('wx_token');
let session = wx.getStorageSync('session');
let urlStr = app.getNetAddresss('plugin.business-card.frontend.controllers.card.card.uploadAudio');
urlStr += '&3rd_session=' + session;
wx.showToast({
icon: 'loading',
title: '正在上传'
}),
wx.uploadFile({
url: urlStr,
filePath: this.data.localId,
name: 'file',
header:{
"Content-Type": "multipart/form-data",
Cookie: "PHPSESSID=" + wx_token,
},
formData: {
// 和服务器约定的token, 一般也可以放在header中
'_wx_token': wx.getStorageSync('wx_token')
},
success: (res) => {
var data = JSON.parse(res.data);
if (data.result == 1) {
wx.showModal({
title: '提示',
content: data.msg,
showCancel: false
});
this.setData({
'form.voice': data.data.audio_url
});
} else {
wx.showModal({
title: '提示',
content: data.msg || '错误',
showCancel: false,
success: function (res) {}
});
}
wx.hideToast();
},
fail: function (res) {
console.log(res);
wx.showModal({
title: '提示',
content: '网络请求失败,请确保网络是否正常',
showCancel: false,
success: function (res) {}
});
}
});
},
toChooseGood() {
wx.setStorage({
key: 'cardData',
data: this.data.form
});
wx.navigateTo({
url: '/packageC/microshop/micro_shop_add_category/micro_shop_add_category' + '?formCard=' + this.data.card_id
});
},
// 街道左侧按钮被点击的时候
onClickLeft() {
this.setData({
streetShow: false
});
},
areaConfirm(e){
console.log(e);
this.setData({
addressShow: false,
'form.province': e.detail[0].id,
'form.city': e.detail[1].id,
'form.district': e.detail[2].id,
'form.addressName': e.detail[0].name + e.detail[1].name + e.detail[2].name,
'form.streetName': '',
'form.street': ''
});
this.getStreet(e.detail[2].id);
},
});