5a80a60227011398c8fe306d4adcdd09297d21e2..b57c81c1da4ad71edf2073c21e7cebb38123b961
2025-10-27 peng
页面调整
b57c81 对比 | 目录
2025-10-27 peng
删除视频
b7384d 对比 | 目录
2025-10-27 peng
页面调整图片预览
61d8f6 对比 | 目录
2025-10-27 peng
页面调整图片预览
52c46f 对比 | 目录
2025-10-27 peng
页面调整
e7359a 对比 | 目录
5个文件已修改
215 ■■■■ 已修改文件
manager/src/views/activity-prize/index.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/activity-prize/prize.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/seller/shop/shopDetail.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/seller/shop/shopOperation.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/video/VideoList.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/activity-prize/index.vue
@@ -194,26 +194,26 @@
                />
              </FormItem>
            </Col>
            <Col span="24">
              <FormItem label="活动图片:" prop="activityImg">
                <Upload
                  v-if="!imgTempUrl"
                  :before-upload="(file) => handleBeforeUpload(file, 'content')"
                  :format="['jpg','jpeg','png','gif']"
                  :max-size="20480"
                  action=""
                  accept="image/*"
                >
                  <Button icon="ios-cloud-upload-outline">上传封面图片</Button>
                </Upload>
                <div v-else class="upload-file-info">
                  <img :src="imgTempUrl" alt="活动图片" class="preview-image-limit">
                  <Button type="text" @click="handleRemove('content')">删除</Button>
                </div>
<!--            <Col span="24">-->
<!--              <FormItem label="活动图片:" prop="activityImg">-->
<!--                <Upload-->
<!--                  v-if="!imgTempUrl"-->
<!--                  :before-upload="(file) => handleBeforeUpload(file, 'content')"-->
<!--                  :format="['jpg','jpeg','png','gif']"-->
<!--                  :max-size="20480"-->
<!--                  action=""-->
<!--                  accept="image/*"-->
<!--                >-->
<!--                  <Button icon="ios-cloud-upload-outline">上传封面图片</Button>-->
<!--                </Upload>-->
<!--                <div v-else class="upload-file-info">-->
<!--                  <img :src="imgTempUrl" alt="活动图片" class="preview-image-limit">-->
<!--                  <Button type="text" @click="handleRemove('content')">删除</Button>-->
<!--                </div>-->
                <!-- 基于elementUi的上传组件 el-upload end-->
              </FormItem>
            </Col>
<!--                &lt;!&ndash; 基于elementUi的上传组件 el-upload end&ndash;&gt;-->
<!--              </FormItem>-->
<!--            </Col>-->
            <Col span="24">
              <FormItem label="活动封面:" prop="activityCover">
                <Upload
@@ -652,9 +652,9 @@
        activityCover: [
          {required: true, message: '请选择活动封面', trigger: 'blur'}
        ],
        activityImg: [
          {required: true, message: '请选择活动图片', trigger: 'blur'}
        ],
        // activityImg: [
        //   {required: true, message: '请选择活动图片', trigger: 'blur'}
        // ],
      },
      activityFrom:{
        id:'',
manager/src/views/activity-prize/prize.vue
@@ -194,25 +194,25 @@
                       style="width: 300px" type="textarea" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入"></Input>
              </FormItem>
            </Col>
            <Col span="24">
                <FormItem label="奖品封面:" prop="prizeCover">
                  <Upload
                    v-if="!coverTempUrl"
                    :before-upload="(file) => handleBeforeUpload(file, 'cover')"
                    :format="['jpg','jpeg','png','gif']"
                    :max-size="20480"
                    action=""
                    accept="image/*"
                  >
                    <Button icon="ios-cloud-upload-outline" >上传封面文件</Button>
                  </Upload>
                  <div v-else class="upload-file-info">
                    <img :src="coverTempUrl" alt="奖品封面" class="preview-image-limit">
                    <Button type="text" @click="handleRemove('cover')">删除</Button>
                  </div>
<!--            <Col span="24">-->
<!--                <FormItem label="奖品封面:" prop="prizeCover">-->
<!--                  <Upload-->
<!--                    v-if="!coverTempUrl"-->
<!--                    :before-upload="(file) => handleBeforeUpload(file, 'cover')"-->
<!--                    :format="['jpg','jpeg','png','gif']"-->
<!--                    :max-size="20480"-->
<!--                    action=""-->
<!--                    accept="image/*"-->
<!--                  >-->
<!--                    <Button icon="ios-cloud-upload-outline" >上传封面文件</Button>-->
<!--                  </Upload>-->
<!--                  <div v-else class="upload-file-info">-->
<!--                    <img :src="coverTempUrl" alt="奖品封面" class="preview-image-limit">-->
<!--                    <Button type="text" @click="handleRemove('cover')">删除</Button>-->
<!--                  </div>-->
                </FormItem>
              </Col>
<!--                </FormItem>-->
<!--              </Col>-->
            <Col span="24">
                <FormItem label="奖品图片:" prop="prizeImg">
@@ -479,9 +479,9 @@
          { required: true, message: '请输入奖品描述', trigger: 'blur' },
          { max: 100, message: '长度不能超过100个字符', trigger: 'blur' }
        ],
        prizeCover: [
          {required: true, message: '请选择奖品封面', trigger: 'blur'}
        ],
        // prizeCover: [
        //   {required: true, message: '请选择奖品封面', trigger: 'blur'}
        // ],
        prizeImg: [
          {required: true, message: '请选择奖品图片', trigger: 'blur'}
        ],
manager/src/views/seller/shop/shopDetail.vue
@@ -176,7 +176,9 @@
          <p class="item">
            <span class="label">身份证照片:</span>
            <span class="info">
              <img style="height: 100px;width: 100px" class="mr_10" v-for="item in storeInfo.legalPhoto" :src="item" :key="item">
              <img style="height: 100px;width: 100px; cursor: pointer;" class="mr_10" v-for="(item, index) in storeInfo.legalPhoto" :src="item" :key="item" @click="previewImage(item, '身份证照片(' + (index + 1) + ')')">
              <Button v-if="storeInfo.legalPhoto && storeInfo.legalPhoto.length > 0" @click="previewImage(storeInfo.legalPhoto[0], '身份证正面')" type="info" size="small" style="margin-left: 10px;">预览图片</Button>
              <Button v-if="storeInfo.legalPhoto && storeInfo.legalPhoto.length > 1" @click="previewImage(storeInfo.legalPhoto[1], '身份证反面')" type="info" size="small" style="margin-left: 10px;">预览图片</Button>
            </span>
          </p>
          <p class="item">
@@ -191,7 +193,8 @@
          <p class="item">
            <span class="label">营业执照电子版:</span>
            <span class="info">
              <img style="height: 100px;width: 100px" :src="storeInfo.licencePhoto">
              <img style="height: 100px;width: 100px; cursor: pointer;" :src="storeInfo.licencePhoto" @click="previewImage(storeInfo.licencePhoto, '营业执照')">
              <Button v-if="storeInfo.licencePhoto" @click="previewImage(storeInfo.licencePhoto, '营业执照')" type="info" size="small" style="margin-left: 10px;">预览图片</Button>
            </span>
          </p>
          <p class="item">
@@ -615,6 +618,14 @@
      </Tabs>
    </Card>
    <!-- 图片预览模态框 -->
    <Modal v-model="previewModal" :title="previewTitle" width="600">
      <img :src="previewImageUrl" alt="预览图片" style="width: 100%; height: auto;" />
      <div slot="footer">
        <Button @click="previewModal = false">关闭</Button>
      </div>
    </Modal>
  </div>
</template>
@@ -906,6 +917,10 @@
        },
        refundOrderData: [],//售后单数据
        refundOrderTotal: 0,//售后单总条数
        // 图片预览相关
        previewModal: false,
        previewImageUrl: "",
        previewTitle: "图片预览",
      };
    },
    watch: {
@@ -1138,6 +1153,16 @@
          this.refundOrderSearchForm.endDate = v[1];
        }
      },
      // 图片预览功能
      previewImage(url, title) {
        if (url) {
          this.previewImageUrl = url;
          this.previewTitle = title || "图片预览";
          this.previewModal = true;
        } else {
          this.$Message.warning("暂无图片可预览");
        }
      }
    },
    mounted() {
      this.id = this.$route.query.id;
manager/src/views/seller/shop/shopOperation.vue
@@ -73,11 +73,14 @@
                  shape="square"
                  icon="ios-person"
                  size="default"
                  :src="endpoint + '/' + shopForm.storeLogo"
                  :src="shopForm.storeLogo"
                />
                <div>
                  <Button @click="handleCLickImg('storeLogo')" type="primary"
                    >选择图片</Button
                  >
                  <Button v-if="shopForm.storeLogo" @click="previewImage(shopForm.storeLogo)" type="info" style="margin-left: 10px;"
                    >预览图片</Button
                  >
                </div>
              </FormItem>
@@ -208,11 +211,14 @@
                  shape="square"
                  icon="ios-person"
                  size="default"
                  :src="endpoint + '/' + shopForm.licencePhoto"
                  :src="shopForm.licencePhoto"
                />
                <div>
                  <Button @click="handleCLickImg('licencePhoto')" type="primary"
                  >选择图片</Button
                  >
                  <Button v-if="shopForm.licencePhoto" @click="previewImage(shopForm.licencePhoto)" type="info" style="margin-left: 10px;"
                  >预览图片</Button
                  >
                </div>
              </FormItem>
@@ -231,7 +237,7 @@
                  size="100"
                  icon="md-add"
                  @click.native="handleCLickImg('legalPhoto', 0)"
                  :src="endpoint + '/' + shopForm.legalPhoto[0]"
                  :src="shopForm.legalPhoto[0]"
                />
                <Avatar
                  class="ml_10 legal-photo"
@@ -239,9 +245,17 @@
                  size="100"
                  icon="md-add"
                  @click.native="handleCLickImg('legalPhoto', 1)"
                  :src="endpoint + '/' + shopForm.legalPhoto[1]"
                  :src=" shopForm.legalPhoto[1]"
                />
                <span>点击图片上传身份证正反面,要求身份证清晰,四角无缺漏</span>
                <div v-if="shopForm.legalPhoto[0] || shopForm.legalPhoto[1]" style="margin-top: 10px;">
                  <Button v-if="shopForm.legalPhoto[0]" @click="previewImage(shopForm.legalPhoto[0])" type="info"
                  >预览图片</Button
                  >
                  <Button v-if="shopForm.legalPhoto[1]" @click="previewImage(shopForm.legalPhoto[1])" type="info" style="margin-left: 10px;"
                  >预览图片</Button
                  >
                </div>
              </FormItem>
              <Divider orientation="left">结算银行信息</Divider>
@@ -404,6 +418,14 @@
      </div>
    </Modal>
    <!-- 图片预览模态框 -->
    <Modal v-model="previewModal" title="图片预览" width="600">
      <img :src="previewImageUrl" alt="预览图片" style="width: 100%; height: auto;" />
      <div slot="footer">
        <Button @click="previewModal = false">关闭</Button>
      </div>
    </Modal>
    <multipleMap ref="map" @callback="getAddress" />
  </div>
</template>
@@ -550,6 +572,9 @@
      infoResult: {}, // 店铺详情
      picIndex: "", // 存储身份证图片下标,方便赋值
      currentAddress:"", //当前选中的地址
      // 图片预览相关
      previewModal: false,
      previewImageUrl: "",
    };
  },
  methods: {
@@ -839,6 +864,15 @@
        });
      }
    },
    // 图片预览功能
    previewImage(url) {
      if (url) {
        this.previewImageUrl = url;
        this.previewModal = true;
      } else {
        this.$Message.warning("暂无图片可预览");
      }
    }
  },
  created() {
    this.init();
manager/src/views/video/VideoList.vue
@@ -80,6 +80,11 @@
              </FormItem>
            </Col>
            <Col span="12">
              <FormItem label="权重:" :label-width="80">
                <InputNumber v-model="uploadVideoForm.weight" :min="0" :step="0.1" placeholder="请输入权重"></InputNumber>
              </FormItem>
            </Col>
            <Col span="12">
              <FormItem label="上传类型:" :label-width="80" prpo="videoContentType">
                <Select v-model="uploadVideoForm.videoContentType" style="width:200px">
                  <Option value="img">图片</Option>
@@ -180,12 +185,6 @@
                <Select v-model="chooseTag" filterable multiple allow-create @on-create="createVideoTag">
                  <Option v-for="item in videoTagList" :value="item.tagName" :key="item.id">{{ item.tagName }}</Option>
                </Select>
              </FormItem>
            </Col>
          </Row>
          <Row :gutter="24">
            <Col span="24">
              <FormItem label="选中商品" :label-width="80">
              </FormItem>
            </Col>
          </Row>
@@ -322,7 +321,6 @@
                </Row>
              </Col>
            </Row>
          </Form-item>
          <Form-item v-if="detail.videoContentType === 'img'" :label-width="0">
            <div style="display: flex;flex-direction: row;flex-wrap: wrap">
@@ -430,6 +428,10 @@
          </Button>
          <Button type="success" size="small" style="margin-right: 5px" v-else-if="row.status === '0'"
                  @click="videoUp(row)">上架
          </Button>
          <!-- 添加删除按钮 -->
          <Button type="error" size="small" style="margin-right: 5px" v-if="row.status === '0'"
                  @click="deleteVideo(row)">删除
          </Button>
          <Button type="error" size="small" style="margin-right: 5px"
                  @click="openComment(row)">
@@ -567,7 +569,8 @@
  publish,
  updatePublish,
  getCommentPage,
  removeById
  removeById,
  deleteVideoById
} from "@/api/video";
import {getVideoTagList, recommend, videoGoodsEsPage} from "@/api/videoTag";
import {addPrizeNum} from "@/api/activity-prize";
@@ -699,8 +702,8 @@
        showListImages: [],
        tags: [],
        fileInfo: {},
        goodsList: []
        goodsList: [],
        weight: 0 // 添加权重字段,默认值为0
      },
      videoDownForm: {
        id: '',
@@ -987,7 +990,8 @@
        showListImages: [],
        tags: [],
        fileInfo: {},
        goodsList: []
        goodsList: [],
        weight: 0 // 添加权重字段,默认值为0
      }
@@ -1006,7 +1010,12 @@
        });
      }
      this.uploadVideoForm = row
      // 保留原有的row数据,但要确保weight字段存在
      this.uploadVideoForm = Object.assign(this.uploadVideoForm, row);
      // 确保weight字段有默认值
      if (this.uploadVideoForm.weight === undefined || this.uploadVideoForm.weight === null) {
        this.uploadVideoForm.weight = 0;
      }
      console.log("打印值",this.uploadVideoForm)
      this.uploadVideoForm.fileInfo= {};
      this.uploadVideoForm.videoImgs = JSON.parse(this.uploadVideoForm.videoImgs)
@@ -1320,7 +1329,8 @@
        showListImages: [],
        tags: [],
        fileInfo: {},
        goodsList: []
        goodsList: [],
        weight: 0 // 添加权重字段,默认值为0
      }
      recommend({
        searchType: "HOT"
@@ -1576,6 +1586,28 @@
      this.searchGoodsForm.pageSize = v;
      this.getGoodsDataList();
    },
    // 添加删除视频方法
    deleteVideo(row) {
      this.$Modal.confirm({
        title: "操作确认",
        content: "您确认要删除视频【 " + row.title + "】吗? 删除后将无法恢复!",
        loading: true,
        onOk: () => {
          deleteVideoById(row.id).then(res => {
            this.$Modal.remove();
            if (res.code === 200) {
              this.$Message.success("视频删除成功");
              this.getDataList();
            } else {
              this.$Message.error(res.msg || "删除失败");
            }
          }).catch(err => {
            this.$Modal.remove();
            this.$Message.error("删除失败");
          });
        }
      });
    },
  }
}
</script>