Changes
This commit is contained in:
parent
08933c0aaf
commit
f5fc849e93
|
@ -14,7 +14,7 @@
|
||||||
<Breadcrumb/>
|
<Breadcrumb/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div :style="{ display: 'flex', justifyContent: 'center', alignItems: 'center', marginRight: offset + 'px' }">
|
<div style="position: absolute; right: 40px; display: flex; justify-content: center; align-items: center;">
|
||||||
<el-avatar style="margin-right: 10px">
|
<el-avatar style="margin-right: 10px">
|
||||||
<img :src="userInfo.userAvatar" alt="">
|
<img :src="userInfo.userAvatar" alt="">
|
||||||
</el-avatar>
|
</el-avatar>
|
||||||
|
|
|
@ -182,7 +182,6 @@ const customTag = (e:any)=>{ //点击定制
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.totalBox {
|
.totalBox {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,31 @@
|
||||||
</div>
|
</div>
|
||||||
<el-button class="ml-5" type="primary" @click="onSearch(productName)" style="height: 30px;">搜索</el-button>
|
<el-button class="ml-5" type="primary" @click="onSearch(productName)" style="height: 30px;">搜索</el-button>
|
||||||
<el-button type="warning" @click="reset" style="height:30px">重置</el-button>
|
<el-button type="warning" @click="reset" style="height:30px">重置</el-button>
|
||||||
|
|
||||||
|
<div style="display: flex; justify-content: center; align-items: center; position: absolute; right: 40px;">
|
||||||
|
<el-form-item label="摄影服务" prop="type" style="width: 240px; margin-top: 20px; margin-right: 20px">
|
||||||
|
<template #label>
|
||||||
|
<span style="font-size: 16px; line-height: 36px">摄影服务</span>
|
||||||
|
</template>
|
||||||
|
<el-select v-model="value1" placeholder="请选择商品编号" @change="(event: any) => loadForm1(event)" :disabled="typeSelect" size="large">
|
||||||
|
<el-option v-for="item in keysArray" :key="item" :label="item" :value="item" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="妆造服务" prop="type" style="width: 240px; margin-top: 20px; margin-right: 20px">
|
||||||
|
<template #label>
|
||||||
|
<span style="font-size: 16px; line-height: 36px">妆造服务</span>
|
||||||
|
</template>
|
||||||
|
<el-select v-model="value2" placeholder="请选择商品编号" @change="(event: any) => loadForm2(event)" :disabled="typeSelect" size="large">
|
||||||
|
<el-option v-for="item in keysArray" :key="item" :label="item" :value="item" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-button class="ml-5" type="primary" @click="editSpecialProducts" :disabled="isBtnShow1" style="height: 30px;">编辑</el-button>
|
||||||
|
<el-button type="success" @click="saveSpecialProducts" :disabled="isBtnShow2" style="height:30px">保存</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</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"
|
||||||
|
@ -228,6 +253,7 @@ import {ref, onMounted, inject, toRaw} from 'vue';
|
||||||
import myAxios from "@/api/myAxios";
|
import myAxios from "@/api/myAxios";
|
||||||
import outfitCalendarUtil from '@/layout/components/outfitCalendarUtil.vue';
|
import outfitCalendarUtil from '@/layout/components/outfitCalendarUtil.vue';
|
||||||
import emitter from "@/utils/emitter";
|
import emitter from "@/utils/emitter";
|
||||||
|
import {form} from "@/utils/entityProduct/picUpload";
|
||||||
const total = ref(0); //总页数
|
const total = ref(0); //总页数
|
||||||
const idList = ref<Number[]>([]); //用于批量删除
|
const idList = ref<Number[]>([]); //用于批量删除
|
||||||
const searchParams: any = ref({ //封装分页
|
const searchParams: any = ref({ //封装分页
|
||||||
|
@ -263,9 +289,12 @@ const outfitName = ref('') //服装名称
|
||||||
const addDateVisible = ref(false) //添加日期弹窗
|
const addDateVisible = ref(false) //添加日期弹窗
|
||||||
const typeList = ref<String[]>([]) //服装类别数组
|
const typeList = ref<String[]>([]) //服装类别数组
|
||||||
const siteList = ref<String[]>(['室外','室内','均可']) //场地类型
|
const siteList = ref<String[]>(['室外','室内','均可']) //场地类型
|
||||||
onMounted(() => { //页面加载时获取商品列表和分类页表
|
|
||||||
|
onMounted(async () => { //页面加载时获取商品列表和分类页表
|
||||||
getOutfitList()
|
getOutfitList()
|
||||||
getOutfitKind() //获取服装类别
|
getOutfitKind() //获取服装类别
|
||||||
|
await getAllPhotoProducts()
|
||||||
|
await getSpecialProducts()
|
||||||
for(let i = 0;i <=50 ; i++) { //初始化人数选择的数组
|
for(let i = 0;i <=50 ; i++) { //初始化人数选择的数组
|
||||||
minArr.value[i] = 5+i
|
minArr.value[i] = 5+i
|
||||||
maxArr.value[i] = 6+i
|
maxArr.value[i] = 6+i
|
||||||
|
@ -283,7 +312,6 @@ const getOutfitList = async () => {
|
||||||
try {
|
try {
|
||||||
const res = await myAxios.post('/photoProducts/list/page', { ...searchParams.value });
|
const res = await myAxios.post('/photoProducts/list/page', { ...searchParams.value });
|
||||||
console.log('服装列表--->',res.data);
|
console.log('服装列表--->',res.data);
|
||||||
|
|
||||||
// console.log('res--->',res.data)
|
// console.log('res--->',res.data)
|
||||||
if (res.data.code === 1) {
|
if (res.data.code === 1) {
|
||||||
tableData.value = res.data.data.records;
|
tableData.value = res.data.data.records;
|
||||||
|
@ -348,6 +376,8 @@ const deleteProduct = async (index: number) => {
|
||||||
message: '删除成功',
|
message: '删除成功',
|
||||||
})
|
})
|
||||||
getOutfitList()
|
getOutfitList()
|
||||||
|
await getAllPhotoProducts()
|
||||||
|
await getSpecialProducts()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//详情或编辑
|
//详情或编辑
|
||||||
|
@ -383,6 +413,8 @@ const handleOff = async (row: any) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
getOutfitList()
|
getOutfitList()
|
||||||
|
await getAllPhotoProducts()
|
||||||
|
await getSpecialProducts()
|
||||||
}
|
}
|
||||||
//处理行数大小变化
|
//处理行数大小变化
|
||||||
const handleSizeChange = (newSize: any) => {
|
const handleSizeChange = (newSize: any) => {
|
||||||
|
@ -453,6 +485,8 @@ const delBatch = async ()=>{
|
||||||
message: '批量删除成功'
|
message: '批量删除成功'
|
||||||
})
|
})
|
||||||
getOutfitList()
|
getOutfitList()
|
||||||
|
await getAllPhotoProducts()
|
||||||
|
await getSpecialProducts()
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('删除失败')
|
ElMessage.error('删除失败')
|
||||||
}
|
}
|
||||||
|
@ -636,6 +670,92 @@ const maxNum =()=>{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const typeSelect : any = ref(true) //类别下拉选项栏的禁用状态
|
||||||
|
const isBtnShow1 = ref(false)
|
||||||
|
const isBtnShow2 = ref(true)
|
||||||
|
const photoProductsMap :any = ref(new Map())
|
||||||
|
const keysArray : any = ref([])
|
||||||
|
const value1:any = ref('')
|
||||||
|
const value2:any = ref('')
|
||||||
|
let fieldValue1:any = ''
|
||||||
|
let fieldValue2:any = ''
|
||||||
|
|
||||||
|
const getAllPhotoProducts = async () => {
|
||||||
|
keysArray.value = []
|
||||||
|
const res = await myAxios.post('/photoProducts/list/map');
|
||||||
|
photoProductsMap.value = res.data.data
|
||||||
|
console.log('Map==================>', photoProductsMap.value);
|
||||||
|
for (var key in photoProductsMap.value) {
|
||||||
|
keysArray.value.push(key)
|
||||||
|
}
|
||||||
|
keysArray.value.unshift('无')
|
||||||
|
}
|
||||||
|
|
||||||
|
const editSpecialProducts = () => {
|
||||||
|
typeSelect.value = false
|
||||||
|
isBtnShow1.value = !isBtnShow1.value
|
||||||
|
isBtnShow2.value = !isBtnShow2.value
|
||||||
|
}
|
||||||
|
|
||||||
|
const saveSpecialProducts = async () => {
|
||||||
|
typeSelect.value = true
|
||||||
|
isBtnShow1.value = !isBtnShow1.value
|
||||||
|
isBtnShow2.value = !isBtnShow2.value
|
||||||
|
if (value1.value === '无') {
|
||||||
|
fieldValue1 = 0
|
||||||
|
} else {
|
||||||
|
fieldValue1 = photoProductsMap.value[value1.value]
|
||||||
|
}
|
||||||
|
if (value2.value === '无') {
|
||||||
|
fieldValue2 = 0
|
||||||
|
} else {
|
||||||
|
fieldValue2 = photoProductsMap.value[value2.value]
|
||||||
|
}
|
||||||
|
let ids = []
|
||||||
|
ids.push(fieldValue1)
|
||||||
|
ids.push(fieldValue2)
|
||||||
|
const res = await myAxios.post('/photoProducts/special/save', {idList: ids});
|
||||||
|
if (res.data.data ) {
|
||||||
|
ElMessage({
|
||||||
|
type: 'success',
|
||||||
|
message: '保存成功'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const getSpecialProducts = async () => {
|
||||||
|
const res = await myAxios.post('/photoProducts/special/get');
|
||||||
|
value1.value = res.data.data[0]
|
||||||
|
value2.value = res.data.data[1]
|
||||||
|
for (var key in photoProductsMap.value) {
|
||||||
|
if (value1.value === photoProductsMap.value[key]) {
|
||||||
|
value1.value = key
|
||||||
|
}
|
||||||
|
if (value2.value === photoProductsMap.value[key]) {
|
||||||
|
value2.value = key
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (value1.value === 0) {
|
||||||
|
value1.value = '无'
|
||||||
|
}
|
||||||
|
if (value2.value === 0) {
|
||||||
|
value2.value = '无'
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const loadForm1 = (value: any) => {
|
||||||
|
value1.value = value //三元运算符 flag=1 是关于"商品类别"选项的值 flag=0 是关于“是否为节日限定”选项的值
|
||||||
|
}
|
||||||
|
|
||||||
|
const loadForm2 = (value: any) => {
|
||||||
|
value2.value = value //三元运算符 flag=1 是关于"商品类别"选项的值 flag=0 是关于“是否为节日限定”选项的值
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
|
@ -1,315 +0,0 @@
|
||||||
<template>
|
|
||||||
<div style="margin-bottom: 20px;">
|
|
||||||
<div style="display: flex; justify-content: space-around; align-items: center">
|
|
||||||
<div>
|
|
||||||
<span>商品编号:</span><el-input style=" width: 150px; height: 30px; margin-right: 20px; font-size: 14px" suffix-icon="Search"
|
|
||||||
placeholder="请输入商品id" v-model="goodId"></el-input>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<DatePicker/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<TimePicker/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<el-button class="ml-5" type="primary" @click="load" style="height: 30px;">搜索</el-button>
|
|
||||||
<el-button type="warning" @click="reset" style="height:30px">重置</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- 数据展示层 -->
|
|
||||||
<el-table v-loading="loading" :data="tableData" border stripe header-cell-class-name="headerBg"
|
|
||||||
:cell-style="{ 'text-align': 'center', 'font-size': '16px' }" @selection-change="handleSelectionChange"
|
|
||||||
:header-cell-style="{ 'text-align': 'center' }" :row-style="{ height: '70px' }">
|
|
||||||
<el-table-column type="selection" width="55" fixed="left"></el-table-column>
|
|
||||||
<el-table-column prop="id" label="待处理订单序号" width="80">
|
|
||||||
<template #default="{ $index }">
|
|
||||||
{{ $index + 1 }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="goodId" label="商品编号" width="100"></el-table-column>
|
|
||||||
<el-table-column prop="goodImg" label="商品图片" width="100">
|
|
||||||
<template #default="scope">
|
|
||||||
<div>
|
|
||||||
<img :src="scope.row.goodImg.split(';')[0]" alt="" style="height: 50px;">
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="price" label="价格" width="120"></el-table-column>
|
|
||||||
<el-table-column prop="reservationDate" label="预约日期" width="200"></el-table-column>
|
|
||||||
<el-table-column prop="timeSlot" label="预约时间段" width="200"></el-table-column>
|
|
||||||
<el-table-column prop="isAvailable" label="是否可预约" width="200"></el-table-column>
|
|
||||||
<el-table-column prop="minNumber" label="最小预约人数" width="150"></el-table-column>
|
|
||||||
<el-table-column prop="currentNumber" label="当前预约人数" width="150"></el-table-column>
|
|
||||||
<el-table-column prop="maxNumber" label="最大预约人数" width="150"></el-table-column>
|
|
||||||
|
|
||||||
<el-table-column label="商品当前时间段的预约情况" width="300">
|
|
||||||
<el-table-column label="展开进行查看" type="expand" width="300">
|
|
||||||
<template #default="props">
|
|
||||||
<el-table :data="props.row.pendingServiceOrderVOList" border :row-style="{ height: '50px' }"
|
|
||||||
:cell-style="{ 'text-align': 'center', 'font-size': '14px'}">
|
|
||||||
<el-table-column label="订单明细id" prop="orderItemId" width="200"/>
|
|
||||||
<el-table-column label="订单编号" prop="orderNumber" width="300"></el-table-column>
|
|
||||||
<el-table-column label="联系人姓名" prop="name" width="200"/>
|
|
||||||
<el-table-column label="联系人手机号" prop="phone" width="200" />
|
|
||||||
<el-table-column label="购买数量" prop="quantity" width="200"/>
|
|
||||||
<el-table-column label="预估支付金额" prop="itemTotalAmount" width="200"/>
|
|
||||||
<el-table-column label="订单明细状态" prop="orderItemStatus" width="200"></el-table-column>
|
|
||||||
|
|
||||||
|
|
||||||
<el-table-column label="操作" width="300px" fixed="right">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-button size="small" @click="showDetail(scope.$index, scope.row)">
|
|
||||||
详情
|
|
||||||
</el-button>
|
|
||||||
<el-button :disabled="!['待发货'].includes(scope.row.orderItemStatus)" size="small" @click="refundOrder(scope.row)" type="danger" plain>
|
|
||||||
退款
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
</el-table>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
</el-table>
|
|
||||||
<!-- 分页器 -->
|
|
||||||
<div style="padding: 10px 0">
|
|
||||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
|
||||||
: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"
|
|
||||||
:total="total" />
|
|
||||||
</div>
|
|
||||||
<!-- 弹窗-->
|
|
||||||
<el-dialog title="待处理订单详情信息" v-model="DialogVisible" width="60%">
|
|
||||||
<el-form label-width="100px" size="default" :model="editForm" :disabled="disabled">
|
|
||||||
<div style="display: flex">
|
|
||||||
<el-form-item label="订单明细编号" style="width: 350px">
|
|
||||||
<el-input v-model="editForm.orderItemId" autocomplete="off"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="订单编号" style="width: 350px">
|
|
||||||
<el-input v-model="editForm.orderNumber" autocomplete="off"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="display: flex">
|
|
||||||
<el-form-item label="联系人姓名" style="width: 350px">
|
|
||||||
<el-input v-model="editForm.name" autocomplete="off"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="联系人手机号" style="width: 350px">
|
|
||||||
<el-input v-model="editForm.phone" autocomplete="off"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<el-form-item label="预估支付金额" style="width: 250px">
|
|
||||||
<el-input v-model="editForm.itemTotalAmount" autocomplete="off"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item label="订单明细状态" style="width: 250px">
|
|
||||||
<el-input v-model="editForm.orderItemStatus" autocomplete="off"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<!-- <div style="display: flex">-->
|
|
||||||
<!-- <el-form-item label="下单时间" style="width: 300px;">-->
|
|
||||||
<!-- <el-input v-model="editForm.createTime" autocomplete="off"></el-input>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
<!-- <el-form-item label="更新时间" style="width: 300px;">-->
|
|
||||||
<!-- <el-input v-model="editForm.updateTime" autocomplete="off"></el-input>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</el-form>
|
|
||||||
<template #footer>
|
|
||||||
<div class="dialog-footer">
|
|
||||||
<el-button style="height: 30px;" @click="DialogVisible = false">取消</el-button>
|
|
||||||
<el-button style="height: 30px" type="primary" @click="DialogVisible = false" >确认</el-button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
<!-- 发货弹窗-->
|
|
||||||
<el-dialog title="发货" v-model="shipments" width="60%">
|
|
||||||
<el-form label-width="100px" size="default" >
|
|
||||||
<el-form-item label="快递单号" style="width: 300px;">
|
|
||||||
<el-input v-model="shipment.trackingNumber"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<template #footer>
|
|
||||||
<div class="dialog-footer">
|
|
||||||
<el-button style="height: 30px;" @click=" shipments = false">取消</el-button>
|
|
||||||
<el-button style="height: 30px" type="primary" @click="deliverGoods ">确认</el-button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup>
|
|
||||||
import { onMounted, ref } from "vue";
|
|
||||||
import myAxios from "@/api/myAxios";
|
|
||||||
import { ElMessage } from "element-plus";
|
|
||||||
import { SuccessInfo , ErrorInfo } from "@/utils/messageInfo";
|
|
||||||
import DatePicker from "@/layout/components/DatePicker.vue";
|
|
||||||
import TimePicker from "@/layout/components/TimePicker.vue";
|
|
||||||
import emitter from "@/utils/emitter";
|
|
||||||
import {checkObjectProperties} from "@/layout/js/validUtils";
|
|
||||||
const tableData: any = ref([]); //表单展示数据
|
|
||||||
const total = ref(0);
|
|
||||||
const title = ref('')
|
|
||||||
const disabled = ref(true)
|
|
||||||
const editForm: any = ref({});//编辑表单
|
|
||||||
const shipment:any = ref({
|
|
||||||
trackingNumber: null
|
|
||||||
})//物流单号
|
|
||||||
const DialogVisible = ref(false); //详情展示
|
|
||||||
const shipments = ref(false)
|
|
||||||
|
|
||||||
const goodId = ref('')
|
|
||||||
const reservationDate = ref('')
|
|
||||||
const timeSlot = ref('')
|
|
||||||
const searchParams: any = ref({ //封装分页
|
|
||||||
current: 1, //当前页码
|
|
||||||
pageSize: 5, //每页显示条数
|
|
||||||
sortField: "id", //根据ID分类
|
|
||||||
sortOrder: "descend", //降序
|
|
||||||
goodId: goodId.value,
|
|
||||||
reservationDate: reservationDate.value,
|
|
||||||
timeSlot: timeSlot.value
|
|
||||||
})
|
|
||||||
const loading = ref(false)
|
|
||||||
onMounted(() => {
|
|
||||||
emitter.on('getReservationDate', (val:any) => {
|
|
||||||
reservationDate.value = val
|
|
||||||
searchParams.value.reservationDate = val
|
|
||||||
})
|
|
||||||
emitter.on('getTimeSlot', (val:any) => {
|
|
||||||
timeSlot.value = val
|
|
||||||
searchParams.value.timeSlot = val
|
|
||||||
})
|
|
||||||
getOrderList() //页面加载获取订单列表
|
|
||||||
})
|
|
||||||
const handleSizeChange = (newSize: any) => {
|
|
||||||
searchParams.value.pageSize = newSize //新的页面数
|
|
||||||
getOrderList()
|
|
||||||
}
|
|
||||||
const handleCurrentChange = (Current: any) => {
|
|
||||||
searchParams.value.current = Current
|
|
||||||
getOrderList()
|
|
||||||
}
|
|
||||||
const handleSelectionChange = (row: any) => {
|
|
||||||
// id.value = JSON.parse(JSON.stringify(row));
|
|
||||||
}
|
|
||||||
//获取待处理订单列表
|
|
||||||
const getOrderList = async () => {
|
|
||||||
console.log(searchParams.value)
|
|
||||||
try {
|
|
||||||
searchParams.value.goodId = goodId.value
|
|
||||||
const res = await myAxios.post('pending/list/advance/detail', { ...searchParams.value });
|
|
||||||
if (res.data.code === 1) {
|
|
||||||
tableData.value = res.data.data.records;
|
|
||||||
console.log(tableData.value)
|
|
||||||
tableData.value.forEach((item:any) => {
|
|
||||||
let total = 0;
|
|
||||||
for (var i = 0; i < item.pendingServiceOrderVOList.length; i ++ ) {
|
|
||||||
total += item.pendingServiceOrderVOList[i].quantity;
|
|
||||||
}
|
|
||||||
item.currentNumber = total
|
|
||||||
})
|
|
||||||
console.log('表单信息--->', tableData.value);
|
|
||||||
} else {
|
|
||||||
ElMessage({
|
|
||||||
message: '获取数据失败',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
ElMessage({
|
|
||||||
message: '发生错误',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//查看订单详情
|
|
||||||
const showDetail = (index: number, row: any) => {
|
|
||||||
title.value = "订单详情"
|
|
||||||
DialogVisible.value = true;
|
|
||||||
editForm.value = row;
|
|
||||||
console.log('editForm--->',editForm.value);
|
|
||||||
};
|
|
||||||
//发货方法
|
|
||||||
const currentId = ref<number | null>(null);
|
|
||||||
const openShipmentDialog = (id: number) => {
|
|
||||||
shipments.value = true;
|
|
||||||
currentId.value = id;
|
|
||||||
}
|
|
||||||
const deliverGoods = async () => { //发货方法
|
|
||||||
if (currentId.value) {
|
|
||||||
const res = await myAxios.post('/order/update', {
|
|
||||||
id: currentId.value,
|
|
||||||
trackingNumber: shipment.value.trackingNumber
|
|
||||||
})
|
|
||||||
if (res.data.code === 1) {
|
|
||||||
ElMessage({
|
|
||||||
type: 'success',
|
|
||||||
message: '发货成功'
|
|
||||||
})
|
|
||||||
getOrderList();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ElMessage.error('更新失败,请检查字段')
|
|
||||||
}
|
|
||||||
shipments.value = false;
|
|
||||||
}
|
|
||||||
const refundOrder = async (row : any) => { //微信退款
|
|
||||||
loading.value = true
|
|
||||||
console.log('row-->',row)
|
|
||||||
const res = await myAxios.post('/wechat/refund/create', { id: row.orderItemId }) //传入订单号取消订单并退款
|
|
||||||
console.log(res)
|
|
||||||
setTimeout(()=>{
|
|
||||||
if(res.data.code === 1) {
|
|
||||||
SuccessInfo('退款成功')
|
|
||||||
getOrderList()
|
|
||||||
loading.value = false
|
|
||||||
}
|
|
||||||
},10000)
|
|
||||||
}
|
|
||||||
const reset = () => { //重置搜索框
|
|
||||||
goodId.value = ''
|
|
||||||
reservationDate.value = ''
|
|
||||||
timeSlot.value = ''
|
|
||||||
|
|
||||||
searchParams.value.goodId = ''
|
|
||||||
searchParams.value.reservationDate = ''
|
|
||||||
searchParams.value.timeSlot = ''
|
|
||||||
|
|
||||||
emitter.emit('clearReservationDate')
|
|
||||||
emitter.emit('clearTimeSlot')
|
|
||||||
getOrderList()
|
|
||||||
};
|
|
||||||
const load = () => {
|
|
||||||
getOrderList()
|
|
||||||
} //搜索的方法
|
|
||||||
const cancelOrder = async (row:any)=>{ //取消订单的方法(未支付能取消)
|
|
||||||
console.log('点击的这一行--->',row);
|
|
||||||
const res = await myAxios.post('/order/cancel/id',{ id: row.id })
|
|
||||||
if(res.data.code === 1) {
|
|
||||||
getOrderList()
|
|
||||||
SuccessInfo('取消订单成功')
|
|
||||||
} else {
|
|
||||||
ErrorInfo('请求错误')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
/* 使用 ::v-deep 来修改表头的对齐方式 */
|
|
||||||
::v-deep .el-table__header th {
|
|
||||||
text-align: center; /* 表头居中 */
|
|
||||||
font-size: 14px; /* 设置字体大小 */
|
|
||||||
font-weight: bold; /* 设置字体加粗 */
|
|
||||||
font-family: 'Arial', sans-serif; /* 设置字体 */
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -1,18 +1,21 @@
|
||||||
<template>
|
<template>
|
||||||
<el-form ref="resetFormData" :model="form" label-width="auto" style="width: 750px" size="large">
|
<el-form ref="resetFormData" :model="form" label-width="auto" style="width: 750px" size="large">
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-form :model="form" label-width="auto" style="max-width: 600px">
|
<el-form :model="form" label-width="auto" style="max-width: 600px" size="large">
|
||||||
<el-form-item label="优惠券名称">
|
<el-form-item label="优惠券名称">
|
||||||
<el-input v-model="form.name" />
|
<el-input v-model="form.name" style="width: 200px"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="兑换积分">
|
<el-form-item label="兑换积分" prop="price">
|
||||||
<el-input v-model="form.requirePoints" />
|
<el-input-number v-model="form.requirePoints" min="0" :step="1" />
|
||||||
|
<el-text class="mx-1" size="large">积分</el-text>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="满(元)">
|
<el-form-item label="满减价格" prop="standardAmount">
|
||||||
<el-input v-model="form.standardAmount" />
|
<el-input-number v-model="form.standardAmount" min="0.01" :precision="2" :step="1" />
|
||||||
|
<el-text class="mx-1" size="large">元</el-text>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="减(元)">
|
<el-form-item label="优惠价格" prop="conditionAmount">
|
||||||
<el-input v-model="form.conditionAmount" />
|
<el-input-number v-model="form.conditionAmount" min="0.01" :precision="2" :step="1" />
|
||||||
|
<el-text class="mx-1" size="large">元</el-text>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="截至日期">
|
<el-form-item label="截至日期">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
@ -24,10 +27,10 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="简介">
|
<el-form-item label="简介">
|
||||||
<el-input v-model="form.content" type="textarea" />
|
<el-input v-model="form.content" type="textarea" maxlength="20" :rows="2"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="使用说明">
|
<el-form-item label="使用说明">
|
||||||
<el-input v-model="form.description" type="textarea" />
|
<el-input v-model="form.description" type="textarea" maxlength="100" :rows="4"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="AddCoupon">提交</el-button>
|
<el-button type="primary" @click="AddCoupon">提交</el-button>
|
||||||
|
@ -80,3 +83,9 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
|
@ -22,14 +22,13 @@
|
||||||
: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="name" label="优惠券名称"></el-table-column>
|
<el-table-column prop="name" label="优惠券名称"></el-table-column>
|
||||||
<el-table-column prop="standardAmount" label="满"></el-table-column>
|
<el-table-column prop="content" label="简介"></el-table-column>
|
||||||
<el-table-column prop="conditionAmount" label="减"></el-table-column>
|
<el-table-column prop="standardAmount" label="满减价格"></el-table-column>
|
||||||
|
<el-table-column prop="conditionAmount" label="优惠价格"></el-table-column>
|
||||||
<el-table-column prop="requirePoints" label="兑换积分"></el-table-column>
|
<el-table-column prop="requirePoints" label="兑换积分"></el-table-column>
|
||||||
<el-table-column prop="endTime" label="截止时间"></el-table-column>
|
<el-table-column prop="endTime" label="截止时间"></el-table-column>
|
||||||
<el-table-column prop="content" label="简介"></el-table-column>
|
<el-table-column prop="status" label="状态"></el-table-column>
|
||||||
<el-table-column prop="description" label="使用说明"></el-table-column>
|
|
||||||
<el-table-column label="操作" width="200px" >
|
<el-table-column label="操作" width="200px" >
|
||||||
<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)">
|
||||||
|
@ -59,27 +58,43 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- 详情,编辑-->
|
<!-- 详情,编辑-->
|
||||||
<el-dialog v-model="DialogVisible" :title="title">
|
<el-dialog v-model="DialogVisible" :title="title">
|
||||||
<el-form label-width="100px" :disabled="disabled">
|
<el-form label-width="100px" :disabled="disabled" size="large">
|
||||||
<!-- <el-form-item label="优惠券编号">-->
|
<el-form-item label="优惠券名称" style="width: 400px">
|
||||||
<!-- <el-input v-model="editForm.id" disabled></el-input>-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
<el-form-item label="优惠券名称">
|
|
||||||
<el-input v-model="editForm.name"></el-input>
|
<el-input v-model="editForm.name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="满减金额">
|
|
||||||
<el-input v-model="editForm.conditionAmount"></el-input>
|
<el-form-item label="简介" style="width: 400px">
|
||||||
|
<el-input v-model="editForm.content" type="textarea" maxlength="20" :rows="2"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="满减价格">
|
||||||
|
<el-input-number v-model="editForm.standardAmount" min="0.01" :precision="2" :step="1" />
|
||||||
|
<el-text class="mx-1" size="large">元</el-text>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="优惠价格">
|
||||||
|
<el-input-number v-model="editForm.conditionAmount" min="0.01" :precision="2" :step="1" />
|
||||||
|
<el-text class="mx-1" size="large">元</el-text>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="兑换积分">
|
<el-form-item label="兑换积分">
|
||||||
<el-input v-model="editForm.requirePoints"></el-input>
|
<el-input-number v-model="editForm.requirePoints" min="0" :step="1" />
|
||||||
</el-form-item>
|
<el-text class="mx-1" size="large">积分</el-text>
|
||||||
<el-form-item label="简介">
|
|
||||||
<el-input v-model="editForm.content"></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
<el-form-item label="截至日期">
|
<el-form-item label="截至日期">
|
||||||
<el-input v-model="editForm.endTime"></el-input>
|
<el-date-picker
|
||||||
|
v-model="editForm.endTime"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="Pick a Date"
|
||||||
|
format="YYYY-MM-DD hh:mm:ss"
|
||||||
|
value-format="YYYY-MM-DD hh:mm:ss"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="使用说明">
|
|
||||||
<el-input v-model="editForm.description"></el-input>
|
<el-form-item label="使用说明" style="width: 600px">
|
||||||
|
<el-input v-model="editForm.description" type="textarea" maxlength="100" :rows="4"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user