|
|
@@ -0,0 +1,258 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
+ <el-form-item label="外网订单号" prop="externalOrderNo">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.externalOrderNo"
|
|
|
+ placeholder="请输入外网订单号"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="订单编号" prop="orderNo">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.orderNo"
|
|
|
+ placeholder="请输入订单编号"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户名称" prop="customerName">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.customerName"
|
|
|
+ placeholder="请输入客户名称"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户手机" prop="customerMobile">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.customerMobile"
|
|
|
+ placeholder="请输入客户手机"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="坐席姓名" prop="agentName">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.agentName"
|
|
|
+ placeholder="请输入坐席姓名"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="成单日期" prop="orderDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="orderDateRange"
|
|
|
+ size="small"
|
|
|
+ style="width: 220px"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="-"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ @change="handleOrderDateChange"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" 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="info"
|
|
|
+ plain
|
|
|
+ icon="el-icon-upload2"
|
|
|
+ size="mini"
|
|
|
+ @click="handleImport"
|
|
|
+ v-hasPermi="['store:orderDetailSummary:import']"
|
|
|
+ >导入</el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-table v-loading="loading" border :data="dataList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="外网订单号" align="center" prop="externalOrderNo" width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="订单编号" align="center" prop="orderNo" width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="客户编号" align="center" prop="customerNo" width="100" />
|
|
|
+ <el-table-column label="坐席工号" align="center" prop="agentNo" width="100" />
|
|
|
+ <el-table-column label="坐席姓名" align="center" prop="agentName" width="100" />
|
|
|
+ <el-table-column label="坐席组" align="center" prop="agentGroup" width="100" />
|
|
|
+ <el-table-column label="部门信息" align="center" prop="deptInfo" width="120" show-overflow-tooltip />
|
|
|
+ <el-table-column label="服务人" align="center" prop="servicePerson" width="100" />
|
|
|
+ <el-table-column label="成单日期" align="center" prop="orderDate" width="120" />
|
|
|
+ <el-table-column label="客户名称" align="center" prop="customerName" width="100" />
|
|
|
+ <el-table-column label="客户手机" align="center" prop="customerMobile" width="120" />
|
|
|
+ <el-table-column label="客户电话1" align="center" prop="customerPhone1" width="120" />
|
|
|
+ <el-table-column label="当前状态" align="center" prop="orderStatus" width="100" />
|
|
|
+ <el-table-column label="签收状态" align="center" prop="signStatus" width="100" />
|
|
|
+ <el-table-column label="地址" align="center" prop="address" width="200" show-overflow-tooltip />
|
|
|
+ <el-table-column label="订购产品" align="center" prop="productOrdered" width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="定金" align="center" prop="deposit" width="100" />
|
|
|
+ <el-table-column label="金额" align="center" prop="amount" width="100" />
|
|
|
+ <el-table-column label="代收金额" align="center" prop="collectionAmount" width="100" />
|
|
|
+ <el-table-column label="说明" align="center" prop="remark" width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="快递单号" align="center" prop="trackingNo" width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="发货日期" align="center" prop="shipDate" width="120" />
|
|
|
+ <el-table-column label="快递公司" align="center" prop="courierCompany" width="100" />
|
|
|
+ <el-table-column label="退款金额" align="center" prop="refundAmount" width="100" />
|
|
|
+ <el-table-column label="退款日期" align="center" prop="refundDate" width="120" />
|
|
|
+ <el-table-column label="订单类型" align="center" prop="orderType" width="100" />
|
|
|
+ <el-table-column label="审核人" align="center" prop="auditor" width="100" />
|
|
|
+ <el-table-column label="审核时间" align="center" prop="auditTime" width="160" />
|
|
|
+ <el-table-column label="会员等级" align="center" prop="memberLevel" width="100" />
|
|
|
+ <el-table-column label="会员年龄" align="center" prop="memberAge" width="100" />
|
|
|
+ <el-table-column label="性别" align="center" prop="gender" width="80" />
|
|
|
+ <el-table-column label="病名" align="center" prop="diseaseName" width="100" show-overflow-tooltip />
|
|
|
+ <el-table-column label="省市" align="center" prop="province" width="100" />
|
|
|
+ <el-table-column label="二级市" align="center" prop="city" width="100" />
|
|
|
+ <el-table-column label="区县" align="center" prop="district" width="100" />
|
|
|
+ <el-table-column label="乡镇" align="center" prop="town" width="100" />
|
|
|
+ <el-table-column label="客户电话2" align="center" prop="customerPhone2" width="120" />
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+
|
|
|
+ <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
|
|
+ <el-upload
|
|
|
+ ref="upload"
|
|
|
+ :limit="1"
|
|
|
+ accept=".xlsx, .xls"
|
|
|
+ :headers="upload.headers"
|
|
|
+ :action="upload.url + '?updateSupport=' + upload.updateSupport"
|
|
|
+ :disabled="upload.isUploading"
|
|
|
+ :on-progress="handleFileUploadProgress"
|
|
|
+ :on-success="handleFileSuccess"
|
|
|
+ :auto-upload="false"
|
|
|
+ drag
|
|
|
+ >
|
|
|
+ <i class="el-icon-upload"></i>
|
|
|
+ <div class="el-upload__text">
|
|
|
+ 将文件拖到此处,或
|
|
|
+ <em>点击上传</em>
|
|
|
+ </div>
|
|
|
+ <div class="el-upload__tip" slot="tip">
|
|
|
+ <el-checkbox v-model="upload.updateSupport" :true-label="1" :false-label="0">是否更新已经存在的数据</el-checkbox>
|
|
|
+ <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
|
|
|
+ </div>
|
|
|
+ <div class="el-upload__tip" slot="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>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { listOrderDetailSummary, importTemplate } from "@/api/store/orderDetailSummary";
|
|
|
+import { getToken } from "@/utils/auth";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "OrderDetailSummary",
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ loading: true,
|
|
|
+ showSearch: true,
|
|
|
+ total: 0,
|
|
|
+ dataList: [],
|
|
|
+ orderDateRange: [],
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ externalOrderNo: null,
|
|
|
+ orderNo: null,
|
|
|
+ customerName: null,
|
|
|
+ customerMobile: null,
|
|
|
+ agentName: null,
|
|
|
+ orderDateStart: null,
|
|
|
+ orderDateEnd: null
|
|
|
+ },
|
|
|
+ upload: {
|
|
|
+ open: false,
|
|
|
+ title: "导入历史订单明细",
|
|
|
+ isUploading: false,
|
|
|
+ updateSupport: 0,
|
|
|
+ headers: { Authorization: "Bearer " + getToken() },
|
|
|
+ url: process.env.VUE_APP_BASE_API + "/store/orderDetailSummary/importData"
|
|
|
+ }
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getList() {
|
|
|
+ this.loading = true;
|
|
|
+ listOrderDetailSummary(this.queryParams).then(response => {
|
|
|
+ this.dataList = response.rows;
|
|
|
+ this.total = response.total;
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleQuery() {
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ resetQuery() {
|
|
|
+ this.orderDateRange = [];
|
|
|
+ this.queryParams.orderDateStart = null;
|
|
|
+ this.queryParams.orderDateEnd = null;
|
|
|
+ this.resetForm("queryForm");
|
|
|
+ this.handleQuery();
|
|
|
+ },
|
|
|
+ handleSelectionChange(selection) {
|
|
|
+ this.ids = selection.map(item => item.id);
|
|
|
+ this.single = selection.length !== 1;
|
|
|
+ this.multiple = !selection.length;
|
|
|
+ },
|
|
|
+ handleOrderDateChange(val) {
|
|
|
+ if (val) {
|
|
|
+ this.queryParams.orderDateStart = val[0];
|
|
|
+ this.queryParams.orderDateEnd = val[1];
|
|
|
+ } else {
|
|
|
+ this.queryParams.orderDateStart = null;
|
|
|
+ this.queryParams.orderDateEnd = null;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleImport() {
|
|
|
+ this.upload.title = "导入历史订单明细";
|
|
|
+ this.upload.open = true;
|
|
|
+ },
|
|
|
+ importTemplate() {
|
|
|
+ importTemplate().then(response => {
|
|
|
+ this.download(response.msg);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ 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.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ submitFileForm() {
|
|
|
+ this.$refs.upload.submit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|