From 564de084a48ff56d301ffbce1821b7a3c81bd201 Mon Sep 17 00:00:00 2001
From: qingyu <14049064+qingyuya123@user.noreply.gitee.com>
Date: Sat, 28 Jun 2025 10:52:56 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=A7=E5=93=81=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E5=86=85=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/GxUpload/index.vue | 27 +++--
src/components/index.js | 2 +
src/views/dynamic/videoCenter/index.vue | 2 +-
src/views/product/components/EditDialog.vue | 103 ++++++++++---------
src/views/product/index.vue | 12 ++-
src/views/websiteRelated/contactUs/index.vue | 1 +
6 files changed, 85 insertions(+), 62 deletions(-)
diff --git a/src/components/GxUpload/index.vue b/src/components/GxUpload/index.vue
index 5802c81..ea55093 100644
--- a/src/components/GxUpload/index.vue
+++ b/src/components/GxUpload/index.vue
@@ -2,14 +2,14 @@
-
+
-
-
+
+
@@ -25,7 +25,7 @@ import apis from '@/apis'
defineOptions({
name: 'GxUpload',
})
-const fileType=ref('img')
+const fileType = ref('img')
const previewVisible = ref(false)
const previewImage = ref('')
const props = defineProps({
@@ -38,7 +38,7 @@ const props = defineProps({
disabled: { type: Boolean, default: false },
uploadText: { type: String },
fileNumber: { type: Number, default: 6 },
- width: {
+ width: {
type: Number,
default: 120,
},
@@ -90,10 +90,10 @@ const getBase64 = (file) => {
}
const handlePreview = async (file) => {
console.log(file.name)
- const list=['.avi','.mp4','.mov','.wmv','.mkv','.m4v']
- const fileSuffix=file.name.substring(file.name.lastIndexOf('.'))
- if(list.includes(fileSuffix)){
- fileType.value='video'
+ const list = ['.avi', '.mp4', '.mov', '.wmv', '.mkv', '.m4v']
+ const fileSuffix = file.name.substring(file.name.lastIndexOf('.'))
+ if (list.includes(fileSuffix)) {
+ fileType.value = 'video'
}
if (!file.url && !file.preview) {
file.preview = await getBase64(file.originFileObj)
@@ -106,6 +106,9 @@ const handlePreview = async (file) => {
// 修改handleChange方法
const handleChange = ({ file, fileList: updatedList }) => {
+ console.log(111)
+ console.log(file.status)
+ console.log(updatedList)
// 处理上传成功的情况
if (file.status === 'done') {
const response = file.response;
@@ -123,6 +126,12 @@ const handleChange = ({ file, fileList: updatedList }) => {
.map(item => item.url);
emit('update:modelValue', urls);
}
+ } else if (file.status === 'removed') {
+ // 更新外部绑定值
+ const urls = updatedList
+ .filter(item => item.status === 'done')
+ .map(item => item.url);
+ emit('update:modelValue', urls);
} else if (file.status === 'error') {
message.error(`${file.name} 上传失败`);
}
diff --git a/src/components/index.js b/src/components/index.js
index 317c539..2413506 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -20,6 +20,7 @@ import UploadVideo from './Upload/UploadVideo.vue'
import UploadInput from './Upload/UploadInput.vue'
import Scrollbar from './Scrollbar/Scrollbar.vue'
import Cascader from './Cascader/Cascader.vue'
+import GxUpload from './GxUpload/index.vue'
import { setupLoadingDirective } from './Loading/directive'
const componentList = [
@@ -43,6 +44,7 @@ const componentList = [
UploadInput,
Scrollbar,
Cascader,
+ GxUpload,
]
export const loading = Loading
diff --git a/src/views/dynamic/videoCenter/index.vue b/src/views/dynamic/videoCenter/index.vue
index 3c102a3..cd15287 100644
--- a/src/views/dynamic/videoCenter/index.vue
+++ b/src/views/dynamic/videoCenter/index.vue
@@ -262,7 +262,7 @@ const handlePreview = (videoUrl) => {
ElMessage.error('视频地址无效')
return
}
- currentVideoUrl.value = videoUrl
+ currentVideoUrl.value = config('http.apiBasic') + videoUrl
dialogVisible.value = true
}
diff --git a/src/views/product/components/EditDialog.vue b/src/views/product/components/EditDialog.vue
index 22f89cd..d77387d 100644
--- a/src/views/product/components/EditDialog.vue
+++ b/src/views/product/components/EditDialog.vue
@@ -6,12 +6,18 @@
-
-
+
+
+
+
+
+
+
+
{{ item.categoryIDName }}
@@ -22,34 +28,40 @@
-
+
-
-
- {{ item.targetName }}
-
-
新增适用对象
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
-
- imgChange(index, value)" />
- 删除
-
-
-
- 新增产品图片
-
-
+
+
+
+
@@ -171,10 +178,12 @@ const areaList = ref([])
const childOpen = ref(false)
const formArea = ref({ name: '', status: 'enabled' })
formRules.value = {
- title: { required: true, message: '请输入产品名称' },
+ title: { required: true, message: '请输入产品类别名称' },
+ code: { required: true, message: '请输入产品名称' },
categoryID: { required: true, message: '请选择产品类别', trigger: 'change' },
compose: { required: true, message: '请选择产品适用对象', trigger: 'change' },
- feature: [{ required: true, message: '请输入产品功能特点' }],
+ feature: { required: true, message: '请输入产品功能特点', trigger: 'change' },
+ // feature: [{ required: true, message: '请输入产品功能特点' }],
standard: [{ required: true, message: '请输入产品标准' }],
images: [{ required: true, message: '请上传产品图片' }],
sequence: [{ required: true, message: '请输入产品排序' }],
@@ -182,7 +191,7 @@ formRules.value = {
}
const areaFormRules = {
categoryIDName: [{ required: true, message: '请输入产品类别' }],
- targetName: [{ required: true, message: '请输入产品适用对象' }],
+ // targetName: [{ required: true, message: '请输入产品适用对象' }],
status: [{ required: true, message: '请选择状态', trigger: 'change' }],
}
const initDataBatch = async (configs) => {
@@ -218,11 +227,11 @@ initDataBatch([
nameKey: 'name',
resultKey: 'categoryIDName'
},
- {
- apiFunc: apis.products.getProductObj,
- nameKey: 'name',
- resultKey: 'targetName'
- }
+ // {
+ // apiFunc: apis.products.getProductObj,
+ // nameKey: 'name',
+ // resultKey: 'targetName'
+ // }
])
/**
@@ -295,7 +304,11 @@ async function handleEdit(record = {}) {
hideModal()
return
}
- formData.value = { ...data }
+ formData.value = {
+ ...data,
+ standard:data.standard||[{ label: '', value: '' }],
+ images:data.images || ['']
+ }
imgUrl.value = config('http.apiBasic') + data.img
}
@@ -303,14 +316,15 @@ async function handleEdit(record = {}) {
* 确定
*/
function handleOk() {
+ console.log(formData.value)
formRef.value.validateFields().then(async (values) => {
try {
showLoading()
const params = {
...values,
- img: formData.value.img,
- pushAt: dayjs().format('YYYY-MM-DD'),
- type: 'news'
+ sequence:'1',
+ standard:formData.value.standard||[{ label: '', value: '' }],
+
}
let result = null
switch (modal.value.type) {
@@ -374,16 +388,7 @@ function removeStandard(index) {
formData.value.standard.splice(index, 1)
}
}
-// 添加图片
-function addImage() {
- formData.value.images.push('')
-}
-// 删除图片
-function removeImage(index) {
- if (formData.value.images.length > 1) {
- formData.value.images.splice(index, 1)
- }
-}
+