diff --git a/src/layout/components/Aside.vue b/src/layout/components/Aside.vue index 7fc7a77..fc5010a 100644 --- a/src/layout/components/Aside.vue +++ b/src/layout/components/Aside.vue @@ -100,6 +100,28 @@ 实体商品订单列表 + + + + + 服装等级管理 + + + + 服装详情 + + + + 添加服装 + + + + 预约订单 + + diff --git a/src/router/routes.ts b/src/router/routes.ts index 693c738..713135f 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -63,12 +63,32 @@ export const routes = [ { path: '/AddServiceProduct', name: '添加服务类商品', - componet: ()=> import("../views/ServiceType/AddServiceProduct.vue") + component: ()=> import("../views/ServiceType/AddServiceProduct.vue") }, { path: '/ProductCenter', name: '服务类商品管理中心', - componet: ()=> import("../views/ServiceType/ProductCenter.vue") + component: ()=> import("../views/ServiceType/ProductCenter.vue") + }, + { + path: '/ClothingGrade', + name: '服装等级管理', + component: ()=> import("../views/CostumeAppointments/ClothingGrade.vue") + }, + { + path: '/CostumeDetails', + name: '服装详情管理', + component: ()=> import("../views/CostumeAppointments/CostumeDetails.vue") + }, + { + path: '/AppointmentOrder', + name: '写真预约订单管理', + component: ()=> import("../views/CostumeAppointments/AppointmentOrder.vue") + }, + { + path: '/AddCostumes', + name: '添加服装', + component: ()=> import("../views/CostumeAppointments/AddCostumes.vue") } ] }, diff --git a/src/views/Commodity/MerchandiseCenter.vue b/src/views/Commodity/MerchandiseCenter.vue index bde4151..dc48fb5 100644 --- a/src/views/Commodity/MerchandiseCenter.vue +++ b/src/views/Commodity/MerchandiseCenter.vue @@ -274,10 +274,6 @@ const deleteProduct = async (index: number) => { getTypeList() } //选中发生的方法--->将其赋值给批量删除的数组 -const handleSelectionChange = (row: any) => { - idList.value = row.map((item : any)=>item.id) - // console.log('id->',productId.value); -}; //详情或编辑 const ReviseOrView = (index: number, row: any , flag : number) => { //flag值不同显示不同内容 disabled开启和关闭 diff --git a/src/views/CostumeAppointments/AddCostumes.vue b/src/views/CostumeAppointments/AddCostumes.vue new file mode 100644 index 0000000..893ee2e --- /dev/null +++ b/src/views/CostumeAppointments/AddCostumes.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/src/views/CostumeAppointments/AppointmentOrder.vue b/src/views/CostumeAppointments/AppointmentOrder.vue new file mode 100644 index 0000000..435952e --- /dev/null +++ b/src/views/CostumeAppointments/AppointmentOrder.vue @@ -0,0 +1,185 @@ + + + + + \ No newline at end of file diff --git a/src/views/CostumeAppointments/ClothingGrade.vue b/src/views/CostumeAppointments/ClothingGrade.vue new file mode 100644 index 0000000..5d062f3 --- /dev/null +++ b/src/views/CostumeAppointments/ClothingGrade.vue @@ -0,0 +1,223 @@ + + + + + \ No newline at end of file diff --git a/src/views/CostumeAppointments/CostumeDetails.vue b/src/views/CostumeAppointments/CostumeDetails.vue new file mode 100644 index 0000000..42dab5b --- /dev/null +++ b/src/views/CostumeAppointments/CostumeDetails.vue @@ -0,0 +1,276 @@ + + + + + \ No newline at end of file diff --git a/src/views/Coupons/AddCoupons.vue b/src/views/Coupons/AddCoupons.vue index 186804a..099fd10 100644 --- a/src/views/Coupons/AddCoupons.vue +++ b/src/views/Coupons/AddCoupons.vue @@ -94,7 +94,7 @@ const AddCoupon = async () => { }); return; } - const res = await myAxios.post('/coupon/add', {...form.value }); + const res = await myAxios.post('/coupon/add ', {...form.value }); if (res.data.code === 1) { ElMessage({ type: 'success', diff --git a/src/views/Coupons/CouponCenter.vue b/src/views/Coupons/CouponCenter.vue index b318514..2dcf9fb 100644 --- a/src/views/Coupons/CouponCenter.vue +++ b/src/views/Coupons/CouponCenter.vue @@ -81,7 +81,7 @@ list-type="picture-card" :auto-upload="false" multiple="true" - :on-remove="handleRemove" + :on-remove=" handleRemove" @change="(event: any) => handleChange(event, 0)" limit="1" > @@ -135,10 +135,8 @@ onMounted(() => { getCouponsList() }) -const handleSelectionChange = (row: any) => { - // id.value = JSON.parse(JSON.stringify(row)); -} const DialogVisible = ref(false) +const idList = ref([]) const total = ref(0) const tableData : any= ref([]) const Couponsname = ref('') @@ -166,16 +164,33 @@ const handleCurrentChange = (Current: any) => { searchParams.value.current = Current getCouponsList() } -const delBatch =()=>{ - //批量删除 +const handleSelectionChange = (row: any) => { + idList.value = row.map((item : any)=>item.id) +} +//批量删除 +const delBatch = async ()=>{ + const res = await myAxios.post('/coupon/delete', { + id:idList.value + }) + if (res.data.code === 1) { + ElMessage({ + type:'success', + message:"批量删除成功" + }) + getCouponsList() + }else { + ElMessage.error('删除失败') + } } //重置搜索 const reset = () => { Couponsname.value = ''; } //搜索 -const load =()=>{ - +const load =(data:String)=>{ + searchParams.value.name = data + searchParams.value.content = 1 + getCouponsList() } const saveEdit = async () => { //编辑商品 const res = await myAxios.post('/coupon/update',{...editForm.value}) @@ -215,7 +230,7 @@ const getCouponsList = async ()=> { } } const handleChange = async (file: any, flag: number) => { - fileSimple.value = file + fileSimple.value = filen let formData = new FormData() //这一步很重要 创建一个FormData对象 formData.append("file", fileSimple.value.raw) //fileSimple.value.raw 才是文件主体 将其以文件的格式插入formData const res = await myAxios({ //编写请求,与以前的请求不同,这一次要指定好头部类型和文件类型