diff --git a/src/pages.json b/src/pages.json
index 3d3361e..fde19b2 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -905,6 +905,12 @@
"style" : {
"navigationBarTitleText": "现场人数"
}
+ },
+ {
+ "path": "pages/record",
+ "style" : {
+ "navigationBarTitleText": "核销记录"
+ }
}
]
}
diff --git a/src/pages/write_off/operate/operate.vue b/src/pages/write_off/operate/operate.vue
index 001bbe4..628e492 100644
--- a/src/pages/write_off/operate/operate.vue
+++ b/src/pages/write_off/operate/operate.vue
@@ -228,7 +228,6 @@ export default {
}
}else{
util.showNone(res.data.message || '操作失败!')
- // util.routeTo(`/pages/write_off/null/null?type=${vType}`, 'nT');
}
})
diff --git a/src/subpackage/verification/components/head_bar.vue b/src/subpackage/verification/components/head_bar.vue
new file mode 100644
index 0000000..ec64299
--- /dev/null
+++ b/src/subpackage/verification/components/head_bar.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/verification/components/record/dy_item.vue b/src/subpackage/verification/components/record/dy_item.vue
new file mode 100644
index 0000000..9ef52f5
--- /dev/null
+++ b/src/subpackage/verification/components/record/dy_item.vue
@@ -0,0 +1,71 @@
+
+
+ 欧轩智能羽毛球馆(永泰店)
+
+
+ 订单编号:20195175645666
+
+
+ 用户信息:18316553852(yiming)
+
+
+ 券码: 200801108978
+
+
+ 验证方式:扫码器验证(欧轩门闸)
+
+
+ 核销时间:2021-05-17 11:12:58
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/verification/components/record/site_item.vue b/src/subpackage/verification/components/record/site_item.vue
new file mode 100644
index 0000000..1d6ba60
--- /dev/null
+++ b/src/subpackage/verification/components/record/site_item.vue
@@ -0,0 +1,82 @@
+
+
+ 欧轩智能羽毛球馆(永泰店)
+
+
+ 订单编号:20195175645666
+ (租场)
+
+
+ 用户信息:18316553852(yiming)
+
+
+ 核销码: 200801108978
+
+
+ 验证方式:扫码器验证(欧轩门闸)
+
+
+ 核销时间:2021-05-17 11:12:58
+
+
+ 离场时间:2021-05-17 11:12:58
+
+
+ 手动离场
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/verification/components/stadium_picker.vue b/src/subpackage/verification/components/stadium_picker.vue
new file mode 100644
index 0000000..e69de29
diff --git a/src/subpackage/verification/js/api.js b/src/subpackage/verification/js/api.js
index 306d14d..c2e5897 100644
--- a/src/subpackage/verification/js/api.js
+++ b/src/subpackage/verification/js/api.js
@@ -6,6 +6,8 @@ export const SUB_API = {
skNotLeavingNums: `${ORIGIN}/stadium/sk/notLeavingNums`, // 【1001536】散客人数 - 未离场订单数量
setStadiumPresentNumber: `${ORIGIN}/admin/stadium/setStadiumPresentNumber`, // 商家助手散客人数校正
timingOpen: `${ORIGIN}/stadium/person/timing/open`, // 【20220208】凌晨自动清零【开/关】
+ // tid1803
+ enterVerifyOrder: `${ORIGIN}/admin/stadium/order/enterVerifyOrder`, // 商家助手-核销查询-输入验证码
}
diff --git a/src/subpackage/verification/pages/index.vue b/src/subpackage/verification/pages/index.vue
index 3aaa749..1a2c098 100644
--- a/src/subpackage/verification/pages/index.vue
+++ b/src/subpackage/verification/pages/index.vue
@@ -1,16 +1,12 @@
-
-
-
-
-
-
-
-
+
-
+
可输入订场、次卡、年月卡、赛事、商城到店领取商品的验证码/券码进行核销,或点扫码图标进入扫描界面扫码核销。
@@ -18,11 +14,11 @@
-
+
进场人数异常
-
+
现场人数
@@ -38,25 +34,51 @@
import API from "../js/api.js";
import server from "../js/server.js";
-import { showLoad, hideLoad, showModal, showNone, debounce, changeLowerCase } from "@/utils/util.js";
+import { showLoad, hideLoad, showModal, showNone, debounce, changeLowerCase, $_emit, routeTo } from "@/utils/util.js";
+import { WRITE_OFF_ORDER_INFO } from '@/js/once_name';
+import headBar from "../components/head_bar.vue";
export default {
+ components: { headBar },
data(){
return{
+ brand_id: '',
stadiumList: [],
curStadium: {},
+ iptCode: '',
+
}
},
onLoad(options){
- this.getStadiumLs({ brand_id: options?.brand_id });
+ let _brand_id = options?.brand_id || '';
+ this.brand_id = _brand_id;
+ this.getStadiumLs({ brand_id: _brand_id });
},
methods: {
+ // 现场人数
+ toSitePeople(){
+ let { brand_id } = this;
+ routeTo(`/subpackage/verification/pages/site_people/index?brand_id=${brand_id}`, 'nT');
+ },
+ // 人数异常
+ toAbnormal(){
+ let { brand_id } = this;
+ routeTo(`/subpackage/blacklist/pages/abnormal_list/abnormal_list?brand_id=${brand_id}`, 'nT');
+ },
scanCode: debounce(function(){
+ let { curStadium } = this;
+ if(!curStadium?.id)return showModal({ content: '请选择场馆!' });
uni.scanCode({
onlyFromCamera: true,
scanType: 'qrCode',
success: res=> {
if(changeLowerCase(res.scanType) !== 'qr_code')return showNone('不支持此类型!');
console.log('扫码结果--->', res);
+ let { curStadium } = this;
+ this.verifyOrder({
+ brand_id: curStadium?.brand_id || '',
+ stadium_id: curStadium?.id || '',
+ decrypt_text: res?.result || '',
+ })
},
fail: function(err) {
showNone('扫码失败!');
@@ -97,36 +119,71 @@ export default {
// return Promise.reject(err);
})
},
+ /**
+ * 订单预检验
+ * @param {String} brand_id
+ * @param {String} stadium_id
+ * @param {String} verify_code 订单验证码
+ * @param {String} decrypt_text 二维码数据
+ * */
+ verifyOrder({ brand_id, stadium_id, verify_code = '', decrypt_text = '' }){
+ let _vType = verify_code ? 'verify_code' : decrypt_text ? 'decrypt_text' : '';
+ showLoad();
+ return server.post({
+ url: API.enterVerifyOrder,
+ data: { brand_id, stadium_id, verify_code, decrypt_text },
+ isDefaultGet: false,
+ })
+ .then(res => {
+ hideLoad();
+ let _data = res?.data || {};
+ if(_data.code === 0){
+ let _orderData = _data?.data || {};
+ // 商城订单
+ if(_orderData?.extension?.verify_order_type === 'product_order'){
+ $_emit(WRITE_OFF_MALL_ORDER_INFO, { data: _orderData });
+ routeTo(`/pages/write_off/ym_confirm/ym_confirm?type=${_vType}`, 'nT');
+ return
+ }
+ // 年月卡
+ if(_orderData?.extension?.verify_order_type === 'monthly_card'){
+ $_emit(WRITE_OFF_ORDER_INFO, { data: _orderData, query: { brand_id, stadium_id, verify_code, decrypt_text } });
+ routeTo(`/pages/write_off/ym_confirm/ym_confirm?type=${_vType}`, 'nT');
+ return
+ }
+
+ // 赛事
+ if(_orderData?.extension?.verify_order_type === 'match_order'){
+ $_emit(WRITE_OFF_ORDER_INFO, {..._orderData});
+ routeTo(`/pages/write_off/events_order/events_order?type=${_vType}`, 'nT');
+ return
+ }
+
+ $_emit(WRITE_OFF_ORDER_INFO, { ..._orderData });
+ routeTo(`/pages/write_off/confirm_order/confirm_order?type=${_vType}`, 'nT');
+ }else{
+ if(!_vType)return Promise.reject(_data);
+ routeTo(`/pages/write_off/null/null?type=${_vType}`, 'nT');
+ // return Promise.reject(_data);
+ }
+ })
+ .catch(err => {
+ hideLoad();
+ showModal({
+ title: '提示',
+ content: err.message || '核销查询失败!'
+ })
+ console.warn('verification index verifyOrder err --->', err);
+ // return Promise.reject(err);
+ })
+ },
}
}
\ No newline at end of file
diff --git a/src/subpackage/verification/static/images/calendar.png b/src/subpackage/verification/static/images/calendar.png
new file mode 100644
index 0000000..63425c2
Binary files /dev/null and b/src/subpackage/verification/static/images/calendar.png differ
diff --git a/src/subpackage/verification/static/images/search.png b/src/subpackage/verification/static/images/search.png
new file mode 100644
index 0000000..de695bf
Binary files /dev/null and b/src/subpackage/verification/static/images/search.png differ
diff --git a/src/utils/util.js b/src/utils/util.js
index b23a280..dd58f9d 100644
--- a/src/utils/util.js
+++ b/src/utils/util.js
@@ -371,7 +371,7 @@ export function changeLowerCase(str){
// 大数据量跨页/跨组件传参------$_once && $_emit
// 单次监听器
// 到文件src\js\once_name.js,进行命名,防止命名冲突导致错误监听
-function $_once(name, cb){
+export function $_once(name, cb){
uni.$once(name + '',function(data){
cb&&cb(data);
})
@@ -380,7 +380,7 @@ function $_once(name, cb){
}, 50)
}
// 促发单次监听
-function $_emit(name, data){
+export function $_emit(name, data){
uni.$once((name + '')+'1',function(){
uni.$emit(name + '', data);
})