pages/order/list/index.vue
@@ -1,6 +1,6 @@
<template>
  <div>
    <el-bus-crud
<!--    <el-bus-crud
      ref="crud"
      v-bind="tableConfig"
      :extra-query="{ levelDown: checkedLevelDown }"
@@ -14,7 +14,11 @@
          >未处理的质检异常订单</el-checkbox
        >
      </template>
    </el-bus-crud>
    </el-bus-crud>-->
     <el-bus-crud
      ref="crud"
      v-bind="tableConfig"
    ></el-bus-crud>
    <div id="print-container">
      <print-list ref="printList" :order-list="orderList" />
    </div>
@@ -61,6 +65,12 @@
              statusComp.extraQuery = { ...params, statusBackend: '' }
              statusComp.getOtherOptions()
            }
            const abnormalOrderStatusComp = searchForm.getComponentById('abnormalOrderStatus')
            if (abnormalOrderStatusComp) {
              // 组件内部不会修改这个prop直接修改可忽略警告
              abnormalOrderStatusComp.extraQuery = { ...params, abnormalOrderStatus: '' }
              abnormalOrderStatusComp.getOtherOptions()
            }
          }
        },
        beforeOpen: (row, isNew) => {
@@ -84,6 +94,7 @@
          },
          { label: '订单金额(元)', prop: 'totalAmount', minWidth: 150 },
          { label: '底价(元)', prop: 'supplierAmount', minWidth: 150 },
          { label: '销售扎数', prop: 'saleNum', minWidth: 150 },
          { label: '订单状态', prop: 'statusBackendStr', minWidth: 120 },
          { label: '下单时间', prop: 'createTime', minWidth: 180 },
          { label: '支付时间', prop: 'paymentTime', minWidth: 180 },
@@ -124,7 +135,42 @@
                  },
                  // code: 'ORDER_STATUS_BACKEND',
                },
                default: '',
                default: this.$route.query.statusBackend || '',
                span: 24,
                searchImmediately: true,
                on: {
                  optionsChange: (e, updateForm, { currentComp }) => {
                    if (Array.isArray(e[0]) && e[0].length > 0) {
                      const totalCount = e[0].reduce((total, current) => {
                        return (total += current.orderCount)
                      }, 0)
                      // 组件内部不会修改这个prop直接修改可忽略警告
                      currentComp.props = {
                        allLabel: `不限(${totalCount})`,
                      }
                    }
                  },
                },
              },
              {
                label: '异常订单:',
                id: 'abnormalOrderStatus',
                type: 'bus-radio',
                el: {
                  hasAll: true,
                  otherInterfaceUri: 'flower/api/order/abnormal/status/count',
                  childType: 'el-radio-button',
                  filterOptions: (list) => {
                    return list.map((item) => {
                      return {
                        ...item,
                        label: `${item.label}(${item.orderCount})`,
                      }
                    })
                  },
                  // code: 'ORDER_STATUS_BACKEND',
                },
                default: this.$route.query.abnormalOrderStatus || '',
                span: 24,
                searchImmediately: true,
                on: {
@@ -168,6 +214,29 @@
              },
              { label: '收货地址:', id: 'address', type: 'input' },
              { label: '库位:', id: 'warehouseLocationCode', type: 'input' },
              {
                label: '用户账号:',
                id: 'createName',
                type: 'input',
                el: { placeholder: '用户账号' },
                rules: {
                  required: false,
                  pattern:  /^\d{1,11}$/,
                  message: '请输入合法的用户账号',
                  trigger: 'blur',
                },
              },
              {
                label: '地区',
                id: 'province',
                component: 'el-bus-select-area',
                el: {
                  clearable: true,
                },
                commonFormat: true,
                commonFormatProps: ['province', 'city', 'region'],
                customClass: 'in-bus-form',
              },
            ],
          },
        ],
@@ -291,6 +360,14 @@
        ],
        extraButtons: [
          {
            text: '快递单号',
            show: (row) => !row.partnerName && row.statusBackend === 'SEND',
            atClick: (row) => {
              this.$refs.crud.$refs.extraDialog[1].show(row)
              return false
            },
          },
          {
            text: '发货',
            show: (row) => !row.partnerName && row.statusBackend === 'SEND',
            atClick: (row) => {
@@ -329,7 +406,8 @@
              {
                label: '快递号:',
                id: 'deliveryNo',
                type: 'input',
                type: 'text',
                readonly: true,
                rules: {
                  required: true,
                  message: '请输入快递号',
@@ -347,6 +425,31 @@
              }
            },
          },
          {
            title: '快递单号录入',
            hiddenReverseItems: [],
            form: [
              {
                label: '快递号:',
                id: 'deliveryNo',
                type: 'input',
                rules: {
                  required: true,
                  message: '请输入快递号',
                  trigger: 'blur',
                },
              },
            ],
            atConfirm: async (val) => {
              const { code } = await this.$elBusHttp.request(
                'flower/api/order/list/saveDeliveryNo',
                { method: 'post', data: val }
              )
              if (code === 0) {
                this.$message.success('快递单号录入成功')
              }
            },
          },
        ],
      },
    }