123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- const app = getApp()
- const utils = require("../../utils/util.js")
- Page({
- data: {
- selectedTag: '',
- showCustomInput: false,
- customTagLength: 0,
- showDrawer: false,
- showPreview: false,
- // 是否可以切换水务公司
- isChange: true,
- // 新增数据
- waterCompany: '',
- waterCompanyList: app.globalData.waterCompanys,
- //当前用户的默认水务公司的下标
- waterCompanyIndex: [0],
- waterCompanyId: app.globalData.launchPara,
- showWaterCompanyPicker: false,
-
- huHao: '',
- huMing: '',
- customTag: '',
- tagLength: 0,
- showQueryMethods: false,
- // 水站联系方式
- phoneQueryList: [
- ],
- // 户号预览图地址
- ylt:''
- },
- selectTag(e) {
- const tag = e.currentTarget.dataset.tag;
- this.setData({
- selectedTag: tag,
- showCustomInput: tag === '自定义'
- });
- },
- onCustomInput(e) {
- const value = e.detail.value;
- this.setData({
- customTagLength: value.length,
- customTag: value
- });
- },
- // 显示抽屉
- showDrawer() {
- this.setData({
- showDrawer: true
- });
- },
- // 隐藏抽屉
- hideDrawer() {
- this.setData({
- showDrawer: false
- });
- },
- // 拨打电话
- makePhoneCall(e) {
- const phone = e.currentTarget.dataset.phone;
- wx.makePhoneCall({
- phoneNumber: phone
- });
- },
- // 修改预览图片方法
- previewImage: function() {
- this.setData({
- showPreview: true
- });
- },
- // 关闭预览
- closePreview: function() {
- this.setData({
- showPreview: false
- });
- },
- // 防止点击图片内容时关闭预览
- preventBubble: function() {
- return;
- },
- // 显示水站公司选择器
- showWaterCompanyPicker: function() {
-
- this.setData({
- showWaterCompanyPicker: true,
- waterCompanyIndex: this.data.waterCompanyIndex
- });
- },
- // 隐藏水站公司选择器
- hideWaterCompanyPicker: function() {
- this.setData({
- showWaterCompanyPicker: false
- });
- },
- // 水站公司选择变化
- onWaterCompanyChange: function(e) {
-
- this.setData({
- waterCompanyIndex: e.detail.value
- });
- },
- // 确认水站公司选择
- confirmWaterCompany: function(e) {
-
- const index = this.data.waterCompanyIndex[0];
- this.setData({
- waterCompanyIndex: this.data.waterCompanyIndex,
- waterCompany: this.data.waterCompanyList[index].name,
- showWaterCompanyPicker: false,
- phoneQueryList: this.data.waterCompanyList[index].businessPoint.map((data,index)=>{
- return {
- id: index+1,
- name: index+1+'、'+data.address,
- phone: data.cphone,
- time: data.worktime
- }
- }),
- ylt:app.globalData.imgPreviewUrl+"pagePart/"+this.data.waterCompanyList[index].swCompanyInfo.overduenoticeimage.split("-;-")[0]
-
- });
- },
- // 户号输入
- onHuHaoInput: function(e) {
- this.setData({
- huHao: e.detail.value
- });
- },
- // 户名输入
- onHuMingInput: function(e) {
- this.setData({
- huMing: e.detail.value
- });
- },
- // 确认绑定
- confirmBinding: function() {
- // 验证必填字段
- if (!this.data.waterCompany) {
- wx.showToast({
- title: '请选择水站公司',
- icon: 'none'
- });
- return;
- }
- if (!this.data.huHao) {
- wx.showToast({
- title: '请输入户号',
- icon: 'none'
- });
- return;
- }
- if (!this.data.huMing) {
- wx.showToast({
- title: '请输入户名',
- icon: 'none'
- });
- return;
- }
- // 处理分组信息
- let groupInfo = this.data.selectedTag;
- if (this.data.selectedTag === '自定义' && this.data.customTag) {
- groupInfo = this.data.customTag;
- }
- // 提交数据
- wx.showLoading({
- title: '绑定中...',
- });
- // 调用绑定接口
- wx.request({
- url: app.globalData.interfaceUrls.accountBind,
- method: 'POST',
- data: {
- bindWaterCompany: this.data.waterCompanyList[this.data.waterCompanyIndex[0]].id,
- accountNum: this.data.huHao,
- accountName: this.data.huMing,
- groupType: groupInfo,
- openId: app.globalData.userWxInfo.openId,
- defaultAccount: 0,
- otherDsKey: (app.globalData.bindAccountInfo||[]).map(data=>data.dsKey)
- },
- header: {
- 'content-type': 'application/json', // 默认值
- 'token':app.globalData.userWxInfo.token,
- 'source':"wc",
- '!SAAS_LOGIN_TOKEN_!':this.data.waterCompanyList[this.data.waterCompanyIndex[0]].id
- },
- success (res) {
- wx.hideLoading();
- let apiReturnData=res.data
- if(apiReturnData.code=='200'){
- wx.hideLoading();
- utils.simleInfo('绑定成功')
- app.globalData.currentAccountInfo=apiReturnData.data[0];
- setTimeout(function(){
- app.globalData.refresh=1;
- wx.switchTab({
- url: '/pages/homepage/homepage',
- });
- },2000)
- }else{
- wx.showToast({
- title: apiReturnData.msg,
- icon: 'error',
- duration: 2000
- })
- wx.hideLoading();
- }
- },fail(error) {
- wx.hideLoading()
- utils.simleInfo('登录失败,请稍后再试')
- }
- })
- },
- onLoad: function() {
- // 延迟设置导航栏,确保页面已完全加载
- setTimeout(() => {
- wx.setNavigationBarTitle({
- title: '户号绑定'
- });
- wx.setNavigationBarColor({
- frontColor: '#ffffff',
- backgroundColor: '#0066FF'
- });
- }, 100);
- if(app.globalData.launchPara){
- this.setData({
- waterCompanyIndex:[app.globalData.waterCompanys.findIndex(data=>data.id==app.globalData.launchPara)],
- waterCompany: app.globalData.waterCompanys.filter(data=>data.id==app.globalData.launchPara)[0].name,
- isChange:false,
- phoneQueryList: app.globalData.waterCompanys.filter(data=>data.id==app.globalData.launchPara)[0].businessPoint.map((data,index)=>{
- return {
- id: index+1,
- name: data.address,
- phone: data.contactphone,
- time: data.worktime
- }
- }),
- ylt:app.globalData.imgPreviewUrl+
- app.globalData.currentAccountInfo.dsId+"?fileId="
- +app.globalData.waterCompanys.filter(data=>data.id==app.globalData.launchPara)[0].swCompanyInfo.overduenoticeimage.split("-;-")[1]
- });
- }
- },
- // 添加返回方法
- navigateBack: function() {
- wx.navigateBack();
- },
- onTagInput(e) {
- this.setData({
- tagLength: e.detail.value.length
- });
- },
- showQueryMethodsModal() {
- this.setData({
- showQueryMethods: true
- });
- },
- closeQueryMethods() {
- this.setData({
- showQueryMethods: false
- });
- }
- });
|