peng
2025-10-16 877c9a8df95ff61fbe556b8d1f4cf417252ee256
seller/src/views/order/order/orderDetail.vue
@@ -152,25 +152,39 @@
          <!-- 外层容器:循环遍历 userCheckTemplates 集合 -->
          <div class="check-template-list">
              <div class="template-item" v-for="(item, index) in orderInfo.userCheckTemplates" :key="item.id">
                <!-- 2. 模板标题:仅第一个循环项显示 templateName(index===0 控制) -->
                <div class="div-item" > <!-- 关键:仅首项渲染 -->
                  <div class="div-item-left">商品模板:</div>
                  <div class="div-item-right">
                    {{ item.templateName || '无模板标题' }} <!-- 处理空值默认显示 -->
                    <Button size="small" @click="editTemplateInfo(item.templateId, sn)" style="margin-left: 10px;">编辑</Button>
                  </div>
                </div>
                <!-- 4. 选择图片:渲染 chooseImg 字段(处理 null/空值) -->
                <div class="div-item">
                  <div class="div-item-left">模板图片:</div>
                  <div class="div-item-right">
                    <img
                      v-if="item.chooseImg"
                      :src="item.chooseImg"
                      alt="选择的图片"
                      class="selected-img"
                      style="max-width: 200px; max-height: 150px;"
                    >
                    <span v-else>无选择图片</span> <!-- 无图片时默认文本 -->
                  </div>
                </div>
            <!-- 1. 商品模板:每个循环项都显示 subName -->
            <div class="div-item">
              <div class="div-item-left">商品模板:</div>
              <div class="div-item-left">模板标题:</div>
              <div class="div-item-right">
                {{ item.subName || '无商品模板名称' }} <!-- 处理空值默认显示 -->
              </div>
            </div>
            <!-- 2. 模板标题:仅第一个循环项显示 templateName(index===0 控制) -->
            <div class="div-item" v-if="index === 0"> <!-- 关键:仅首项渲染 -->
              <div class="div-item-left">模板标题:</div>
              <div class="div-item-right">
                {{ item.templateName || '无模板标题' }} <!-- 处理空值默认显示 -->
              </div>
            </div>
            <!-- 3. 文本内容:判断 content 是「图片URL」还是「纯文本」 -->
            <div class="div-item">
              <div class="div-item-left">文本内容:</div>
              <div class="div-item-left">{{isUrl(item.content)? '图片:':'文本内容'}}</div>
              <div class="div-item-right">
                <!-- 正则判断:content 以 http/https 开头 → 渲染图片;否则渲染文本 -->
                <img
@@ -181,21 +195,6 @@
                  style="max-width: 200px; max-height: 150px;"
                >
                <span v-else>{{ item.content || '无文本内容' }}</span> <!-- 纯文本/空值处理 -->
              </div>
            </div>
            <!-- 4. 选择图片:渲染 chooseImg 字段(处理 null/空值) -->
            <div class="div-item">
              <div class="div-item-left">选择图片:</div>
              <div class="div-item-right">
                <img
                  v-if="item.chooseImg"
                  :src="item.chooseImg"
                  alt="选择的图片"
                  class="selected-img"
                  style="max-width: 200px; max-height: 150px;"
                >
                <span v-else>无选择图片</span> <!-- 无图片时默认文本 -->
              </div>
            </div>
@@ -640,6 +639,15 @@
    </Modal>
    <multipleMap ref="map" @callback="getAddress"></multipleMap>
    <!-- 添加模板编辑弹窗 -->
    <EditTemplateModal
      v-model="editTemplateModalVisible"
      :template-id="currentTemplateId"
      :order-sn="sn"
      @success="handleTemplateEditSuccess"
      @cancel="editTemplateModalVisible = false"
    />
  </div>
</template>
@@ -649,12 +657,13 @@
import * as RegExp from "@/libs/RegExp.js";
import multipleMap from "@/views/my-components/map/multiple-map";
import EditTemplateModal from "./editTemplateModal.vue";
export default {
  name: "orderDetail",
  components: {
    multipleMap,
    EditTemplateModal
  },
  data () {
    return {
@@ -1011,7 +1020,10 @@
        },
      ],
      orderPackage: [],
      packageTraceList: []
      packageTraceList: [],
      // 添加模板编辑弹窗相关数据
      editTemplateModalVisible: false,
      currentTemplateId: ""
    };
  },
  methods: {
@@ -1421,6 +1433,24 @@
      })
    },
    // 编辑模板信息
    editTemplateInfo(templateId, orderSn) {
      console.log("调用editTemplateInfo,参数:", {
        templateId: templateId,
        orderSn: orderSn
      });
      this.currentTemplateId = templateId;
      this.editTemplateModalVisible = true;
    },
    // 模板编辑成功回调
    handleTemplateEditSuccess() {
      this.editTemplateModalVisible = false;
      // 可以在这里刷新数据或提示用户
      this.$Message.success("模板信息已更新");
      // 刷新订单详情页面数据
      this.getDataDetail();
    }
  },
  mounted () {
    this.sn = this.$route.query.sn;