941 lines
29 KiB
Vue
941 lines
29 KiB
Vue
<template>
|
|
<div class="app-container">
|
|
<el-form
|
|
:model="queryParams"
|
|
ref="queryForm"
|
|
size="small"
|
|
:inline="true"
|
|
v-show="showSearch"
|
|
label-width="90px"
|
|
>
|
|
<el-form-item label="所属护理站" prop="nurseStationName">
|
|
<el-select v-model="queryParams.nurseStationId" placeholder="请选择护理站" @change="handleQuery">
|
|
<el-option
|
|
v-for="item in handstationlist"
|
|
:key="item.id"
|
|
:label="item.nurseStationName"
|
|
:value="item.id"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="订单编号" prop="orderNo">
|
|
<el-input
|
|
v-model="queryParams.orderNo"
|
|
placeholder="请输入订单编号"
|
|
clearable
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="订单状态" prop="orderStatus">
|
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态">
|
|
<el-option
|
|
v-for="item in orderStatuslist"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="联系电话" prop="phone">
|
|
<el-input
|
|
v-model="queryParams.phone"
|
|
placeholder="请输入联系电话"
|
|
clearable
|
|
@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>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<el-table v-loading="loading" :data="goodsOrderList" @selection-change="handleSelectionChange">
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column label="所属护理站" align="center" prop="nurseStationName" />
|
|
<el-table-column label="订单编号" align="center" prop="orderNo" width="190" />
|
|
<el-table-column label="商品名称" align="center" prop="goodsName" />
|
|
|
|
<el-table-column label="订单总金额" align="center" prop="totalPrice" />
|
|
<el-table-column label="订单状态" align="center" prop="orderStatus">
|
|
<template slot-scope="scope">
|
|
<!-- {{ orderStatus(scope.row.orderStatus) }} -->
|
|
<el-button v-if="scope.row.orderStatus == 'WAIT_PAY'">待付款</el-button>
|
|
<el-button type="primary" v-if="scope.row.orderStatus == 'PAY'">待发货</el-button>
|
|
<el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'">已取消</el-button>
|
|
<el-button type="primary" v-if="scope.row.orderStatus == 'WAIT_RECEIVED_GOODS'">待收货</el-button>
|
|
<el-button type="primary" v-if="scope.row.orderStatus == 'RECEIVED_GOODS'">待评价</el-button>
|
|
<el-button type="success" v-if="scope.row.orderStatus == 'EVALUATED'">交易完成</el-button>
|
|
<el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_REFUND'">退款中</el-button>
|
|
<el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_RETURNED_GOODS'">待退货</el-button>
|
|
<el-button type="danger" v-if="scope.row.orderStatus == 'REFUNDED'">已退款</el-button>
|
|
<el-button type="danger" v-if="scope.row.orderStatus == 'RETURNED_GOODS'">已退货</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="订单类型" align="center" prop="orderType">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.orderType == "INTEGRAL_EXCHANGE" ? "积分兑换" : "" }}
|
|
{{ scope.row.orderType == "DIRECT_BUY" ? "直接购买" : "" }}
|
|
{{ scope.row.orderType == "HEALTH_CONSULTATION" ? "健康咨询" : "" }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="联系电话" align="center" prop="phone" width="180" />
|
|
<el-table-column label="下单时间" align="center" prop="orderTime" width="180" />
|
|
<el-table-column label="下单方式" align="center" prop="orderChannel">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.orderChannel == "MOBILE_APP" ? "手机APP" : "" }}
|
|
{{ scope.row.orderChannel == "WECHAT_APPLET" ? "微信小程序" : "" }}
|
|
{{ scope.row.orderChannel == "ALI_PAY_APPLET" ? "支付宝小程序" : "" }}
|
|
</template>
|
|
</el-table-column>
|
|
<!-- <el-table-column label="备注信息" align="center" prop="remark" /> -->
|
|
<el-table-column label="录入物流单号" align="center" prop="remark">
|
|
<template slot-scope="scope">
|
|
<el-button
|
|
v-if="
|
|
scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' &&
|
|
scope.row.expressNo
|
|
"
|
|
size="mini"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
@click="seelogistics(scope.row)"
|
|
v-hasPermi="['system:goodsOrder:editExpressNo']"
|
|
>修改物流单号</el-button>
|
|
<el-button
|
|
v-if="
|
|
scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' &&
|
|
scope.row.expressNo == ''
|
|
"
|
|
size="mini"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
@click="seelogistics(scope.row)"
|
|
v-hasPermi="['system:goodsOrder:editExpressNo']"
|
|
>录入物流单号</el-button>
|
|
<el-button
|
|
v-if="
|
|
scope.row.orderStatus == 'WAIT_RECEIVED_GOODS' &&
|
|
scope.row.expressNo == null
|
|
"
|
|
size="mini"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
@click="seelogistics(scope.row)"
|
|
v-hasPermi="['system:goodsOrder:editExpressNo']"
|
|
>录入物流单号</el-button>
|
|
</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"
|
|
icon="el-icon-edit"
|
|
@click="seeOrder(scope.row)"
|
|
v-hasPermi="['system:goodsOrder:goodsOrderByOrder']"
|
|
>订单详情</el-button>
|
|
|
|
<el-button
|
|
v-if="scope.row.orderStatus == 'WAIT_REFUND'"
|
|
size="mini"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
@click="refund(scope.row.id)"
|
|
v-hasPermi="['system:goodsOrder:goodsOrderRefund']"
|
|
>确认退款</el-button>
|
|
<!-- <el-button
|
|
v-else
|
|
size="mini"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
disabled
|
|
v-hasPermi="['system:goodsOrder:goodsOrderRefund']"
|
|
>确认退款</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-dialog title="订单详情" :visible.sync="innerorder" append-to-body width="1200px">
|
|
<el-form :inline="true" ref="orderList" :model="orderList" :rules="rules" label-width="120px">
|
|
<el-form-item label="订单编号" prop="orderNo">
|
|
<el-input v-model="orderList.orderNo" :disabled="true" style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="商品名称" prop="goodsName">
|
|
<el-input
|
|
v-model="orderList.goodsName"
|
|
clearable
|
|
@keyup.enter.native="handleQuery"
|
|
:disabled="true"
|
|
style="width: 240px"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="订单类型" prop="orderType">
|
|
<el-select
|
|
v-model="orderList.orderType"
|
|
placeholder="请选择订单类型"
|
|
disabled
|
|
style="width: 240px"
|
|
>
|
|
<el-option
|
|
v-for="item in orderTypelist"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item
|
|
label="兑换商品数量"
|
|
prop="integralExchangeCount"
|
|
v-if="orderList.orderType == 'INTEGRAL_EXCHANGE'"
|
|
>
|
|
<el-input v-model="orderList.integralExchangeCount" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item
|
|
label="兑换积分数"
|
|
prop="integralExchangeSill"
|
|
v-if="orderList.orderType == 'INTEGRAL_EXCHANGE'"
|
|
>
|
|
<el-input v-model="orderList.integralExchangeSill" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="商品数量" prop="goodsCount" v-if="orderList.orderType == 'DIRECT_BUY'">
|
|
<el-input v-model="orderList.goodsCount" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="订单原始总金额" prop="originalTotalPrice">
|
|
<el-input v-model="orderList.originalTotalPrice" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="优惠券名称" prop="couponTitle">
|
|
<el-input v-model="orderList.couponTitle" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="优惠金额" prop="discountPrice">
|
|
<el-input v-model="orderList.discountPrice" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="订单应付总金额" prop="totalPrice">
|
|
<el-input v-model="orderList.totalPrice" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="收货人" prop="receiveAddress">
|
|
<el-input
|
|
v-model="orderList.receiver"
|
|
clearable
|
|
@keyup.enter.native="handleQuery"
|
|
:disabled="true"
|
|
style="width: 240px"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="收货地址" prop="receiveAddress">
|
|
<el-input
|
|
v-model="orderList.receiveAddress"
|
|
clearable
|
|
@keyup.enter.native="handleQuery"
|
|
:disabled="true"
|
|
style="width: 240px"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="手机号" prop="phone">
|
|
<el-input
|
|
v-model="orderList.phone"
|
|
clearable
|
|
@keyup.enter.native="handleQuery"
|
|
:disabled="true"
|
|
style="width: 240px"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="订单状态" prop="orderStatus">
|
|
<el-input
|
|
:value="orderStatusinfo(orderList.orderStatus)"
|
|
clearable
|
|
@keyup.enter.native="handleQuery"
|
|
:disabled="true"
|
|
style="width: 240px"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="下单方式" prop="buySource">
|
|
<el-input
|
|
:value="orderChannelinfo(orderList.orderChannel)"
|
|
disabled
|
|
style="width: 240px"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="购买来源" prop="orderChannel">
|
|
<el-input :value="buySourceinfo(orderList.buySource)" disabled style="width: 240px" />
|
|
</el-form-item>
|
|
<el-form-item label="综合评分" v-if="orderList.compositeScore">
|
|
<div style="width: 240px">
|
|
<el-rate
|
|
v-if="orderList.compositeScore"
|
|
v-model="orderList.compositeScore"
|
|
style="padding-top: 7px"
|
|
disabled
|
|
show-score
|
|
text-color="#ff9900"
|
|
score-template="{value}"
|
|
></el-rate>
|
|
<el-input v-else type="text" disabled style="width: 240px" placeholder="未评分"></el-input>
|
|
</div>
|
|
</el-form-item>
|
|
<el-form-item label="评价内容" v-if="orderList.evaluateContent">
|
|
<el-input
|
|
type="textarea"
|
|
disabled
|
|
style="width: 610px"
|
|
v-model="orderList.evaluateContent"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="评价图片" v-if="ratelist">
|
|
<div
|
|
style="
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-around;
|
|
"
|
|
>
|
|
<img
|
|
style="width: 23%; height: 100%; margin: 1%"
|
|
v-for="(item, index) in ratelist"
|
|
:src="baseurl + item.evaluatePictureUrl"
|
|
alt
|
|
:key="index"
|
|
/>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-dialog>
|
|
<!-- 查看物流信息弹框 -->
|
|
<el-dialog title="录入物流单号" :visible.sync="innerlogistics" append-to-body width="500px">
|
|
<el-form
|
|
:model="queryexpressNo"
|
|
ref="queryForm"
|
|
size="small"
|
|
:inline="true"
|
|
v-show="showSearch"
|
|
label-width="100px"
|
|
>
|
|
<el-form-item label="收货人" prop="receiver">
|
|
<el-input
|
|
style="width: 230px"
|
|
v-model="queryexpressNo.receiver"
|
|
placeholder
|
|
clearable
|
|
disabled
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="手机号" prop="phone">
|
|
<el-input
|
|
style="width: 230px"
|
|
v-model="queryexpressNo.phone"
|
|
placeholder
|
|
clearable
|
|
disabled
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="收货地址" prop="receiveAddress">
|
|
<el-input
|
|
v-model="queryexpressNo.receiveAddress"
|
|
style="width: 230px"
|
|
type="textarea"
|
|
:rows="5"
|
|
placeholder
|
|
disabled
|
|
clearable
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="物流单号" prop="orderNo">
|
|
<el-input
|
|
v-model="queryexpressNo.expressNo"
|
|
style="width: 230px"
|
|
placeholder="请输入物流单号"
|
|
clearable
|
|
/>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="cencellogistics">取 消</el-button>
|
|
<el-button type="primary" @click="searchlogistics">确 定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<!-- 退款弹框 -->
|
|
<el-dialog title="退款信息" :visible.sync="innerrefund" append-to-body width="700px">
|
|
<el-form
|
|
:model="refundlist"
|
|
ref="queryForm"
|
|
size="small"
|
|
:inline="true"
|
|
v-show="showSearch"
|
|
label-width="110px"
|
|
>
|
|
<el-form-item label="商品名称" prop="goodsName">
|
|
<el-input v-model="refundlist.goodsName" placeholder clearable disabled />
|
|
</el-form-item>
|
|
<el-form-item label="退款类型" prop="refundType">
|
|
<el-input :value="refundTypeStatus(refundlist.refundType)" disabled style="width: 205px" />
|
|
</el-form-item>
|
|
<el-form-item label="订单类型" prop="orderType">
|
|
<el-select v-model="refundlist.orderType" placeholder="请选择订单类型" disabled>
|
|
<el-option
|
|
v-for="item in orderTypelist"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="退款原因" prop="dictLabel">
|
|
<el-input v-model="refundlist.dictLabel" placeholder clearable disabled />
|
|
</el-form-item>
|
|
<el-form-item label="退款金额" prop="godTotalPrice">
|
|
<el-input v-model="refundlist.godTotalPrice" placeholder clearable disabled />
|
|
</el-form-item>
|
|
<el-form-item
|
|
label="退款积分"
|
|
prop="godTotalPrice"
|
|
v-if="refundlist.orderType =='INTEGRAL_EXCHANGE'"
|
|
>
|
|
<el-input v-model="refundlist.integralExchangeSill" placeholder clearable disabled />
|
|
</el-form-item>
|
|
<el-form-item label="补充描述和凭证" prop="refundReasonRemark">
|
|
<el-input
|
|
style="width: 300px"
|
|
v-model="refundlist.refundReasonRemark"
|
|
placeholder
|
|
clearable
|
|
type="textarea"
|
|
:rows="5"
|
|
disabled
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item></el-form-item>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="refundcancel">取 消</el-button>
|
|
<el-button type="primary" @click="submitRefundOrder">确 定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<!-- 查看物流详细信息弹框 -->
|
|
<!-- <el-dialog
|
|
title="查看订单信息"
|
|
:visible.sync="innerlogisticsinfo"
|
|
append-to-body
|
|
width="1048px"
|
|
>
|
|
<el-table
|
|
:data="orderList"
|
|
align="center"
|
|
style="margin: 10px 0 20px 0; padding-bottom: 20px"
|
|
>
|
|
<el-table-column
|
|
prop="orderNo"
|
|
label="订单编号"
|
|
width="120"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
prop="receiver"
|
|
label="收货人"
|
|
width="120"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
<el-table-column prop="phone" label="手机号" width="120" align="center">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="goodsName"
|
|
label="商品名称"
|
|
width="120"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="goodsAttributeName"
|
|
label="商品属性"
|
|
width="120"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="goodsPrice"
|
|
label="商品价格"
|
|
width="120"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-dialog>-->
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
listGoodsOrder,
|
|
getGoodsOrder,
|
|
delGoodsOrder,
|
|
addGoodsOrder,
|
|
updateGoodsOrder,
|
|
getGoodsOrderlist,
|
|
goodsOrderRefundinfo,
|
|
editExpressNo,
|
|
goodsOrderrefund,
|
|
weChatRefundOrderApply,
|
|
selectOrderEvaluate
|
|
} from "@/api/system/goodsOrder";
|
|
import { getListByUser } from "@/api/system/userlist.js";
|
|
import baseurl from "@/api/baseurl.js";
|
|
|
|
export default {
|
|
name: "GoodsOrder",
|
|
data() {
|
|
return {
|
|
baseurl: null,
|
|
// 查看商品信息
|
|
innerorder: false,
|
|
// 查看物流信息
|
|
innerlogistics: false,
|
|
// 确认退款
|
|
innerrefund: false,
|
|
orderList: [],
|
|
refundlist: [],
|
|
nurseStationlist: [],
|
|
ratelist: [], //评分list
|
|
orderStatuslist: [
|
|
{
|
|
value: "WAIT_PAY",
|
|
label: "待付款"
|
|
},
|
|
{
|
|
value: "PAY",
|
|
label: "待发货"
|
|
},
|
|
{
|
|
value: "WAIT_RECEIVED_GOODS",
|
|
label: "待收货"
|
|
},
|
|
{
|
|
value: "RECEIVED_GOODS",
|
|
label: "待评价"
|
|
},
|
|
{
|
|
value: "EVALUATED",
|
|
label: "交易完成"
|
|
},
|
|
{
|
|
value: "CANCEL",
|
|
label: "已取消"
|
|
},
|
|
{
|
|
value: "WAIT_RETURNED_GOODS",
|
|
label: "待退货"
|
|
},
|
|
{
|
|
value: "RETURNED_GOODS",
|
|
label: "已退货"
|
|
},
|
|
{
|
|
value: "WAIT_REFUND",
|
|
label: "退款中"
|
|
},
|
|
{
|
|
value: "REFUNDED",
|
|
label: "退款成功"
|
|
}
|
|
],
|
|
orderTypelist: [
|
|
{
|
|
value: "INTEGRAL_EXCHANGE",
|
|
label: "积分兑换"
|
|
},
|
|
{
|
|
value: "DIRECT_BUY",
|
|
label: "直接购买"
|
|
},
|
|
{
|
|
value: "HEALTH_CONSULTATION",
|
|
label: "健康咨询"
|
|
}
|
|
],
|
|
// 遮罩层
|
|
loading: true,
|
|
// 选中数组
|
|
ids: [],
|
|
// 非单个禁用
|
|
single: true,
|
|
// 非多个禁用
|
|
multiple: true,
|
|
// 显示搜索条件
|
|
showSearch: true,
|
|
// 总条数
|
|
total: 0,
|
|
// 商品订单表格数据
|
|
goodsOrderList: [],
|
|
handstationlist: [], //页面搜索list
|
|
// 弹出层标题
|
|
title: "",
|
|
// 是否显示弹出层
|
|
open: false,
|
|
// 查询参数
|
|
queryParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
nurseStationId: null,
|
|
patientId: null,
|
|
orderNo: null,
|
|
orderStatus: null,
|
|
totalPrice: null,
|
|
receiver: null,
|
|
receiveAddress: null,
|
|
phone: null,
|
|
orderTime: null,
|
|
orderChannel: null
|
|
},
|
|
queryexpressNo: {
|
|
id: "",
|
|
expressNo: null
|
|
},
|
|
//权限查询
|
|
getListByUserquery: {
|
|
pageNum: 1,
|
|
pageSize: 10
|
|
},
|
|
refundinfo: {
|
|
id: ""
|
|
},
|
|
// 表单参数
|
|
form: {},
|
|
// 表单校验
|
|
rules: {}
|
|
};
|
|
},
|
|
created() {
|
|
this.baseurl = baseurl;
|
|
this.info();
|
|
this.infos();
|
|
},
|
|
methods: {
|
|
// 退款类型
|
|
refundTypeStatus(refundType) {
|
|
switch (refundType) {
|
|
case "REFUND_MONEY_GOODS":
|
|
return "退款退货";
|
|
case "ONLY_REFUND_MONEY":
|
|
return "仅退款";
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
// 订单状态
|
|
orderStatusinfo(orderStatus) {
|
|
switch (orderStatus) {
|
|
case "WAIT_PAY":
|
|
return "待付款";
|
|
case "PAY":
|
|
return "待发货";
|
|
case "WAIT_RECEIVED_GOODS":
|
|
return "待收货";
|
|
case "RECEIVED_GOODS":
|
|
return "待评价";
|
|
case "EVALUATED":
|
|
return "交易完成";
|
|
case "WAIT_RETURNED_GOODS":
|
|
return "待退货";
|
|
case "RETURNED_GOODS":
|
|
return "已退货";
|
|
case "WAIT_REFUND":
|
|
return "退款中";
|
|
case "REFUNDED":
|
|
return "退款成功";
|
|
case "CANCEL":
|
|
return "已取消";
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
// 下单方式
|
|
orderChannelinfo(orderChannel) {
|
|
switch (orderChannel) {
|
|
case "MOBILE_APP":
|
|
return "手机APP";
|
|
case "WECHAT_APPLET":
|
|
return "微信小程序";
|
|
case "ALI_PAY_APPLET":
|
|
return "支付宝小程序";
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
// 购买来源
|
|
buySourceinfo(buySource) {
|
|
switch (buySource) {
|
|
case "NURSE_STATION":
|
|
return "护理站";
|
|
case "SHOPPING_MALL":
|
|
return "商城";
|
|
case "HEALTH_CONSULTATION":
|
|
return "健康咨询";
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
/** 查询商品订单列表 */
|
|
getList() {
|
|
this.loading = true;
|
|
listGoodsOrder(this.queryParams).then(response => {
|
|
this.goodsOrderList = response.rows;
|
|
this.total = response.total;
|
|
this.loading = false;
|
|
});
|
|
},
|
|
// 查看商品信息
|
|
seeOrder(row) {
|
|
const id = row.orderNo;
|
|
getGoodsOrderlist(id).then(res => {
|
|
this.orderList = res.data;
|
|
this.innerorder = true;
|
|
this.ratelist = {};
|
|
if (row.orderStatus == "EVALUATED") {
|
|
this.ratelist = res.data.orderEvaluatePictureInfoList;
|
|
} else {
|
|
}
|
|
});
|
|
},
|
|
// 查看录入物流单号弹框
|
|
seelogistics(row) {
|
|
// this.queryexpressNo.id = row.id;
|
|
this.queryexpressNo = JSON.parse(JSON.stringify(row));
|
|
this.innerlogistics = true;
|
|
},
|
|
// 确定按钮
|
|
searchlogistics() {
|
|
editExpressNo(this.queryexpressNo).then(res => {
|
|
if (res.code == 200) {
|
|
this.$modal.msgSuccess("录入成功");
|
|
}
|
|
this.queryexpressNo.expressNo = "";
|
|
this.getList();
|
|
this.innerlogistics = false;
|
|
});
|
|
},
|
|
// 取消按钮
|
|
cencellogistics() {
|
|
this.innerlogistics = false;
|
|
this.queryexpressNo.expressNo = "";
|
|
},
|
|
// 确认退款
|
|
refund(id) {
|
|
goodsOrderRefundinfo(id).then(res => {
|
|
this.refundlist = res.data;
|
|
this.innerrefund = true;
|
|
// this.getList();
|
|
});
|
|
},
|
|
//确认退款 确定按钮
|
|
submitRefundOrder() {
|
|
var obj = {};
|
|
obj.orderType = this.refundlist.orderType;
|
|
obj.orderNo = this.refundlist.goOrderNo;
|
|
obj.refundReason = this.refundlist.dictLabel;
|
|
obj.refundPrice = this.refundlist.godTotalPrice;
|
|
obj.remark = this.refundlist.refundReasonRemark;
|
|
obj.goodsStatus = this.refundlist.orderStatus;
|
|
weChatRefundOrderApply(obj).then(res => {
|
|
if (res.code == 200) {
|
|
this.$modal.msgSuccess("退款有延迟,请耐心等待");
|
|
}
|
|
this.getList();
|
|
this.innerrefund = false;
|
|
});
|
|
},
|
|
// refund(id){
|
|
// this.$confirm('是否确认退款?', '提示', {
|
|
// confirmButtonText: '确定',
|
|
// cancelButtonText: '取消',
|
|
// type: 'warning'
|
|
// }).then(() => {
|
|
// this.refundinfo.id=id
|
|
// goodsOrderrefund(this.refundinfo).then((res) => {
|
|
// this.$message({
|
|
// type: 'success',
|
|
// message: '退款成功'
|
|
// });
|
|
// this.getList();
|
|
// });
|
|
|
|
// }).catch(() => {
|
|
// this.$message({
|
|
// type: 'info',
|
|
// message: '已取消退款'
|
|
// });
|
|
// });
|
|
// },
|
|
// 取消按钮
|
|
cancel() {
|
|
this.open = false;
|
|
this.reset();
|
|
},
|
|
|
|
//退款取消按钮
|
|
refundcancel() {
|
|
this.innerrefund = false;
|
|
},
|
|
// 表单重置
|
|
reset() {
|
|
this.queryParams = {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
// nurseStationId: null,
|
|
patientId: null,
|
|
orderNo: null,
|
|
orderStatus: null,
|
|
totalPrice: null,
|
|
receiver: null,
|
|
receiveAddress: null,
|
|
phone: null,
|
|
orderTime: null,
|
|
orderChannel: null
|
|
};
|
|
this.form = {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
id: null,
|
|
// nurseStationId: null,
|
|
patientId: null,
|
|
orderNo: null,
|
|
totalPrice: null,
|
|
receiver: null,
|
|
receiveAddress: null,
|
|
phone: null,
|
|
orderTime: null,
|
|
orderChannel: null,
|
|
remark: null,
|
|
delFlag: null,
|
|
createBy: null,
|
|
createTime: null,
|
|
updateBy: null,
|
|
updateTime: null,
|
|
orderStatus: ""
|
|
};
|
|
this.resetForm("queryParams");
|
|
},
|
|
/** 搜索按钮操作 */
|
|
handleQuery() {
|
|
this.queryParams.pageNum = 1;
|
|
this.getList();
|
|
},
|
|
/** 重置按钮操作 */
|
|
resetQuery() {
|
|
if (this.nurseStationlist[0]) {
|
|
this.queryParams.pageNum = 1;
|
|
this.queryParams.pageSize = 10;
|
|
this.queryParams.orderNo = null;
|
|
this.queryParams.orderStatus = null;
|
|
this.queryParams.phone = null;
|
|
}
|
|
|
|
// this.queryParams = {
|
|
// pageNum: 1,
|
|
// pageSize: 10,
|
|
// orderNo: null,
|
|
// orderStatus: 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;
|
|
getGoodsOrder(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) {
|
|
updateGoodsOrder(this.form).then(response => {
|
|
this.$modal.msgSuccess("修改成功");
|
|
this.open = false;
|
|
this.getList();
|
|
});
|
|
} else {
|
|
addGoodsOrder(this.form).then(response => {
|
|
this.$modal.msgSuccess("新增成功");
|
|
this.open = false;
|
|
this.getList();
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
/** 删除按钮操作 */
|
|
handleDelete(row) {
|
|
const ids = row.id || this.ids;
|
|
this.$modal
|
|
.confirm('是否确认删除商品订单编号为"' + ids + '"的数据项?')
|
|
.then(function() {
|
|
return delGoodsOrder(ids);
|
|
})
|
|
.then(() => {
|
|
this.getList();
|
|
this.$modal.msgSuccess("删除成功");
|
|
})
|
|
.catch(() => {});
|
|
},
|
|
/** 导出按钮操作 */
|
|
handleExport() {
|
|
this.download(
|
|
"system/goodsOrder/export",
|
|
{
|
|
...this.getListByUserquery
|
|
},
|
|
`goodsOrder_${new Date().getTime()}.xlsx`
|
|
);
|
|
},
|
|
//权限列表
|
|
info() {
|
|
getListByUser(this.getListByUserquery).then(res => {
|
|
this.total2 = res.total;
|
|
this.nurseStationlist = res.rows;
|
|
this.queryParams.nurseStationId = res.rows[0].id;
|
|
this.getList();
|
|
// this.handleQuery();
|
|
});
|
|
},
|
|
infos() {
|
|
var queryFor = {
|
|
pageNum: 1,
|
|
pageSize: 9999
|
|
};
|
|
getListByUser(queryFor).then(res => {
|
|
this.handstationlist = res.rows;
|
|
});
|
|
}
|
|
}
|
|
};
|
|
</script>
|