增加订单反馈

This commit is contained in:
walker
2026-02-06 15:38:01 +08:00
parent be2a7ac33c
commit 74b05adf7c
4 changed files with 62 additions and 8 deletions
+3
View File
@@ -8,3 +8,6 @@ export const getOrderDetail = (id) => service.get(`/api/admin/order/${id}`);
// 反馈
export const postFeedback = (id, data) => service.post(`/api/admin/order-done/${id}`, data);
// 上传图片
export const uploadImage = (data) => service.post("/admin/api/upload", data);
+2 -1
View File
@@ -60,7 +60,7 @@ export default {
mescrollInit(mescroll) {
this.mescroll = mescroll;
},
upCallback(page, mescroll) {
upCallback(page) {
console.log("load", page);
this.pagination.page = page.num;
this.getOrderList();
@@ -81,6 +81,7 @@ export default {
name: "adminOrderProcess",
query: {
id: item.id,
name: item.goods_name,
},
});
},
+56 -6
View File
@@ -1,16 +1,17 @@
<template>
<van-form>
<van-field name="uploader" label="善缘名称">
<van-form @submit="onSubmit">
<van-field name="name" label="善缘名称">
<template #input>
<span>添砖加瓦!寺院全殿堂瓦片认供通启</span>
<span>{{ $route.query.name }}</span>
</template>
</van-field>
<van-field name="uploader" label="反馈照片">
<van-field name="feedback_pictures" label="反馈照片">
<template #input>
<van-uploader preview-size="76px" multiple v-model="uploader" :max-count="5" />
<van-uploader preview-size="76px" accept="image/*" multiple v-model="form.feedback_pictures" :max-count="5" :after-read="afterRead" />
</template>
<span style="font-size: 0.2rem; color: #999">最多5张</span>
</van-field>
<van-field name="feedback_content" label="反馈内容" v-model="form.feedback_content"> </van-field>
<div style="margin: 16px">
<van-button round block type="info" native-type="submit">提交</van-button>
</div>
@@ -18,11 +19,60 @@
</template>
<script>
import { uploadImage, postFeedback } from "@/api/admin";
export default {
data() {
return {
uploader: [{ url: "https://img01.yzcdn.cn/vant/leaf.jpg" }],
form: {
feedback_pictures: [],
feedback_content: "",
},
};
},
methods: {
afterRead(file) {
console.log("file", file);
const files = Array.isArray(file) ? file : [file];
for (const item of files) {
item.status = "uploading";
item.message = "上传中...";
const formData = new FormData();
formData.append("photo", item.file);
uploadImage(formData)
.then((res) => {
console.log("res", res);
item.status = "success";
item.message = "上传成功";
item.url = res.url;
})
.catch((err) => {
console.log("err", err);
item.status = "error";
item.message = "上传失败";
});
}
},
onSubmit(values) {
if (values.feedback_pictures.some((item) => item.status == "uploading")) {
this.$toast("还有照片正在上传,请稍后");
return;
}
postFeedback(this.$route.query.id, {
feedback_content: values.feedback_content,
feedback_pictures: values.feedback_pictures.map((item) => item.url),
})
.then((res) => {
console.log("res", res);
this.$toast("反馈成功");
this.$router.replace({
name: "adminOrder",
});
})
.catch((err) => {
console.log("err", err);
this.$toast("反馈失败");
});
},
},
};
</script>
+1 -1
View File
@@ -229,7 +229,7 @@ const routes = [
component: { render: (h) => h("router-view") },
children: [
{
path: "order",
path: "orders",
name: "adminOrder",
meta: { title: "订单列表", navBarBackgroundColor: "white", showNavBar: false },
component: () => import("@/pages/admin/order/index.vue"),