فهرست منبع

销售订单前端优化

yjwang 3 روز پیش
والد
کامیت
6cc8c8a0c4

+ 2 - 1
package.json

@@ -111,7 +111,8 @@
     "vue2-ace-editor": "0.0.15",
     "vuedraggable": "^2.20.0",
     "vuex": "3.1.0",
-    "wangeditor": "^4.6.13"
+    "wangeditor": "^4.6.13",
+    "xlsx": "^0.18.5"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "4.4.4",

+ 24 - 0
src/api/hisStore/storeAfterSales.js

@@ -86,3 +86,27 @@ export function audit(data) {
   })
 }
 
+export function audit1(data) {
+  return request({
+    url: '/store/store/storeAfterSales/audit1',
+    method: 'post',
+    data: data
+  })
+}
+
+export function audit2(data) {
+  return request({
+    url: '/store/store/storeAfterSales/audit2',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询用户寄回快递轨迹
+export function getExpress(id) {
+  return request({
+    url: '/store/store/storeAfterSales/getExpress/' + id,
+    method: 'get'
+  })
+}
+

+ 57 - 2
src/api/hisStore/storeOrder.js

@@ -4,8 +4,8 @@ import request from '@/utils/request'
 export function listStoreOrder(query) {
   return request({
     url: '/store/store/storeOrder/list',
-    method: 'get',
-    params: query
+    method: 'post',
+    data: query
   })
 }
 
@@ -153,3 +153,58 @@ export function getCreateOrderType() {
   })
 }
 
+// 查询订单明细总数
+export function getOrderItemsNum(query) {
+  return request({
+    url: '/store/store/storeOrder/orderItemsNum',
+    method: 'get',
+    params: query
+  })
+}
+
+// 导出订单(明文)
+export function exportStoreOrderDetails(query) {
+  return request({
+    url: '/store/store/storeOrder/exportDetails',
+    method: 'get',
+    params: query
+  })
+}
+
+// 导出订单明细(明文)
+export function exportStoreOrderItemsDetails(query) {
+  return request({
+    url: '/store/store/storeOrder/exportItemsDetails',
+    method: 'get',
+    params: query
+  })
+}
+
+// 下载订单 Excel
+export function downloadOrderExcel(id) {
+  return request({
+    url: `/store/store/storeOrder/downloadExcel/${id}`,
+    method: 'get',
+    responseType: 'blob',
+    headers: {
+      'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+    }
+  })
+}
+
+// 下载导入模板
+export function importTemplate() {
+  return request({
+    url: '/store/store/storeOrder/importTemplate',
+    method: 'get'
+  })
+}
+
+// 下载快递导入模板
+export function importDeliveryNoteExpressTemplate() {
+  return request({
+    url: '/store/store/storeOrder/importDeliveryNoteExpressTemplate',
+    method: 'get'
+  })
+}
+

+ 1 - 1
src/views/hisStore/components/productAfterSalesOrder.vue

@@ -2,7 +2,7 @@
   <div class="order-content">
       <div class="order-status" v-if="afterSales!=null" >
           <el-steps :active="afterSales.status==4?afterSales.status+1:afterSales.status" align-center>
-            <el-step title="待审核(24小时自动审核)"></el-step>
+            <el-step title="待审核"></el-step>
             <el-step title="平台已审核等待用户发货"></el-step>
             <el-step title="用户已发货待仓库审核"></el-step>
             <el-step title="财务审核"></el-step>

+ 580 - 0
src/views/hisStore/storeAfterSales/index.vue

@@ -0,0 +1,580 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="订单单号" prop="orderCode">
+        <el-input
+          v-model="queryParams.orderCode"
+          placeholder="请输入订单单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="员工姓名" prop="companyUserNickName">
+        <el-input
+          v-model="queryParams.companyUserNickName"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="手机号" prop="consigneePhone">
+        <el-input
+          v-model="queryParams.consigneePhone"
+          placeholder="请输入手机号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="退款类型" prop="serviceType">
+        <el-select v-model="queryParams.serviceType" placeholder="请选择退款类型" clearable size="small">
+          <el-option
+            v-for="item in serviceTypeOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="item in statusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="售后状态" prop="salesStatus">
+        <el-select v-model="queryParams.salesStatus" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="item in salesStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="订单状态" prop="orderStatus">
+        <el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="small">
+          <el-option
+            v-for="item in orderStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="物流状态" prop="deliveryStatus">
+        <el-select v-model="queryParams.deliveryStatus" placeholder="请选择物流状态" clearable size="small">
+          <el-option
+            v-for="item in deliveryStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="物流单号" prop="deliverySn">
+        <el-input
+          v-model="queryParams.deliverySn"
+          placeholder="物流/退回物流单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="提交时间" prop="createTime">
+        <el-date-picker
+          style="width:205.4px"
+          clearable size="small"
+          v-model="dateRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="店铺名称" prop="storeName">
+        <el-input
+          v-model="queryParams.storeName"
+          placeholder="请输入店铺名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺ID" prop="storeSeq">
+        <el-input
+          v-model="queryParams.storeSeq"
+          placeholder="请输入店铺ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商家ID" prop="merchantId">
+        <el-input
+          v-model="queryParams.merchantId"
+          placeholder="请输入商家ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处方编号" prop="serialNo">
+        <el-input
+          v-model="queryParams.serialNo"
+          clearable
+          placeholder="请输入处方编号"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="评价/投诉" prop="complaint">
+        <el-input
+          v-model="queryParams.complaint"
+          clearable
+          placeholder="请输入评价/投诉"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="交易状态" prop="transactionStatus">
+        <el-select v-model="queryParams.transactionStatus" placeholder="请选择" clearable>
+          <el-option
+            v-for="item in orderOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="药品注册证书编号" prop="drugRegCertNo">
+        <el-input
+          v-model="queryParams.drugRegCertNo"
+          clearable
+          placeholder="请输入药品注册证书编号"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="生产企业" prop="manufacturer">
+        <el-input
+          v-model="queryParams.manufacturer"
+          clearable
+          placeholder="请输入生产企业"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="上市许可持有人" prop="mah">
+        <el-input
+          v-model="queryParams.mah"
+          clearable
+          placeholder="请输入上市许可持有人"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="规格" prop="specType">
+        <el-input
+          v-model="queryParams.specType"
+          clearable
+          placeholder="请输入规格"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="剂型" prop="dosageForm">
+        <el-input
+          v-model="queryParams.dosageForm"
+          clearable
+          placeholder="请输入剂型"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="入住企业名称" prop="unitName">
+        <el-input
+          v-model="queryParams.unitName"
+          clearable
+          placeholder="请输入入住企业名称"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="通用名称" prop="commonName">
+        <el-input
+          v-model="queryParams.commonName"
+          clearable
+          placeholder="请输入通用名称"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="溯源码/有效期" prop="verifyCode">
+        <el-input
+          v-model="queryParams.verifyCode"
+          clearable
+          placeholder="请输入溯源码/有效期"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="生产批号/序列号" prop="batchNumber">
+        <el-input
+          v-model="queryParams.batchNumber"
+          clearable
+          placeholder="请输入生产批号/序列号"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['store:storeAfterSales:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+    <el-table height="500" border v-loading="loading" :data="storeAfterSalesList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="ID" align="center" prop="id" />
+      <el-table-column label="店铺名称" align="center" prop="storeName" />
+      <el-table-column label="商家ID" align="center" prop="merchantId" />
+      <el-table-column label="店铺ID" align="center" prop="storeSeq" />
+      <el-table-column label="所属公司" align="center" prop="companyName" />
+      <el-table-column label="所属员工" align="center" prop="companyUserNickName" />
+      <el-table-column label="订单单号" align="center" prop="orderCode" />
+      <el-table-column label="溯源码/有效期" align="center" prop="verifyCode" width="200px" />
+      <el-table-column label="生产批号/序列号" align="center" prop="batchNumber" width="200px" />
+      <el-table-column align="center" label="处方编号" prop="serialNo"/>
+      <el-table-column label="会员手机号" align="center" prop="userPhone" />
+      <el-table-column label="退款金额" align="center" prop="refundAmount" />
+      <el-table-column label="退款类型" align="center" prop="serviceType">
+        <template slot-scope="scope">
+          <div prop="serviceType" v-for="(item, index) in serviceTypeOptions" v-if="scope.row.serviceType==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="申请原因" align="center" prop="reasons" />
+      <el-table-column label="说明" align="center" prop="explains" />
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <div prop="status" v-for="(item, index) in statusOptions" v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="售后状态" align="center" prop="salesStatus">
+        <template slot-scope="scope">
+          <div prop="status" v-for="(item, index) in salesStatusOptions" v-if="scope.row.salesStatus==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="订单状态" align="center" prop="orderStatus">
+        <template slot-scope="scope">
+          <div prop="status" v-for="(item, index) in orderStatusOptions" v-if="scope.row.orderStatus==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="物流状态" align="center" prop="deliveryStatus">
+        <template slot-scope="scope">
+          <el-tag prop="status" v-for="(item, index) in deliveryStatusOptions" v-if="scope.row.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="物流单号" align="center" prop="deliveryId" />
+
+      <el-table-column label="客户退回物流单号" align="center" prop="deliverySn" />
+
+      <el-table-column label="提交时间" align="center" prop="createTime" />
+
+      <el-table-column label="操作" align="center" fixed="right" width="100px" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            @click="handleShow(scope.row)"
+            v-hasPermi="['store:storeAfterSales:query']"
+          >查看</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <el-drawer
+      size="75%"
+      :title="title" :visible.sync="open"
+    >
+      <product-after-sales-order ref="afterSalesOrder" />
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import {
+  listStoreAfterSales,
+  getStoreAfterSales,
+  delStoreAfterSales,
+  addStoreAfterSales,
+  updateStoreAfterSales,
+  exportStoreAfterSales
+} from "@/api/hisStore/storeAfterSales";
+import productAfterSalesOrder from "../components/productAfterSalesOrder";
+
+export default {
+  components: { productAfterSalesOrder },
+  name: "HisStoreAfterSales",
+  data() {
+    return {
+      orderStatusOptions: [],
+      deliveryStatusOptions: [],
+      serviceTypeOptions: [],
+      salesStatusOptions: [],
+      statusOptions: [],
+      orderOptions: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      dateRange: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 售后记录表格数据
+      storeAfterSalesList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数(销售端:companyId / companyUserId 由后端按账号自动隔离,无需前端传入)
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderCode: null,
+        refundAmount: null,
+        serviceType: null,
+        reasons: null,
+        explains: null,
+        explainImg: null,
+        shipperCode: null,
+        deliverySn: null,
+        deliveryName: null,
+        status: null,
+        salesStatus: null,
+        isDel: null,
+        userId: null,
+        consignee: null,
+        phoneNumber: null,
+        address: null,
+        complaint: null,
+        transactionStatus: null,
+        drugRegCertNo: null,
+        manufacturer: null,
+        mah: null,
+        specType: null,
+        dosageForm: null,
+        unitName: null,
+        commonName: null,
+        verifyCode: null,
+        batchNumber: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {}
+    };
+  },
+  created() {
+    this.getDicts("store_after_sales_sales_status").then((response) => {
+      this.salesStatusOptions = response.data;
+    });
+    this.getDicts("sys_order_status").then(response => {
+      this.orderOptions = response.data;
+    });
+    this.getDicts("store_after_sales_status").then((response) => {
+      this.statusOptions = response.data;
+    });
+    this.getDicts("store_after_sales_service_type").then((response) => {
+      this.serviceTypeOptions = response.data;
+    });
+    this.getDicts("store_order_delivery_status").then((response) => {
+      this.deliveryStatusOptions = response.data;
+    });
+    this.getDicts("store_order_status").then((response) => {
+      this.orderStatusOptions = response.data;
+    });
+
+    this.getList();
+  },
+  methods: {
+    handleShow(row) {
+      this.title = "售后订单";
+      this.open = true;
+      setTimeout(() => {
+        this.$refs.afterSalesOrder.getStoreAfterSales(row.id);
+      }, 200);
+    },
+
+    /** 查询售后记录列表 */
+    getList() {
+      this.loading = true;
+      listStoreAfterSales(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+        this.storeAfterSalesList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        orderCode: null,
+        refundAmount: null,
+        serviceType: null,
+        reasons: null,
+        explains: null,
+        explainImg: null,
+        shipperCode: null,
+        deliverySn: null,
+        deliveryName: null,
+        status: 0,
+        salesStatus: 0,
+        createTime: null,
+        isDel: null,
+        userId: null,
+        consignee: null,
+        phoneNumber: null,
+        address: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.verifyCode = null;
+      this.queryParams.batchNumber = null;
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加售后记录";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids;
+      getStoreAfterSales(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改售后记录";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateStoreAfterSales(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addStoreAfterSales(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除售后记录编号为"' + ids + '"的数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delStoreAfterSales(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).catch(function () {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有售后记录数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return exportStoreAfterSales(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+      }).catch(function () {});
+    }
+  }
+};
+</script>

+ 1254 - 0
src/views/hisStore/storeOrder/index.vue

@@ -0,0 +1,1254 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="订单号" prop="orderCode">
+        <el-input
+          v-model="queryParams.orderCode"
+          placeholder="请输入订单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+       <el-form-item label="运单号" prop="deliveryId">
+        <el-input
+          v-model="queryParams.deliveryId"
+          placeholder="请输入运单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="手机号" prop="userPhone">
+        <el-input
+          v-model="queryParams.userPhone"
+          placeholder="请输入手机号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="收件人" prop="realName">
+        <el-input
+          v-model="queryParams.realName"
+          placeholder="请输入收件人姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"/>
+      </el-form-item>
+
+      <el-form-item label="员工姓名" prop="companyUserNickName">
+        <el-input
+          v-model="queryParams.companyUserNickName"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="订单类型" prop="orderType">
+         <el-select   v-model="queryParams.orderType" placeholder="请选择订单类型" clearable size="small" >
+         <el-option
+                v-for="item in orderTypeOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="支付方式" prop="payType">
+         <el-select   v-model="queryParams.payType" placeholder="请选择支付方式" clearable size="small" >
+         <el-option
+                v-for="item in payTypeOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="上传凭证" prop="isUpload">
+         <el-select   v-model="queryParams.isUpload" placeholder="请选择" clearable size="small" >
+          <el-option key="0"  label="未上传" value="0" />
+             <el-option key="1"  label="已上传" value="1" />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="物流状态" prop="deliveryStatus">
+         <el-select   v-model="queryParams.deliveryStatus" placeholder="请选择物流状态" clearable size="small" >
+         <el-option
+                v-for="item in deliveryStatusOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="结算状态" prop="deliveryPayStatus">
+         <el-select style="width: 200px" v-model="queryParams.deliveryPayStatus" placeholder="请选择物流结算状态" clearable size="small" >
+         <el-option
+                v-for="item in deliveryPayStatusOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="下单时间" prop="createTimeRange">
+        <el-date-picker
+          style="width:205.4px"
+          clearable size="small"
+          v-model="createTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="支付时间" prop="payTimeRange">
+        <el-date-picker
+          style="width:205.4px"
+          clearable size="small"
+          v-model="payTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="发货时间" prop="deliverySendTimeRange">
+        <el-date-picker
+          style="width:205.4px"
+          clearable size="small"
+          v-model="deliverySendTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="回单时间" prop="deliveryImportTimeRange">
+        <el-date-picker
+          style="width:205.4px"
+          clearable size="small"
+          v-model="deliveryImportTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="档期归属" prop="scheduleId"  >
+            <el-select filterable style="width: 200px" v-model="queryParams.scheduleId" placeholder="请选择档期" clearable size="small" >
+              <el-option
+                      v-for="item in scheduleOptions"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    />
+            </el-select>
+        </el-form-item>
+      <el-form-item label="店铺名称" prop="storeName">
+        <el-input
+          v-model="queryParams.storeName"
+          placeholder="请输入店铺名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商家ID" prop="merchantId">
+        <el-input
+          v-model="queryParams.merchantId"
+          placeholder="请输入商家ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺ID" prop="storeSeq">
+        <el-input
+          v-model="queryParams.storeSeq"
+          placeholder="请输入店铺ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处方编号" prop="serialNo">
+        <el-input
+          v-model="queryParams.serialNo"
+          clearable
+          placeholder="请输入处方编号"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="评价/投诉" prop="complaint">
+        <el-input
+          v-model="queryParams.complaint"
+          clearable
+          placeholder="请输入评价/投诉"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="交易状态" prop="transactionStatus">
+        <el-select v-model="queryParams.transactionStatus" placeholder="请选择" clearable>
+          <el-option
+            v-for="item in orderOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="药品注册证书编号" prop="drugRegCertNo">
+        <el-input
+          v-model="queryParams.drugRegCertNo"
+          clearable
+          placeholder="请输入药品注册证书编号"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="生产企业" prop="manufacturer">
+        <el-input
+          v-model="queryParams.manufacturer"
+          clearable
+          placeholder="请输入生产企业"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="上市许可持有人" prop="mah">
+        <el-input
+          v-model="queryParams.mah"
+          clearable
+          placeholder="请输入上市许可持有人"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="规格" prop="specType">
+        <el-input
+          v-model="queryParams.specType"
+          clearable
+          placeholder="请输入规格"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="剂型" prop="dosageForm">
+        <el-input
+          v-model="queryParams.dosageForm"
+          clearable
+          placeholder="请输入剂型"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="入住企业名称" prop="unitName">
+        <el-input
+          v-model="queryParams.unitName"
+          clearable
+          placeholder="请输入入住企业名称"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="通用名称" prop="commonName">
+        <el-input
+          v-model="queryParams.commonName"
+          clearable
+          placeholder="请输入通用名称"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="溯源码/有效期" prop="verifyCode">
+        <el-input
+          v-model="queryParams.verifyCode"
+          clearable
+          placeholder="请输入溯源码/有效期"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="产品批号" prop="batchNumber">
+        <el-input
+          v-model="queryParams.batchNumber"
+          clearable
+          placeholder="请输入产品批号"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+            <el-button  plain type="info" icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['store:storeOrder:importExpress']">导入银行回单</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+            type="warning"
+          icon="el-icon-download"
+          size="mini"
+            @click="handleExport"
+          v-hasPermi="['store:storeOrder:export']"
+        >导出订单</el-button>
+      </el-col>
+        <el-col :span="1.5">
+        <el-button
+            type="warning"
+          icon="el-icon-download"
+          size="mini"
+            @click="handleExportItems"
+          v-hasPermi="['store:storeOrder:exportItems']"
+        >导出订单明细</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-s-order"
+          size="mini"
+          @click="openDeliveryNote"
+        >批量导入物流单号</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExportDetails"
+          v-hasPermi="['store:storeOrder:export:details']"
+        >导出订单(明文)</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExportItemsDetails"
+          v-hasPermi="['store:storeOrder:exportItems:details']"
+        >导出订单明细(明文)</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleOrderDelete"
+          v-hasPermi="['store:storeOrder:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-input
+          v-model="orderItemNum"
+          disabled
+          size="mini"
+          />
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+    <el-tabs type="card" v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="全部订单" name="00"></el-tab-pane>
+      <el-tab-pane label="待支付" name="0"></el-tab-pane>
+      <el-tab-pane label="待发货" name="1"></el-tab-pane>
+      <el-tab-pane label="待收货" name="2"></el-tab-pane>
+      <el-tab-pane label="交易完成" name="3"></el-tab-pane>
+      <el-tab-pane label="退款中" name="-1"></el-tab-pane>
+      <el-tab-pane label="已退款" name="-2"></el-tab-pane>
+      <el-tab-pane label="已取消" name="-3"></el-tab-pane>
+    </el-tabs>
+    <el-table  height="500" border v-loading="loading" :data="storeOrderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="订单号" align="center" prop="orderCode" width="200px" />
+      <el-table-column label="溯源码/有效期" align="center" prop="verifyCode" width="200px" />
+      <el-table-column label="生产批号/序列号" align="center" prop="batchNumber" width="200px" />
+      <el-table-column label="店铺名称" align="center" prop="storeName" width="150px" >
+        <template slot-scope="scope">
+          <span>{{scope.row.storeName}} </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="商家ID" align="center" prop="merchantId" width="150px" >
+        <template slot-scope="scope">
+          <span>{{scope.row.merchantId}} </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="店铺ID" align="center" prop="storeSeq" width="150px" >
+        <template slot-scope="scope">
+          <span>{{scope.row.storeSeq}} </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="所属公司" align="center" prop="companyName" />
+      <el-table-column label="所属员工" align="center" prop="companyUserNickName" />
+      <el-table-column label="用户昵称" align="center" prop="nickname" width="150px" >
+          <template slot-scope="scope">
+              <span>{{scope.row.nickname}} </span>
+          </template>
+      </el-table-column>
+      <el-table-column label="收件人" align="center" prop="realName" width="150px" >
+          <template slot-scope="scope">
+              <span>{{scope.row.realName}} </span>
+          </template>
+      </el-table-column>
+      <el-table-column label="订单金额" align="center" prop="totalPrice" >
+          <template slot-scope="scope">
+              <span v-if="scope.row.totalPrice!=null">{{scope.row.totalPrice.toFixed(2)}}</span>
+          </template>
+      </el-table-column>
+       <el-table-column label="应付金额" align="center" prop="payPrice" >
+          <template slot-scope="scope">
+              <span v-if="scope.row.payPrice!=null">{{scope.row.payPrice.toFixed(2)}}</span>
+          </template>
+      </el-table-column>
+      <el-table-column label="下单时间" align="center" prop="createTime" />
+      <el-table-column label="支付时间" align="center" prop="payTime" width="180">
+      </el-table-column>
+      <el-table-column label="支付方式" align="center" prop="payType" >
+          <template slot-scope="scope">
+              <el-tag prop="payType" v-for="(item, index) in payTypeOptions"    v-if="scope.row.payType==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column label="订单类型" align="center" prop="orderType" >
+          <template slot-scope="scope">
+              <el-tag prop="orderType" v-for="(item, index) in orderTypeOptions"    v-if="scope.row.orderType==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column align="center" label="处方编号" prop="serialNo"/>
+      <el-table-column label="订单产品" align="center" width="200px">
+        <template slot-scope="scope">
+          <div v-if="scope.row.items && scope.row.items.length > 0">
+            <el-tag
+              v-for="(item, index) in scope.row.items"
+              :key="index"
+              size="mini"
+              class="product-tag"
+            >
+              {{ JSON.parse(item.jsonInfo).productName }} × {{ item.num }}
+            </el-tag>
+          </div>
+          <span v-else class="no-products">暂无商品</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" align="center" prop="status" >
+          <template slot-scope="scope">
+              <el-tag prop="status" v-for="(item, index) in statusOptions"    v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column label="运单号" align="center" prop="deliveryId" >
+      </el-table-column>
+      <el-table-column label="物流状态" align="center" prop="deliveryStatus" >
+          <template slot-scope="scope">
+              <el-tag prop="status" v-for="(item, index) in deliveryStatusOptions"    v-if="scope.row.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column label="物流结算状态" align="center" prop="deliveryPayStatus" >
+          <template slot-scope="scope">
+              <el-tag prop="status" v-for="(item, index) in deliveryPayStatusOptions"    v-if="scope.row.deliveryPayStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column label="操作" fixed="right" width="150px" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            @click="handleDetails(scope.row)"
+            v-hasPermi="['store:storeOrder:query']"
+          >查看</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-view"
+            @click="handlePreviewPrintOrder(scope.row)"
+          >预览打印</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <el-drawer size="75%" :title="show.title" :visible.sync="show.open">
+      <product-order  ref="order" />
+    </el-drawer>
+
+     <el-dialog :title="title" v-if="open" :visible.sync="open" width="1000px" append-to-body>
+        <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+           <el-form-item label="会员信息" prop="userId">
+                <el-row  >
+                  <el-col >
+                      <el-input placeholder="请输入会员手机号" style="width:240px;cursor:pointer" v-model="phone">
+                      </el-input>
+                      <el-button plain style="margin-left:10px;"    @click="searchUser()">查询</el-button>
+                      <el-button plain style="margin-left:10px;" icon="el-icon-plus"  type="primary" @click="handleAddUser()">添加会员</el-button>
+                  </el-col>
+                </el-row>
+                <el-table border style="margin-top:5px;"  v-loading="userloading" :data="users">
+                  <el-table-column label="ID" align="center" prop="userId" />
+                  <el-table-column label="会员头像" align="center" width="80">
+                    <template slot-scope="scope">
+                      <el-popover
+                        placement="right"
+                        title=""
+                        trigger="hover"
+                      >
+                        <img slot="reference" :src="scope.row.avatar" width="50" >
+                        <img :src="scope.row.avatar" style="max-width: 120px;">
+                      </el-popover>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="昵称" align="center" prop="nickname" />
+                  <el-table-column label="手机号" align="center" prop="phone" />
+                  <el-table-column label="状态" align="center" prop="status" >
+                      <template slot-scope="scope">
+                          <el-tag prop="status" v-for="(item, index) in userStatusOptions"    v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
+                      </template>
+                  </el-table-column>
+                </el-table>
+            </el-form-item>
+            <el-form-item label="收货信息" prop="addressId">
+              <el-row  >
+                <el-col >
+                      <el-button plain  type="primary" icon="el-icon-plus"  @click="handleAddUserAddress()">添加收货地址</el-button>
+                </el-col>
+              </el-row>
+              <el-radio-group v-model="form.addressId" style="width:100%">
+              <el-table border  style="margin-top:5px;"  v-loading="addressloading" :data="address">
+                <el-table-column label="ID" align="center"  >
+                    <template slot-scope="scope">
+                       <el-radio :label="scope.row.id"></el-radio>
+                    </template>
+                </el-table-column>
+                <el-table-column label="收货人姓名" align="center" prop="realName" />
+                <el-table-column label="收货人电话" align="center" prop="phone" />
+                <el-table-column label="地址" align="center" prop="detail" >
+                    <template slot-scope="scope">
+                       {{scope.row.province}} {{scope.row.city}} {{scope.row.district}} {{scope.row.detail}}
+                    </template>
+                </el-table-column>
+              </el-table>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="商品列表" >
+              <el-row  >
+                <el-col >
+                      <el-button plain  type="primary" icon="el-icon-plus" @click="handleAddProduct">添加商品</el-button>
+                </el-col>
+              </el-row>
+              <el-table border :key = "tablekey" width="100%" style="margin-top:5px;"  :data="products">
+                <el-table-column label="商品编号" align="center" prop="barCode" />
+                <el-table-column label="商品图片" align="center" width="100">
+                  <template slot-scope="scope">
+                    <el-popover
+                      placement="right"
+                      title=""
+                      trigger="hover"
+                    >
+                      <img slot="reference" :src="scope.row.image" width="50">
+                      <img :src="scope.row.image" style="max-width: 50px;">
+                    </el-popover>
+                  </template>
+                </el-table-column>
+                <el-table-column label="商品名称" show-overflow-tooltip align="center" prop="productName" />
+                <el-table-column label="商品规格" align="center" prop="sku" />
+                <el-table-column label="库存" align="center" prop="stock" />
+                <el-table-column label="单价" align="center" prop="price" />
+                <el-table-column label="数量" align="center"  prop="count" width="200px" :key="tablekey">
+                   <template slot-scope="scope">
+                    <div>
+                        <el-input-number v-model="scope.row.count"  @change="handleProductCountChange(scope.row)"  size="mini" :min="1" :max="scope.row.stock"  ></el-input-number>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column label="小计" align="center" prop="money"   />
+                <el-table-column label="操作" align="center" width="100px" >
+                  <template slot-scope="scope">
+                    <el-button
+                      size="mini"
+                      type="text"
+                      icon="el-icon-delete"
+                      @click="handleDelete(scope.row)"
+                    >删除</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-row>
+                <el-col>
+                      <span>商品合计:{{products.length}}</span><span style="margin-left:10px;">商品总价:{{totalMoney.toFixed(2)}}</span>
+                </el-col>
+              </el-row>
+            </el-form-item>
+            <el-form-item label="订单备注" prop="mark">
+              <el-input  type="textarea" rows="2" v-model="form.mark" placeholder="" />
+            </el-form-item>
+        </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog :title="product.title" v-if="product.open"  :visible.sync="product.open" width="1000px" append-to-body>
+        <product-select  @selectProduct="selectProduct" />
+    </el-dialog>
+    <el-dialog :title="user.title" v-if="user.open"  :visible.sync="user.open" width="500px" append-to-body>
+        <add-user @addUser="addUser" />
+    </el-dialog>
+    <el-dialog :title="userAddress.title" v-if="userAddress.open"  :visible.sync="userAddress.open" width="800px" append-to-body>
+        <add-user-address ref="addUserAddress"   @addUserAddress="addUserAddress" />
+    </el-dialog>
+    <el-dialog :title="payQr.title" v-if="payQr.open"  :visible.sync="payQr.open" width="240px" append-to-body>
+        <div style="padding-bottom:15px;" >
+            <div  class="qrcode" ref="qrCodeUrl"></div>
+        </div>
+    </el-dialog>
+
+    <el-dialog :title="upload.title" :visible.sync="upload.open" append-to-body width="400px">
+      <el-upload ref="upload" :action="upload.url + '?updateSupport=' + upload.updateSupport" :auto-upload="false" :disabled="upload.isUploading"
+                 :headers="upload.headers" :limit="1"
+                 :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" accept=".xlsx, .xls" drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div slot="tip" class="el-upload__tip">
+          <el-link
+            style="font-size:12px"
+            type="info"
+            id="templateDownloadLink"
+          >
+          下载模板
+          </el-link>
+        </div>
+        <div slot="tip" class="el-upload__tip" style="color:red">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="importMsgOpen"
+               append-to-body title="导入结果" width="500px"
+    >
+      <h1>{{importMsg}}</h1>
+    </el-dialog>
+
+    <!-- 批量发货 -->
+    <el-dialog
+      :before-close="handleClose"
+      :visible.sync="deliveryNoteOpen"
+      center
+      title="批量发货"
+      width="35%"
+    >
+      <span slot="footer" class="dialog-footer">
+        <el-upload ref="upload" :action="orderUpload.url" :auto-upload="false" :disabled="orderUpload.isUploading" :headers="orderUpload.headers"
+                   :limit="1" :on-progress="handleFileUploadProgress"
+                   :on-success="handleFileSuccess" accept=".xlsx, .xls" drag
+        >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div slot="tip" class="el-upload__tip">
+          <el-link
+            type="info"
+            id="templateDownloadLink"
+            @click.prevent="importDeliveryNoteTemplate"
+            >
+            下载模板
+          </el-link>
+        </div>
+        <div slot="tip" class="el-upload__tip" style="color:red">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+      </el-upload>
+        <el-divider></el-divider>
+        <el-button @click="deliveryNoteOpen = false">取 消</el-button>
+        <el-button type="primary" @click="submitDeliveryNote">确 定</el-button>
+      </span>
+    </el-dialog>
+
+
+    <!-- 新增:Excel预览打印弹窗 -->
+    <el-dialog
+      title="订单Excel预览打印"
+      :visible.sync="previewExcelOpen"
+      width="90%"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <div v-loading="previewLoading" class="excel-preview-container">
+        <!-- Excel预览表格 -->
+        <div v-if="previewExcelData.length > 0" class="excel-preview-content">
+          <table class="excel-table" border="1" cellpadding="5" cellspacing="0">
+            <tbody>
+            <tr v-for="(row, rowIndex) in previewExcelData" :key="rowIndex">
+              <td v-for="(cell, colIndex) in row" :key="colIndex" :style="{ minWidth: '120px' }">
+                {{ cell || '' }}
+              </td>
+            </tr>
+            </tbody>
+          </table>
+        </div>
+        <div v-else-if="!previewLoading" class="empty-tip">暂无预览数据</div>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="previewExcelOpen = false">关闭</el-button>
+        <el-button type="primary" @click="printExcelContent">打印</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import {
+  importTemplate,
+  exportStoreOrderItems,
+  createUserOrder,
+  listStoreOrder,
+  getStoreOrder,
+  delStoreOrder,
+  addStoreOrder,
+  updateStoreOrder,
+  exportStoreOrder,
+  getOrderItemsNum,
+  importDeliveryNoteExpressTemplate, exportStoreOrderDetails, exportStoreOrderItemsDetails, downloadOrderExcel
+} from '@/api/hisStore/storeOrder'
+import { getUserList } from "@/api/users/user";
+import { getAddressList } from "@/api/users/userAddress";
+import productOrder from "../components/productOrder";
+import productSelect from "../components/productSelect";
+import addUser from "../components/addUser";
+import addUserAddress from "../components/addUserAddress";
+import { getToken } from "@/utils/auth";
+import QRCode from 'qrcodejs2'
+import { getTcmScheduleList } from "@/api/company/tcmScheduleReport";
+import { getConfigByKey } from '@/api/system/config'
+
+export default {
+  components: { productOrder,productSelect,addUser,addUserAddress },
+  name: "HisStoreOrder",
+  data() {
+    return {
+      previewExcelOpen: false,
+      previewExcelData: [],
+      previewLoading: false,
+      itemlist : [],
+      orderOptions: [],
+      importMsgOpen:false,
+      importMsg:"",
+      scheduleOptions:[],
+      deliveryPayStatusOptions:[],
+      deliveryStatusOptions:[],
+      orderMediumOptions:[],
+      orderTypeOptions:[],
+      payTypeOptions:[],
+      payQr:{ open:false, title:"付款二维码" },
+      user:{ open:false, title:"创建会员" },
+      userAddress:{ open:false, title:"创建收货地址" },
+      tablekey:false,
+      totalMoney:0.00,
+      products:[],
+      product:{ open:false, title:"商品选择" },
+      userStatusOptions:[],
+      phone:null,
+      address:[],
+      addressloading: false,
+      userloading: false,
+      users:[],
+      show:{ open:false, title:"订单详情" },
+      activeName:"00",
+      statusOptions:[],
+      loading: true,
+      ids: [],
+      single: true,
+      multiple: true,
+      showSearch: true,
+      total: 0,
+      storeOrderList: [],
+      title: "",
+      open: false,
+      createTimeRange:[],
+      payTimeRange:[],
+      deliveryImportTimeRange:[],
+      deliverySendTimeRange:[],
+      orderItemNum:"",
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderCode: null,
+        extendOrderId: null,
+        userId: null,
+        realName: null,
+        userPhone: null,
+        userAddress: null,
+        cartId: null,
+        freightPrice: null,
+        totalNum: null,
+        totalPrice: null,
+        totalPostage: null,
+        payPrice: null,
+        payPostage: null,
+        deductionPrice: null,
+        couponId: null,
+        couponPrice: null,
+        paid: null,
+        payTime: null,
+        payType: null,
+        status: null,
+        refundStatus: null,
+        refundReasonWapImg: null,
+        refundReasonWapExplain: null,
+        refundReasonTime: null,
+        refundReasonWap: null,
+        refundReason: null,
+        refundPrice: null,
+        deliverySn: null,
+        deliveryName: null,
+        deliveryType: null,
+        deliveryId: null,
+        gainIntegral: null,
+        useIntegral: null,
+        payIntegral: null,
+        backIntegral: null,
+        mark: null,
+        isDel: null,
+        cost: null,
+        verifyCode: null,
+        storeId: null,
+        shippingType: null,
+        isChannel: null,
+        isRemind: null,
+        isSysDel: null,
+        isUpload:null,
+        merchantId:null,
+        storeSeq:null,
+        complaint:null,
+        transactionStatus:null,
+        drugRegCertNo:null,
+        manufacturer:null,
+        mah:null,
+        specType:null,
+        dosageForm:null,
+        unitName:null,
+        commonName:null,
+        batchNumber:null,
+      },
+      form: { addressId:null, userId:null },
+      rules: {
+        userId: [{ required: true, message: "会员信息不能为空" }],
+        addressId: [{ required: true, message: "收货信息不能为空" }],
+      },
+      upload: {
+        open: false,
+        title: "",
+        isUploading: false,
+        updateSupport: 0,
+        headers: { Authorization: "Bearer " + getToken() },
+        url: process.env.VUE_APP_BASE_API + "/store/storeOrder/importExpress",
+      },
+      orderUpload: {
+        open: false,
+        title: '',
+        isUploading: false,
+        updateSupport: 0,
+        headers: { Authorization: 'Bearer ' + getToken() },
+        url: process.env.VUE_APP_BASE_API + '/store/store/storeOrder/importDeliveryNoteExpress',
+      },
+      deliveryNoteOpen:false,
+      miniAppList: [],
+      ruleForm:{ miniAppId: null },
+    };
+  },
+  created() {
+    this.getDicts("crm_customer_source").then((response) => { this.orderMediumOptions = response.data; });
+    this.getDicts("sys_order_status").then(response => { this.orderOptions = response.data; });
+    this.getDicts("store_order_type").then((response) => { this.orderTypeOptions = response.data; });
+    this.getDicts("user_status").then((response) => { this.userStatusOptions = response.data; });
+    this.getDicts("store_pay_type").then((response) => { this.payTypeOptions = response.data; });
+    this.getDicts("store_order_status").then((response) => { this.statusOptions = response.data; });
+    this.getDicts("store_order_delivery_status").then((response) => { this.deliveryStatusOptions = response.data; });
+    this.getDicts("store_delivery_pay_status").then((response) => { this.deliveryPayStatusOptions = response.data; });
+    getTcmScheduleList().then(response => { this.scheduleOptions = response.data; });
+    this.getList();
+    this.getItemsNum();
+  },
+  methods: {
+    handleGenPayUrl(row){
+      this.payQr.open=true;
+      setTimeout(() => {
+        var qrcode = new QRCode(this.$refs.qrCodeUrl, {
+            text: config.payQRUrl+row.id,
+            width: 200,
+            height: 200,
+            colorDark: '#000000',
+            colorLight: '#ffffff',
+            correctLevel: QRCode.CorrectLevel.H
+        })
+      }, 200);
+    },
+    handleAddUser(){ this.user.open=true; },
+    handleAddUserAddress(){
+      if(this.form.userId==null){ this.msgError("请选择会员"); return; }
+      this.userAddress.open=true;
+      setTimeout(() => { this.$refs.addUserAddress.init(this.form.userId); }, 500);
+    },
+    addUser(){ this.user.open=false; },
+    addUserAddress(){
+      this.userAddress.open=false;
+      this.getAddressList(this.form.userId);
+    },
+    compute(){
+      this.totalMoney=0;
+      var that=this;
+      this.products.forEach (function (value) { that.totalMoney += value.money; });
+    },
+    handleProductCountChange(row){
+      this.tablekey = !this.tablekey
+      row.money=row.count*row.price;
+      this.$forceUpdate();
+      this.compute();
+    },
+    selectProduct(row){
+      for(var i=0;i<this.products.length;i++){ if(this.products[i].id==row.id){ return; } }
+      row.count=1;
+      row.money=row.count*row.price;
+      this.products.push(row);
+      this.compute();
+    },
+    handleAddProduct(){ this.product.open=true; },
+    searchUser(){
+      if(this.phone==null||this.phone==""){ return; }
+      var data={phone:this.phone}
+      this.userloading = true;
+      this.users=[];
+      this.address=[];
+      getUserList(data).then(response => {
+        this.users = response.data;
+        this.userloading = false;
+        if(this.users!=null&&this.users.length==1){
+          this.form.userId=this.users[0].userId;
+          this.getAddressList(this.form.userId)
+        }
+      });
+    },
+    getAddressList(userId){
+      var data={userId:userId}
+      this.addressloading = true;
+      this.address=[];
+      getAddressList(data).then(response => {
+        this.address = response.data;
+        this.addressloading = false;
+      });
+    },
+    handleDetails(row){
+      this.show.open=true;
+      const orderId = row.id ;
+      setTimeout(() => { this.$refs.order.getOrder(orderId); }, 500);
+    },
+    handleClick(tab, event) {
+      this.activeName=tab.name;
+      this.queryParams.status=tab.name
+      this.getList();
+    },
+    /** 查询订单列表 */
+    getList() {
+      this.loading = true;
+      if(this.queryParams.status=='00'){ this.queryParams.status=null; }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){ this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1] } else{ this.queryParams.createTimeRange=null; }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){ this.queryParams.payTimeRange=this.payTimeRange[0]+"--"+this.payTimeRange[1] } else{ this.queryParams.payTimeRange=null; }
+      if(this.deliveryImportTimeRange!=null&&this.deliveryImportTimeRange.length==2){ this.queryParams.deliveryImportTimeRange=this.deliveryImportTimeRange[0]+"--"+this.deliveryImportTimeRange[1] } else{ this.queryParams.deliveryImportTimeRange=null; }
+      if(this.deliverySendTimeRange!=null&&this.deliverySendTimeRange.length==2){ this.queryParams.deliverySendTimeRange=this.deliverySendTimeRange[0]+"--"+this.deliverySendTimeRange[1] } else{ this.queryParams.deliverySendTimeRange=null; }
+      listStoreOrder(this.queryParams).then(response => {
+        this.storeOrderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    getItemsNum() {
+      this.loading = true;
+      if(this.queryParams.status=='00'){ this.queryParams.status=null; }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){ this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1] } else{ this.queryParams.createTimeRange=null; }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){ this.queryParams.payTimeRange=this.payTimeRange[0]+"--"+this.payTimeRange[1] } else{ this.queryParams.payTimeRange=null; }
+      if(this.deliveryImportTimeRange!=null&&this.deliveryImportTimeRange.length==2){ this.queryParams.deliveryImportTimeRange=this.deliveryImportTimeRange[0]+"--"+this.deliveryImportTimeRange[1] } else{ this.queryParams.deliveryImportTimeRange=null; }
+      if(this.deliverySendTimeRange!=null&&this.deliverySendTimeRange.length==2){ this.queryParams.deliverySendTimeRange=this.deliverySendTimeRange[0]+"--"+this.deliverySendTimeRange[1] } else{ this.queryParams.deliverySendTimeRange=null; }
+      getOrderItemsNum(this.queryParams).then(response => {
+        this.orderItemNum = response.orderItemsNum;
+        this.loading = false;
+      });
+    },
+    cancel() { this.open = false; this.reset(); },
+    reset() { this.form = { addressId:null, userId:null }; this.resetForm("form"); },
+    handleQuery() { this.queryParams.pageNum = 1; this.getList(); this.getItemsNum(); },
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.verifyCode=null;
+      this.queryParams.batchNumber=null;
+      this.handleQuery();
+    },
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    handleAdd() { this.reset(); this.open = true; this.title = "创建订单"; },
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getStoreOrder(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改订单";
+      });
+    },
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        this.form.products=this.products;
+        if (valid) {
+          createUserOrder(this.form).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess("创建成功");
+              this.open = false;
+              this.getList();
+            }
+          });
+        }
+      });
+    },
+    handleDelete(row) {
+      this.products.splice(this.products.findIndex(item => item.id === row.id), 1)
+      this.compute();
+    },
+    handleOrderDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除当前选择的订单数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delStoreOrder(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    handleExport() {
+      if(this.queryParams.status=='00'){ this.queryParams.status=null; }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){ this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1] } else{ this.queryParams.createTimeRange=null; }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){ this.queryParams.payTimeRange=this.payTimeRange[0]+"--"+this.payTimeRange[1] } else{ this.queryParams.payTimeRange=null; }
+      if(this.deliveryImportTimeRange!=null&&this.deliveryImportTimeRange.length==2){ this.queryParams.deliveryImportTimeRange=this.deliveryImportTimeRange[0]+"--"+this.deliveryImportTimeRange[1] } else{ this.queryParams.deliveryImportTimeRange=null; }
+      if(this.deliverySendTimeRange!=null&&this.deliverySendTimeRange.length==2){ this.queryParams.deliverySendTimeRange=this.deliverySendTimeRange[0]+"--"+this.deliverySendTimeRange[1] } else{ this.queryParams.deliverySendTimeRange=null; }
+      const queryParams = this.addDateRange(this.queryParams, this.dateRange);
+      this.$confirm('是否确认导出所有订单数据项?', "警告", {
+          confirmButtonText: "确定", cancelButtonText: "取消", type: "warning"
+        }).then(function() { return exportStoreOrder(queryParams); })
+        .then(response => { this.download(response.msg); })
+        .catch(function() {});
+    },
+    handleExportItemsDetails() {
+      if(this.queryParams.status=='00'){ this.queryParams.status=null; }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){ this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1] } else{ this.queryParams.createTimeRange=null; }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){ this.queryParams.payTimeRange=this.payTimeRange[0]+"--"+this.payTimeRange[1] } else{ this.queryParams.payTimeRange=null; }
+      if(this.deliveryImportTimeRange!=null&&this.deliveryImportTimeRange.length==2){ this.queryParams.deliveryImportTimeRange=this.deliveryImportTimeRange[0]+"--"+this.deliveryImportTimeRange[1] } else{ this.queryParams.deliveryImportTimeRange=null; }
+      if(this.deliverySendTimeRange!=null&&this.deliverySendTimeRange.length==2){ this.queryParams.deliverySendTimeRange=this.deliverySendTimeRange[0]+"--"+this.deliverySendTimeRange[1] } else{ this.queryParams.deliverySendTimeRange=null; }
+      const queryParams = this.addDateRange(this.queryParams, this.dateRange);
+      this.$confirm('是否确认导出所有订单明细数据项?', "警告", {
+          confirmButtonText: "确定", cancelButtonText: "取消", type: "warning"
+        }).then(function() { return exportStoreOrderItemsDetails(queryParams); })
+        .then(response => { this.download(response.msg); })
+        .catch(function() {});
+    },
+    handleExportDetails() {
+      if(this.queryParams.status=='00'){ this.queryParams.status=null; }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){ this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1] } else{ this.queryParams.createTimeRange=null; }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){ this.queryParams.payTimeRange=this.payTimeRange[0]+"--"+this.payTimeRange[1] } else{ this.queryParams.payTimeRange=null; }
+      if(this.deliveryImportTimeRange!=null&&this.deliveryImportTimeRange.length==2){ this.queryParams.deliveryImportTimeRange=this.deliveryImportTimeRange[0]+"--"+this.deliveryImportTimeRange[1] } else{ this.queryParams.deliveryImportTimeRange=null; }
+      if(this.deliverySendTimeRange!=null&&this.deliverySendTimeRange.length==2){ this.queryParams.deliverySendTimeRange=this.deliverySendTimeRange[0]+"--"+this.deliverySendTimeRange[1] } else{ this.queryParams.deliverySendTimeRange=null; }
+      const queryParams = this.addDateRange(this.queryParams, this.dateRange);
+      this.$confirm('是否确认导出所有订单数据项?', "警告", {
+        confirmButtonText: "确定", cancelButtonText: "取消", type: "warning"
+      }).then(function() { return exportStoreOrderDetails(queryParams); })
+      .then(response => { this.download(response.msg); })
+      .catch(function() {});
+    },
+    handleExportItems() {
+      if(this.queryParams.status=='00'){ this.queryParams.status=null; }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){ this.queryParams.createTimeRange=this.createTimeRange[0]+"--"+this.createTimeRange[1] } else{ this.queryParams.createTimeRange=null; }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){ this.queryParams.payTimeRange=this.payTimeRange[0]+"--"+this.payTimeRange[1] } else{ this.queryParams.payTimeRange=null; }
+      if(this.deliveryImportTimeRange!=null&&this.deliveryImportTimeRange.length==2){ this.queryParams.deliveryImportTimeRange=this.deliveryImportTimeRange[0]+"--"+this.deliveryImportTimeRange[1] } else{ this.queryParams.deliveryImportTimeRange=null; }
+      if(this.deliverySendTimeRange!=null&&this.deliverySendTimeRange.length==2){ this.queryParams.deliverySendTimeRange=this.deliverySendTimeRange[0]+"--"+this.deliverySendTimeRange[1] } else{ this.queryParams.deliverySendTimeRange=null; }
+      const queryParams = this.addDateRange(this.queryParams, this.dateRange);
+      this.$confirm('是否确认导出所有订单明细数据项?', "警告", {
+        confirmButtonText: "确定", cancelButtonText: "取消", type: "warning"
+      }).then(function() { return exportStoreOrderItems(queryParams); })
+      .then(response => { this.download(response.msg); })
+      .catch(function() {});
+    },
+    handleImport() { this.upload.title = "导入银行回单"; this.upload.open = true; },
+    submitFileForm() { this.$refs.upload.submit(); },
+    handleDownloadTemplate() {
+      importTemplate().then((response) => {
+        this.download(response.msg);
+      }).catch((error) => {
+        console.error("下载模板接口调用失败:", error);
+      });
+    },
+    handleFileUploadProgress(event, file, fileList) { this.upload.isUploading = true; },
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.importMsgOpen=true;
+      this.importMsg=response.msg
+      this.getList();
+    },
+    openDeliveryNote(){ this.deliveryNoteOpen=true; },
+    handleClose(done) {
+      this.$confirm('确认关闭?').then(_ => { done(); }).catch(_ => {});
+    },
+    importDeliveryNoteTemplate(){
+      importDeliveryNoteExpressTemplate().then((response) => { this.download(response.msg) })
+    },
+    getAppList() {
+      this.miniAppList = []
+      const key = "courseMa.config"
+      getConfigByKey(key).then(response => {
+        const {code,data} = response
+        if (code === 200) {
+          let value = data && data.configValue
+          if (value) {
+            const appList = JSON.parse(value);
+            this.miniAppList = appList.filter(v => v.type === '1').map(v => {
+              return { appId: v.appid, appName: v.name }
+            })
+          }
+        }
+      })
+    },
+    submitDeliveryNote() {
+      const uploadFiles = this.$refs.upload.uploadFiles;
+      if (uploadFiles.length === 0) { this.$message.error('请选择要上传的文件'); return; }
+      this.$refs.upload.submit();
+    },
+    /** 预览并打印订单Excel */
+    handlePreviewPrintOrder(row) {
+      this.previewLoading = true;
+      this.previewExcelData = [];
+      downloadOrderExcel(row.id)
+        .then(response => {
+          if (response instanceof Blob) return response.arrayBuffer();
+          throw new Error('响应不是Excel文件格式');
+        })
+        .then(arrayBuffer => {
+          const XLSX = require('xlsx');
+          const workbook = XLSX.read(arrayBuffer, { type: 'array' });
+          const sheetName = workbook.SheetNames[0];
+          const worksheet = workbook.Sheets[sheetName];
+          const range = XLSX.utils.decode_range(worksheet['!ref'] || 'A1:A1');
+          const excelData = [];
+          for (let row = 0; row <= range.e.r; row++) {
+            const rowData = [];
+            let isRowEmpty = true;
+            for (let col = 0; col <= range.e.c; col++) {
+              const cell = worksheet[XLSX.utils.encode_cell({ r: row, c: col })];
+              const cellValue = cell ? cell.v : '';
+              rowData.push(cellValue);
+              if (cellValue !== '' && cellValue !== null && cellValue !== undefined) { isRowEmpty = false; }
+            }
+            if (!isRowEmpty) {
+              if (rowData.some(item => typeof item === 'string' && item.includes('销售退款明细单'))) {
+                excelData.push(['', '']);
+                excelData.push(rowData);
+              } else {
+                excelData.push(rowData);
+              }
+            }
+          }
+          this.previewExcelData = excelData;
+          this.previewExcelOpen = true;
+        })
+        .catch(error => {
+          console.error('预览Excel失败:', error);
+          this.$message.error('预览失败:' + (error.message || '请重试'));
+        })
+        .finally(() => { this.previewLoading = false; });
+    },
+    printExcelContent() {
+      window.print();
+    },
+  }
+};
+</script>
+<style scoped lang="scss">
+.items{
+  margin: 5px 0px;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: flex-start;
+  .pic{ width:60px; height:60px; }
+  .goods-content{
+    margin-left: 10px;
+    max-width: 200px;
+    text-align: left;
+    .goods-title{
+      overflow:hidden;
+      white-space: nowrap;
+      text-overflow: ellipsis;
+      -o-text-overflow:ellipsis;
+    }
+  }
+}
+.el-message-box__message p{ max-height: 400px; overflow:scroll; }
+.import-msg{ height: 500px; overflow: auto; }
+</style>
+<style>
+  .el-descriptions-item__label.is-bordered-label{ font-weight: normal; }
+  .excel-preview-container {
+    padding: 10px;
+    max-height: 600px;
+    overflow: auto;
+    .excel-table {
+      width: 100%;
+      border-collapse: collapse;
+      td { border: 1px solid #e6e6e6; padding: 8px; text-align: center; }
+    }
+    .empty-tip { text-align: center; padding: 20px; color: #999; }
+  }
+</style>
+<style>
+@media print {
+  body * { visibility: hidden; }
+  .print-content, .print-content * { visibility: visible; }
+  .print-content { position: absolute; top: 0; left: 0; padding: 20px; width: 100%; }
+}
+</style>

+ 1 - 1
src/views/store/components/productAfterSalesOrder.vue

@@ -2,7 +2,7 @@
   <div class="order-content">
       <div class="order-status" v-if="afterSales!=null" >
           <el-steps :active="afterSales.status==4?afterSales.status+1:afterSales.status" align-center>
-            <el-step title="待审核(24小时自动审核)"></el-step>
+            <el-step title="待审核"></el-step>
             <el-step title="平台已审核等待用户发货"></el-step>
             <el-step title="用户已发货待仓库审核"></el-step>
             <el-step title="财务审核"></el-step>