peng
7 天以前 616458206a9f9f146554188ec55b9a35cc1f9a81
manager/src/views/order/order/orderList.vue
@@ -18,11 +18,20 @@
            style="width: 160px"
          />
        </Form-item>
        <Form-item label="会员名称" prop="buyerName">
<!--        <Form-item label="会员名称" prop="buyerName">-->
<!--          <Input-->
<!--            type="text"-->
<!--            v-model="searchForm.buyerName"-->
<!--            placeholder="请输入会员名称"-->
<!--            clearable-->
<!--            style="width: 160px"-->
<!--          />-->
<!--        </Form-item>-->
        <Form-item label="会员昵称" prop="nickName">
          <Input
            type="text"
            v-model="searchForm.buyerName"
            placeholder="请输入会员名称"
            v-model="searchForm.nickName"
            placeholder="请输入会员昵称"
            clearable
            style="width: 160px"
          />
@@ -190,7 +199,25 @@
      <Modal width="1200px" v-model="picModelFlag">
        <ossManage @callback="callbackSelected" :isComponent="true" :initialize="picModelFlag" ref="ossManage" />
      </Modal>
      <Modal
        v-model="showGeneralQrCode"
        title="二维码"
        width="800"
        :mask-closable="false"
        :loading="codeLoading"
      >
        <vue-qr
          :text="QRCodeUrl"
          :margin="0"
          colorDark="#000"
          colorLight="#fff"
          :size="150"
        ></vue-qr>
        <div slot="footer">
          <Button type="text" @click="closeGeneralQrCode">关闭</Button>
          <!--          <Button type="primary" @click="generalQrCode">确认</Button>-->
        </div>
      </Modal>
      <multipleMap ref="map" @callback="selectedRegion" />
    </Card>
  </div>
@@ -203,12 +230,14 @@
import JsonExcel from "vue-json-excel";
import * as API_Member from "@/api/member.js";
import { getTags } from "@/api/tag.js";
import vueQr from "vue-qr";
export default {
  name: "orderList",
  components: {
    "download-excel": JsonExcel,
    ossManage,
    multipleMap,
    "vue-qr": vueQr,
  },
  data() {
    return {
@@ -258,6 +287,7 @@
        orderType: "",
        orderSn: "",
        buyerName: "",
        nickName:"",
        orderStatus: "",
      },
      selectDate: null,
@@ -395,6 +425,7 @@
          key: "action",
          align: "center",
          width: 150,
          fixed:"right",
          render: (h, params) => {
            const buttons = [];
@@ -433,6 +464,24 @@
                )
              );
            }
            // 根据订单状态为'PAID'时显示额外操作按钮
            if (params.row.deliverStatus === 'UNDELIVERED') {
              buttons.push(
                h(
                  "Button",
                  {
                    props: { type: "primary", size: "small" },
                    style: { marginRight: "5px" },
                    on: {
                      click: () => {
                        this.handlerEditorQrcode(params.row);
                      },
                    },
                  },
                  "修改地址二维码"
                )
              );
            }
            return h('div', buttons);
          },
@@ -468,9 +517,26 @@
      options: [],
      titleColor:'#333', // 默认标题颜色
      submitDisabled:false,
      QRCodeUrl:'',
      showGeneralQrCode:false,
      codeLoading:false,
    };
  },
  methods: {
    closeGeneralQrCode(){
      this.showGeneralQrCode = false;
    },
    handlerEditorQrcode(row){
      this.QRCodeUrl = '';
      this.showGeneralQrCode = true
      this.codeLoading = true;
      //获得商品对应的第一个skuid
      this.codeLoading = false;
      this.QRCodeUrl = this.QRcodeBaseUrl+ '/scanpage/editOrderAddress'+'?orderSn='+row.sn
      console.log(this.QRCodeUrl);
    },
    // 选中的图片
    callbackSelected(val) {
      console.log(val)
@@ -641,21 +707,22 @@
    deliverOrder(order) {
      console.log('------------->获取订单信息',order);
      console.log('订单sn编号',order.sn);
      // 这里可以调用相关的API进行发货操作
      // 调用发货API
      API_Order.sendMessage(order.sn).then((res) => {
        console.log('-------------->',res);
        if (res.success) {
          this.$Message.success('更新状态成功');
          this.getDataList(); // 刷新列表
          // 延迟5秒刷新列表mq消息是异步的无法实时同步需要执行延迟刷新
          setTimeout(() => {
            this.getDataList();
          }, 5000);
        } else {
          this.$Message.error('更新状态失败');
        }
      }).catch((error) => {
        console.error('更新状态失败:', error);
        this.$Message.error('更新状态失败,请重试');
      });
      // 暂时模拟操作
      this.$Message.success(`订单 ${order.sn} 更新状态成功!`);
      // 刷新列表数据
      this.getDataList();
    },
    // 导出订单
    async exportOrder() {