From 19826cd8f68d27c51bac746e8d43ce79d6fbccd5 Mon Sep 17 00:00:00 2001 From: Linzm <1015157648@qq.com> Date: Tue, 12 Aug 2025 14:24:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=86=B0=E7=AE=B1=E8=B4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/views/badge/index.vue | 42 +++++++++++++++++++++++---------- src/views/badge/orderDetail.vue | 4 +++- src/views/badge/preview.vue | 33 ++++++++++++++++---------- 4 files changed, 55 insertions(+), 26 deletions(-) diff --git a/.env.development b/.env.development index ff634ef..79adbd8 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ VITE_APP_PREVIEW=true -# VITE_APP_API_BASE_URL=http://172.16.0.47:8166/web/ +# VITE_APP_API_BASE_URL=http://172.16.20.21:8166/web/ # VITE_APP_API_BASE_URL=https://wechat-test.api.puabadge.com/web/ VITE_APP_API_BASE_URL=https://wechat.api.puabadge.com/web/ # VITE_APP_API_WX_URL=https://wechat.api.puabadge.com/web/ diff --git a/src/views/badge/index.vue b/src/views/badge/index.vue index a1779aa..83bf285 100644 --- a/src/views/badge/index.vue +++ b/src/views/badge/index.vue @@ -15,12 +15,15 @@
产品类型
-
+
{{ prodId == 7 ? '人物立体徽章' : '宠物立体徽章'}}
-
+
{{ prodId == 7 ? '人物浮雕相框' : '宠物浮雕相框'}}
+
+ {{ prodId == 7 ? '人物冰箱贴' : '宠物冰箱贴'}} +
@@ -108,12 +111,12 @@
-
+
-
+
人物主体
-
+
宠物主体
@@ -250,7 +253,7 @@ const option = ref({ canScale: true, autoCropWidth: 1024, autoCropHeight: 1024, - ceilbutton: false, + ceilbutton: true, infoTrue: true, fixed: false, fixedNumber: [3, 4], @@ -287,8 +290,8 @@ const openApp = () => { option.value.ceilbutton = false options.value.ceilbutton = false } else { - option.value.ceilbutton = false - options.value.ceilbutton = false + option.value.ceilbutton = true + options.value.ceilbutton = true } } const imgurl = ref('') @@ -324,15 +327,26 @@ const getSizeList = () => { const orderStat = ref({}) const prodId = ref(7) const prop = ref('') +const typeId = ref(0) const getOrderStat = () => { badgeApi.getOrderStat({}).then((res: any) => { orderStat.value = res - prodId.value = res.prod_id + prodId.value = res.type_id == 3 ? 8 : res.prod_id prop.value = res.prop + typeId.value = res.type_id getSundryList() }) } +const prodChange = (id: number) => { + if (typeId.value == 3) { + showToast('人物3D冰箱贴暂未开放') + return + } + prodId.value = id + picture.value = null +} + const isLoading = ref(false) // 生成图片 @@ -530,6 +544,7 @@ const getPid = async () => { const params = { prod_id: prodId.value, extend_value: -1, + type_id: typeId.value } try { const res = await badgeApi.getPid(params) as any @@ -590,7 +605,8 @@ const sendToOss = async (src: string, url: string) => { pid: pid.value, group: 1, prod_id: prodId.value, - extend_value: -1 + extend_value: -1, + type_id: typeId.value } badgeApi.putModeling(params).then((res: any) => { console.log('putModeling', res) @@ -617,7 +633,8 @@ const createLog = () => { const params = { pid: pid.value, group: 1, - prod_id: prodId.value + prod_id: prodId.value, + type_id: typeId.value } badgeApi.createLog(params).then((res: any) => { console.log('createLog', res) @@ -633,7 +650,8 @@ const createLog = () => { query: { pid: pid.value, group: 1, - prod_id: prodId.value + prod_id: prodId.value, + type_id: typeId.value }, }) }, 1000); diff --git a/src/views/badge/orderDetail.vue b/src/views/badge/orderDetail.vue index 8cb84d6..f015b62 100644 --- a/src/views/badge/orderDetail.vue +++ b/src/views/badge/orderDetail.vue @@ -41,7 +41,9 @@
产品名称 - 立体徽章 + {{ order.prod_id == 7 ? '人物立体徽章' : '宠物立体徽章' }} + {{ order.prod_id == 7 ? '人物浮雕相框' : '宠物浮雕相框' }} + {{ order.prod_id == 7 ? '人物冰箱贴' : '宠物冰箱贴' }}
尺寸 diff --git a/src/views/badge/preview.vue b/src/views/badge/preview.vue index 52e464e..84b2db6 100644 --- a/src/views/badge/preview.vue +++ b/src/views/badge/preview.vue @@ -50,8 +50,9 @@
-
{{ prodId == 7 ? '人物立体徽章' : '宠物立体徽章' }}
-
{{ prodId == 7 ? '人物浮雕相框' : '宠物浮雕相框' }}
+
{{ prodId == 7 ? '人物立体徽章' : '宠物立体徽章' }}
+
{{ prodId == 7 ? '人物浮雕相框' : '宠物浮雕相框' }}
+
{{ prodId == 7 ? '人物3D冰箱贴' : '宠物3D冰箱贴' }}
产品类型
@@ -64,10 +65,10 @@
- -
+
+
{{item.name}}
+
+
@@ -204,7 +205,8 @@ function sureReload() { const params = { pid: pid.value, group: group.value, - prod_id: prodId.value + prod_id: prodId.value, + type_id: typeId.value } badgeApi.putModeling(params).then((res: any) => { console.log('putModeling', res) @@ -272,7 +274,8 @@ function getCompareImage() { badgeApi.getCompareImage({ pid: pid.value, group: group.value, - prod_id: prodId.value + prod_id: prodId.value, + type_id: typeId.value }).then((res: any) => { console.log('getCompareImage', res) compareList.value = res @@ -361,10 +364,14 @@ const loading = ref(false) const confirm = () => { if (loading.value) return console.log('confirm') - // if (payAmount.value <= 0) { - // showToast('请先选择下单数量') - // return - // } + if (payAmount.value <= 0) { + showToast('请先选择下单数量') + return + } + if (typeId.value == 2 && (shapeText.value == '' || !shapeText.value.trim())) { + showToast('请输入自定义文本') + return + } if (orderStat.value.use_type == 2 && !contact_name.value) { showToast('请先填写收货人信息') return @@ -739,10 +746,12 @@ const getTrialCode = () => { } const orderStat = ref({}) +const typeId = ref(0) const getOrderStat = () => { badgeApi.getOrderStat({}).then((res: any) => { console.log('getOrderStat', res) orderStat.value = res + typeId.value = res.type_id getSizeList() }) } From 88d9740d87fea127d24b028ed80e842264152cdf Mon Sep 17 00:00:00 2001 From: Linzm <1015157648@qq.com> Date: Sun, 17 Aug 2025 09:59:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/badge/preview.vue | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/views/badge/preview.vue b/src/views/badge/preview.vue index 84b2db6..fcb992b 100644 --- a/src/views/badge/preview.vue +++ b/src/views/badge/preview.vue @@ -232,9 +232,11 @@ function sureReload() { } const imgKey = ref(101) +const frameUrl = ref('') const changeImage = (item: any) => { imgKey.value = item.key imageUrl.value = item.origin_url + frameUrl.value = item.frame_url imageWater.value = item.url } @@ -462,6 +464,7 @@ const getPosition = () => { } const imageUrl = ref('') +const originUrl = ref('') const group = ref(1); // 轮询获取图片 const flag = ref(1) @@ -517,7 +520,9 @@ const getImageList = () => { // 如果有已生成的图片且还未设置预览图,则显示第一个生成的图片 if (firstGeneratedImage && !isPreview.value) { + originUrl.value = firstGeneratedImage.origin_url imageUrl.value = firstGeneratedImage.origin_url + frameUrl.value = firstGeneratedImage.frame_url imageWater.value = firstGeneratedImage.url imgKey.value = firstGeneratedImage.key isPreview.value = true @@ -545,11 +550,15 @@ const getImageList = () => { const currentImage = mergedList.filter((item: any) => item.key === imgKey.value)[0] console.log('currentImage', currentImage) if (currentImage && currentImage.status === 1) { + originUrl.value = currentImage.origin_url imageUrl.value = currentImage.origin_url + frameUrl.value = currentImage.frame_url imageWater.value = currentImage.url isPreview.value = true } else { + originUrl.value = currentImage.origin_url imageUrl.value = currentImage.origin_url + frameUrl.value = currentImage.frame_url imageWater.value = currentImage.url isPreview.value = true } @@ -568,10 +577,14 @@ const getImageList = () => { // 显示图片 imageList.value = data.list if (imgKey.value) { + originUrl.value = data.list.filter((item: any) => item.key == imgKey.value)[0].origin_url imageUrl.value = data.list.filter((item: any) => item.key == imgKey.value)[0].origin_url + frameUrl.value = data.list.filter((item: any) => item.key == imgKey.value)[0].frame_url imageWater.value = data.list.filter((item: any) => item.key == imgKey.value)[0].url } else { + originUrl.value = data.list[0].origin_url imageUrl.value = data.list[0].origin_url + frameUrl.value = data.list[0].frame_url imageWater.value = data.list[0].url imgKey.value = data.list[0].key } @@ -605,12 +618,12 @@ const getImageList = () => { // }) // } -const shapeId = ref(1) +const shapeId = ref(0) const shapeImage = ref('') const shapeList = ref([]) const custom_switch = ref(0) -const limitCount = ref(10) +const limitCount = ref(0) const getShapeList = () => { badgeApi.getShapeList({ prod_id: prodId.value, @@ -729,6 +742,9 @@ const shapeChange = (item: any) => { shapeImage.value = item.frame_path custom_switch.value = item.custom_switch limitCount.value = item.text_limit_max + if (typeId.value == 3) { + imageUrl.value = item.name == '无边框' ? originUrl.value : frameUrl.value + } ImageShow(item) if (custom_switch.value == 1) { textShow(item)