123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556 |
- // pages/reservationMan/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') : '',
- filterWidth: 0, //获取顶部筛选宽度
- filterHeight: 0, //获取顶部筛选高度
- safeAreaHeight: 0, //底部安全区域的高度
- //按钮位置参数
- buttonTop: 0,
- buttonLeft: 0,
- windowHeight: '',
- windowWidth: '',
- searchVal: '', //筛选条件
- type:'',//预约类型
- appointmentClassifyArray: [
- { label:'充电预约',value:'1' },
- { label:'管桩预约',value:'2' },
- { label:'其他预约',value:'3' },
- ], //预约类型
- appointmentTypeArray: [{
- dictValue: "",
- dictLabel: "全部状态"
- }],
- appointmentTypeIndex: 0,
- appointmentStatusArray: [{
- dictValue: "",
- dictLabel: "全部状态"
- }],
- appointmentStatusIndex: 0,
- appointmentType: '', //切换显示
- appointmentTypeSha: '', //砂石
- appointmentTypeQi: '', //起卸
- appointmentTypeGuan: '', //管桩
- appointmentTypeChong: '', //充电桩
- appointmentTypeOther: '', //其他
- //分页
- limit: 10,
- requestStatu: '加载中...',
- page: 1,
- totalPages: 1,
- more: false,
- nomore: '',
- //筛选E
- setIndex: 0,
- resData: [],
- show:false,
- auditFlag:'false',
- appointmentReason:'',//审核备注
-
- showQrcode:false,
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- 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() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- 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: 2
- // })
- // }
- if(wx.getStorageSync('loginStatus')){
- this.getListFun();
- }
- if(this.data.appointmentStatusArray.length==1 || this.data.appointmentTypeArray.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)
- })
- }
- }
- if(this.data.appointmentTypeArray.length==1){
- let treeData = res.data.data
- for (const element of treeData) {
- let arrStr;
- switch (element.dictValue) {
- case 'appointment_type':
- arrStr = "appointmentTypeArray";
- break;
- }
- let getArray = this.data.appointmentTypeArray
- this.setData({
- [arrStr]: getArray.concat(element.children)
- })
- }
- }
-
- })
- },
- //搜索框请求S
- onChange(e) {
- this.setData({
- searchVal: e.detail,
- });
- },
- onSearch: function (event) {
- this.setData({
- searchVal: event.detail
- })
- this.getListFun();
- },
- typeFun: function (e) {
- this.setData({
- appointmentType : e.currentTarget.dataset.type
- })
- this.getListFun()
- },
- onCancel: function () {
- this.setData({})
- },
- toSearch: function (event) {
- this.getListFun();
- },
- //列表
- getListFun: function () {
- this.setData({
- page: 1
- })
- let params = {
- current : this.data.page,
- size : this.data.limit,
- licenseNumber : this.data.searchVal,
- type : this.data.appointmentType
- //status:1
- }
- app.request.pageFirst({
- url: app.API.appointmentPage,
- page: this,
- params: params,
- })
- },
- //取消预约
- 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) {
- }
- }
- })
- },
- // 授权出场
- exitFun: 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.otherAuthorize,
- 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) {
- }
- }
- })
- },
- // 强制结束
- overFun: 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.appointmentExit,
- 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) {
- }
- }
- })
- },
- // 审核S
- showPopup(e) {
- let { id,type } = e.currentTarget.dataset
- this.setData({
- show: true,
- appointmentReason: '',
- type:type,
- id: id
- });
- },
- onClose() {
- this.setData({
- show: false,
- auditFlag:'false',
- appointmentReason:'',
- 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=='true' && formData.appointmentReason == '') {
- warn = "审核不通过时备注不能为空!";
- }
- formData.auditFlag = formData.auditFlag=='true'
- if (warn != '') {
- app.util.checkForm(warn);
- } else {
- let url = app.API.appointmentAudit
- if(this.data.type == '2'){
- url = app.API.tempAudit
- }
- app.request.POST({
- url: url,
- params: formData,
- page: this,
- isLoadingTxt: '审核中...',
- successFun: true
- }).then(res => {
- wx.showToast({
- title: '审核成功',
- icon: 'success',
- duration: 1000,
- mask: true
- })
- this.onClose()
- this.getListFun(); //刷新列表
- })
- }
- },
- // 审核E
- //申请
- changeAdd() {
- wx.navigateTo({
- url: '/pages/reservationOther/add'
- })
- },
- //删除
- 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.otherDelete,
- 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 } = e.currentTarget.dataset
- wx.navigateTo({
- url: '/pages/reservationOther/edit?id=' + id + '&index=' + index,
- })
-
- },
- //页面跳转
- toLink: function (e) {
- let { url } = e.currentTarget.dataset
- wx.navigateTo({
- url: url
- })
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- 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,
- type : this.data.type,
- }
- app.request.pageOther({
- url: app.API.appointmentPage,
- 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 () {
- }
- })
|