|
|
@@ -114,10 +114,13 @@
|
|
|
|
|
|
<!-- 上传图片方式 -->
|
|
|
<el-form-item label="活动图片类型" prop="uploadImgType">
|
|
|
- <el-radio-group v-model="activityModel.uploadImgType">
|
|
|
+ <el-radio-group v-model="activityModel.uploadImgType" :disabled="type !== 'add'">
|
|
|
<el-radio :label="1"> 本地上传 </el-radio>
|
|
|
<el-radio :label="2"> AI生成 </el-radio>
|
|
|
</el-radio-group>
|
|
|
+ <div v-if="type !== 'add'" style=" margin-top: 4px;font-size: 12px; color: #909399">
|
|
|
+ 编辑模式下固定为"本地上传",以便编辑图片
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- 图片描述(当选择使用描述时显示) -->
|
|
|
@@ -1189,48 +1192,42 @@ onMounted(async () => {
|
|
|
activityModel.value.participationLimit = "";
|
|
|
}
|
|
|
}
|
|
|
- // 加载上传图片方式
|
|
|
- if (res.data.uploadImgType !== undefined) {
|
|
|
- activityModel.value.uploadImgType = res.data.uploadImgType;
|
|
|
- } else {
|
|
|
- activityModel.value.uploadImgType = 1; // 默认为正常用户
|
|
|
- }
|
|
|
- // 加载图片描述
|
|
|
+ // 编辑模式:默认使用本地上传模式(uploadImgType=1),以便编辑图片和banner图
|
|
|
+ activityModel.value.uploadImgType = 1; // 编辑时固定为1-本地上传
|
|
|
+ // 加载图片描述(保留原始数据,但不影响显示)
|
|
|
if (res.data.imgDescribe) {
|
|
|
activityModel.value.imgDescribe = res.data.imgDescribe;
|
|
|
} else {
|
|
|
activityModel.value.imgDescribe = "";
|
|
|
}
|
|
|
- // 根据上传图片方式决定是否加载图片数据
|
|
|
- if (activityModel.value.uploadImgType === 1) {
|
|
|
- // 如果有标题图片,添加到文件列表
|
|
|
- if (res.data.activityTitleImgUrl) {
|
|
|
- const titleImgUrl = res.data.activityTitleImgUrl;
|
|
|
- if (titleImgUrl) {
|
|
|
- titleImageUrl.value = titleImgUrl;
|
|
|
- activityModel.value.activityTitleImg = res.data.activityTitleImgUrl;
|
|
|
- activityModel.value.activityTitleImage = titleImgUrl;
|
|
|
- const titleFile = handleImageParam(titleImgUrl);
|
|
|
- titleFileList.value = [titleFile];
|
|
|
- }
|
|
|
+ // 编辑模式:始终加载图片数据(无论原始uploadImgType是什么)
|
|
|
+ // 如果有标题图片,添加到文件列表
|
|
|
+ if (res.data.activityTitleImgUrl) {
|
|
|
+ const titleImgUrl = res.data.activityTitleImgUrl;
|
|
|
+ if (titleImgUrl) {
|
|
|
+ titleImageUrl.value = titleImgUrl;
|
|
|
+ activityModel.value.activityTitleImg = res.data.activityTitleImgUrl;
|
|
|
+ activityModel.value.activityTitleImage = titleImgUrl;
|
|
|
+ const titleFile = handleImageParam(titleImgUrl);
|
|
|
+ titleFileList.value = [titleFile];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 如果有详情图片,添加到文件列表(支持多张图片,可能是字符串或数组)
|
|
|
+ if (res.data.activityDetailImgUrl) {
|
|
|
+ let detailImgUrls: string[] = [];
|
|
|
+ // 如果是字符串,可能是逗号分隔的多张图片
|
|
|
+ if (typeof res.data.activityDetailImgUrl === "string") {
|
|
|
+ detailImgUrls = res.data.activityDetailImgUrl.split(",").filter((url: string) => url.trim());
|
|
|
+ } else if (Array.isArray(res.data.activityDetailImgUrl)) {
|
|
|
+ detailImgUrls = res.data.activityDetailImgUrl.filter((url: any) => url);
|
|
|
}
|
|
|
- // 如果有详情图片,添加到文件列表(支持多张图片,可能是字符串或数组)
|
|
|
- if (res.data.activityDetailImgUrl) {
|
|
|
- let detailImgUrls: string[] = [];
|
|
|
- // 如果是字符串,可能是逗号分隔的多张图片
|
|
|
- if (typeof res.data.activityDetailImgUrl === "string") {
|
|
|
- detailImgUrls = res.data.activityDetailImgUrl.split(",").filter((url: string) => url.trim());
|
|
|
- } else if (Array.isArray(res.data.activityDetailImgUrl)) {
|
|
|
- detailImgUrls = res.data.activityDetailImgUrl.filter((url: any) => url);
|
|
|
- }
|
|
|
|
|
|
- if (detailImgUrls.length > 0) {
|
|
|
- detailImageUrl.value = detailImgUrls.join(",");
|
|
|
- activityModel.value.activityDetailImg = res.data.activityDetailImgUrl;
|
|
|
- activityModel.value.activityDetailImage = detailImgUrls.join(",");
|
|
|
- // 将多张图片添加到文件列表
|
|
|
- detailFileList.value = detailImgUrls.map((url: string) => handleImageParam(url));
|
|
|
- }
|
|
|
+ if (detailImgUrls.length > 0) {
|
|
|
+ detailImageUrl.value = detailImgUrls.join(",");
|
|
|
+ activityModel.value.activityDetailImg = res.data.activityDetailImgUrl;
|
|
|
+ activityModel.value.activityDetailImage = detailImgUrls.join(",");
|
|
|
+ // 将多张图片添加到文件列表
|
|
|
+ detailFileList.value = detailImgUrls.map((url: string) => handleImageParam(url));
|
|
|
}
|
|
|
}
|
|
|
}
|