1.新增订单手动退款 2.团购新增抖音团购核销
This commit is contained in:
@@ -29,10 +29,10 @@ export function orderorderDetail(params) {
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function payreturnOrder(data, pwd) {
|
||||
export function payreturnOrder(data, pwd, isOnline) {
|
||||
return request({
|
||||
method: "post",
|
||||
url: `pay/returnOrder?pwd=${pwd}`,
|
||||
url: `pay/returnOrder?pwd=${pwd}&isOnline=${isOnline}`,
|
||||
data,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -141,10 +141,10 @@ const deviceRoute = ref({
|
||||
});
|
||||
|
||||
async function statusChange(e, item) {
|
||||
console.log(e, item);
|
||||
try {
|
||||
await tbPrintMachinePost(item, "put");
|
||||
tbPrintMachineGetAjax();
|
||||
printStore.init();
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
@@ -157,14 +157,20 @@ async function groupOrdergroupScanHandle() {
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
groupDetailLoading.value = true
|
||||
let encrypted_codes = douyin_table.value.getSelectionRows().map(item => item.encrypted_code)
|
||||
console.log(encrypted_codes);
|
||||
const res = await douyincertificateprepare({
|
||||
verify_token: groupDetail.value.verify_token,
|
||||
encrypted_codes: encrypted_codes.join(','),
|
||||
id: groupDetail.value.id
|
||||
})
|
||||
let encrypted_codes = douyin_table.value.getSelectionRows()
|
||||
if (encrypted_codes.length) {
|
||||
groupDetailLoading.value = true
|
||||
let arr = encrypted_codes.map(item => item.encrypted_code)
|
||||
console.log(encrypted_codes);
|
||||
const res = await douyincertificateprepare({
|
||||
verify_token: groupDetail.value.verify_token,
|
||||
encrypted_codes: arr.join(','),
|
||||
id: groupDetail.value.id
|
||||
})
|
||||
} else {
|
||||
ElMessage.error('请选择核销项目')
|
||||
return
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -261,7 +267,7 @@ const inputChange = _.debounce(function (e) {
|
||||
}, 500);
|
||||
|
||||
function show() {
|
||||
global.updateData(true)
|
||||
global.updateData(false)
|
||||
dialogVisible.value = true;
|
||||
setTimeout(() => {
|
||||
inputRef.value.focus();
|
||||
@@ -269,7 +275,7 @@ function show() {
|
||||
}
|
||||
|
||||
function close() {
|
||||
global.updateData(false)
|
||||
global.updateData(true)
|
||||
dialogVisible.value = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,8 +103,9 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<el-pagination @current-change="paginationChange" :current-page="tableData.page"
|
||||
:page-size="tableData.size" layout="total, prev, pager, next" :total="tableData.total" background>
|
||||
<el-pagination v-model:current-page="tableData.page" v-model:page-size="tableData.size"
|
||||
layout="total, prev, pager, next" :total="tableData.total" background
|
||||
@current-change="paginationChange" @size-change="paginationChange">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
@@ -231,16 +232,19 @@ function typeChange(e) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
tableData.status = ''
|
||||
tableData.page = 1
|
||||
tableData.list = []
|
||||
groupOrderlistAjax()
|
||||
}
|
||||
|
||||
// 状态
|
||||
function statusFilter(t) {
|
||||
return statusList.find(item => item.value == t)?.label
|
||||
return originStatus.find(item => item.value == t)?.label
|
||||
}
|
||||
|
||||
// 分页变化
|
||||
function paginationChange(e) {
|
||||
tableData.page = e
|
||||
groupOrderlistAjax()
|
||||
}
|
||||
|
||||
@@ -307,7 +311,6 @@ async function groupOrderlistAjax() {
|
||||
|
||||
onMounted(() => {
|
||||
typeChange(tableData.type)
|
||||
groupOrderlistAjax()
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -12,19 +12,23 @@
|
||||
<el-text class="t">{{ masterId }}</el-text>
|
||||
</div>
|
||||
<div class="select_user" @click="fastCashierRef.show()" v-if="!memberInfo.telephone">
|
||||
<el-icon class="icon">
|
||||
<WalletFilled />
|
||||
</el-icon>
|
||||
<el-text class="t">快捷收银</el-text>
|
||||
<div class="left">
|
||||
<el-icon class="icon">
|
||||
<WalletFilled />
|
||||
</el-icon>
|
||||
<el-text class="t">快捷收银</el-text>
|
||||
</div>
|
||||
<el-icon class="arrow">
|
||||
<ArrowRight />
|
||||
</el-icon>
|
||||
</div>
|
||||
<div class="select_user" v-else @click="clearMember">
|
||||
<el-icon class="icon">
|
||||
<UserFilled />
|
||||
</el-icon>
|
||||
<el-text class="t">{{ memberInfo.telephone }}</el-text>
|
||||
<div class="left">
|
||||
<el-icon class="icon">
|
||||
<UserFilled />
|
||||
</el-icon>
|
||||
<el-text class="t">{{ memberInfo.telephone }}</el-text>
|
||||
</div>
|
||||
<el-icon class="arrow">
|
||||
<Close />
|
||||
</el-icon>
|
||||
@@ -418,7 +422,7 @@ onMounted(() => {
|
||||
.menu {
|
||||
background-color: var(--el-color-warning);
|
||||
color: #fff;
|
||||
width: 100px;
|
||||
width: 60px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -437,7 +441,7 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.number {
|
||||
flex: 1;
|
||||
width: 50px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -450,24 +454,31 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.select_user {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: var(--el-color-info-light-8);
|
||||
padding: 0 var(--el-font-size-base);
|
||||
|
||||
.icon {
|
||||
color: var(--el-color-primary);
|
||||
font-size: 18px;
|
||||
}
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.t {
|
||||
font-size: var(--el-font-size-base);
|
||||
padding: 0 10px;
|
||||
.icon {
|
||||
color: var(--el-color-primary);
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.t {
|
||||
font-size: var(--el-font-size-base);
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.arrow {
|
||||
color: #999;
|
||||
font-size: 20px;
|
||||
font-size: 16px;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
||||
暂无数据
|
||||
</div>
|
||||
<el-pagination background v-if="ordereData.list.length" layout="prev, pager, next"
|
||||
style="margin-top: 20px" :total="Number(ordereData.total)" @current-change="handleCurrentChange" />
|
||||
<el-pagination background v-if="ordereData.list.length" v-model:current-page="ordereData.page"
|
||||
v-model:page-size="ordereData.size" :page-sizes="[10, 30, 50, 100]" layout="prev, pager, next"
|
||||
style="margin-top: 20px" :total="Number(ordereData.total)" @size-change="handleCurrentChange"
|
||||
@current-change="handleCurrentChange" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="销售" name="closed">
|
||||
<add :loading="ordereData.loading" :ordereData="ordereData" @emititemboxshow="emititemboxshow"
|
||||
@@ -25,8 +27,10 @@
|
||||
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
||||
暂无数据
|
||||
</div>
|
||||
<el-pagination v-if="ordereData.list.length" background layout="prev, pager, next"
|
||||
style="margin-top: 20px" :total="Number(ordereData.total)" @current-change="handleCurrentChange" />
|
||||
<el-pagination background v-if="ordereData.list.length" v-model:current-page="ordereData.page"
|
||||
v-model:page-size="ordereData.size" :page-sizes="[10, 30, 50, 100]" layout="prev, pager, next"
|
||||
style="margin-top: 20px" :total="Number(ordereData.total)" @size-change="handleCurrentChange"
|
||||
@current-change="handleCurrentChange" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="退单" name="refund">
|
||||
<add :loading="ordereData.loading" :ordereData="ordereData" @emititemboxshow="emititemboxshow"
|
||||
@@ -35,8 +39,10 @@
|
||||
<div v-else style="width: 100%; text-align: center; margin: 30px 0">
|
||||
暂无数据
|
||||
</div>
|
||||
<el-pagination v-if="ordereData.list.length" background layout="prev, pager, next"
|
||||
style="margin-top: 20px" :total="Number(ordereData.total)" @current-change="handleCurrentChange" />
|
||||
<el-pagination background v-if="ordereData.list.length" v-model:current-page="ordereData.page"
|
||||
v-model:page-size="ordereData.size" :page-sizes="[10, 30, 50, 100]" layout="prev, pager, next"
|
||||
style="margin-top: 20px" :total="Number(ordereData.total)" @size-change="handleCurrentChange"
|
||||
@current-change="handleCurrentChange" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="快捷收银" name="cash">
|
||||
<cashTable />
|
||||
@@ -251,9 +257,12 @@
|
||||
¥{{ refundamount > 0 ? refundamount : "0.00" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="recharge_footer_itemright_botton_boxtow" style="margin-right: 10px;">
|
||||
<el-button style="width: 100%; height: 100%" @click="payreturnOrderclick(false)">手动退款</el-button>
|
||||
</div>
|
||||
<div class="recharge_footer_itemright_botton_boxtow">
|
||||
<el-button type="primary" style="width: 100%; height: 100%" :loading="buttonloading"
|
||||
@click="payreturnOrderclick">
|
||||
@click="payreturnOrderclick(true)">
|
||||
<span v-if="!buttonloading">支付退回</span>
|
||||
<span v-else>支付退回...</span>
|
||||
</el-button>
|
||||
@@ -322,9 +331,12 @@ const buttonloading = ref(); //loading
|
||||
function dateConfirm(time) {
|
||||
ordereData.startTime = time[0]
|
||||
ordereData.endTime = time[1]
|
||||
ordereData.page = 1
|
||||
asyncorderfindOrder();
|
||||
}
|
||||
|
||||
// 是否线上退款
|
||||
const isOnline = ref(true)
|
||||
// 获取支付密码
|
||||
async function passwordSuccess(pwd) {
|
||||
try {
|
||||
@@ -345,7 +357,7 @@ async function passwordSuccess(pwd) {
|
||||
});
|
||||
if (arr.length != 0) {
|
||||
// await payreturnOrder(arr, md5(pwd));
|
||||
await payreturnOrder(arr, '');
|
||||
await payreturnOrder(arr, '', isOnline.value);
|
||||
changechecked.value = false;
|
||||
recharge.value = false;
|
||||
itemboxshow.value = false;
|
||||
@@ -355,7 +367,7 @@ async function passwordSuccess(pwd) {
|
||||
asyncorderfindOrder();
|
||||
} else {
|
||||
buttonloading.value = false;
|
||||
ElMessage.error("以没有退款项目!");
|
||||
ElMessage.error("没有退款项目!");
|
||||
}
|
||||
} catch (error) {
|
||||
buttonloading.value = false;
|
||||
@@ -363,7 +375,9 @@ async function passwordSuccess(pwd) {
|
||||
}
|
||||
|
||||
const payreturnOrderclick = lodash.debounce(
|
||||
async () => {
|
||||
async (e) => {
|
||||
console.log(e);
|
||||
isOnline.value = e
|
||||
//搜索手机号
|
||||
if (refundamount.value == 0) {
|
||||
buttonloading.value = false;
|
||||
@@ -866,19 +880,13 @@ onMounted(() => {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.recharge_footer_itemright_botton_boxoneabsolute {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
|
||||
.recharge_footer_itemright_botton_boxonetext {
|
||||
font-size: 26px;
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, defineEmits } from 'vue'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const emit = defineEmits(['close'])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user