夜良king 2023-04-19 10:34:43 +08:00
commit 0883a967b6
3 changed files with 445 additions and 569 deletions

View File

@ -4,22 +4,10 @@
<Row @keydown.enter.native="handleSearch">
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form">
<Form-item label="订单号" prop="orderSn">
<Input
type="text"
v-model="searchForm.orderSn"
placeholder="请输入订单号"
clearable
style="width: 200px"
/>
<Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单号" clearable style="width: 200px" />
</Form-item>
<Form-item label="会员名称" prop="buyerName">
<Input
type="text"
v-model="searchForm.buyerName"
placeholder="请输入会员名称"
clearable
style="width: 200px"
/>
<Input type="text" v-model="searchForm.buyerName" placeholder="请输入会员名称" clearable style="width: 200px" />
</Form-item>
<Form-item label="订单状态" prop="orderStatus">
<Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 200px">
@ -32,43 +20,19 @@
</Select>
</Form-item>
<Form-item label="下单时间">
<DatePicker
v-model="selectDate"
type="datetimerange"
format="yyyy-MM-dd"
clearable
@on-change="selectDateRange"
placeholder="选择起始时间"
style="width: 200px"
></DatePicker>
<DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable
@on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
</Form>
</Row>
<Table
:loading="loading"
border
:columns="columns"
:data="data"
ref="table"
class="mt_10"
sortable="custom"
@on-sort-change="changeSort"
></Table>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" class="mt_10" sortable="custom"
@on-sort-change="changeSort"></Table>
<Row type="flex" justify="end" class="mt_10">
<Page
:current="searchForm.pageNumber"
:total="total"
:page-size="searchForm.pageSize"
@on-change="changePage"
@on-page-size-change="changePageSize"
:page-size-opts="[10, 20, 50]"
size="small"
show-total
show-elevator
show-sizer
></Page>
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage"
@on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" size="small" show-total show-elevator
show-sizer></Page>
</Row>
</Card>
</div>
@ -290,10 +254,11 @@
},
//
detail (v) {
console.log(v.orderType);
let sn = v.sn;
this.$router.push({
name: "order-detail",
query: {sn: sn},
query: { sn: sn, orderType: v.orderType },
});
},

View File

@ -4,24 +4,12 @@
<Card style="height: 60px">
<div style="">
<Button v-if="allowOperation.editPrice" @click="modifyPrice"></Button>
<Button
v-if="allowOperation.editConsignee"
@click="editAddress"
type="primary"
ghost
>修改收货地址</Button
>
<Button v-if="allowOperation.cancel" @click="orderCancel" type="warning" ghost
>订单取消</Button
>
<Button
v-if="orderInfo.order.orderStatus === 'UNPAID'"
@click="confirmPrice"
type="primary"
>收款</Button
>
<Button v-if="allowOperation.editConsignee" @click="editAddress" type="primary" ghost>修改收货地址</Button>
<Button v-if="allowOperation.cancel" @click="orderCancel" type="warning" ghost>订单取消</Button>
<Button v-if="orderInfo.order.orderStatus === 'UNPAID'" @click="confirmPrice" type="primary"></Button>
<Button @click="orderLog" type="info" ghost>订单日志</Button>
<Button @click="printOrder" type="primary" ghost style="float:right;">打印发货单</Button>
<Button @click="printOrder" type="primary" ghost style="float:right;"
v-if="$route.query.orderType != 'VIRTUAL'">打印发货单</Button>
</div>
</Card>
<Card class="mt_10 clearfix">
@ -66,10 +54,8 @@
</div>
</div>
<div
class="div-item"
v-if="orderInfo.order.needReceipt == true && orderInfo.receipt && orderInfo.receipt.taxpayerId"
>
<div class="div-item"
v-if="orderInfo.order.needReceipt == true && orderInfo.receipt && orderInfo.receipt.taxpayerId">
<div class="div-item-left">发票税号</div>
<div class="div-item-right">
{{ orderInfo.receipt && orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : "暂无" }}
@ -127,12 +113,12 @@
<div class="div-item-right">{{ orderInfo.order.remark }}</div>
</div>
<div class="div-item" v-if="orderInfo.order.needReceipt == false">
<!-- <div class="div-item" v-if="orderInfo.order.needReceipt == false">
<div class="div-item-left">发票信息</div>
<div class="div-item-right">暂无发票信息</div>
</div>
</div> -->
<div class="div-item" v-if="orderInfo.order.needReceipt == true">
<!-- <div class="div-item" v-if="orderInfo.order.needReceipt == true">
<div class="div-item-left">发票抬头</div>
<div class="div-item-right">
{{
@ -141,10 +127,8 @@
</div>
</div>
<div
class="div-item"
v-if="orderInfo.order.needReceipt == true && orderInfo.receipt && orderInfo.receipt.taxpayerId"
>
<div class="div-item"
v-if="orderInfo.order.needReceipt == true && orderInfo.receipt && orderInfo.receipt.taxpayerId">
<div class="div-item-left">发票税号</div>
<div class="div-item-right">
{{ orderInfo.receipt && orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : "暂无" }}
@ -178,9 +162,9 @@
<div class="div-item-right">
{{ orderInfo.receipt ? (orderInfo.receipt.receiptStatus == 0 ? "未开" : "已开") : "空" }}
</div>
</div>
</div> -->
<div class="div-item">
<div class="div-item" v-if="$route.query.orderType != 'VIRTUAL'">
<div class="div-item-left">配送方式</div>
<div class="div-item-right">
{{ orderInfo.deliveryMethodValue }}
@ -189,22 +173,12 @@
</div>
</Card>
<Card class="mt_10">
<Table
:loading="loading"
border
:columns="columns"
:data="data"
ref="table"
sortable="custom"
>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom">
<!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="{ row }">
<div style="margin-top: 5px; height: 80px; display: flex">
<div style="">
<img
:src="row.image"
style="height: 60px; margin-top: 1px; width: 60px"
/>
<img :src="row.image" style="height: 60px; margin-top: 1px; width: 60px" />
</div>
<div style="margin-left: 13px">
@ -216,28 +190,12 @@
{{ key }} : {{ item }}
</span>
</span>
<Poptip
trigger="hover"
style="display: block"
title="扫码在手机中查看"
transfer
>
<Poptip trigger="hover" style="display: block" title="扫码在手机中查看" transfer>
<div slot="content">
<vue-qr
:text="wapLinkTo(row.goodsId, row.skuId)"
:margin="0"
colorDark="#000"
colorLight="#fff"
:size="150"
></vue-qr>
<vue-qr :text="wapLinkTo(row.goodsId, row.skuId)" :margin="0" colorDark="#000" colorLight="#fff"
:size="150"></vue-qr>
</div>
<img
src="../../../assets/qrcode.svg"
class="hover-pointer"
width="20"
height="20"
alt=""
/>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt="" />
</Poptip>
</div>
</div>
@ -251,33 +209,31 @@
orderInfo.order.priceDetailDTO.goodsPrice | unitPrice("¥")
}}</span>
</li>
<li
v-if="
<li v-if="
orderInfo.order.priceDetailDTO.discountPrice &&
orderInfo.order.priceDetailDTO.discountPrice > 0
"
>
">
<span class="label">优惠金额</span>
<span class="txt">
{{ orderInfo.order.priceDetailDTO.discountPrice | unitPrice("¥") }}
</span>
</li>
<li
v-if="
<li v-if="
orderInfo.order.priceDetailDTO.couponPrice &&
orderInfo.order.priceDetailDTO.couponPrice > 0
"
>
">
<span class="label">优惠券金额</span>
<span class="txt">
{{ orderInfo.order.priceDetailDTO.couponPrice | unitPrice("¥") }}
</span>
</li>
<li v-if="orderInfo.order.priceDetailDTO.discountPriceDetail != undefined && orderInfo.order.priceDetailDTO.discountPriceDetail && orderInfo.order.priceDetailDTO.discountPriceDetail != null && orderInfo.order.priceDetailDTO.discountPriceDetail != ''">
<li
v-if="orderInfo.order.priceDetailDTO.discountPriceDetail != undefined && orderInfo.order.priceDetailDTO.discountPriceDetail && orderInfo.order.priceDetailDTO.discountPriceDetail != null && orderInfo.order.priceDetailDTO.discountPriceDetail != ''">
<div class="label">
<Poptip trigger="hover" placement="left" width="200">
<Icon v-if="typeList.length > 0" type="ios-alert-outline" size="17" @click="getOrderPrice" color="#cc0000"/>
<Icon v-if="typeList.length > 0" type="ios-alert-outline" size="17" @click="getOrderPrice"
color="#cc0000" />
<template #content>
<div class="api" style="text-align:left;">
<table>
@ -318,9 +274,7 @@
</li>
<li v-if="orderInfo.order.priceDetailDTO.updatePrice">
<span class="label">修改金额</span>
<span class="txt theme_color"
>¥{{ orderInfo.order.priceDetailDTO.updatePrice | unitPrice }}</span
>
<span class="txt theme_color">¥{{ orderInfo.order.priceDetailDTO.updatePrice | unitPrice }}</span>
</li>
<li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
<span class="label">使用积分</span>
@ -330,9 +284,7 @@
</li>
<li>
<span class="label">应付金额</span>
<span class="txt flowPrice"
>¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span
>
<span class="txt flowPrice">¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span>
</li>
</ul>
</div>
@ -345,20 +297,10 @@
<span>修改金额</span>
</p>
<div>
<Form
ref="modifyPriceForm"
:model="modifyPriceForm"
label-position="left"
:label-width="70"
:rules="modifyPriceValidate"
>
<Form ref="modifyPriceForm" :model="modifyPriceForm" label-position="left" :label-width="70"
:rules="modifyPriceValidate">
<FormItem label="订单金额" prop="price">
<InputNumber
style="width: 100px"
v-model="modifyPriceForm.price"
:min="0"
:max="999999"
></InputNumber>
<InputNumber style="width: 100px" v-model="modifyPriceForm.price" :min="0" :max="999999"></InputNumber>
<span class="ml_10"></span>
</FormItem>
</Form>
@ -375,20 +317,11 @@
<span>订单取消</span>
</p>
<div>
<Form
ref="orderCancelForm"
:model="orderCancelForm"
label-position="left"
:label-width="100"
:rules="orderCancelValidate"
>
<Form ref="orderCancelForm" :model="orderCancelForm" label-position="left" :label-width="100"
:rules="orderCancelValidate">
<FormItem label="取消原因" prop="reason">
<Input
v-model="orderCancelForm.reason"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
placeholder="请输入取消原因"
></Input>
<Input v-model="orderCancelForm.reason" type="textarea" :autosize="{ minRows: 2, maxRows: 5 }"
placeholder="请输入取消原因"></Input>
</FormItem>
</Form>
</div>
@ -404,55 +337,22 @@
<span>修改收件信息</span>
</p>
<div>
<Form
ref="addressForm"
:model="addressForm"
label-position="left"
:label-width="100"
:rules="addressRule"
>
<Form ref="addressForm" :model="addressForm" label-position="left" :label-width="100" :rules="addressRule">
<FormItem label="收件人" prop="consigneeName">
<Input
v-model="addressForm.consigneeName"
size="large"
maxlength="20"
></Input>
<Input v-model="addressForm.consigneeName" size="large" maxlength="20"></Input>
</FormItem>
<FormItem label="联系方式" prop="consigneeMobile">
<Input
v-model="addressForm.consigneeMobile"
size="large"
maxlength="11"
></Input>
<Input v-model="addressForm.consigneeMobile" size="large" maxlength="11"></Input>
</FormItem>
<FormItem label="地址信息" prop="consigneeAddressPath">
<Input
v-model="addr"
disabled
style="width: 305px"
v-if="showRegion == false"
/>
<Button
v-if="showRegion == false"
@click="regionClick"
:loading="submitLoading"
type="primary"
icon="ios-create-outline"
style="margin-left: 8px"
>修改
<Input v-model="addr" disabled style="width: 305px" v-if="showRegion == false" />
<Button v-if="showRegion == false" @click="regionClick" :loading="submitLoading" type="primary"
icon="ios-create-outline" style="margin-left: 8px">修改
</Button>
<region
style="width: 400px"
@selected="selectedRegion"
v-if="showRegion == true"
/>
<region style="width: 400px" @selected="selectedRegion" v-if="showRegion == true" />
</FormItem>
<FormItem label="详细地址" prop="consigneeDetail">
<Input
v-model="addressForm.consigneeDetail"
size="large"
maxlength="50"
></Input>
<Input v-model="addressForm.consigneeDetail" size="large" maxlength="50"></Input>
</FormItem>
</Form>
</div>
@ -467,14 +367,8 @@
<span>订单日志</span>
</p>
<div class="order-log-div">
<Table
:loading="loading"
border
:columns="orderLogColumns"
:data="orderInfo.orderLogs"
ref="table"
sortable="custom"
></Table>
<Table :loading="loading" border :columns="orderLogColumns" :data="orderInfo.orderLogs" ref="table"
sortable="custom"></Table>
</div>
<div slot="footer" style="text-align: right">
@ -484,7 +378,9 @@
<Modal v-model="printModal" width="530" @on-cancel="printCancel">
<p slot="header" style="line-height:26px;height:26px;">
<span style="float: left;">打印发货单</span>
<Button size="small" style="margin-right:35px;float: right;padding-bottom: 2px;" @click="printHiddenInfo"><template v-if="printHiddenFlag"></template><template v-else></template></Button>
<Button size="small" style="margin-right:35px;float: right;padding-bottom: 2px;"
@click="printHiddenInfo"><template v-if="printHiddenFlag"></template><template
v-else>隐藏</template>敏感信息</Button>
</p>
<div style="max-height:500px;overflow-y:auto;overflow-x:hidden;">
<div id="printInfo">
@ -498,13 +394,15 @@
<p class="lineH30 f14">收件人{{ orderInfo.order.consigneeName }}</p>
</Col>
<Col span="12" v-if="orderInfo.order.consigneeMobile">
<p class="lineH30 f14" v-if="printHiddenFlag">{{ orderInfo.order.consigneeMobile.replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2") }}</p>
<p class="lineH30 f14" v-if="printHiddenFlag">{{
orderInfo.order.consigneeMobile.replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2") }}</p>
<p class="lineH30 f14" v-else>{{ orderInfo.order.consigneeMobile }}</p>
</Col>
</Row>
<Row>
<Col span="24">
<p class="lineH30 f14">收货地址{{ orderInfo.order.consigneeAddressPath }}{{ orderInfo.order.consigneeDetail }}</p>
<p class="lineH30 f14">收货地址{{ orderInfo.order.consigneeAddressPath }}{{ orderInfo.order.consigneeDetail }}
</p>
</Col>
</Row>
<Row>
@ -903,6 +801,7 @@ export default {
.lineH30 {
line-height: 30px;
}
.order-log-div {
line-height: 30px;
overflow-y: scroll;
@ -1000,16 +899,19 @@ export default {
}
}
}
.f14 {
font-size: 14px;
color: #333;
}
.printgoodtitle {
font-size: 14px;
line-height: 1.5;
margin-top: 15px;
color: #333;
}
.printgoodinfo {
// font-size: 14px;
// background: #f2f2f2;
@ -1017,6 +919,7 @@ export default {
padding: 10px;
overflow: hidden;
color: #333;
.printgooditem {
border-bottom: 1px solid #e8eaec;
display: flex;
@ -1025,34 +928,42 @@ export default {
line-height: 30px;
margin-bottom: 10px;
padding-bottom: 10px;
.printgoodname {
flex: 1;
overflow: hidden;
.printgoodguid {
font-size: 12px;
color: #999999;
line-height: 1.5;
.printgoodguiditem {
margin-right: 10px;
}
}
}
.printgoodprice {
width: 135px;
margin-left: 15px;
}
.printgoodnumber {
width: 85px;
margin-left: 15px;
}
}
}
@media print {
@page {
size: auto;
margin: 3mm;
}
html,body{
html,
body {
height: inherit;
}
}