This commit is contained in:
邱贞招 2024-12-25 21:54:49 +08:00
parent b29a835bb5
commit 52280b4117
4 changed files with 128 additions and 193 deletions

View File

@ -5,4 +5,5 @@ VUE_APP_TITLE = 小鹿骑行
ENV = 'production'
# 小鹿骑行/生产环境
VUE_APP_BASE_API = '/prod-api'
# VUE_APP_BASE_API = '/prod-api'
VUE_APP_BASE_API = 'https://testlu.chuangtewl.com/prod-api'

View File

@ -17,6 +17,15 @@ export function getOrder(orderId) {
})
}
// 退款
export function refund(data) {
return request({
url: '/appVerify/refund',
method: 'put',
data: data
})
}
// 新增订单
export function addOrder(data) {
return request({

View File

@ -269,14 +269,14 @@
<!-- @click="handleListing(scope.row)"-->
<!-- v-hasPermi="['system:fault:edit']"-->
<!-- >{{ scope.row.status === '0' ? '出仓' : '回仓' }}</el-button>-->
<el-button v-if="scope.row.status!= '3'"
<el-button v-if="scope.row.lockStatus == '0'"
size="mini"
type="text"
icon="el-icon-unlock"
@click="handleUnlocking(scope.row)"
v-hasPermi="['system:device:unlocking']"
>开锁</el-button>
<el-button
<el-button v-if="scope.row.lockStatus == '1'"
size="mini"
type="text"
icon="el-icon-lock"

View File

@ -133,154 +133,6 @@
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="还车时间" prop="returnTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.returnTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择还车时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="是否押金抵扣" prop="depositDeduction">-->
<!-- <el-input-->
<!-- v-model="queryParams.depositDeduction"-->
<!-- placeholder="请输入是否押金抵扣"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="扣除金额" prop="deductionAmount">-->
<!-- <el-input-->
<!-- v-model="queryParams.deductionAmount"-->
<!-- placeholder="请输入扣除金额"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="还车结算___小时后自动退押金" prop="autoRefundDeposit">-->
<!-- <el-input-->
<!-- v-model="queryParams.autoRefundDeposit"-->
<!-- placeholder="请输入还车结算___小时后自动退押金"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="租赁单位" prop="rentalUnit">-->
<!-- <el-select v-model="queryParams.rentalUnit" placeholder="请选择租赁单位" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.rl_rental_unit"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="手续费" prop="handlingCharge">-->
<!-- <el-input-->
<!-- v-model="queryParams.handlingCharge"-->
<!-- placeholder="请输入手续费"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="服务费" prop="platformServiceFee">-->
<!-- <el-input-->
<!-- v-model="queryParams.platformServiceFee"-->
<!-- placeholder="请输入服务费"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="运营商分账" prop="operatorDividend">-->
<!-- <el-input-->
<!-- v-model="queryParams.operatorDividend"-->
<!-- placeholder="请输入运营商分账"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付渠道id" prop="payChannel">-->
<!-- <el-input-->
<!-- v-model="queryParams.payChannel"-->
<!-- placeholder="请输入支付渠道id"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="配送方式" prop="deliveryMethod">-->
<!-- <el-select v-model="queryParams.deliveryMethod" placeholder="请选择配送方式" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.rl_distribution_mode"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="取车时间" prop="pickupTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.pickupTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择取车时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="代理商id" prop="agentId">-->
<!-- <el-input-->
<!-- v-model="queryParams.agentId"-->
<!-- placeholder="请输入代理商id"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="店铺id" prop="storeId">-->
<!-- <el-input-->
<!-- v-model="queryParams.storeId"-->
<!-- placeholder="请输入店铺id"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="取车城市" prop="pickupCity">-->
<!-- <el-input-->
<!-- v-model="queryParams.pickupCity"-->
<!-- placeholder="请输入取车城市"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="取车地点 " prop="pickupLoc">-->
<!-- <el-input-->
<!-- v-model="queryParams.pickupLoc"-->
<!-- placeholder="请输入取车地点 "-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="取车经度" prop="pickupLon">-->
<!-- <el-input-->
<!-- v-model="queryParams.pickupLon"-->
<!-- placeholder="请输入取车经度"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="取车纬度" prop="pickupLat">-->
<!-- <el-input-->
<!-- v-model="queryParams.pickupLat"-->
<!-- placeholder="请输入取车纬度"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="租车周期" prop="rentalPeriod">-->
<!-- <el-input-->
<!-- v-model="queryParams.rentalPeriod"-->
<!-- placeholder="请输入租车周期"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -303,15 +155,10 @@
<el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="代理商" align="center" prop="agentName" />-->
<!-- <el-table-column label="店铺" align="center" prop="storeName" />-->
<!-- <el-table-column label="订单id" align="center" prop="orderId" />-->
<el-table-column label="订单号" width="150" align="center" prop="orderNo" />
<el-table-column label="第三方订单号" width="150" align="center" prop="outTradeNo" />
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="第三方订单号" align="center" prop="outTradeNo" />
<el-table-column label="用户" align="center" prop="realName" />
<el-table-column label="手机号" align="center" prop="phone" />
<!-- <el-table-column label="计费规则id" align="center" prop="ruleId" />-->
<!-- <el-table-column label="MAC" align="center" prop="deviceMac" />-->
<el-table-column label="sn码" align="center" prop="sn" />
<el-table-column label="支付时间" align="center" prop="payTime" width="90">
<template slot-scope="scope">
@ -323,7 +170,6 @@
<dict-tag :options="dict.type.et_pay_type" :value="scope.row.payType"/>
</template>
</el-table-column>
<!-- <el-table-column label="支付状态" align="center" prop="paid" />-->
<el-table-column label="支付状态" align="center" prop="paid">
<template slot-scope="scope">
<dict-tag :options="dict.type.et_order_pay_status" :value="scope.row.paid"/>
@ -345,14 +191,12 @@
<dict-tag :options="dict.type.rl_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="还车时间" align="center" prop="returnTime" width="180">
<el-table-column label="还车时间" align="center" prop="returnTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.returnTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="是否押金抵扣" align="center" prop="depositDeduction" />-->
<el-table-column label="扣除金额" align="center" prop="deductionAmount" />
<!-- <el-table-column label="还车结算___小时后自动退押金" align="center" prop="autoRefundDeposit" />-->
<el-table-column label="租赁单位" align="center" prop="rentalUnit">
<template slot-scope="scope">
<dict-tag :options="dict.type.rl_rental_unit" :value="scope.row.rentalUnit"/>
@ -368,20 +212,14 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['system:order:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['system:order:remove']"-->
<!-- >删除</el-button>-->
<el-button
size="mini"
type="text"
v-if="scope.row.status == 8"
icon="el-icon-money"
@click="refund(scope.row)"
v-hasPermi="['system:order:edit']"
>退款</el-button>
</template>
</el-table-column>
</el-table>
@ -394,6 +232,38 @@
@pagination="getList"
/>
<!-- 改价退款 -->
<el-dialog title="退款" :visible.sync="open2" width="600px" append-to-body>
<el-form ref="form2" :model="form2" label-width="110px">
<el-col>
<el-col :span="24">
<el-form-item label="租赁费(元)" prop="ridingFee">
<el-input v-model="form2.leaseFee" placeholder="请输入骑行费"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调度费(元)" prop="dispatchFee">
<el-input v-model="form2.dispatchFee" placeholder="请输入调度费"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="押金(元)" prop="dispatchFee">
<el-input v-model="form2.deposit" placeholder="请输入押金"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="原因" prop="reason">
<el-input v-model="form2.reason" placeholder="请输入原因"/>
</el-form-item>
</el-col>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="success" @click="submitRefund"> </el-button>
<el-button @click="cancel2"> </el-button>
</div>
</el-dialog>
<!-- 添加或修改订单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
@ -472,9 +342,6 @@
placeholder="请选择还车时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="是否押金抵扣" prop="depositDeduction">-->
<!-- <el-input v-model="form.depositDeduction" placeholder="请输入是否押金抵扣" />-->
<!-- </el-form-item>-->
<el-form-item label="扣除金额" prop="deductionAmount">
<el-input v-model="form.deductionAmount" placeholder="请输入扣除金额" />
</el-form-item>
@ -503,16 +370,6 @@
<el-form-item label="支付渠道id" prop="payChannel">
<el-input v-model="form.payChannel" placeholder="请输入支付渠道id" />
</el-form-item>
<!-- <el-form-item label="配送方式" prop="deliveryMethod">-->
<!-- <el-select v-model="form.deliveryMethod" placeholder="请选择配送方式">-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.rl_distribution_mode"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="parseInt(dict.value)"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="取车时间" prop="pickupTime">
<el-date-picker clearable
v-model="form.pickupTime"
@ -521,9 +378,6 @@
placeholder="请选择取车时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="代理商id" prop="agentId">-->
<!-- <el-input v-model="form.agentId" placeholder="请输入代理商id" />-->
<!-- </el-form-item>-->
<el-form-item label="店铺id" prop="storeId">
<el-input v-model="form.storeId" placeholder="请输入店铺id" />
</el-form-item>
@ -552,7 +406,7 @@
</template>
<script>
import { listOrder, getOrder, delOrder, addOrder, updateOrder } from "@/api/system/order";
import { listOrder, getOrder, delOrder, addOrder, updateOrder,refund } from "@/api/system/order";
export default {
name: "Order",
@ -577,6 +431,7 @@ export default {
title: "",
//
open: false,
open2: false,
//
queryParams: {
pageNum: 1,
@ -619,6 +474,15 @@ export default {
},
//
form: {},
form2: {
orderNo: null,
appointmentFee: null,
ridingFee: null,
dispatchFee: null,
deposit: null,
reason: null,
createTime: null
},
//
rules: {
orderNo: [
@ -640,6 +504,49 @@ export default {
this.getList();
},
methods: {
/** 提交退款 */
submitRefund(){
console.log("=====submitRefund======="+this.form2)
if(!this.refundValidate()){
return
}
refund(this.form2).then(response => {
this.$modal.msgSuccess("退款成功");
this.open2 = false;
this.getList();
});
},
refundValidate(){
//
const fields = [
this.form2.leaseFee,
this.form2.dispatchFee,
this.form2.deposit
];
//
const total = fields.reduce((sum, fee) => sum + (Number(fee) || 0), 0);
//
console.log('总和:', total);
// 0
if (total === 0) {
this.$modal.msgError("退款金额不能为0");
return false;
}
return true;
},
refund(row){
const orderId = row.orderId || this.ids
this.reset2();
getOrder(orderId).then(response => {
this.form2 = response.data;
this.open2 = true;
this.title2 = "退款";
});
},
/** 查询订单列表 */
getList() {
this.loading = true;
@ -654,6 +561,11 @@ export default {
this.open = false;
this.reset();
},
//
cancel2() {
this.open2 = false;
this.reset2();
},
//
reset() {
this.form = {
@ -700,6 +612,19 @@ export default {
};
this.resetForm("form");
},
reset2() {
this.form2 = {
orderId: null,
orderNo: null,
payTime: null,
deposit: null,
leaseFee: null,
dispatchFee: null,
reason: null,
createTime: null
};
this.resetForm("form2");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;