多商户和门店新增核销

master
gongfuxiang 2024-07-09 15:58:05 +08:00
parent a55c3135ec
commit 255a766cc3
7 changed files with 361 additions and 15 deletions

View File

@ -1,3 +1,19 @@
## 6.2.0.32024-07-09
1. 多商户和门店新增核销
## 6.2.0.22024-07-06
1. 礼品卡卡密数据展示优化
2. 礼品卡新增扫码兑换
## 6.2.0.12024-07-05
1. 修复安卓app下多语言切换无效问题
## v6.2.02024-07-04
1. 新增礼品卡
2. 搜索需要登录优化

View File

@ -55,7 +55,9 @@
"upd_time": "Update time",
"receive_time": "Receiving time",
"service_time": "service time ",
"apply_time": "Application time"
"apply_time": "Application time",
"verification_text": "Verification code",
"verification_message": "Please enter the verification code"
},
"pages": {
"goods-category": "Product classification",
@ -160,6 +162,7 @@
"plugins-shop-search": "Store Product Search",
"plugins-shop-favor": "Store favorites",
"plugins-shop-license": "Business qualifications",
"plugins-shop-check": "Order verification",
"plugins-activity-index": "All activities",
"plugins-activity-detail": "Event details",
"plugins-label-detail": "Label details",
@ -179,6 +182,7 @@
"plugins-realstore-batchorder-list": "Batch orders",
"plugins-realstore-frequencycard-list": "Secondary card",
"plugins-realstore-frequencycard-used": "Secondary Card Usage Record",
"plugins-realstore-check": "Order verification",
"plugins-binding-index": "Combination and matching",
"plugins-binding-detail": "Combination and matching details",
"plugins-delivery-order": "Delivery order",

View File

@ -55,7 +55,9 @@
"upd_time": "更新时间",
"receive_time": "接收时间",
"service_time": "服务时间",
"apply_time": "申请时间"
"apply_time": "申请时间",
"verification_text": "核销码",
"verification_message": "请输入核销码"
},
"pages": {
"goods-category": "商品分类",
@ -163,6 +165,7 @@
"plugins-shop-design": "",
"plugins-shop-favor": "店铺收藏",
"plugins-shop-license": "工商资质",
"plugins-shop-check": "订单核销",
"plugins-activity-index": "所有活动",
"plugins-activity-detail": "活动详情",
"plugins-label-detail": "标签详情",
@ -182,6 +185,7 @@
"plugins-realstore-batchorder-list": "批次订单",
"plugins-realstore-frequencycard-list": "次卡",
"plugins-realstore-frequencycard-used": "次卡使用记录",
"plugins-realstore-check": "订单核销",
"plugins-binding-index": "组合搭配",
"plugins-binding-detail": "组合搭配详情",
"plugins-delivery-order": "配送订单",

View File

@ -1092,6 +1092,13 @@
"enablePullDownRefresh": true,
"navigationBarTitleText": ""
}
},
{
"path": "check/check",
"style": {
"enablePullDownRefresh": false,
"navigationBarTitleText": ""
}
}
]
},
@ -1257,6 +1264,13 @@
"enablePullDownRefresh": true,
"navigationBarTitleText": ""
}
},
{
"path": "check/check",
"style": {
"enablePullDownRefresh": false,
"navigationBarTitleText": ""
}
}
]
},

View File

@ -7,13 +7,17 @@
<view class="title fw-b text-size margin-vertical-xxxl">{{$t('giftcard-index.giftcard-index.hfg2fg')}}</view>
<view class="flex-row align-c padding-bottom-xl">
<view class="margin-right" @tap="scan_event">
<uni-icons type="scan" size="42rpx" color="#666"></uni-icons>
<uni-icons type="scan" size="56rpx" color="#666"></uni-icons>
</view>
<input type="text" class="text-size-lg wh-auto" :placeholder="$t('giftcard-index.giftcard-index.fu3rf1')" placeholder-class="cr-grey-c" :value="secret_key_value" @input="secret_key_event" />
<input type="text" class="wh-auto secret-key-value" :placeholder="$t('giftcard-index.giftcard-index.fu3rf1')" placeholder-class="cr-grey-c" :value="secret_key_value" @input="secret_key_event" />
</view>
</view>
<view class="padding-main">
<button type="default" form-type="submit" hover-class="none" size="mini" class="br-main bg-main cr-white round buy-submit text-size dis-block" :disabled="form_submit_loading">{{$t('common.confirm')}}</button>
<button type="default" form-type="submit" hover-class="none" class="br-main bg-main cr-white round text-size-lg" :disabled="form_submit_loading">{{$t('common.confirm')}}</button>
</view>
<view class="padding-lg margin-top-xl text-size-lg tc">
<text v-if="(error_msg || null) != null" class="cr-red">{{error_msg}}</text>
<text v-if="(success_msg || null) != null" class="cr-green">{{success_msg}}</text>
</view>
</form>
</block>
@ -33,7 +37,9 @@
data_list_loding_status: 1,
data_list_loding_msg: '',
form_submit_loading: false,
secret_key_value: ''
secret_key_value: '',
error_msg: '',
success_msg: ''
};
},
components: {
@ -93,6 +99,10 @@
//
form_submit() {
this.setData({
error_msg: '',
success_msg: ''
});
var form_data = {
secret_key: this.secret_key_value
}
@ -114,11 +124,14 @@
success: (res) => {
uni.hideLoading();
if (res.data.code == 0) {
app.globalData.showToast(res.data.msg, 'success');
var self = this;
self.setData({
error_msg: '',
success_msg: res.data.msg,
});
setTimeout(function() {
self.setData({
form_submit_loading: false
form_submit_loading: false,
});
if(app.globalData.prev_page() == null) {
app.globalData.url_open('/pages/plugins/giftcard/index/index', true);
@ -129,18 +142,20 @@
} else {
if (app.globalData.is_login_check(res.data, this, 'form_submit')) {
this.setData({
form_submit_loading: false
form_submit_loading: false,
error_msg: res.data.msg,
success_msg: '',
});
app.globalData.showToast(res.data.msg);
}
}
},
fail: () => {
this.setData({
form_submit_loading: false
});
uni.hideLoading();
app.globalData.showToast(this.$t('common.internet_error_tips'));
this.setData({
form_submit_loading: false,
error_msg: this.$t('common.internet_error_tips'),
success_msg: '',
});
},
});
}
@ -148,5 +163,10 @@
}
};
</script>
<style>
<style scoped>
input.secret-key-value {
height: 100rpx;
line-height: 100rpx;
font-size: 44rpx;
}
</style>

View File

@ -0,0 +1,144 @@
<template>
<view :class="theme_view">
<view class="padding-main">
<form @submit="form_submit" class="form-container">
<view class="border-radius-main bg-white padding-main padding-bottom-xxxxl spacing-mb">
<view class="title fw-b text-size margin-vertical-xxxl">{{$t('common.verification_text')}}</view>
<view class="flex-row align-c padding-bottom-xl">
<view class="margin-right" @tap="scan_event">
<uni-icons type="scan" size="56rpx" color="#666"></uni-icons>
</view>
<input type="text" class="wh-auto check-value" :placeholder="$t('common.verification_message')" placeholder-class="cr-grey-c" :value="check_value" @input="check_event" />
</view>
</view>
<view class="padding-main">
<button type="default" form-type="submit" hover-class="none" class="br-main bg-main cr-white round text-size-lg" :disabled="form_submit_loading">{{$t('common.confirm')}}</button>
</view>
<view class="padding-lg margin-top-xl text-size-lg tc">
<text v-if="(error_msg || null) != null" class="cr-red">{{error_msg}}</text>
<text v-if="(success_msg || null) != null" class="cr-green">{{success_msg}}</text>
</view>
</form>
</view>
</view>
</template>
<script>
const app = getApp();
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
form_submit_loading: false,
check_value: '',
error_msg: '',
success_msg: ''
};
},
components: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
this.init();
},
methods: {
//
init() {
app.globalData.get_user_info(this, "init");
},
//
check_event(e) {
this.setData({
check_value: e.detail.value
});
},
//
scan_event(e) {
var self = this;
uni.scanCode({
success: function (res) {
if((res.result || null) != null) {
self.setData({
check_value: res.result
});
self.form_submit();
}
}
});
},
//
form_submit() {
this.setData({
error_msg: '',
success_msg: ''
});
var form_data = {
extraction_code: this.check_value
}
var validation = [
{ fields: 'extraction_code', msg: this.$t('common.verification_message') }
];
if (app.globalData.fields_check(form_data, validation)) {
uni.showLoading({
title: this.$t('common.processing_in_text'),
});
this.setData({
form_submit_loading: true
});
var temp_code = this.check_value;
uni.request({
url: app.globalData.get_request_url('verification', 'adminorderallot', 'realstore'),
method: 'POST',
data: form_data,
dataType: 'json',
success: (res) => {
uni.hideLoading();
if (res.data.code == 0) {
this.setData({
form_submit_loading: false,
check_value: '',
error_msg: '',
success_msg: res.data.msg+''+temp_code+'',
});
} else {
if (app.globalData.is_login_check(res.data, this, 'form_submit')) {
this.setData({
form_submit_loading: false,
error_msg: res.data.msg+''+temp_code+'',
success_msg: '',
});
}
}
},
fail: () => {
uni.hideLoading();
this.setData({
form_submit_loading: false,
error_msg: this.$t('common.internet_error_tips')+''+temp_code+'',
success_msg: '',
});
},
});
}
}
}
};
</script>
<style scoped>
input.check-value {
height: 100rpx;
line-height: 100rpx;
font-size: 44rpx;
}
</style>

View File

@ -0,0 +1,144 @@
<template>
<view :class="theme_view">
<view class="padding-main">
<form @submit="form_submit" class="form-container">
<view class="border-radius-main bg-white padding-main padding-bottom-xxxxl spacing-mb">
<view class="title fw-b text-size margin-vertical-xxxl">{{$t('common.verification_text')}}</view>
<view class="flex-row align-c padding-bottom-xl">
<view class="margin-right" @tap="scan_event">
<uni-icons type="scan" size="56rpx" color="#666"></uni-icons>
</view>
<input type="text" class="wh-auto check-value" :placeholder="$t('common.verification_message')" placeholder-class="cr-grey-c" :value="check_value" @input="check_event" />
</view>
</view>
<view class="padding-main">
<button type="default" form-type="submit" hover-class="none" class="br-main bg-main cr-white round text-size-lg" :disabled="form_submit_loading">{{$t('common.confirm')}}</button>
</view>
<view class="padding-lg margin-top-xl text-size-lg tc">
<text v-if="(error_msg || null) != null" class="cr-red">{{error_msg}}</text>
<text v-if="(success_msg || null) != null" class="cr-green">{{success_msg}}</text>
</view>
</form>
</view>
</view>
</template>
<script>
const app = getApp();
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
form_submit_loading: false,
check_value: '',
error_msg: '',
success_msg: ''
};
},
components: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
this.init();
},
methods: {
//
init() {
app.globalData.get_user_info(this, "init");
},
//
check_event(e) {
this.setData({
check_value: e.detail.value
});
},
//
scan_event(e) {
var self = this;
uni.scanCode({
success: function (res) {
if((res.result || null) != null) {
self.setData({
check_value: res.result
});
self.form_submit();
}
}
});
},
//
form_submit() {
this.setData({
error_msg: '',
success_msg: ''
});
var form_data = {
extraction_code: this.check_value
}
var validation = [
{ fields: 'extraction_code', msg: this.$t('common.verification_message') }
];
if (app.globalData.fields_check(form_data, validation)) {
uni.showLoading({
title: this.$t('common.processing_in_text'),
});
this.setData({
form_submit_loading: true
});
var temp_code = this.check_value;
uni.request({
url: app.globalData.get_request_url('verification', 'adminorder', 'shop'),
method: 'POST',
data: form_data,
dataType: 'json',
success: (res) => {
uni.hideLoading();
if (res.data.code == 0) {
this.setData({
form_submit_loading: false,
check_value: '',
error_msg: '',
success_msg: res.data.msg+''+temp_code+'',
});
} else {
if (app.globalData.is_login_check(res.data, this, 'form_submit')) {
this.setData({
form_submit_loading: false,
error_msg: res.data.msg+''+temp_code+'',
success_msg: '',
});
}
}
},
fail: () => {
uni.hideLoading();
this.setData({
form_submit_loading: false,
error_msg: this.$t('common.internet_error_tips')+''+temp_code+'',
success_msg: '',
});
},
});
}
}
}
};
</script>
<style scoped>
input.check-value {
height: 100rpx;
line-height: 100rpx;
font-size: 44rpx;
}
</style>