|
@@ -1,26 +1,23 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
- <el-form-item label="所属商家" prop="businessId">
|
|
|
- <el-select v-model="queryParams.businessId" filterable placeholder="请选择所属商家" size="small" clearable style="width: 100%">
|
|
|
- <el-option v-for="(v,i) in shopList" :key="i" :label="v.businessName" :value="v.businessId" />
|
|
|
+ <el-form-item label="下单医院" prop="hospitalId">
|
|
|
+ <el-select v-model="queryParams.hospitalId" filterable placeholder="请选择下单医院" size="small" clearable style="width: 100%">
|
|
|
+ <el-option v-for="(v,i) in shopList" :key="i" :label="v.name" :value="v.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="订单号" prop="orderNumber">
|
|
|
- <el-input v-model="queryParams.orderNumber" placeholder="请输入订单号" maxlength="30" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
+ <el-form-item label="订单号" prop="orderNo">
|
|
|
+ <el-input v-model="queryParams.orderNo" placeholder="请输入订单号" maxlength="30" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="下单手机号" prop="userPhone">
|
|
|
- <el-input v-model="queryParams.userPhone" placeholder="请输入下单手机号" maxlength="11" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
+ <el-form-item label="下单手机号" prop="userMobile">
|
|
|
+ <el-input v-model="queryParams.userMobile" placeholder="请输入下单手机号" maxlength="11" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="商品名称" prop="businessProductName">
|
|
|
- <el-input v-model="queryParams.businessProductName" placeholder="请输入商品名称" maxlength="30" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
+ <el-form-item label="服务名称" prop="serviceName">
|
|
|
+ <el-input v-model="queryParams.serviceName" placeholder="请输入服务名称" maxlength="30" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="下单时间" prop="">
|
|
|
<el-date-picker v-model="daterangeCreateTime" size="small" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="券码核销码" prop="couponCode">
|
|
|
- <el-input v-model="queryParams.couponCode" placeholder="请输入券码核销码" maxlength="60" clearable size="small" @keyup.enter.native="handleQuery" />
|
|
|
- </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>
|
|
@@ -28,8 +25,8 @@
|
|
|
</el-form>
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
|
- <el-radio-group size="mini" v-model="queryParams.queryStatus" style="margin-bottom: 30px;" @input="handleQuery">
|
|
|
- <el-radio-button v-for="(v,i) in queryStatusList" :key="i" :label="v.value">{{v.label}}</el-radio-button>
|
|
|
+ <el-radio-group size="mini" v-model="queryParams.status" style="margin-bottom: 30px;" @input="handleQuery">
|
|
|
+ <el-radio-button v-for="(v,i) in queryStatusList" :key="i" :label="v.code">{{v.value}}</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
@@ -46,53 +43,43 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column label="商家ID" align="center" prop="businessId" /> -->
|
|
|
- <el-table-column label="订单编号" align="center" prop="orderNumber" />
|
|
|
- <el-table-column label="商品名称" align="center" prop="businessProductName" />
|
|
|
+ <el-table-column label="订单编号" align="center" prop="orderNo" />
|
|
|
+ <el-table-column label="服务名称" align="center" prop="serviceName" />
|
|
|
<el-table-column label="销售价格" align="center" prop="sellingPrice" />
|
|
|
- <el-table-column label="购买数" align="center" prop="buyQuantity" width="60" />
|
|
|
- <el-table-column label="可用数" align="center" prop="waitSum" width="60" />
|
|
|
- <el-table-column label="实付金额" align="center" prop="payAmount">
|
|
|
+ <el-table-column label="下单数量" align="center" prop="orderNum" />
|
|
|
+ <el-table-column label="单位" align="center" prop="serviceUnit" width="60">
|
|
|
<template slot-scope="{row}">
|
|
|
- {{row.payAmount||"--"}}
|
|
|
+ <div v-for="(v, i) in serviceUnitList" :key="i" v-if="v.code==row.serviceUnit">{{v.value}}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="下单手机号" align="center" prop="userPhone" />
|
|
|
- <el-table-column label="所属商家" align="center" prop="businessName" />
|
|
|
- <el-table-column label="订单状态" align="center" prop="orderStatus">
|
|
|
+ <el-table-column label="应付金额" align="center" prop="totalPrice">
|
|
|
<template slot-scope="{row}">
|
|
|
- <!-- <el-tag v-for="(v,i) in statusList" :key="i" :type="v.tag" v-if="row.orderStatus==v.value">{{v.label}}</el-tag> -->
|
|
|
- <el-tag v-if="row.orderStatus==10">待使用</el-tag>
|
|
|
+ {{row.totalPrice||"--"}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="下单手机号" align="center" prop="userMobile" />
|
|
|
+ <el-table-column label="下单医院" align="center" prop="hospitalName" />
|
|
|
+ <el-table-column label="所在科室" align="center" prop="hospitalDepartmentName" />
|
|
|
+ <el-table-column label="订单状态" align="center" prop="status">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <div v-for="(v,i) in statusList" :key="i" :type="v.tag" v-if="row.status==v.code">{{v.value}}</div>
|
|
|
+ <!-- <el-tag v-if="row.orderStatus==10">待使用</el-tag>
|
|
|
<el-tag v-if="row.orderStatus==20&&row.refundStatus!=2&&row.refundStatus!=1" type="success">已完成</el-tag>
|
|
|
<el-tag v-if="row.orderStatus==30&&row.refundStatus==2" type="info">已退款</el-tag>
|
|
|
<el-tag v-if="row.orderStatus==20&&row.refundStatus==1" type="info">已完成(有退款)</el-tag>
|
|
|
<el-tag v-if="row.orderStatus==0" type="danger">待支付</el-tag>
|
|
|
- <el-tag v-if="row.orderStatus==30&&row.refundStatus!=2" type="info">已取消</el-tag>
|
|
|
+ <el-tag v-if="row.orderStatus==30&&row.refundStatus!=2" type="info">已取消</el-tag> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="订单属性" align="center" prop="orderType">
|
|
|
- <template slot-scope="{row}">
|
|
|
- {{row.orderType==0?"自购":row.orderType==1?"奖励":"--"}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="下单时间" align="center" prop="orderTime" width="140">
|
|
|
+ <el-table-column label="下单时间" align="center" prop="createTime" width="140">
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.orderTime, '{y}-{m}-{d} {h}:{i}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="预约日期" align="center" prop="reservationDate">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.reservationDate||'--' }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="预约场次" align="center" prop="reservationTime">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.reservationTime||'--' }}</span>
|
|
|
+ <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button size="mini" type="text" @click="goDetails(scope.row)">查看</el-button>
|
|
|
- <el-button size="mini" type="text" v-if="scope.row.reservationStatus&&scope.row.orderType==1&&!scope.row.reservationTime" @click="openDialog(scope.row)">配置预约时间</el-button>
|
|
|
+ <!-- <el-button size="mini" type="text" v-if="scope.row.reservationStatus&&scope.row.orderType==1&&!scope.row.reservationTime" @click="openDialog(scope.row)">配置预约时间</el-button> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -122,7 +109,9 @@
|
|
|
|
|
|
<script>
|
|
|
import { businessProductOrderPage, businessProductOrderChange, reservation } from '@/api/order.js'
|
|
|
-import { businessList } from "@/api/shop"
|
|
|
+import { hospitalSimpleList } from "@/api/hospital.js"
|
|
|
+import { orderPage, orderEnum } from "@/api/hospitalOrder.js"
|
|
|
+import { serviceProductEnum } from "@/api/service.js"
|
|
|
export default {
|
|
|
data () {
|
|
|
return {
|
|
@@ -155,21 +144,17 @@ export default {
|
|
|
queryStatus: undefined
|
|
|
},
|
|
|
daterangeCreateTime: [],
|
|
|
- // statusList: [
|
|
|
- // { label: '待使用', value: 10, tag: "" },
|
|
|
- // { label: '已完成', value: 20, tag: "success" },
|
|
|
- // { label: '已退款', value: 3, tag: "info" },
|
|
|
- // { label: '待支付', value: 0, tag: "danger" },
|
|
|
- // { label: '已取消', value: 30, tag: "info" },
|
|
|
- // ],
|
|
|
+ statusList: [],
|
|
|
queryStatusList: [
|
|
|
- { label: '全部', value: undefined },
|
|
|
- { label: '待使用', value: 10 },
|
|
|
- { label: '已完成', value: 20 },
|
|
|
- { label: '已退款', value: 40 },
|
|
|
- { label: '待支付', value: 0 },
|
|
|
- { label: '已取消', value: 30 },
|
|
|
+ { value: '全部', code: undefined },
|
|
|
+ // { label: '待确认', value: 10 },
|
|
|
+ // { label: '待服务', value: 20 },
|
|
|
+ // { label: '服务中', value: 40 },
|
|
|
+ // { label: '已完成', value: 0 },
|
|
|
+ // { label: '已退款', value: 0 },
|
|
|
+ // { label: '已取消', value: 30 },
|
|
|
],
|
|
|
+ serviceUnitList: [],
|
|
|
tabPosition: 0,
|
|
|
shopList: [],
|
|
|
dialogVisible: false,
|
|
@@ -188,13 +173,15 @@ export default {
|
|
|
},
|
|
|
created () {
|
|
|
this.getList();
|
|
|
+ this.getOrderEnum();
|
|
|
+ this.getServiceUnitList()
|
|
|
this.getShopList()
|
|
|
},
|
|
|
methods: {
|
|
|
goDetails (row) {
|
|
|
this.$router.push({
|
|
|
path: '/order/orderList/details',
|
|
|
- query: { orderId: row.orderId }
|
|
|
+ query: { id: row.id }
|
|
|
})
|
|
|
},
|
|
|
openDialog (item) {
|
|
@@ -204,6 +191,18 @@ export default {
|
|
|
this.reserveData = res.data;
|
|
|
})
|
|
|
},
|
|
|
+ getOrderEnum () {
|
|
|
+ orderEnum().then(res => {
|
|
|
+ this.statusList = res.data.orderStatus;
|
|
|
+ this.queryStatusList.push(...res.data.orderStatus)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取服务单位列表
|
|
|
+ getServiceUnitList () {
|
|
|
+ serviceProductEnum().then(res => {
|
|
|
+ this.serviceUnitList = res.data.serviceUnit
|
|
|
+ })
|
|
|
+ },
|
|
|
reservationDateChange (e) {
|
|
|
this.reserveData.reservationDateList.map((v, i) => {
|
|
|
if (v.reservationDate == e) {
|
|
@@ -250,27 +249,27 @@ export default {
|
|
|
// 导出订单
|
|
|
handleExport () {
|
|
|
// /shoporder/shopOrder/export
|
|
|
- this.download('/system/businessProductOrder/export', {
|
|
|
+ this.download('/order/order/export', {
|
|
|
...this.queryParams
|
|
|
- }, `门店商品订单_${new Date().getTime()}.xlsx`)
|
|
|
+ }, `订单列表_${new Date().getTime()}.xlsx`)
|
|
|
},
|
|
|
dealStatus (val) {
|
|
|
return this.statusList.find(item => item.value == val).label
|
|
|
},
|
|
|
getShopList () {
|
|
|
- businessList().then(res => {
|
|
|
+ hospitalSimpleList().then(res => {
|
|
|
this.shopList = res.data
|
|
|
})
|
|
|
},
|
|
|
getList () {
|
|
|
this.loading = true;
|
|
|
- this.queryParams["orderTimeStart"] = undefined;
|
|
|
- this.queryParams["orderTimeEnd"] = undefined;
|
|
|
+ this.queryParams["startTime"] = undefined;
|
|
|
+ this.queryParams["endTime"] = undefined;
|
|
|
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
|
|
|
- this.queryParams["orderTimeStart"] = this.daterangeCreateTime[0];
|
|
|
- this.queryParams["orderTimeEnd"] = this.daterangeCreateTime[1];
|
|
|
+ this.queryParams["startTime"] = this.daterangeCreateTime[0];
|
|
|
+ this.queryParams["endTime"] = this.daterangeCreateTime[1];
|
|
|
}
|
|
|
- businessProductOrderPage(this.queryParams).then(response => {
|
|
|
+ orderPage(this.queryParams).then(response => {
|
|
|
this.list = response.rows;
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|