This commit is contained in:
yuanteng 2024-11-04 22:47:27 +08:00
commit 4951ab1daf
2 changed files with 204 additions and 185 deletions

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<el-input style="width: 200px; height: 30px; margin-right: 10px;" suffix-icon="Search" placeholder="请输入商品名称" <el-input style="width: 200px; height: 30px; margin-right: 10px;" suffix-icon="Search" placeholder="请输入商品名称"
v-model="id"></el-input> v-model="name"></el-input>
<el-button class="ml-5" type="primary" @click="load" style="height: 25px;">搜索</el-button> <el-button class="ml-5" type="primary" @click="load" style="height: 25px;">搜索</el-button>
<el-button type="warning" @click="reset" style="height:25px">重置</el-button> <el-button type="warning" @click="reset" style="height:25px">重置</el-button>
</div> </div>
@ -22,9 +22,6 @@
<el-table-column prop="id" label="订单id" width="80"></el-table-column> <el-table-column prop="id" label="订单id" width="80"></el-table-column>
<el-table-column prop="userId" label="用户id"></el-table-column> <el-table-column prop="userId" label="用户id"></el-table-column>
<el-table-column prop="orderNumber" label="订单编号" width="180"></el-table-column> <el-table-column prop="orderNumber" label="订单编号" width="180"></el-table-column>
<!-- <el-table-column prop="addressSnapshot" label="地址信息快照"></el-table-column>-->
<!-- <el-table-column prop="contactsSnapshot" label="联系人信息快照"></el-table-column>-->
<!-- <el-table-column prop="couponSnapshot" label="优惠券信息快照"></el-table-column>-->
<el-table-column prop="totalAmount" label="订单总金额"></el-table-column> <el-table-column prop="totalAmount" label="订单总金额"></el-table-column>
<el-table-column prop="orderStatus" label="订单状态"></el-table-column> <el-table-column prop="orderStatus" label="订单状态"></el-table-column>
<el-table-column label="操作" width="250px"> <el-table-column label="操作" width="250px">
@ -50,43 +47,46 @@
:small="null" :disabled="null" :background="null" layout="total, sizes, prev, pager, next, jumper" :small="null" :disabled="null" :background="null" layout="total, sizes, prev, pager, next, jumper"
:total="total" /> :total="total" />
</div> </div>
<el-dialog title="订单详情信息" v-model="" width="30%"> <el-dialog title="订单详情信息" v-model="orderList" width="60%">
<el-form label-width="100px" size="default"> <el-form label-width="100px" size="default">
<el-form-item label="订单id"> <el-form-item label="订单id">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.id" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户id"> <el-form-item label="用户id">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.userId" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户名称"> <el-form-item label="用户名称">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.addressSnapshot.name" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="订单编号"> <el-form-item label="订单编号">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.addressSnapshot" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收货地址"> <el-form-item label="收货地址">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.addressSnapshot.region" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="详细地址"> <el-form-item label="详细地址">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.addressSnapshot.detailAddress" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="电话"> <el-form-item label="电话">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.addressSnapshot.phone" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="优惠券名称"> <el-form-item label="优惠券名称">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.couponSnapshot.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="优惠券名称">
<el-input v-model="" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="满减金额"> <el-form-item label="满减金额">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.couponSnapshot.conditionAmount" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="订单总金额"> <el-form-item label="订单总金额">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.totalAmount" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="订单状态"> <el-form-item label="订单状态">
<el-input v-model="" autocomplete="off"></el-input> <el-input v-model="orderList.orderStatus" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="创建时间">
<el-input v-model="orderList.createTime" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="更新时间">
<el-input v-model="orderList.updateTime" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -107,6 +107,7 @@ const total = ref(0);
const title = ref('') const title = ref('')
const editForm : any = ref({}); const editForm : any = ref({});
const DialogVisible = ref(true); const DialogVisible = ref(true);
const name =ref('')
const searchParams: any = ref({ // const searchParams: any = ref({ //
current: 1, // current: 1, //
pageSize: 5 // pageSize: 5 //
@ -124,9 +125,9 @@ const handleSelectionChange = (row: any) => {
} }
const getOrderList = async () => { const getOrderList = async () => {
try { try {
const res = await myAxios.post('', { ...searchParams.value }); const res = await myAxios.post('/order/list/page', { ...searchParams.value});
if (res.data.code === 1) { if (res.data.code === 1) {
tableData.value = res.data.data.records; orderList.value = res.data.data.records;
total.value = parseInt(res.data.data.total) total.value = parseInt(res.data.data.total)
} else { } else {
ElMessage({ ElMessage({
@ -139,6 +140,26 @@ const getOrderList = async () => {
}); });
} }
} }
const orderList = ref({
id:'',
userId:'',
addressSnapshot:{
name:'',
phone:'',
region:'',
detailAddress:''
},
couponSnapshot:{
name:'',
conditionAmount:''
},
totalAmount:'',
orderStatus:'',
createTime:'',
updateTime:'',
isDelete:'',
orderNumber:'',
})
const delBatch =()=>{ const delBatch =()=>{
// //
} }
@ -160,7 +181,7 @@ const deleteProduct = async (index: number) => {
} }
} }
const reset = () => { const reset = () => {
id.value = ''; name.value = '';
}; };
const load =()=>{} const load =()=>{}
@ -169,13 +190,3 @@ const load =()=>{}
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>

View File

@ -1,159 +1,167 @@
<template> <!--<template>-->
<div> <!--<div>-->
<el-input style="width: 200px; height: 30px; margin-right: 10px;" suffix-icon="Search" placeholder="请输入商品名称" <!-- <el-input style="width: 200px; height: 30px; margin-right: 10px;" suffix-icon="Search" placeholder="请输入商品名称"-->
v-model="id"></el-input> <!-- v-model="id"></el-input>-->
<el-button class="ml-5" type="primary" @click="load" style="height: 25px;">搜索</el-button> <!-- <el-button class="ml-5" type="primary" @click="load" style="height: 25px;">搜索</el-button>-->
<el-button type="warning" @click="reset" style="height:25px">重置</el-button> <!-- <el-button type="warning" @click="reset" style="height:25px">重置</el-button>-->
</div> <!--</div>-->
<div style="margin: 15px 0"> <!-- <div style="margin: 15px 0">-->
<el-popconfirm class="ml-5" confirm-button-text='确定' cancel-button-text='取消' icon="InfoFilled" icon-color="red" <!-- <el-popconfirm class="ml-5" confirm-button-text='确定' cancel-button-text='取消' icon="InfoFilled" icon-color="red"-->
title="您确定批量删除这些数据吗?" @confirm="delBatch" width=180> <!-- title="您确定批量删除这些数据吗?" @confirm="delBatch" width=180>-->
<template #reference> <!-- <template #reference>-->
<el-button style="height: 25px" class="ml-5" type="danger">批量删除 <el-icon style="margin-left: 5px;"> <!-- <el-button style="height: 25px" class="ml-5" type="danger">批量删除 <el-icon style="margin-left: 5px;">-->
<Remove /> <!-- <Remove />-->
</el-icon></el-button> <!-- </el-icon></el-button>-->
</template> <!-- </template>-->
</el-popconfirm> <!-- </el-popconfirm>-->
</div> <!-- </div>-->
<el-table :data="tableData" border stripe header-cell-class-name="headerBg" <!-- <el-table :data="tableData" border stripe header-cell-class-name="headerBg"-->
:cell-style="{ 'text-align': 'center', 'font-size': '16px' }" @selection-change="handleSelectionChange" <!-- :cell-style="{ 'text-align': 'center', 'font-size': '16px' }" @selection-change="handleSelectionChange"-->
:header-cell-style="{ 'text-align': 'center' }"> <!-- :header-cell-style="{ 'text-align': 'center' }">-->
<el-table-column type="selection" width="55"></el-table-column> <!-- <el-table-column type="selection" width="55"></el-table-column>-->
<el-table-column prop="id" label="订单id" width="80"></el-table-column> <!-- <el-table-column prop="id" label="订单id" width="80"></el-table-column>-->
<el-table-column prop="" label="购买商品名称"></el-table-column> <!-- <el-table-column prop="" label="购买商品名称"></el-table-column>-->
<el-table-column prop="" label="购买数量" width="180"></el-table-column> <!-- <el-table-column prop="" label="购买数量" width="180"></el-table-column>-->
<el-table-column prop="totalAmount" label="订单总金额"></el-table-column> <!-- <el-table-column prop="totalAmount" label="订单总金额"></el-table-column>-->
<el-table-column prop="" label="下单时间"></el-table-column> <!-- <el-table-column prop="" label="下单时间"></el-table-column>-->
<el-table-column prop="" label="快递单号"></el-table-column> <!-- <el-table-column prop="" label="快递单号"></el-table-column>-->
<el-table-column prop="orderStatus" label="订单状态"></el-table-column> <!-- <el-table-column prop="orderStatus" label="订单状态"></el-table-column>-->
<el-table-column label="操作" width="250px"> <!-- <el-table-column label="操作" width="250px">-->
<template #default="scope"> <!-- <template #default="scope">-->
<el-button size="small" @click="ReviseOrView(scope.$index, scope.row , 0)"> <!-- <el-button size="small" @click="ReviseOrView(scope.$index, scope.row , 0)">-->
编辑 <!-- 编辑-->
</el-button> <!-- </el-button>-->
<el-button plain @click="dialogFormVisible = true"> <!-- <el-button plain @click="dialogFormVisible = true">-->
发货 <!-- 发货-->
</el-button> <!-- </el-button>-->
<el-popconfirm class="ml-5" confirm-button-text='确定' cancel-button-text='取消' icon="InfoFilled" icon-color="red" <!-- <el-popconfirm class="ml-5" confirm-button-text='确定' cancel-button-text='取消' icon="InfoFilled" icon-color="red"-->
title="是否确认删除" @confirm="deleteProduct(scope.row.id)" width=180> <!-- title="是否确认删除" @confirm="deleteProduct(scope.row.id)" width=180>-->
<template #reference> <!-- <template #reference>-->
<el-button class="ml-5" type="danger">取消订单</el-button> <!-- <el-button class="ml-5" type="danger">取消订单</el-button>-->
</template> <!-- </template>-->
</el-popconfirm> <!-- </el-popconfirm>-->
<el-popconfirm confirm-button-text='确定' cancel-button-text='取消' icon="el-icon-info" icon-color="red" <!-- <el-popconfirm confirm-button-text='确定' cancel-button-text='取消' icon="el-icon-info" icon-color="red"-->
title="您确定删除吗?"> <!-- title="您确定删除吗?">-->
</el-popconfirm> <!-- </el-popconfirm>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> <!-- </el-table>-->
<div style="padding: 10px 0"> <!-- <div style="padding: 10px 0">-->
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"-->
:current-page="searchParams.current" :page-size="searchParams.pageSize" :page-sizes="[5, 10, 15, 20]" <!-- :current-page="searchParams.current" :page-size="searchParams.pageSize" :page-sizes="[5, 10, 15, 20]"-->
:small="null" :disabled="null" :background="null" layout="total, sizes, prev, pager, next, jumper" <!-- :small="null" :disabled="null" :background="null" layout="total, sizes, prev, pager, next, jumper"-->
:total="total" /> <!-- :total="total" />-->
</div> <!-- </div>-->
<el-dialog v-model="dialogFormVisible" title="Shipping address" width="500"> <!-- <el-dialog v-model="dialogFormVisible" title="Shipping address" width="500">-->
<el-form :model=" "> <!-- <el-form :model=" null">-->
<el-form-item label="快递单号" :label-width="formLabelWidth"> <!-- <el-form-item label="快递单号" :label-width="formLabelWidth">-->
<el-input v-model=" " autocomplete="off" /> <!-- <el-input v-model=" null" autocomplete="off" />-->
</el-form-item> <!-- </el-form-item>-->
</el-form> <!-- </el-form>-->
<template #footer> <!-- <template #footer>-->
<div class="dialog-footer"> <!-- <div class="dialog-footer">-->
<el-button @click="dialogFormVisible = false">取消</el-button> <!-- <el-button @click="dialogFormVisible = false">取消</el-button>-->
<el-button type="primary" @click="dialogFormVisible = false"> <!-- <el-button type="primary" @click="dialogFormVisible = false">-->
确定 <!-- 确定-->
</el-button> <!-- </el-button>-->
</div> <!-- </div>-->
</template> <!-- </template>-->
</el-dialog> <!-- </el-dialog>-->
</template> <!--</template>-->
<script lang="ts" setup> <!--<script lang="ts" setup>-->
import {ref} from "vue"; <!--import {ref} from "vue";-->
import myAxios from "@/api/myAxios"; <!--import myAxios from "@/api/myAxios";-->
import {ElMessage} from "element-plus"; <!--import {ElMessage} from "element-plus";-->
const tableData : any= ref([]); <!--const tableData : any= ref([]);-->
const total = ref(0); <!--const total = ref(0);-->
// const title = ref('') <!--// const title = ref('')-->
// const editForm : any = ref({}); <!--// const editForm : any = ref({});-->
// const DialogVisible = ref(true); <!--// const DialogVisible = ref(true);-->
const dialogFormVisible = ref(false) <!--const dialogFormVisible = ref(false)-->
const formLabelWidth = '140px' <!--const formLabelWidth = '140px'-->
const searchParams: any = ref({ // <!--const searchParams: any = ref({ //-->
current: 1, // <!-- current: 1, //-->
pageSize: 5 // <!-- pageSize: 5 //-->
}) <!--})-->
const handleSizeChange = (newSize: any) => { <!--const handleSizeChange = (newSize: any) => {-->
searchParams.value.pageSize = newSize // <!-- searchParams.value.pageSize = newSize //-->
getOrderList() <!-- getOrderList()-->
} <!--}-->
const handleCurrentChange = (Current: any) => { <!--const handleCurrentChange = (Current: any) => {-->
searchParams.value.current = Current <!-- searchParams.value.current = Current-->
getOrderList() <!-- getOrderList()-->
} <!--}-->
const handleSelectionChange = (row: any) => { <!--const handleSelectionChange = (row: any) => {-->
id.value = JSON.parse(JSON.stringify(row)); <!-- id.value = JSON.parse(JSON.stringify(row));-->
} <!--}-->
const getOrderList = async () => { <!--const getOrderList = async () => {-->
try { <!-- try {-->
const res = await myAxios.post('', { ...searchParams.value }); <!-- const res = await myAxios.post('', { ...searchParams.value });-->
if (res.data.code === 1) { <!-- if (res.data.code === 1) {-->
tableData.value = res.data.data.records; <!-- tableData.value = res.data.data.records;-->
total.value = parseInt(res.data.data.total) <!-- total.value = parseInt(res.data.data.total)-->
} else { <!-- } else {-->
ElMessage({ <!-- ElMessage({-->
message: '获取数据失败', <!-- message: '获取数据失败',-->
}); <!-- });-->
} <!-- }-->
} catch (error) { <!-- } catch (error) {-->
ElMessage({ <!-- ElMessage({-->
message: '发生错误', <!-- message: '发生错误',-->
}); <!-- });-->
} <!-- }-->
} <!--}-->
const delBatch =()=>{ <!--const orderList = ref({-->
// <!--id:'',-->
} <!--userId:'',-->
// <!--addressSnapshot:{-->
const shipments = (index: number, row: any , flag : number) => { <!--name:'',-->
<!--phone:'',-->
<!--region:'',-->
<!--detailAddress:''-->
<!--},-->
<!--couponSnapshot:{-->
<!--name:'',-->
<!--conditionAmount:''-->
<!--},-->
<!--totalAmount:'',-->
<!--orderStatus:'',-->
<!--createTime:'',-->
<!--updateTime:'',-->
<!--isDelete:'',-->
<!--orderNumber:''-->
<!--})-->
<!--const delBatch =()=>{-->
<!-- //-->
<!--}-->
<!--//-->
<!--const shipments = (index: number, row: any , flag : number) => {-->
}; <!--};-->
// <!--//-->
const ReviseOrView = (index: number, row: any , flag : number) => { <!--const ReviseOrView = (index: number, row: any , flag : number) => {-->
}; <!--};-->
const deleteProduct = async (index: number) => { <!--const deleteProduct = async (index: number) => {-->
console.log(typeof index) <!-- console.log(typeof index)-->
const res = await myAxios.post('/goods/delete', { id: index }) <!-- const res = await myAxios.post('/goods/delete', { id: index })-->
console.log(res) <!-- console.log(res)-->
if (res.data.code === 1) { <!-- if (res.data.code === 1) {-->
ElMessage({ <!-- ElMessage({-->
type: 'success', <!-- type: 'success',-->
message: '删除成功', <!-- message: '删除成功',-->
}) <!-- })-->
getOrderList() <!-- getOrderList()-->
} <!-- }-->
} <!--}-->
const reset = () => { <!--const reset = () => {-->
id.value = ''; <!-- id.value = '';-->
}; <!--};-->
const load =()=>{} <!--const load =()=>{}-->
</script> <!--</script>-->
<style lang="scss" scoped> <!--<style lang="scss" scoped>-->
</style> <!--</style>-->
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>
<script setup lang="ts">
</script>