123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730 |
- // pages/index/index.js
- const app = getApp()
- var startPoint
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- str:' ',
- loginStatus: wx.getStorageSync('loginStatus') ? wx.getStorageSync('loginStatus') : false,
- roleCodeList: wx.getStorageSync('roleCodeList') ? wx.getStorageSync('roleCodeList') : '',
- content: '',
- filterWidth: 0, //获取顶部筛选宽度
- filterHeight: 0, //获取顶部筛选高度
- safeAreaHeight: 0, //底部安全区域的高度
- //按钮位置参数
- buttonTop: 0,
- buttonLeft: 0,
- windowHeight: '',
- windowWidth: '',
- //分页
- requestStatu: '', //加载中...
- limit: 10,
- page: 1,
- totalPages: 1,
- more: false,
- nomore: '',
- searchVal: '', //筛选条件
- appointmentClassifyArray: [
- { label:'充电预约',value:'1' },
- { label:'管桩预约',value:'2' },
- { label:'其他预约',value:'3' },
- ], //预约类型
- appointmentStatusArray: [{
- dictValue: "",
- dictLabel: "全部状态"
- }],
- appointmentStatusIndex: 0,
- registStatus: '', //状态
- registStatusdrc: '', //显示状态数值
- registStatusdgb: '', //显示状态数值
- registStatusgbz: '', //显示状态数值
- registStatusdcc: '', //显示状态数值
- registStatusycc: '', //显示状态数值
- //筛选E
- setIndex: 0,
- resData: [],
-
- show:false,
- auditFlag:'false'
- },
- //下拉选择
- bindPickerChange: function (e) { //下拉菜单
- //方法一动态的
- let getIndex = e.target.dataset.pickername + 'Index'
- app.util.getPickerIndex(this, getIndex, e);
- this.getListFun()
- },
- //去登录页面
- toLogin(e) {
- wx.navigateTo({
- url: '../login/index',
- })
- },
- //拨打电话
- call: function (e) {
- e.currentTarget.dataset.phone && wx.makePhoneCall({
- phoneNumber: e.currentTarget.dataset.phone
- })
- },
- //变动筛选条件时
- changeFilter: function (e) {
- let getFilterType = e.currentTarget.dataset.filtertype + 'Value'
- this.setData({
- [getFilterType]: e.detail
- })
- //重新请求
- this.getListFun();
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- //订单状态
- if(wx.getStorageSync('loginStatus')){
- this.getTree()
- }
- this.setData({
- safeAreaHeight: app.globalData.windowInfo.screenHeight - app.globalData.systemInfo.safeArea.bottom
- })
- // 使用选择器选择节点
- this.getFilterHeight()
-
- //获取页面高度设置新增按钮的初始位置
- var that = this;
- wx.getSystemInfo({
- success: function (res) {
- // 高度,宽度 单位为px
- that.setData({
- windowHeight: res.windowHeight, //屏幕宽度、高度
- windowWidth: res.windowWidth,
- buttonTop: res.windowHeight * 0.8 - that.data.safeAreaHeight-60, //这里定义按钮的初始位置
- buttonLeft: res.windowWidth * 0.80, //这里定义按钮的初始位置
- })
- }
- })
- },
- //获取顶部筛选区域的高度
- getFilterHeight:function(){
- let that = this;
- // 使用顶部筛选高度选择器选择节点的高度
- const query = wx.createSelectorQuery();
- query.select('.topFilter').boundingClientRect(function (rect) {
- if(rect){
- that.setData({
- filterWidth: rect.width,
- filterHeight: rect.height,
- });
- }
- }).exec();
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- //绑定微信
- bindingWX: function () {
- let _this = this;
- if (this.data.loginStatus) {
- wx.showModal({
- title: '提示',
- content: '确定绑定该微信账号?',
- success: function (res) {
- if (res.confirm) {
- wx.login({
- success: (res) => {
- //console.log(res.code)
- app.request.requestPostApi(app.API.api.bindingWX, {
- id: wx.getStorageSync('id'),
- appCode: res.code
- }, _this, function (res, that) {
- if (res.code == '200') { //退出登录
- wx.showToast({
- title: '绑定成功',
- icon: 'none',
- duration: 1500,
- mask: true
- })
- } else {
- wx.showToast({
- title: res.data.msg ? res.data.msg : '出错了',
- icon: 'none',
- duration: 1500,
- mask: true
- })
- }
- });
- },
- })
- }
- }
- })
- } else {
- wx.showToast({
- title: '您还未登录!',
- icon: 'none',
- duration: 1500,
- mask: true
- })
- }
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- let that = this
- const roleCodeList = wx.getStorageSync('roleCodeList')
- let loginStatus = wx.getStorageSync('loginStatus')
- this.setData({
- searchVal: '',
- roleCodeList: roleCodeList ? roleCodeList : '',
- loginStatus: loginStatus ? loginStatus : false
- })
-
- //动态tabbar
- // if (roleCodeList == 'bizAdmin') {
- // this.getTabBar().setData({
- // list: app.globalData.allList[0].list2,
- // })
- // } else if(roleCodeList == 'send') {
- // this.getTabBar().setData({
- // list: app.globalData.allList[0].list3,
- // })
- // } else if(roleCodeList == 'sale') {
- // this.getTabBar().setData({
- // list: app.globalData.allList[0].list4,
- // })
- // } else if(roleCodeList == 'customer') {
- // this.getTabBar().setData({
- // list: app.globalData.allList[0].list5,
- // })
- // } else if (roleCodeList=='driver'||roleCodeList==''){
- // this.getTabBar().setData({
- // list: app.globalData.allList[0].list1,
- // })
- // }
- // if (typeof this.getTabBar === 'function' && this.getTabBar()) {
- // this.getTabBar().setData({
- // selected: 0
- // })
- // }
- if (wx.getStorageSync('loginStatus')) {
- // if (roleCodeList=='bizAdmin') {
- // wx.switchTab({
- // url: '/pages/queueCar/index',
- // })
- // } else if (roleCodeList=='send') {
- // wx.switchTab({
- // url: '/pages/deliveryConfirm/index',
- // })
- // } else if (roleCodeList=='sale') {
- // wx.switchTab({
- // url: '/pages/salesOrderMan/index',
- // })
- // }
- if(this.data.filterHeight){
- const query = wx.createSelectorQuery();
- query.select('.topFilter').boundingClientRect(function (rect) {
- that.setData({
- filterWidth: rect.width,
- filterHeight: rect.height,
- });
- }).exec();
- }
-
- if(roleCodeList=='driver'||roleCodeList=='customer'){
- this.getListFun();
- }
- if(this.data.appointmentStatusArray.length==1){
- this.getTree()
- }
- }
- },
- //获取字典数据
- getTree:function(){
- app.request.GET({
- url:app.API.getTree,
- page:this,
- successFun:true
- }).then(res=>{
- if(this.data.appointmentStatusArray.length==1){
- let treeData = res.data.data
- for (const element of treeData) {
- let arrStr;
- switch (element.dictValue) {
- case 'appointment_status':
- arrStr = "appointmentStatusArray";
- break;
- }
- let getArray = this.data.appointmentStatusArray
- this.setData({
- [arrStr]: getArray.concat(element.children)
- })
- }
- }
-
- })
- },
- //获取通知消息
- getContent: function () {
- app.request.GET({
- url: app.API.getContent,
- params: {},
- page: this,
- successFun: true
- }).then(res => {
- //console.log(res.data.data)
- this.setData({
- content: res.data.data.content
- })
- })
- },
- //预约列表页面审核状态汇总页面接口
- getReservationCount: function () {
- app.request.GET({
- url: app.API.reservationCount,
- params: {},
- page: this,
- successFun: true
- }).then(res => {
- let resData = res.data.data
- let getApplyData = this.data.applyData
- resData.forEach(element => {
- //console.log(element)
- switch (Number(element.reservationStatus)) {
- case 0:
- getApplyData[1].label = '待审核' + "(" + element.recordCount + ")辆"
- break;
- case 1:
- getApplyData[2].label = '审核通过' + "(" + element.recordCount + ")辆"
- break;
- case 2:
- getApplyData[3].label = '过磅中' + "(" + element.recordCount + ")辆"
- break;
- }
- });
- this.setData({
- applyData: getApplyData
- })
- })
- },
- //搜索框请求S
- onChange(e) {
- this.setData({
- searchVal: e.detail,
- });
- },
- onSearch: function (event) {
- this.setData({
- searchVal: event.detail
- })
- this.getListFun();
- },
- onCancel: function () {
- this.setData({})
- },
- toSearch: function (event) {
- this.getListFun();
- },
- statusFun: function (e) {
- this.setData({
- registStatus: e.currentTarget.dataset.status
- })
- this.getListFun()
- },
- //状态筛选
- clickScroll: function (e) {
- this.setData({
- setIndex: e.detail.index
- })
- this.getListFun()
- },
- //预约类型
- onClick() {
- this.getListFun()
- },
- //列表
- getListFun: function () {
- this.setData({
- page: 1
- })
- let params = {
- current: this.data.page,
- size: this.data.limit,
- status: this.data.appointmentStatusArray[this.data.appointmentStatusIndex].dictValue,
- licenseNumber: this.data.searchVal
- }
- app.request.pageFirst({
- url: app.API.appointmentList,
- page: this,
- params: params,
- })
- // if (this.data.roleCodeList != '0') {
- // this.getReservationCount()
- // }
- },
- //分类统计数据获取
- getTypeCount: function () {
- app.request.GET({
- url: app.API.typeCount,
- page: this,
- params: {
- dataStatus: this.data.registStatus,
- searchKey: this.data.searchVal
- },
- successFun: true
- }).then(res => {
- let getCount = res.data.data
- for (let key in getCount) {
- let setStr = 'registStatus' + key
- this.setData({
- [setStr]: getCount[key]
- })
- }
- })
- },
- //扫码预约申请
- changeAdd() {
- wx.scanCode({
- success: (res) => {
- let info = JSON.parse(res.result.trim())
- console.log(info)
- //console.log(JSON.parse(info)) //{id: "1712651156370632706", projectCode: "D456"}
- if(info.type=='1'){
- wx.navigateTo({
- url: 'add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
- })
- }else if(info.type=='2'){
- wx.navigateTo({
- url: '/pages/temporary/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
- })
- }else if(info.type=='3'){
- wx.navigateTo({
- url: '/otherPages/loadAppoint/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
- })
- }
-
- },
- fail: (res) => {
- wx.showToast({
- title: '请重试!',
- icon: 'error',
- duration: 2000
- })
- }
- })
- },
- //删除
- delFun: function (e) {
- let _this = this
- let { id, licenseNumber } = e.currentTarget.dataset
- wx.showModal({
- title: '提示!',
- content: `删除【${licenseNumber}】后不可恢复。确定要删除吗?`,
- confirmColor: '#FF5B5B',
- success: function (res) {
- if (res.confirm) {
- app.request.POST({
- url: app.API.appointmentDelete,
- params: [{
- id: id
- }],
- page: _this,
- isLoadingTxt: '删除中...',
- successFun: true
- }).then(res => {
- wx.showToast({
- title: '删除成功',
- icon: 'success',
- duration: 1000,
- mask: true
- })
- _this.getListFun(); //刷新列表
- })
- } else if (res.cancel) {
- }
- }
- })
- },
- //取消预约
- cancelFun: function (e) {
- let _this = this
- let { id, licenseNumber } = e.currentTarget.dataset
- wx.showModal({
- title: '提示!',
- content: `取消【${licenseNumber}】后不可恢复。确定要取消吗?`,
- confirmColor: '#FF5B5B',
- success: function (res) {
- if (res.confirm) {
- app.request.POST({
- url: app.API.appointmentCancel,
- params: {
- id: id
- },
- page: _this,
- isLoadingTxt: '取消中...',
- successFun: true
- }).then(res => {
- wx.showToast({
- title: '取消成功',
- icon: 'success',
- duration: 1000,
- mask: true
- })
- _this.getListFun(); //刷新列表
- })
- } else if (res.cancel) {
- }
- }
- })
- },
- //修改
- toUpdate: function (e) {
- let { id, index, type } = e.currentTarget.dataset
- if(type=='1'){
- wx.navigateTo({
- url: 'edit?id=' + id + '&index=' + index,
- })
- }else if(type=='2'){
- wx.navigateTo({
- url: '/pages/temporary/edit?id=' + id + '&index=' + index,
- })
- }
-
- },
- //页面跳转
- toLink: function (e) {
- let { url } = e.currentTarget.dataset
- wx.navigateTo({
- url: url
- })
- },
- // 审核S
- showPopup(e) {
- let { id } = e.currentTarget.dataset
- this.setData({
- show: true,
- id: id
- });
- },
- onClose() {
- this.setData({
- show: false,
- auditFlag:'false',
- id: ''
- });
- },
- // 单选
- dangerStatusChange: function (e) {
- this.setData({
- [e.currentTarget.dataset.radiotype]: e.detail.value
- })
- },
- //审核
- formSubmit: function (e) {
- let formData = e.detail.value;
- var warn = ""; //弹框时提示的内容
- // if (formData.auditFlag == '') {
- // warn = "选择审核结果!";
- // } else if (formData.auditFlag == '2' && formData.appointmentReason == '') {
- // warn = "审核不通过时备注不能为空!";
- // }
- formData.auditFlag = formData.auditFlag=='true'
- if (warn != '') {
- app.util.checkForm(warn);
- } else {
- app.request.POST({
- url: app.API.appointmentAudit,
- params: formData,
- page: this,
- isLoadingTxt: '审核中...',
- successFun: true
- }).then(res => {
- wx.showToast({
- title: '审核成功',
- icon: 'success',
- duration: 1000,
- mask: true
- })
- this.onClose()
- this.getListFun(); //刷新列表
- })
- }
- },
- // 审核E
- //提交申请
- sendFun: function (e) {
- let _this = this;
- if (this.data.loginStatus) {
- wx.showModal({
- title: '提示',
- content: '确定立即提交申请?',
- success: function (res) {
- if (res.confirm) {
- app.request.requestGetApi(app.API.api.appointmentSend, {
- id: e.currentTarget.dataset.id
- }, _this, function (res, that) {
- if (res.statusCode == '200') { //退出登录
- wx.showToast({
- title: '提交成功',
- icon: 'success',
- duration: 2000,
- complete: function () {
- setTimeout(function () {
- that.getListFun();
- }, 1500) //延迟时间
- }
- })
- } else {
- wx.showToast({
- title: res.data.msg ? res.data.msg : '出错了',
- icon: 'none',
- duration: 1500,
- mask: true
- })
- }
- });
- }
- }
- })
- } else {
- wx.showToast({
- title: '您还未登录,无需退出哦!',
- icon: 'none',
- duration: 1500,
- mask: true
- })
- }
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- this.setData({
- searchVal: ''
- })
- if (wx.getStorageSync('loginStatus')) {
- this.getListFun();
- } else {
- wx.stopPullDownRefresh();
- }
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- this.data.page++;
- let params = {
- current: this.data.page,
- size: this.data.limit,
- licenseNumber: this.data.searchVal,
- // reservationStatus: this.data.applyData[this.data.setIndex].value,
- // reservationType: this.data.typeArray[this.data.typeIndex].code,
- }
- app.request.pageOther({
- url: app.API.appointmentList,
- page: this,
- params: params,
- loadType: true, //加载类型,是否是下拉加载
- });
- //this.getTypeCount()
- },
- //以下是按钮拖动事件
- buttonStart: function (e) {
- startPoint = e.touches[0] //获取拖动开始点
- },
- buttonMove: function (e) {
- var endPoint = e.touches[e.touches.length - 1] //获取拖动结束点
- //计算在X轴上拖动的距离和在Y轴上拖动的距离
- var translateX = endPoint.clientX - startPoint.clientX
- var translateY = endPoint.clientY - startPoint.clientY
- startPoint = endPoint //重置开始位置
- var buttonTop = this.data.buttonTop + translateY
- var buttonLeft = this.data.buttonLeft + translateX
- //判断是移动否超出屏幕
- if (buttonLeft + 60 >= this.data.windowWidth) {
- buttonLeft = this.data.windowWidth - 60;
- }
- if (buttonLeft <= 0) {
- buttonLeft = 0;
- }
- if (buttonTop <= this.data.filterHeight) {
- buttonTop = this.data.filterHeight
- }
- if (buttonTop + 60 + 48 + this.data.safeAreaHeight >= this.data.windowHeight) {
- buttonTop = this.data.windowHeight - 60 - 48 - this.data.safeAreaHeight;
- }
- this.setData({
- buttonTop: buttonTop,
- buttonLeft: buttonLeft
- })
- },
- buttonEnd: function (e) {},
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|