This commit is contained in:
tangzh 2025-03-19 18:45:56 +08:00
parent c6d81c5e2a
commit 1060f3decc
4 changed files with 90 additions and 20 deletions

View File

@ -37,6 +37,19 @@ export function orderListDataApi(params) {
params
})
}
/**
* 订单 列表 数据统计
* @param params
*/
export function prepareApi(params) {
return request({
url: '/admin/store/order/prepare',
method: 'post',
params
})
}
/**
* 订单 删除
* @param params

View File

@ -56,16 +56,16 @@
:data="tableData.data"
size="mini"
class="table"
@selection-change="handleSelectionChange"
highlight-current-row
:header-cell-style=" {fontWeight:'bold'}"
:row-key="(row)=>{ return row.orderId}"
>
<!-- @selection-change="handleSelectionChange" -->
<!-- <el-table-column
<el-table-column
type="selection"
:reserve-selection="true"
width="55"
/> -->
/>
<el-table-column
label="订单号"
min-width="210"
@ -146,7 +146,7 @@
<span class="acea-row">
退款凭证
<template v-if="scope.row.refundReasonWapImg">
<div v-for="(item, index) in scope.row.refundReasonWapImg.split(',')" :key="index" class="demo-image__preview" style="width: 35px;height: auto;display: inline-block;">
<div v-for="(item, index) in scope.row.refundReasonWapImg.split(',')" :key="index" class="demo-image__preview" style="width: 35px;height: auto;margin-right:5px;display: inline-block;">
<el-image
:src="item"
:preview-src-list="[item]"
@ -171,7 +171,8 @@
<el-table-column label="操作" min-width="150" fixed="right" align="center">
<template slot-scope="scope">
<el-button v-if="scope.row.paid === false" type="text" size="small" @click="edit(scope.row)" class="mr10" v-hasPermi="['admin:order:update:price']">编辑</el-button>
<el-button v-if="scope.row.statusStr.key === 'notShipped' && scope.row.refundStatus ===0" type="text" size="small" class="mr10" @click="sendOrder(scope.row)" v-hasPermi="['admin:order:send']">发送货</el-button>
<el-button v-if="scope.row.statusStr.key === 'notShipped' && scope.row.refundStatus ===0" type="text" size="small" class="mr10" @click="prepare(scope.row)" v-hasPermi="['admin:order:send']">去备货</el-button>
<el-button v-if="scope.row.statusStr.key === 'prepareIng' && scope.row.refundStatus ===0" type="text" size="small" class="mr10" @click="sendOrder(scope.row)" v-hasPermi="['admin:order:send']">发送货</el-button>
<el-button v-if=" scope.row.statusStr.key === 'toBeWrittenOff' && scope.row.paid == true && scope.row.refundStatus === 0 " type="text" size="small" class="mr10" v-hasPermi="['admin:order:write:update']" @click="onWriteOff(scope.row)">立即核销</el-button>
<el-dropdown trigger="click">
<span class="el-dropdown-link">
@ -307,7 +308,7 @@
</template>
<script>
import { orderListDataApi, orderStatusNumApi, writeUpdateApi, orderListApi, updatePriceApi, orderLogApi, orderMarkApi, orderDeleteApi, orderRefuseApi, orderRefundApi,orderPrint } from '@/api/order'
import { orderListDataApi, orderStatusNumApi, writeUpdateApi, orderListApi, updatePriceApi, orderLogApi, orderMarkApi, orderDeleteApi, orderRefuseApi, orderRefundApi, orderPrint, prepareApi } from '@/api/order'
import cardsData from '@/components/cards/index'
import zbParser from '@/components/FormGenerator/components/parser/ZBParser'
import detailsFrom from './orderDetail'
@ -317,7 +318,9 @@
import Cookies from 'js-cookie'
import { isWriteOff } from "@/utils";
import {orderExcelApi} from '@/api/store'
import { checkPermi } from "@/utils/permission"; //
import { checkPermi } from "@/utils/permission";
import * as categoryApi from "@/api/categoryApi";
import * as api from "@/api/systemHelp"; //
export default {
name: 'orderlistDetails',
components: {
@ -437,7 +440,7 @@
onOrderRefund(row) {
this.refundData = {
orderId: row.orderId,
amount: row.payPrice,
amount: row.refundPrice,
type: ''
}
this.orderids = row.orderId
@ -450,11 +453,25 @@
this.getList()
})
},
//
prepare(row) {
var ids = row ? row.id : this.ids;
this.$confirm(`您确定对选中的订单进行【${row ? '备货' : '批量备货'}】操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
prepareApi({ ids: ids}).then(data => {
this.$message.success('备货成功')
this.getList()
})
})
},
//
sendOrder(row) {
if(row.type===0){
this.$refs.send.modals = true;
this.$refs.send.getList();
// this.$refs.send.getList();
this.$refs.send.sheetInfo();
}else{
this.$refs.videoSend.modals = true;

View File

@ -66,6 +66,36 @@
<div class="description-term">送货人电话{{orderDatalist.deliveryId}}</div>
</div>
</template>
<template v-if="orderDatalist.refundStatus > 0">
<el-divider></el-divider>
<div class="title">退款售后</div>
<div class="acea-row">
<div class="description-term">售后单号{{orderDatalist.returnInfo.code}}</div>
<div class="description-term">售后金额{{orderDatalist.returnInfo.returnAmount}}</div>
<div class="description-term">售后时间{{orderDatalist.returnInfo.createTime}}</div>
<div class="description-term">售后原因{{orderDatalist.returnInfo.returnReason}}</div>
<div class="description-term">售后数量{{orderDatalist.returnInfo.returnNum}}</div>
</div>
<fieldset class="border p-3">
<legend>凭证</legend>
<div v-for="(item, index) in orderDatalist.refundReasonWapImg.split(',')" :key="index" class="demo-image__preview" style="width: 35px; height: 35px; margin-right: 15px; display: inline-block;">
<el-image :src="item" :preview-src-list="[item]"/>
</div>
</fieldset>
<fieldset class="border p-3">
<legend>商品</legend>
<div v-if=" orderDatalist.returnInfo.returnInfoList && orderDatalist.returnInfo.returnInfoList.length">
<div v-for="(val, i ) in orderDatalist.returnInfo.returnInfoList" :key="i" class="tabBox acea-row row-middle">
<div class="demo-image__preview mr10" style="width: 35px; height: 35px">
<el-image :src="val.image" :preview-src-list="[val.image]"/>
</div>
<div class="text_overflow">
<div class="description-term">{{ val.storeName + ' x '+ val.returnNum }}</div>
</div>
</div>
</div>
</fieldset>
</template>
<template v-if="orderDatalist.mark">
<el-divider></el-divider>
<div class="title">用户备注</div>
@ -104,10 +134,14 @@
</div>
</template>
<script>0
<script>
import Level from "@/views/user/list/level.vue";
0
import { orderDetailApi, getLogisticsInfoApi } from '@/api/order'
export default {
name: 'OrderDetail',
components: {Level},
props: {
orderId: {
type: String,
@ -217,4 +251,10 @@ export default {
}
}
fieldset {
border: 1px solid #ccc; /* 设置边框 */
padding: 10px; /* 设置内边距 */
margin: 10px 0; /* 设置外边距 */
}
</style>

View File

@ -3,9 +3,9 @@
<el-form ref="formItem" :model="formItem" label-width="110px" @submit.native.prevent :rules="rules">
<el-form-item label="选择类型:">
<el-radio-group v-model="formItem.type" @change="changeRadioType(formItem.type)">
<el-radio label="1">发货</el-radio>
<!-- <el-radio label="1">发货</el-radio>-->
<el-radio label="2">送货</el-radio>
<el-radio label="3">虚拟</el-radio>
<!-- <el-radio label="3">虚拟</el-radio>-->
</el-radio-group>
</el-form-item>
<div v-if="formItem.type==='1'">
@ -67,12 +67,12 @@
<el-input v-model="formItem.deliveryTel" placeholder="请输入送货人电话" style="width:80%;"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="" >
<div style="color:#CECECE;">顺丰请输入单号收件人或寄件人手机号后四位</div>
<div style="color:#CECECE;">例如SF000000000000:3941</div>
</el-form-item>
</div>
<!-- <div>-->
<!-- <el-form-item label="" >-->
<!-- <div style="color:#CECECE;">顺丰请输入单号收件人或寄件人手机号后四位</div>-->
<!-- <div style="color:#CECECE;">例如SF000000000000:3941</div>-->
<!-- </el-form-item>-->
<!-- </div>-->
</el-form>
<div slot="footer">
<el-button type="primary" @click="putSend('formItem')">提交</el-button>
@ -103,7 +103,7 @@
data() {
return {
formItem: {
type: '1',
type: '2',
expressRecordType: '1',
expressId: '',
expressCode: '',
@ -220,7 +220,7 @@
cancel(name) {
this.modals = false;
this.$refs[name].resetFields();
this.formItem.type = '1';
this.formItem.type = '2';
this.formItem.expressRecordType = '1';
}
}