From 4657ec005debd5333d5d9ca979566f0d006b1e67 Mon Sep 17 00:00:00 2001 From: 1019933623 <1019933623@qq.com> Date: Tue, 2 Mar 2021 14:54:15 +0800 Subject: [PATCH 01/40] change style --- .hbuilderx/launch.json | 11 + .../reservation_order/reservation_order.vue | 104 ++-- src/components/timing_order/timing_order.vue | 134 +++++ src/pages.json | 14 +- src/pages/index/index.vue | 53 +- src/pages/order_list/order_list.vue | 13 +- src/static/images/icon/x_close.png | Bin 0 -> 425 bytes .../reservation_people/reservation_people.vue | 546 +++++++++++++++++++++ .../order/reservation_site/reservation_site.vue | 261 ++++++++++ .../reservation_details/reservation_details.vue | 32 ++ .../timing_details/timing_details.vue | 285 +++++++++++ .../device/pages/order_manage/order_manage.vue | 110 ++++- .../device/static/images/order/tab_0_0.png | Bin 0 -> 878 bytes .../device/static/images/order/tab_0_1.png | Bin 0 -> 1386 bytes .../device/static/images/order/tab_0_10.png | Bin 0 -> 1790 bytes .../device/static/images/order/tab_0_11.png | Bin 0 -> 1484 bytes .../device/static/images/order/tab_0_2.png | Bin 0 -> 1833 bytes .../device/static/images/order/tab_0_3.png | Bin 0 -> 1423 bytes .../device/static/images/order/tab_0_4.png | Bin 0 -> 2743 bytes .../device/static/images/order/tab_0_5.png | Bin 0 -> 856 bytes .../device/static/images/order/tab_0_6.png | Bin 0 -> 1577 bytes .../device/static/images/order/tab_0_7.png | Bin 0 -> 709 bytes .../device/static/images/order/tab_0_8.png | Bin 0 -> 2319 bytes .../device/static/images/order/tab_0_9.png | Bin 0 -> 1651 bytes .../device/static/images/order/tab_1_0.png | Bin 0 -> 2296 bytes src/subpackage/device/static/images/scan_code.png | Bin 0 -> 553 bytes 26 files changed, 1497 insertions(+), 66 deletions(-) create mode 100644 .hbuilderx/launch.json create mode 100644 src/components/timing_order/timing_order.vue create mode 100644 src/static/images/icon/x_close.png create mode 100644 src/subpackage/device/components/order/reservation_people/reservation_people.vue create mode 100644 src/subpackage/device/components/order/reservation_site/reservation_site.vue create mode 100644 src/subpackage/device/pages/order_details/reservation_details/reservation_details.vue create mode 100644 src/subpackage/device/pages/order_details/timing_details/timing_details.vue create mode 100644 src/subpackage/device/static/images/order/tab_0_0.png create mode 100644 src/subpackage/device/static/images/order/tab_0_1.png create mode 100644 src/subpackage/device/static/images/order/tab_0_10.png create mode 100644 src/subpackage/device/static/images/order/tab_0_11.png create mode 100644 src/subpackage/device/static/images/order/tab_0_2.png create mode 100644 src/subpackage/device/static/images/order/tab_0_3.png create mode 100644 src/subpackage/device/static/images/order/tab_0_4.png create mode 100644 src/subpackage/device/static/images/order/tab_0_5.png create mode 100644 src/subpackage/device/static/images/order/tab_0_6.png create mode 100644 src/subpackage/device/static/images/order/tab_0_7.png create mode 100644 src/subpackage/device/static/images/order/tab_0_8.png create mode 100644 src/subpackage/device/static/images/order/tab_0_9.png create mode 100644 src/subpackage/device/static/images/order/tab_1_0.png create mode 100644 src/subpackage/device/static/images/scan_code.png diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..501e01c --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,11 @@ +{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/ + // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数 + "version": "0.0", + "configurations": [{ + "type": "uniCloud", + "default": { + "launchtype": "remote" + } + } + ] +} diff --git a/src/components/reservation_order/reservation_order.vue b/src/components/reservation_order/reservation_order.vue index 275b1bb..8fb776d 100644 --- a/src/components/reservation_order/reservation_order.vue +++ b/src/components/reservation_order/reservation_order.vue @@ -1,8 +1,8 @@ @@ -127,6 +161,9 @@ export default { .rh-active{ color: $themeColor; } + .rh-red{ + color: #EA5061; + } } .ro-section{ padding-bottom: 20upx; @@ -179,6 +216,7 @@ export default { color: #9c9c9f; .rt-txt{ color: #1A1A1A; + margin-left: 10rpx; } } } diff --git a/src/components/timing_order/timing_order.vue b/src/components/timing_order/timing_order.vue new file mode 100644 index 0000000..0fc55f0 --- /dev/null +++ b/src/components/timing_order/timing_order.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/pages.json b/src/pages.json index 47f829f..66ca532 100644 --- a/src/pages.json +++ b/src/pages.json @@ -184,7 +184,7 @@ } } - ], + ], "subpackages": [ { "root": "subpackage/device", @@ -248,6 +248,18 @@ "style" : { "navigationBarTitleText": "售货柜管理" } + }, + { + "path": "pages/order_details/reservation_details/reservation_details", + "style" : { + "navigationBarTitleText": "预约订单详情" + } + }, + { + "path": "pages/order_details/timing_details/timing_details", + "style" : { + "navigationBarTitleText": "计时订单详情" + } } ] } diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index a72b954..b5cb39d 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -79,30 +79,36 @@ serverKey: 1002 // 后端对应权限编号 }, { - id: 2, - name: '经营分析', - path: '', - serverKey: 1003 // 后端对应权限编号 - }, - { id: 3, - name: '场馆订单', - path: '/pages/order_list/order_list', - serverKey: 1004 // 后端对应权限编号 - }, - { - id: 4, - name: '会员卡订单', - path: '/pages/order_list/order_list', - serverKey: 1005 // 后端对应权限编号 - }, - { - id: 5, - name: '积分订单', - // path: '/pages/order_list/order_list', - path: '', - serverKey: 1006 // 后端对应权限编号 + name: '订单管理', + path: '/subpackage/device/pages/order_manage/order_manage', + serverKey: 1011 // 后端对应权限编号 }, + // { + // id: 2, + // name: '经营分析', + // path: '', + // serverKey: 1003 // 后端对应权限编号 + // }, + // { + // id: 3, + // name: '场馆订单', + // path: '/pages/order_list/order_list', + // serverKey: 1004 // 后端对应权限编号 + // }, + // { + // id: 4, + // name: '会员卡订单', + // path: '/pages/order_list/order_list', + // serverKey: 1005 // 后端对应权限编号 + // }, + // { + // id: 5, + // name: '积分订单', + // // path: '/pages/order_list/order_list', + // path: '', + // serverKey: 1006 // 后端对应权限编号 + // }, { id: 6, name: '员工管理', @@ -185,6 +191,7 @@ let _permission = indexData.permission || {}; if(!app.isLogin())return this.showAuthor(); if(!tabInfo.path)return util.showNone('暂未开放!'); + if(tabInfo.id == 3)return util.routeTo(tabInfo.path,'nT'); if(!_permission[tabInfo.serverKey])return util.showNone('暂无权限,请联系管理员开启!') if(this.isOrderTab(tabInfo.id))return util.routeTo(tabInfo.path + `?order_type=${tabInfo.id}`,'nT'); util.routeTo(tabInfo.path,'nT'); @@ -192,7 +199,7 @@ isOrderTab(ID){ return ID == 3 || ID == 4 || ID == 5 }, - getIndexInfo(){ + getIndexInfo(){ servers.get({ url: API.calc, data: {}, diff --git a/src/pages/order_list/order_list.vue b/src/pages/order_list/order_list.vue index 6dfa18c..cc270f5 100644 --- a/src/pages/order_list/order_list.vue +++ b/src/pages/order_list/order_list.vue @@ -1,7 +1,7 @@ diff --git a/src/pages/write_off/operate/operate.vue b/src/pages/write_off/operate/operate.vue index a8dcaf4..6970de4 100644 --- a/src/pages/write_off/operate/operate.vue +++ b/src/pages/write_off/operate/operate.vue @@ -2,33 +2,105 @@ 当前门店 - + - - + + - - + + - + 确认核销 @@ -71,7 +143,6 @@ export default { flex-grow: 0; width: 28upx; height: 28upx; - background-color: skyblue; } } } @@ -85,7 +156,6 @@ export default { >image{ width: 172upx; height: 172upx; - background-color: skyblue; } } .c-verification-code{ diff --git a/src/pages/write_off/search_result/search_result.vue b/src/pages/write_off/search_result/search_result.vue index a5cff29..5dc3771 100644 --- a/src/pages/write_off/search_result/search_result.vue +++ b/src/pages/write_off/search_result/search_result.vue @@ -2,21 +2,21 @@ 当前门店 - + - - + + - + 核销日期:2020-08-27 - + - 核销数量:30 + 核销数量:{{writeOffList.length || 0}} @@ -49,26 +49,79 @@ import util from '../../../utils/util'; import { API } from '../../../js/api'; import { servers } from '../../../js/server'; +import { mapState } from 'vuex'; +import { WRITE_OFF_STORE_NAME } from '../../../js/once_name'; export default { + computed: { + ...mapState([ 'brandInfo' ]), + }, + data(){ + return { + stadiumList: [], // 店铺列表 + curStadium: {}, // 当前店铺 + writeOffList: [] // 核销列表 + } + }, onLoad(){ - this.getList(); + + this.initPage(); }, methods: { + stadiumChange(e){ + let { stadiumList } = this; + this.curStadium = stadiumList[e.detail.value]; + }, + async initPage(){ + let { brandInfo } = this; + try{ + let _storeList = await this.getStoreList({ brand_id: brandInfo.brand.id || '' }); + this.stadiumList = _storeList || []; + if(_storeList.length) this.curStadium = _storeList[0]; + this.getList({ + brand_id: brandInfo.brand.id || '' + }); + }catch(err){ + console.warn('加载数据失败!', err); + } + }, toOperate(){ + let { stadiumList, curStadium } = this; + util.$_emit(WRITE_OFF_STORE_NAME, { + stadiumList, + curStadium, + }) util.routeTo(`/pages/write_off/operate/operate`, 'nT'); }, - getList(){ + getList({ brand_id }){ servers.get({ url: API.writeOff.listVerifyRecord, - data: { - brand_id: 63 - }, + data: { brand_id }, failMsg: '加载失败!', }) .then(res=>{ let _list = res.list || []; + this.writeOffList = _list; console.warn(res, 'jijjjjjjjjj') }) + }, + getStoreList({ + page=1, + page_size=9999, + brand_id='', + }){ + return servers.get({ + url: API.stadiumList, + data: { + page, + page_size, + brand_id, + }, + failMsg: '获取列表失败!' + }) + .then(res=>{ + let _list = res.list || []; + return _list + }) } } } @@ -114,7 +167,6 @@ export default { flex-grow: 0; width: 28upx; height: 28upx; - background-color: skyblue; } } } @@ -135,7 +187,6 @@ export default { vertical-align: middle; width: 22upx; height: 22upx; - background-color: skyblue; } } } diff --git a/src/utils/util.js b/src/utils/util.js index 56f633b..9799928 100644 --- a/src/utils/util.js +++ b/src/utils/util.js @@ -340,6 +340,26 @@ function changeLowerCase(str){ return str.toString().toLocaleLowerCase(); } + + +// 大数据量跨页/跨组件传参------$_once && $_emit +// 单次监听器 +// 到文件src\js\once_name.js,进行命名,防止命名冲突导致错误监听 +function $_once(name, cb){ + uni.$once(name + '',function(data){ + cb&&cb(data); + }) + setTimeout(_=>{ + uni.$emit((name + '')+'1'); + }, 50) +} +// 促发单次监听 +function $_emit(name, data){ + uni.$once((name + '')+'1',function(){ + uni.$emit(name + '', data); + }) +} + export default { formatTime, formatNumber, @@ -368,5 +388,7 @@ export default { getQueryStr, formatScene, changeLowerCase, - isProfile + isProfile, + $_once, + $_emit } From 7286eaeeb3225dedd7ef9db4e276b599f1e2e8b4 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 21 May 2021 10:20:37 +0800 Subject: [PATCH 34/40] add write_off all --- .../write_off/confirm_order/confirm_order.vue | 4 +- src/pages/write_off/operate/operate.vue | 31 ++++++----- .../write_off/search_result/search_result.vue | 60 ++++++++++++++++------ 3 files changed, 64 insertions(+), 31 deletions(-) diff --git a/src/pages/write_off/confirm_order/confirm_order.vue b/src/pages/write_off/confirm_order/confirm_order.vue index b39063e..9deee85 100644 --- a/src/pages/write_off/confirm_order/confirm_order.vue +++ b/src/pages/write_off/confirm_order/confirm_order.vue @@ -65,7 +65,9 @@ 预定场次: - {{e.date || ''}} {{e.duration || ''}} + + {{ i!=0?'+':'' }}{{ e || '-' }} + diff --git a/src/pages/write_off/operate/operate.vue b/src/pages/write_off/operate/operate.vue index 6970de4..9143622 100644 --- a/src/pages/write_off/operate/operate.vue +++ b/src/pages/write_off/operate/operate.vue @@ -46,20 +46,20 @@ export default { }, methods: { scanCodeBtn: util.debounce(function(){ - uni.scanCode({ - onlyFromCamera: true, - scanType: 'qrCode', - success: res=> { - console.warn('success--->', res); - if(util.changeLowerCase(res.scanType) !== 'qr_code')return util.showNone('不支持此类型!'); - console.warn(res.result) - this.analysisOrder({ decrypt_text: res.result }); - }, - fail: function(err) { - util.showNone('扫码失败!'); - console.warn('扫码失败--->', err); - } - }) + uni.scanCode({ + onlyFromCamera: true, + scanType: 'qrCode', + success: res=> { + console.warn('success--->', res); + if(util.changeLowerCase(res.scanType) !== 'qr_code')return util.showNone('不支持此类型!'); + console.warn(res.result) + this.analysisOrder({ decrypt_text: res.result }); + }, + fail: function(err) { + util.showNone('扫码失败!'); + console.warn('扫码失败--->', err); + } + }) }, 300, true), stadiumChange(e){ let { stadiumList } = this; @@ -83,12 +83,14 @@ export default { } if(!!verify_code)_query['verify_code'] = verify_code; if(!!decrypt_text)_query['decrypt_text'] = decrypt_text; + util.showLoad(); servers.get({ url: API.writeOff.enterVerifyOrder, data: _query, isDefaultGet: false }) .then(res=>{ + util.hideLoad(); if(res.data.code == 0){ let _data = res.data.data || {} util.$_emit(WRITE_OFF_ORDER_INFO, {..._data}) @@ -99,6 +101,7 @@ export default { } console.log('订单查询---->', res); }) + .catch(util.hideLoad) } } diff --git a/src/pages/write_off/search_result/search_result.vue b/src/pages/write_off/search_result/search_result.vue index 5dc3771..f8be054 100644 --- a/src/pages/write_off/search_result/search_result.vue +++ b/src/pages/write_off/search_result/search_result.vue @@ -10,33 +10,33 @@ - + - 核销日期:2020-08-27 + 核销日期:{{curDate || '-'}} 核销数量:{{writeOffList.length || 0}} - - 欧轩智能羽毛球馆(永泰店) + + {{ e.extension.stadium_name || '-' }} - 订单编号:20195175645666 - (租场) + 订单编号:{{ e.order_no || '-' }} + ({{ e.type || '-' }}) - 用户昵称:周大强 + 用户昵称:{{ e.extension.nickname || '-' }} - 核销码: 200801108978 + 核销码: {{ e.verify_code || '-' }} - 验证方式:扫码器验证(pad) + 验证方式:{{ e.desc || '-' }} - 核销时间:2021-05-17 11:12:58 + 核销时间:{{ e.verify_time || '-'}} @@ -59,17 +59,40 @@ export default { return { stadiumList: [], // 店铺列表 curStadium: {}, // 当前店铺 - writeOffList: [] // 核销列表 + writeOffList: [], // 核销列表, + curDate: util.formatDate({}), } }, onLoad(){ - this.initPage(); }, + onShow(){ + let { curStadium, curDate } = this; + if(curStadium&&curStadium.id)this.getList({ + brand_id: curStadium.brand_id || '', + stadium_id: curStadium.id, + date: curDate, + }); + }, methods: { + dateChange(e){ + let { curStadium } = this; + this.curDate = e.detail.value; + this.getList({ + brand_id: curStadium.brand_id || '', + stadium_id: curStadium.id, + date: e.detail.value, + }); + }, stadiumChange(e){ - let { stadiumList } = this; + let { stadiumList, curDate } = this; this.curStadium = stadiumList[e.detail.value]; + + this.getList({ + brand_id: stadiumList[e.detail.value].brand_id || '', + stadium_id: stadiumList[e.detail.value].id, + date: curDate, + }); }, async initPage(){ let { brandInfo } = this; @@ -77,8 +100,11 @@ export default { let _storeList = await this.getStoreList({ brand_id: brandInfo.brand.id || '' }); this.stadiumList = _storeList || []; if(_storeList.length) this.curStadium = _storeList[0]; + console.warn(util.formatDate({})) this.getList({ - brand_id: brandInfo.brand.id || '' + brand_id: brandInfo.brand.id || '', + stadium_id: _storeList[0].id, + date: util.formatDate({}), }); }catch(err){ console.warn('加载数据失败!', err); @@ -92,13 +118,15 @@ export default { }) util.routeTo(`/pages/write_off/operate/operate`, 'nT'); }, - getList({ brand_id }){ + getList({ brand_id, stadium_id = '', date = '' }){ + util.showLoad(); servers.get({ url: API.writeOff.listVerifyRecord, - data: { brand_id }, + data: { brand_id, stadium_id, date }, failMsg: '加载失败!', }) .then(res=>{ + util.hideLoad(); let _list = res.list || []; this.writeOffList = _list; console.warn(res, 'jijjjjjjjjj') From 07ce9eb98f109f085d6c331cc5fb464932d50561 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 21 May 2021 17:52:53 +0800 Subject: [PATCH 35/40] add status recover --- src/pages/write_off/null/null.vue | 30 ++++++-- src/static/images/code_null.png | Bin 0 -> 7874 bytes src/static/images/scan_null.png | Bin 0 -> 11489 bytes .../reservation_people_detail.vue | 76 +++++++++++++++++++-- src/subpackage/device/js/device_api.js | 3 + .../device/pages/order_details/order_details.vue | 6 +- 6 files changed, 100 insertions(+), 15 deletions(-) create mode 100644 src/static/images/code_null.png create mode 100644 src/static/images/scan_null.png diff --git a/src/pages/write_off/null/null.vue b/src/pages/write_off/null/null.vue index 66df89d..1bccb32 100644 --- a/src/pages/write_off/null/null.vue +++ b/src/pages/write_off/null/null.vue @@ -1,18 +1,35 @@