Merge pull request '完成发货接口的开发' (#61) from Brunch_LPQ into main

pull/63/head
ppnwsfegt 1 month ago
commit b3d05f8d65

@ -1,9 +1,11 @@
package com.itmk.web.order.controller;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.itmk.utils.ResultUtils;
import com.itmk.utils.ResultVo;
import com.itmk.web.order.entity.OrderParm;
import com.itmk.web.order.entity.SendParm;
import com.itmk.web.order.entity.UserOrder;
import com.itmk.web.order.entity.WxOrderParm;
import com.itmk.web.order.service.UserOrderService;
@ -36,4 +38,17 @@ public class UserOrderController {
IPage<UserOrder> orderList = userOrderService.getPcOrderList(parm);
return ResultUtils.success("查询成功!",orderList);
}
//发货
@PutMapping("/sendOrder")
public ResultVo sendOrder(@RequestBody SendParm parm){
//更新条件
LambdaUpdateWrapper<UserOrder> query = new LambdaUpdateWrapper<>();
query.eq(UserOrder::getOrderId,parm.getOrderId())
.set(UserOrder::getStatus,"1");
if(userOrderService.update(query)){
return ResultUtils.success("更新成功!");
}
return ResultUtils.error("更新失败!");
}
}

@ -0,0 +1,9 @@
package com.itmk.web.order.entity;
import lombok.Data;
@Data
public class SendParm {
private Long orderId;
}

@ -1,6 +1,11 @@
import http from "../../http";
import type { OrderListParm } from "./OrderModel";
//列表
export const gePcOrdertListApi = (parm:OrderListParm)=>{
return http.get("/wxapi/order/getPcOrderList",parm)
export const gePcOrdertListApi = (parm: OrderListParm) => {
return http.get("/wxapi/order/getPcOrderList", parm)
}
// 发货
export const sendOrderApi = (orderId: string) => {
return http.put("/wxapi/order/sendOrder", { orderId: orderId })
}

@ -1,23 +1,25 @@
import type { OrderListParm } from '../../api/order/OrderModel'
import {nextTick, onMounted, reactive, ref} from 'vue'
import { gePcOrdertListApi } from '../../api/order'
export default function useOrderTable(){
import { nextTick, onMounted, reactive, ref } from 'vue'
import { gePcOrdertListApi, sendOrderApi } from '../../api/order'
import useInstance from '@/hooks/useInstance'
export default function useOrderTable() {
const { global } = useInstance()
//表格高度
const tableHeight = ref(0)
//表格数据
const tableList = ref([])
//表格查询的参数
const listParm = reactive<OrderListParm>({
currentPage:1,
pageSize:10,
type:'',
userName:'',
total:0
currentPage: 1,
pageSize: 10,
type: '',
userName: '',
total: 0
})
//列表
const getList = async()=>{
const getList = async () => {
let res = await gePcOrdertListApi(listParm)
if(res && res.code == 200){
if (res && res.code == 200) {
//设置表格数据
tableList.value = res.data.records;
//设置分页总条数
@ -25,33 +27,45 @@ export default function useOrderTable(){
}
}
//搜索
const searchBtn = ()=>{
const searchBtn = () => {
getList()
}
//重置
const resetBtn = ()=>{
const resetBtn = () => {
listParm.currentPage = 1;
listParm.type = ''
getList()
}
//页容量改变触发
const sizeChange = (size:number)=>{
const sizeChange = (size: number) => {
listParm.pageSize = size;
getList()
}
//页数改变触发
const currentChange = (page:number)=>{
const currentChange = (page: number) => {
listParm.currentPage = page;
getList()
}
onMounted(()=>{
// 发货
const sendOrder = async (orderId: string) => {
let confirm = await global.$myconfirm('确定发货吗?')
if (confirm) {
let res = await sendOrderApi(orderId)
if (res && res.code == 200) {
getList()
nextTick(()=>{
}
}
}
onMounted(() => {
getList()
nextTick(() => {
tableHeight.value = window.innerHeight - 220
})
})
return{
return {
tableList,
sendOrder,
listParm,
getList,
searchBtn,

@ -64,7 +64,7 @@
</el-table-column>
<el-table-column label="操作" width="200" align="center">
<template #default="scope">
<el-button type="primary" :icon="Edit" size="default">发货</el-button>
<el-button type="primary" @click="sendOrder(scope.row.orderId)" :icon="Edit" size="default">发货</el-button>
</template>
</el-table-column>
</el-table>
@ -81,22 +81,23 @@
>
</el-pagination>
</el-main>
</template>
</template>
<script setup lang="ts">
import { Search, Close, Plus, Edit, Delete } from "@element-plus/icons-vue";
import useOrderTable from "../../compositions/order/useOrderTable";
//
const {
<script setup lang="ts">
import { Search, Close, Plus, Edit, Delete } from "@element-plus/icons-vue";
import useOrderTable from "../../compositions/order/useOrderTable";
//
const {
tableList,
getList,
sendOrder,
listParm,
resetBtn,
searchBtn,
sizeChange,
currentChange,
tableHeight,
} = useOrderTable();
</script>
} = useOrderTable();
</script>
<style scoped></style>
<style scoped></style>
Loading…
Cancel
Save