提交 79ec7c1c authored 作者: 王天霸's avatar 王天霸

1

上级 2ebbcc67
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<div class="overMain"> <div class="overMain">
<div class="form-box"> <div class="form-box">
<el-form class="form-params" ref="form" :model="form" label-width="120px" :inline="true" size="small"> <el-form class="form-params" ref="form" :model="form" label-width="120px" :inline="true" size="small">
<el-form-item label="订单号:"> <el-form-item label="云仓订单号:">
<el-input style="width:220px;" v-model="form.order_sn" placeholder="请输入总订单号" /> <el-input style="width:220px;" v-model="form.order_sn" placeholder="请输入总订单号" />
</el-form-item> </el-form-item>
...@@ -126,6 +126,7 @@ ...@@ -126,6 +126,7 @@
<el-table-column label="商品名称" align="center"></el-table-column> <el-table-column label="商品名称" align="center"></el-table-column>
<el-table-column label="规格/数量/金额" align="center"></el-table-column> <el-table-column label="规格/数量/金额" align="center"></el-table-column>
<el-table-column label="下单/发货/完成时间" align="center" width="180"></el-table-column> <el-table-column label="下单/发货/完成时间" align="center" width="180"></el-table-column>
<el-table-column label="发货类型" align="center" width="120"></el-table-column>
<el-table-column label="运费" align="center" width="100"></el-table-column> <el-table-column label="运费" align="center" width="100"></el-table-column>
<el-table-column label="收货人" align="center" width="200"></el-table-column> <el-table-column label="收货人" align="center" width="200"></el-table-column>
<!-- <el-table-column label="联系电话" align="center" width="120"></el-table-column> --> <!-- <el-table-column label="联系电话" align="center" width="120"></el-table-column> -->
...@@ -142,7 +143,7 @@ ...@@ -142,7 +143,7 @@
<div style="float:left;"> <div style="float:left;">
<span>订单状态:</span> <span>订单状态:</span>
<span>{{ orderStatusFormatter(item.order.status) }}</span> <span>{{ orderStatusFormatter(item.order.status) }}</span>
<span style="margin: 0 0 0 30px;">订单号:</span> <span style="margin: 0 0 0 30px;">云仓订单号:</span>
<span>{{ item.order.order_sn }}</span> <span>{{ item.order.order_sn }}</span>
</div> </div>
<div style="float:right;"> <div style="float:right;">
...@@ -177,6 +178,15 @@ ...@@ -177,6 +178,15 @@
<span :class="{ 'red-text' : updatedTimeFormatter(scope.row.updated_time) == '未完成' }">{{ <span :class="{ 'red-text' : updatedTimeFormatter(scope.row.updated_time) == '未完成' }">{{
updatedTimeFormatter(scope.row.updated_time, scope.row.goods_status) }}</span> updatedTimeFormatter(scope.row.updated_time, scope.row.goods_status) }}</span>
</template> </template>
</el-table-column>
<el-table-column prop="dispatch_price" width="120" label="发货类型" align="center">
<template slot-scope="scope">
<div v-if="scope.row.send_time==0">-</div>
<div v-else>
<span v-if="scope.row.type==1">快递</span>
<span v-if="scope.row.type==2">自行配送</span>
</div>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="dispatch_price" width="100" label="运费" align="center"> <el-table-column prop="dispatch_price" width="100" label="运费" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -198,8 +208,8 @@ ...@@ -198,8 +208,8 @@
<el-table-column prop="refund_status" label="售后状态" width="180" align="center" <el-table-column prop="refund_status" label="售后状态" width="180" align="center"
:formatter="refundStatusFormatter"> :formatter="refundStatusFormatter">
<template slot-scope="scope"> <template slot-scope="scope">
{{refundStatusFormatter(scope.row.refund_status)}} {{refundStatusFormatter(scope.row.refund_status)}}<br/>
{{item.order.after_sale_accomplish_time?timeFormatter(item.order.after_sale_accomplish_time):''}} {{timeFormatter(scope.row.after_sale_accomplish_time)}}
</template> </template>
</el-table-column> </el-table-column>
...@@ -216,7 +226,7 @@ ...@@ -216,7 +226,7 @@
<el-table-column label="操作" width="120" align="center" fixed="right"> <el-table-column label="操作" width="120" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleInfo(scope.row)">详情</el-button> <el-button type="text" @click="handleInfo(scope.row)">详情</el-button>
<el-button :disabled="Number(scope.row.goods_status)!==0&&(Number(scope.row.status)!=0||Number(scope.row.status)!=5)" type="text" <el-button :disabled="Number(scope.row.goods_status)!==0||(Number(scope.row.status)!=0&&Number(scope.row.status)!=-1)" type="text"
@click="goShipping(scope.row.id,scope.row.goods_order_sn)">去发货</el-button> @click="goShipping(scope.row.id,scope.row.goods_order_sn)">去发货</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -310,12 +320,21 @@ ...@@ -310,12 +320,21 @@
:close-on-click-modal="false" :append-to-body="true"> :close-on-click-modal="false" :append-to-body="true">
<div style="margin: 0 10%"> <div style="margin: 0 10%">
<el-form ref="form" label-width="100px"> <el-form ref="form" label-width="100px">
<el-form-item label="发货类型:">
<el-radio-group v-model="radioshop" @change="radioshopclick()">
<el-radio :label="1">快递发货</el-radio>
<el-radio :label="2">自行配送</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="快递公司:"> <el-form-item label="快递公司:">
<el-select size="mini" v-model="expressNum" filterable placeholder="请选择快递公司" style="width: 100%;"> <el-select size="mini" v-model="expressNum" filterable placeholder="请选择快递公司" style="width: 100%;">
<el-option v-for="item in expressLists" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in expressLists" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="快递公司:" v-if="radioshop == 2">
<el-input size="mini" v-model="expressNum1" placeholder="请输入快递公司"></el-input>
</el-form-item> -->
<el-form-item label="快递单号:"> <el-form-item label="快递单号:">
<el-input size="mini" v-model="express_sn" placeholder="请输入快递单号"></el-input> <el-input size="mini" v-model="express_sn" placeholder="请输入快递单号"></el-input>
</el-form-item> </el-form-item>
...@@ -365,7 +384,9 @@ ...@@ -365,7 +384,9 @@
data() { data() {
return { return {
goShippingDialog: false, goShippingDialog: false,
radioshop:1,
expressNum: '', expressNum: '',
expressNum1:'',
express_sn: '', express_sn: '',
goods_ids: '', goods_ids: '',
// channel_id // channel_id
...@@ -442,19 +463,27 @@ ...@@ -442,19 +463,27 @@
this.getExpressList() this.getExpressList()
}, },
methods: { methods: {
radioshopclick(){
this.express_sn = ''
let data={
type:this.radioshop
}
expressList(data).then(res => {
if (res.code == 1) {
this.expressLists = res.data.expressLists
}
})
},
goShipping(id, goods_order_sn) { goShipping(id, goods_order_sn) {
this.goods_ids = goods_order_sn; this.goods_ids = goods_order_sn;
this.titleInfo = '去发货' this.titleInfo = '去发货'
this.expressNum = ''
this.expressNum1 = ''
this.express_sn = ''
this.goShippingDialog = true this.goShippingDialog = true
}, },
handleGoShipping() { handleGoShipping() {
if (!this.expressNum) {
this.$message({
type: 'warning',
message: '请选择快递公司'
})
return
}
if (!this.express_sn) { if (!this.express_sn) {
this.$message({ this.$message({
type: 'warning', type: 'warning',
...@@ -465,7 +494,14 @@ ...@@ -465,7 +494,14 @@
// 物流公司,名称 // 物流公司,名称
let expressName = '' let expressName = ''
this.expressLists.map((item) => { if (!this.expressNum) {
this.$message({
type: 'warning',
message: '请选择快递公司'
})
return
}
this.expressLists.map((item) => {
if (item.value == this.expressNum) { if (item.value == this.expressNum) {
expressName = item.label expressName = item.label
} }
...@@ -473,6 +509,7 @@ ...@@ -473,6 +509,7 @@
let paramsObj = { let paramsObj = {
type:this.radioshop,
goods_order_sn: [],//this.goods_ids, goods_order_sn: [],//this.goods_ids,
express_company_name: expressName, // 快递公司 名称 express_company_name: expressName, // 快递公司 名称
express_sn: this.express_sn, // 快递单号 express_sn: this.express_sn, // 快递单号
...@@ -520,7 +557,7 @@ ...@@ -520,7 +557,7 @@
}, },
/** 表格合并 列单元格 */ /** 表格合并 列单元格 */
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex > 2 && columnIndex != 7 && columnIndex != 5&& columnIndex != 8) { // 用于设置要合并开始的列号 if (columnIndex > 3 && columnIndex != 6 && columnIndex != 8 && columnIndex != 9) { // 用于设置要合并开始的列号
if (rowIndex === 0) { // 用于设置合并开始的行号 if (rowIndex === 0) { // 用于设置合并开始的行号
return { return {
rowspan: 100,     // 合并的行数 rowspan: 100,     // 合并的行数
...@@ -1082,7 +1119,10 @@ ...@@ -1082,7 +1119,10 @@
}, },
// 获取物流信息 // 获取物流信息
getExpressList() { getExpressList() {
expressList().then(res => { let data={
type:this.radioshop
}
expressList(data).then(res => {
if (res.code == 1) { if (res.code == 1) {
this.expressLists = res.data.expressLists this.expressLists = res.data.expressLists
} }
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card class="box-card"> <el-card class="box-cardone">
<div slot="header" class="clearfix"> <div style="position: relative;" class="clearfixall">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="85px" class="queryFormInline" size="small"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-form-item label="付款状态" prop="payStatus"> <el-tab-pane label="全部订单" name="fourth">
<el-select v-model="queryParams.payStatus" placeholder="付款状态" size="small"> <div slot="label">全部订单{{'(' + totalall + ')' }}</div>
<el-option v-for="item in payOptions" :key="item.value" :label="item.label" </el-tab-pane>
:value="item.value"></el-option> <el-tab-pane name="first">
</el-select> <!--<div slot="label">待发货{{activeName == 'first' ? '(' + total1 + ')' : '(0)'}}</div>-->
</el-form-item> <div slot="label">待发货{{'(' + total1 + ')' }}</div>
</el-tab-pane>
<el-tab-pane name="second">
<div slot="label">待收货{{'(' + total2 + ')' }}</div>
</el-tab-pane>
<el-tab-pane label="已收货" name="five">
<div slot="label">已收货{{'(' + total5 + ')' }}</div>
</el-tab-pane>
<el-tab-pane label="已完成" name="third">
<div slot="label">已完成{{'(' + total4 + ')' }}</div>
</el-tab-pane>
<el-tab-pane label="异常订单" name="six">
<div slot="label">异常订单{{'(' + total3 + ')' }}</div>
</el-tab-pane>
</el-tabs>
<div v-show="activeName == 'first' " style="position: absolute; top: -2px; right: 0;">
<el-tooltip v-if="channel_id == 0" class="item" effect="dark" content="查看2021年10月8日23:00之前的订单"
placement="bottom-end">
<el-button size="small" @click="gotoOldShop">查看老订单</el-button>
</el-tooltip>
<el-button size="mini" type="primary" icon="el-icon-position" @click="handleExportDeliveryOrder">批量发货
</el-button>
</div>
<div v-show="activeName == 'fourth' " style="position: absolute; top: -2px; right: 0;">
<el-tooltip v-if="channel_id == 0" class="item" effect="dark" content="查看2021年10月8日23:00之前的订单"
placement="bottom-end">
<el-button size="small" @click="gotoOldShop">查看老订单</el-button>
</el-tooltip>
<el-button size="mini" type="primary" icon="el-icon-download" @click="handleAllOrderExport">导出订单</el-button>
</div>
<div v-show="activeName == 'second' || activeName == 'third'" style="position: absolute; top: -2px; right: 0;">
<el-tooltip v-if="channel_id == 0" class="item" effect="dark" content="查看2021年10月8日23:00之前的订单"
placement="bottom-end">
<el-button size="small" @click="gotoOldShop">查看老订单</el-button>
</el-tooltip>
</div>
</div>
<div class="overMain">
<div class="form-box">
<el-form class="form-params" ref="form" :model="form" label-width="120px" :inline="true" size="small">
<el-form-item label="云仓订单号:">
<el-input style="width:220px;" v-model="form.order_sn" placeholder="请输入总订单号" />
</el-form-item>
<el-form-item label="发货状态" prop="goodsStatus"> <el-form-item label="商品名称:">
<el-select v-model="queryParams.goodsStatus" placeholder="发货状态" size="small"> <el-input v-model="form.goods_name" placeholder="请输入商品名称" />
<el-option v-for="item in goodsOptions" :key="item.value" :label="item.label" </el-form-item>
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单状态" prop="status">
<el-select v-model="queryParams.status" placeholder="订单状态" size="small">
<el-option v-for="item in orderOptions" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="商品名字" prop="GoodsName"> <el-form-item label="收货人:">
<el-input <el-input v-model="form.real_name" placeholder="请输入收货人" />
v-model="queryParams.GoodsName" </el-form-item>
placeholder="请输商品名字"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单号" prop="order_sn"> <el-form-item label="联系电话:">
<el-input <el-input v-model="form.Tel" placeholder="请输入联系电话" />
v-model="queryParams.order_sn" </el-form-item>
placeholder="请输订单号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="下单时间" prop="addTimeInterval"> <el-form-item label="结算状态:" prop="settlement_status" v-show="activeName == 'fourth' ">
<el-date-picker <el-select v-model="form.settlement_status" placeholder="请选择结算状态" style="width:150px;">
size="small" <el-option label="全部" value="-1"></el-option>
v-model="queryParams.addTimeInterval" <el-option label="已结算" value="1"></el-option>
type="daterange" <el-option label="未结算" value="0"></el-option>
align="left" </el-select>
unlink-panels </el-form-item>
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions"
></el-date-picker>
</el-form-item>
<el-form-item label="收货人名字" prop="shipname"> <el-form-item label="是否售后:" prop="is_after_sale" v-show="activeName == 'fourth' ">
<el-input <el-select v-model="form.is_after_sale" placeholder="请选择售后状态" style="width:150px;">
v-model="queryParams.shipname" <el-option label="全部" value="-1"></el-option>
placeholder="请输收货人名字" <el-option label="是" value="1"></el-option>
clearable <el-option label="否" value="0"></el-option>
size="small" </el-select>
@keyup.enter.native="handleQuery" </el-form-item>
/> <el-form-item label="订单状态:" prop="status" v-show="activeName == 'fourth' ">
</el-form-item> <el-select v-model="form.status" placeholder="请选择订单状态" style="width:150px;">
<el-form-item label="手机号" prop="Tel"> <el-option label="全部" value="-1"></el-option>
<el-input <el-option label="待发货" value="1"></el-option>
v-model="queryParams.Tel" <el-option label="待收货" value="2"></el-option>
placeholder="请输手机号" <el-option label="已收货" value="5"></el-option>
clearable <el-option label="已完成" value="3"></el-option>
size="small" <el-option label="异常订单" value="4"></el-option>
@keyup.enter.native="handleQuery" </el-select>
/> </el-form-item>
</el-form-item> <el-form-item label="下单时间:" v-show="activeName == 'first' || activeName == 'fourth' ">
<el-date-picker style="width:280px;" v-model="form.dateTime" type="daterange" align="left" unaLink-panels
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item> <el-form-item label="发货时间:" v-show="activeName == 'second' ">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-date-picker v-model="form.sendTime" type="daterange" align="left" unaLink-panels range-separator="至"
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-button type="warning" plain icon="el-icon-download" @click="handleExport">导出订单</el-button> </el-form-item>
<el-button type="primary" plain icon="el-icon-position" @click="handleDelivery">批量发货</el-button> <el-form-item label="收货时间:" v-show="activeName == 'five' ">
</el-form-item> <el-date-picker v-model="form.qiansTime" type="daterange" align="left" unaLink-panels range-separator="至"
</el-form> start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</div> </el-form-item>
<el-form-item label="完成时间:" v-show="activeName == 'third' ">
<el-date-picker v-model="form.finishTime" type="daterange" align="left" unaLink-panels range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-table v-loading="loading" :data="orderList" :height="tableHeight" @selection-change="handleSelectionChange"> <el-form-item>
<el-table-column type="selection" width="55" align="center"/> <el-button size="mini" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
<el-table-column label="商品名称" align="center" width="200"> <el-button size="mini" icon="el-icon-refresh" @click="resetBtn(true)">重置</el-button>
<template slot-scope="scope"> </el-form-item>
<div style="display: flex;justify-content: space-around;flex-direction: row;">
<el-image
v-if="scope.row.Img!=''"
style="width: 60px; height: 50px"
:src="scope.row.Img"
fit="fill"
></el-image>
<span>{{ scope.row.GoodsName}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="order_sn"/>
<el-table-column label="商品ID" align="center" prop="GoodsId"/>
<el-table-column label="规格" align="center" prop="SpecDes"/>
<el-table-column label="数量" align="center" prop="Quantity"/>
<el-table-column label="订单金额" align="center" prop="Money"/>
<el-table-column label="结算价格" align="center" prop="SellerMoney"/>
<!-- <el-table-column label="来源" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <p v-if="scope.row.Pt==0">供应链中台</p>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!--<el-table-column label="收货人姓名" align="center" prop=""/>-->
<el-table-column label="收货人信息" align="center" width="300">
<template slot-scope="scope">
<div style="width:80%;margin:0 auto; text-align: left;">
<span ><i class="el-icon-user"></i> {{scope.row.Shipname}}</span>
<br/>
<span ><i class="el-icon-phone-outline"></i> {{scope.row.Tel}}</span>
<br/>
<i class="el-icon-location-information"></i>
{{scope.row.Province}}
{{scope.row.City}}
{{scope.row.Area}}
{{scope.row.Town}}
{{scope.row.Address}}
</div>
</template> </el-form>
</el-table-column> </div>
<el-table-column label="付款时间" align="center" prop="Paytime"/> <!-- 表头 -->
<el-table-column label="确认收货" align="center" prop="ConfirmTime"/> <div class="table-header-spe">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table class="title_table hxz-el-table" align="center">
<template slot-scope="scope"> <!-- <el-table-column align="center" width="55" v-if="activeName == 'fourth' ">-->
<el-button <!-- <template slot="header" slot-scope="scope">-->
v-if="scope.row.PayStatus==1 && scope.row.GoodsStatus == 0 || scope.row.GoodsStatus == 3" <!-- <el-checkbox v-model="allTablesChecked" ></el-checkbox>-->
size="mini" <!-- </template>-->
type="text" <!-- </el-table-column>-->
@click="fahuo(scope.row)" <!-- <el-table-column label="订单号" align="center" width="220" ></el-table-column>-->
>去发货 <el-table-column label="商品名称" align="center"></el-table-column>
</el-button> <el-table-column label="规格/数量/金额" align="center"></el-table-column>
<el-divider <el-table-column label="下单/发货/完成时间" align="center" width="180"></el-table-column>
direction="vertical" <el-table-column label="发货类型" align="center" width="120"></el-table-column>
v-if="scope.row.PayStatus==1 && scope.row.GoodsStatus == 0 || scope.row.GoodsStatus == 3" <el-table-column label="运费" align="center" width="100"></el-table-column>
></el-divider> <el-table-column label="收货人" align="center" width="200"></el-table-column>
<el-button <!-- <el-table-column label="联系电话" align="center" width="120"></el-table-column> -->
v-else-if="scope.row.PayStatus==1 && scope.row.GoodsStatus == 1 || scope.row.GoodsStatus == 2 && scope.row.DeliverNo" <el-table-column label="售后状态" align="center" width="180"></el-table-column>
size="mini" <el-table-column label="订单备注" align="center" width="120"></el-table-column>
type="text" <el-table-column label="物流信息" align="center" width="120"></el-table-column>
@click="handleWl(scope.row)" <el-table-column label="操作" align="center" width="120"></el-table-column>
v-loading="loading" </el-table>
>物流 </div>
</el-button>
<el-divider <div class="table-all-con">
direction="vertical" <el-card v-for="(item, index) in tableDataList" :key="index" class="order-card">
v-else-if="scope.row.PayStatus==1 && scope.row.GoodsStatus == 1 || scope.row.GoodsStatus == 2 && scope.row.DeliverNo" <div slot="header" class="el-card-header-spe">
></el-divider> <div style="float:left;">
<el-button <span>订单状态:</span>
size="mini" <span>{{ orderStatusFormatter(item.order.status) }}</span>
type="text" <span style="margin: 0 0 0 30px;">云仓订单号:</span>
@click="handleUpdate(scope.row)" <span>{{ item.order.order_sn }}</span>
>详情 </div>
</el-button> <div style="float:right;">
</template> <span>结算状态:</span>
</el-table-column> <span>{{ settlementFormat(item.order.settlement_status) }}</span>
</el-table> </div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 详情 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body class="order-details" :close-on-click-modal="false">
<el-col :span="24" class="card-box" v-loading="loading">
<el-card>
<div slot="header">
<span>订单信息</span>
</div>
<div class="el-table el-table--enable-row-hover el-table--medium">
<table cellspacing="0" style="width: 100%;">
<tbody>
<tr>
<td>
<div class="cell">订单编号</div>
</td>
<td>
<div class="cell" v-if="form.order_sn">{{form.order_sn}}</div>
</td>
<td>
<div class="cell">第三方订单号</div>
</td>
<td>
<div class="cell" v-if="form.tx_sn">{{form.tx_sn}}</div>
</td>
<td>
<div class="cell">父订单号</div>
</td>
<td>
<div class="cell" v-if="form.parent_order_sn">{{form.parent_order_sn}}</div>
</td>
</tr>
<tr>
<td>
<div class="cell">商品总价格</div>
</td>
<td>
<div class="cell" v-if="form.SellerMoney">{{form.SellerMoney}}</div>
</td>
<td>
<div class="cell">商品实付价格</div>
</td>
<td>
<div class="cell" v-if="form.Money">{{form.Money}}</div>
</td>
<td>
<div class="cell">数量</div>
</td>
<td>
<div class="cell" v-if="form.Quantity">{{form.Quantity}}</div>
</td>
</tr>
<tr>
<td>
<div class="cell">下单时间</div>
</td>
<td>
<div class="cell" v-if="form.Addtime">{{form.Addtime}}</div>
</td>
<td>
<div class="cell">付款时间</div>
</td>
<td>
<div class="cell" v-if="form.Paytime">{{form.Paytime}}</div>
</td>
</tr>
</tbody>
</table>
</div>
</el-card>
</el-col>
<el-col :span="24" class="card-box" v-loading="loading">
<el-card>
<div slot="header">
<span>商品信息</span>
</div>
<div class="el-table el-table--enable-row-hover el-table--medium">
<table cellspacing="0" style="width: 100%;">
<tbody>
<tr>
<td>
<div class="cell">商品图</div>
</td>
<td>
<div class="cell" v-if="form.Img"><img :src="form.Img" alt="" width="320" height="198"></div>
</td>
<td>
<div class="cell">商品ID</div>
</td>
<td>
<div class="cell" v-if="form.GoodsId">{{form.GoodsId}}</div>
</td>
</tr>
<tr>
<td>
<div class="cell">商品名</div>
</td>
<td>
<div class="cell" v-if="form.GoodsName">{{form.GoodsName}}</div>
</td>
<td>
<div class="cell">商品规格</div>
</td>
<td>
<div class="cell" v-if="form.SpecDes">{{form.SpecDes}}</div>
</td>
</tr>
</tbody>
</table>
</div>
</el-card>
</el-col>
<!--物流信息-->
<el-col :span="24" class="card-box" v-loading="loading">
<el-card>
<div slot="header">
<span>物流信息</span>
</div> </div>
<div class="el-table el-table--enable-row-hover el-table--medium"> <div class="item-table">
<table cellspacing="0" style="width: 100%;"> <el-table border :show-header="false" :span-method="arraySpanMethod" :data="item.order_goods">
<tbody> <!-- <el-table-column type="selection" width="55" align="center" v-if="activeName == 'fourth' "></el-table-column>-->
<tr> <!-- <el-table-column prop="goods_order_sn" label="订单号" width="220" align="center"></el-table-column>-->
<td> <el-table-column prop="title" label="商品名称" align="center">
<div class="cell">收货人姓名</div> <template slot-scope="scope">
</td> <div class="img-title-table">
<td> <img v-if="scope.row.thumb" style="width:60px;height:60px;" :src="scope.row.thumb" />
<div class="cell" v-if="form.Shipname">{{form.Shipname}}</div> <div class="ml10">{{ scope.row.title }}</div>
</td>
<td>
<div class="cell">收货人电话</div>
</td>
<td>
<div class="cell" v-if="form.Tel">{{form.Tel}}</div>
</td>
<td>
<div class="cell">收货人地址</div>
</td>
<td>
<div class="cell" v-if="form.Address">{{form.Address}}</div>
</td>
</tr>
<tr>
<td>
<div class="cell">快递公司</div>
</td>
<td>
<div class="cell" v-if="form.DeliverName">{{form.DeliverName}}</div>
</td>
<td>
<div class="cell">快递单号</div>
</td>
<td>
<div class="cell" v-if="form.DeliverNo">{{form.DeliverNo}}</div>
</td>
<td>
<div class="cell">发货时间</div>
</td>
<td>
<div class="cell" v-if="form.Delivertime">{{form.Delivertime}}</div>
</td>
</tr>
<tr>
<td>
<div class="cell">运费</div>
</td>
<td>
<div class="cell" v-if="form.Freight">{{form.Freight}}</div>
</td>
<td>
<div class="cell">查看物流信息</div>
</td>
<td>
<div class="cell" v-if="form.DeliverNo">
<el-button size="big" type="text" @click="handleWl(form)">点击查看</el-button>
</div> </div>
<div class="cell" v-else> </template>
<el-button size="big" type="text" @click="fahuo(form)">去发货</el-button> </el-table-column>
<el-table-column label="规格/数量/金额" align="center">
<template slot-scope="scope">
{{ scope.row.goods_option_title ? scope.row.goods_option_title : '--' }}<br />
x {{ scope.row.total ? scope.row.total : '--' }}<br />
{{ scope.row.goods_price / 100 ? scope.row.goods_price / 100 : '--' }}<br />
</template>
</el-table-column>
<el-table-column prop="created_time" label="下单时间" width="200" align="center">
<template slot-scope="scope">
<span>{{ timeFormatter(scope.row.created_time) }}</span><br />
<span :class="{ 'red-text' : sendTimeFormatter(scope.row.send_time) == '未发货' }">{{
sendTimeFormatter(scope.row.send_time) }}</span><br />
<span :class="{ 'red-text' : updatedTimeFormatter(scope.row.updated_time) == '未完成' }">{{
updatedTimeFormatter(scope.row.updated_time, scope.row.goods_status) }}</span>
</template>
</el-table-column>
<el-table-column prop="dispatch_price" width="120" label="发货类型" align="center">
<template slot-scope="scope">
<div v-if="scope.row.send_time==0">-</div>
<div v-else>
<span v-if="scope.row.type==1">快递</span>
<span v-if="scope.row.type==2">自行配送</span>
</div> </div>
</td> </template>
</tr> </el-table-column>
</tbody> <el-table-column prop="dispatch_price" width="100" label="运费" align="center">
</table> <template slot-scope="scope">
{{ item.order.dispatch_price / 100 }}
</template>
</el-table-column>
<el-table-column prop="phone" width="200" label="收货人" align="center">
<template slot-scope="scope">
{{ item.order.real_name }}<br />
{{ item.order.mobile }}<br />
{{ item.order.provice }}{{ item.order.city }}{{ item.order.district }}{{ item.order.street }}{{ item.order.address }}
</template>
</el-table-column>
<!-- <el-table-column prop="mobile" label="联系电话" width="120" align="center">
<template slot-scope="scope">
{{ item.order.mobile }}
</template>
</el-table-column> -->
<el-table-column prop="refund_status" label="售后状态" width="180" align="center"
:formatter="refundStatusFormatter"></el-table-column>
<el-table-column prop="remark" label="订单备注" width="120" align="center">
<template slot-scope="scope">
{{item.order.remark?item.order.remark:'暂无备注内容'}}
</template>
</el-table-column>
<el-table-column prop="物流信息" label="物流信息" width="120" align="center">
<template slot-scope="scope">
<el-button type="text" @click="handleExpressInfo(scope.row)">查看物流</el-button>
</template>
</el-table-column>
<el-table-column label="操作" width="120" align="center" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="handleInfo(scope.row)">详情</el-button>
<el-button :disabled="Number(scope.row.goods_status)!==0" type="text"
@click="goShipping(scope.row.id,scope.row.goods_order_sn)">去发货</el-button>
</template>
</el-table-column>
</el-table>
</div> </div>
</el-card> </el-card>
</el-col>
<el-col :span="24" class="card-box" v-loading="loading">
<el-card>
<div slot="header">
<span>其他</span>
</div>
<div class="el-table el-table--enable-row-hover el-table--medium">
<table cellspacing="0" style="width: 100%;">
<tbody>
<tr>
<td>
<div class="cell">售后时长</div>
</td>
<td>
<div class="cell" v-if="form.AftersaleTime">{{form.AftersaleTime}}</div>
</td>
<td>
<div class="cell">售后过期时间</div>
</td>
<td>
<div class="cell" v-if="form.AfterSaleOverTime">{{form.AfterSaleOverTime}}</div>
</td>
</tr>
<tr>
<td>
<div class="cell">备注</div>
</td>
<td>
<div class="cell" v-if="form.Remark">{{form.Remark}}</div>
</td>
<td>
<div class="cell">用户备注</div>
</td>
<td>
<div class="cell" v-if="form.UserRemark">{{form.UserRemark}}</div>
</td>
</tr>
</tbody>
</table>
</div>
</el-card>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> <!-- 分页 -->
<!-- 去发货 --> <div class="footer_pagination">
<el-dialog :title="title2" :visible.sync="open2" width="60%" append-to-body v-loading="loading" style="height: 40%"> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
<el-form :model="sendGoods" ref="sendGoods" label-width="100px;"> :current-page="currentPage" :page-sizes="[20, 40, 60, 80, 100]" :page-size="pageSize"
<el-row> layout="total, sizes, prev, pager, next, jumper" :total="total">
<el-col :span="16" :offset="3"> </el-pagination>
<el-form-item label="快递公司" prop="deliverName"> </div>
<el-select v-model="sendGoods.deliverName" filterable clearable placeholder="请选择快递公司" @change="selectValue" style="width:70%"> </div>
<el-option v-for="item in expressList" :key="item.value" :label="item.label" size="small"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16" :offset="3">
<el-form-item label="快递单号" prop="deliverNo">
<el-input
v-model="sendGoods.deliverNo"
placeholder="请输快递单号"
clearable
size="small"
style="width:70%"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :span="24">
<el-col :span="2" :offset="21">
<el-form-item>
<el-button type="primary" @click="submitForm()">提 交</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!-- 物流信息 -->
<el-dialog :title="title3" :visible.sync="open3" width="60%" append-to-body v-loading="loading">
<el-timeline :reverse="reverse" style="padding: 10px 60px;">
<el-timeline-item
v-loading="loading"
v-for="(activity, index) in expressInfo"
:key="index"
:timestamp="activity.time">
{{activity.context}}
</el-timeline-item>
</el-timeline>
</el-dialog>
</el-card> </el-card>
<!-- 批量发货 --> <!-- 订单详情 对话框 -->
<el-dialog title="批量发货流程" :visible.sync="isDeliveryOpen" width="60%" center> <el-dialog title="订单详情" width="85%" :close-on-click-modal="false" :destroy-on-close="true"
:visible.sync="detailDialog" center :before-close="handleClose">
<div style="height:100%;">
<order-detail :order-detail="order_detail" :order-goods-detail="order_goods_detail"
:express-lists="expressLists" @updateOrder="updateOrder" />
</div>
</el-dialog>
<!-- 批量发货 -->
<el-dialog title="批量发货流程" :visible.sync="isDeliveryOpen" width="60%" center :before-close="cancelExport"
:close-on-click-modal="false" :destroy-on-close="true">
<el-steps :active="3" align-center style="width:95%;margin: 0 auto;"> <el-steps :active="3" align-center style="width:95%;margin: 0 auto;">
<el-step title="导出发货Excel表单" description=""> <el-step title="导出发货Excel表单" description="">
<template slot="icon"> <template slot="icon">
...@@ -475,252 +267,639 @@ ...@@ -475,252 +267,639 @@
</el-step> </el-step>
</el-steps> </el-steps>
<div class="delivery-data-con"> <div class="delivery-data-con">
<el-upload <div>
action="" <el-button size="mini" type="primary" icon="el-icon-download" @click="handleExportUnSendOrder">导出订单
class="upload-demo" </el-button>
:auto-upload="false" </div>
:limit = '1' <div>
accept="*/*" <el-upload action="" class="upload-demo" :auto-upload="false" :limit="1" accept="*/*" :on-change="importExcel"
:on-change = 'importExcel' :on-remove="removeDevExcel" ref="upload">
:on-remove = 'removeDevExcel' <el-button size="small" type="primary">上传批量发货Excel表单</el-button>
ref="upload" </el-upload>
><el-button size="small" type="primary" >上传批量发货Excel表单</el-button> </div>
<!-- <i slot="tip" class="el-upload__tip el-icon-info">请选取文本文件</i>-->
</el-upload>
<!-- <el-upload-->
<!-- class="upload-demo"-->
<!-- action="http://127.0.0.1:20001/Administration/MediaApiLhUploadHandler"-->
<!-- :on-preview="handlePreview"-->
<!-- :on-remove="handleRemove"-->
<!-- :before-remove="beforeRemove"-->
<!-- multiple-->
<!-- :limit="1"-->
<!-- :on-exceed="handleExceed"-->
<!-- :file-list="fileList">-->
<!-- <el-button size="small" type="primary" >上传批量发货Excel表单</el-button>-->
<!--&lt;!&ndash; <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>&ndash;&gt;-->
<!-- </el-upload>-->
<!-- <div class="submit-dev-form">-->
<!-- <el-button type="primary">上传批量发货Excel表单</el-button>-->
<!-- </div>-->
<!-- <div class="submit-dev-excel"></div>-->
</div> </div>
<div class="delivery-tips-con"> <div class="delivery-tips-con">
<p style="text-align: center">常见问题</p> <p style="text-align: center">常见问题</p>
<p>1、批量发货规则</p> <p>1、批量发货流程</p>
<p>必须正确填写了“快递公司 快递单号”才会导入并更改订单状态为已发货!</p> <p>【导出订单数据】按钮,获取待发货订单数据表</p>
<p>2、如何获取一个批量发货的excel文件?</p> <p>打开导出的待发货订单数据表,填写【快递公司】和【快递单号】信息</p>
<p>在商户后台左侧菜单的 “订单中心” 》“订单列表”里面可以将订单导出为Excel格式的文件,您可以在这里自由导出订单</p> <p>点击【上传批量发货Excel表单】按钮,选择填写完成的待发货订单数据表并上传,点击【确定】按钮即可完成批量发货</p>
<p>3、导出excel文件后,批量发货需要输入什么信息?</p> <p>2、注意事项</p>
<p>在我们的导出的excel文件中,打开里面有“快递单号 快递公司”。 您可以在将正确的快递发货单号,快递公司填入对应的列里面,和对应的订单号一对应。然后保存提交,就可以用于批量发货了</p> <p>请注意,必须正确填写【快递公司】名称和【快递单号】才会导入并发货成功</p>
<p>表格的其它信息请勿做修改,否则会导致批量发货不成功</p>
<p>常用快递公司名称(按此名称填写)</p>
<p>【顺丰快递】【天天快递】【韵达快递】【圆通快递】【中通快递】【中国邮政】</p>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="cancelDelivery">取 消</el-button> <el-button @click="cancelExport">取 消</el-button>
<el-button type="primary" @click="subDelivery">确 定</el-button> <el-button type="primary" @click="subDelivery">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 查看物流 -->
<el-dialog title="物流信息" width="50%" class="cutclass" :close-on-click-modal="false" :destroy-on-close="true"
:visible.sync="dialogExpress" append-to-body>
<div class="logistics">
<el-timeline>
<el-timeline-item v-for="(activity, index) in activities" :key="index" :icon="activity.icon"
:type="activity.type" color="#0bbd87" :size="activity.size" :timestamp="activity.msg_time">
{{activity.content}}
</el-timeline-item>
</el-timeline>
<div v-if="activities.length == 0">暂无物流信息</div>
</div>
</el-dialog>
<!-- fahuo -->
<el-dialog title="发货" :visible.sync="goShippingDialog" width="25%" :modal-append-to-body="false"
:close-on-click-modal="false" :append-to-body="true">
<div style="margin: 0 10%">
<el-form ref="form" label-width="100px">
<el-form-item label="发货类型:">
<el-radio-group v-model="radioshop" @change="radioshopclick()">
<el-radio :label="1">快递发货</el-radio>
<el-radio :label="2">自行配送</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="快递公司:">
<el-select size="mini" v-model="expressNum" filterable placeholder="请选择快递公司" style="width: 100%;">
<el-option v-for="item in expressLists" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="快递公司:" v-if="radioshop == 2">
<el-input size="mini" v-model="expressNum1" placeholder="请输入快递公司"></el-input>
</el-form-item> -->
<el-form-item label="快递单号:">
<el-input size="mini" v-model="express_sn" placeholder="请输入快递单号"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="mini" @click="goShippingDialog = false">取 消</el-button>
<el-button size="mini" type="primary" @click="handleGoShipping">确 定</el-button>
</span>
</el-dialog>
<!-- 批量发货 展示失败数据-->
<el-dialog title="批量发货提醒" center width="60%" class="delivery-fail-data-dialog" :visible.sync="dialogDeliveryInfor"
:close-on-click-modal="false" append-to-body :before-close="closeDeliverFailDialog">
<div class="delivery-fail-table-con">
<p class="delivery-table-tip">部分订单发货失败,失败订单信息如下表所示</p>
<el-table border :data="failDeliveryList">
<el-table-column prop="goods_order_sn" label="商品订单号" align="center"></el-table-column>
<el-table-column prop="order_sn" label="总订单号" align="center"></el-table-column>
<el-table-column prop="goods_status" label="状态" align="center"></el-table-column>
<el-table-column prop="reason" label="原因" align="center"></el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelDeliveryInfor">取 消</el-button>
<el-button size="small" type="primary" @click="exportFailDeliveryExcel">导出失败订单</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import XLSX from "xlsx"; import { indexInfo } from '@/api/webSite'
import {listOrder, getOrder, sendOrder, getExpressInfo, updateOrder, getExpressList,exportOrder,deliveryOrder} from '@/api/module/order' import {
import {dateFormat} from '@/utils' listOrder, exportOrder, orderInfo, expressInfoNew, deliveryOrder, expressList, getOrderTabData,
exportUnSendOrderGoodsData, deliveryOrderExport
} from '@/api/module/order'
import { dateFormat } from '@/utils'
import OrderDetail from './components/orderDetail.vue'
import XLSX from "xlsx"
import { isArray } from "../../../utils/validate";
export default { export default {
name: "order", components: {
OrderDetail
},
data() { data() {
return { return {
pickerOptions: { goShippingDialog: false,
shortcuts: [{ radioshop:1,
text: '最近一周', expressNum: '',
onClick(picker) { expressNum1:'',
const end = new Date(); express_sn: '',
const start = new Date(); goods_ids: '',
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); // channel_id
picker.$emit('pick', [start, end]); channel_id: '',
} //
}, { sellerId: 0,
text: '最近一个月', currentPage: 1,
onClick(picker) { pageSize: 20,
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
//-------------------
fullHeight: 0,
tableHeight: 0,
fullscreenLoading: false,
// 时间线正序
reverse: false,
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0, total: 0,
// 折扣金额表格数据 total1: '',//待发货
orderList: [], total2: '',//待收货
// 弹出层标题 total5: '',//已收货
title: "", total4: '',//已完成
// 是否显示弹出层 total3: '',//异常订单
open: false, totalall: '',//全部订单
// 弹出层标题2 activeName: 'fourth',
title2: "", form: {
// 是否显示弹出层2 order_sn: '',
open2: false, goods_name: '',
// 是否显示弹出层 real_name: '',
open3: false, Tel: '',
isDeliveryOpen: false, // 批量发货对话框 settlement_status: '',
// 弹出层标题2 status: '',
title3: "", dateTime: [],
//快递公司 finishTime: [],
expressList: [], qiansTime: [],
//商品状态 sendTime: [],
goodsOptions: [ is_after_sale: ''
{label: "全部状态", value: -1},
{label: "未发货", value: 0},
{label: "已发货", value: 1},
{label: "已收货", value: 2},
{label: "配货中", value: 3},
{label: "拒收", value: 4},
],
//支付状态 付款状态:0:未付款,1:已付款,2申请退款,3,退款中,4已退款5退款申请失败(申请后20天内未处理)
payOptions: [
{label: "全部状态", value: -1},
{label: "未付款", value: 0},
{label: "已付款", value: 1},
{label: "申请退款", value: 2},
{label: "退款中", value: 3},
{label: "已退款", value: 4},
{label: "退款申请失败", value: 5},
],
//订单状态:0:未处理,1,已作废,2,待退货,3,已退货,4,异常订单,10已处理
orderOptions: [
{label: "全部状态", value: -1},
{label: "未处理", value: 0},
{label: "已作废", value: 1},
{label: "待退货", value: 2},
{label: "已退货", value: 3},
{label: "异常订单", value: 4},
{label: "已处理", value: 10},
],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
payStatus: null,
goodsStatus: null,
status: null,
GoodsName: null,
order_sn: null,
shipname: null,
Tel:null,
beginTime: 0,
endTime: 0,
addTimeInterval: []
},
sendGoods: {
orderSn: "",
deliverNo: "",
deliverName: "",
deliverCode: "",
}, },
expressInfo: [], goodsStatus: 0,
// 表单参数 tableDataList: [], // 后台返回所有数据
form: {}, detailDialog: false,
jsonData: [], isDeliveryOpen: false,
excelList: [] excelList: [],
order_detail: {
}; remark: []
}, // 订单信息
order_goods_detail: [], // 订单商品信息
expressLists: [],
fullHeight: '',
tableHeight: null,
allTablesChecked: false,
// 订单导出 入参
exportParams: {},
// 查看物流窗口
dialogExpress: false,
activities: [],
// 批量发货 失败数据展示 窗口
dialogDeliveryInfor: false,
failDeliveryList: [], // 批量发货 失败table数据
}
},
watch: {
// fullHeight(val, oldval) {
// const contheight = document.getElementsByClassName('box-cardone')[0].clientHeight
// this.tableHeight = contheight - val - 250;
// // const heights = contheight
// // document.getElementsByClassName('cardHeight')[0].style.height = heights + 'px'
// }
}, },
created() { created() {
this.getList(); // this.$nextTick(() => {
this.getExpress(); // this.fullHeight = document.getElementsByClassName('clearfixall')[0].clientHeight
this.$nextTick(() => { // })
this.fullHeight = document.getElementsByClassName('box-card')[0].clientHeight
})
}, },
watch: { mounted() {
fullHeight(val) {
let formHeight = document.getElementsByClassName('clearfix')[0].clientHeight /** 获取 seller_id*/
this.tableHeight = val - formHeight - 110 this.sellerId = this.$store.state.user.sellerid;
}, /** 获取渠道id */
// 保证日期初始化格式 this.getChannelId()
'queryParams.addTimeInterval'() { // 订单列表 搜索
// select组件,clear的时候,将addTimeInterval的值,初始化为null,判断当其值为null时,赋值为数组 this.getListOrder()
if(!this.queryParams.addTimeInterval && typeof(this.queryParams.addTimeInterval) !== "undefined") { //
this.queryParams.addTimeInterval = []; this.getExpressList()
this.queryParams.beginTime = 0;
this.queryParams.endTime = 0;
}
}
}, },
methods: { methods: {
// 获取所有物流 radioshopclick(){
getExpress() { this.express_sn = ''
getExpressList().then(res => { let data={
if(res.code === 1 && res.data) { type:this.radioshop
this.expressList = res.data.expressLists; }
}else { expressList(data).then(res => {
this.$message({message: '数据出错啦!',type:'error'}); if (res.code == 1) {
this.expressLists = res.data.expressLists
}
})
},
goShipping(id, goods_order_sn) {
this.goods_ids = goods_order_sn;
this.titleInfo = '去发货'
this.expressNum = ''
this.expressNum1 = ''
this.express_sn = ''
this.goShippingDialog = true
},
handleGoShipping() {
if (!this.express_sn) {
this.$message({
type: 'warning',
message: '请输入快递单号'
})
return
}
// 物流公司,名称
let expressName = ''
if (!this.expressNum) {
this.$message({
type: 'warning',
message: '请选择快递公司'
})
return
}
this.expressLists.map((item) => {
if (item.value == this.expressNum) {
expressName = item.label
}
})
let paramsObj = {
type:this.radioshop,
goods_order_sn: [],//this.goods_ids,
express_company_name: expressName, // 快递公司 名称
express_sn: this.express_sn, // 快递单号
//express_code: ''
}
paramsObj.goods_order_sn.push(this.goods_ids);
//console.log(11111,paramsObj);
deliveryOrder(paramsObj).then(res => {
if (res.code == 1) {
this.$message({ type: 'success', message: '发货成功' });
this.goShippingDialog = false
this.getListOrder();
} else {
this.$message({ type: 'error', message: res.message ? res.message : '发货失败' });
} }
}); });
}, },
// 选择的物流数据 /** 判断渠道 值=0才显示 查看历史数据 链接 */
selectValue(value) { getChannelId() {
this.sendGoods.deliverCode = value; let ssa = window.location.host
}, const data = {
//物流 type: 2,
handleWl: function (row) { site_type: 4,
this.loading = true; // domain: ssa,
this.sendGoods.deliverCode = row.DeliverCode; }
this.sendGoods.deliverName = row.DeliverName; indexInfo(data).then(res => {
this.sendGoods.deliverNo = row.DeliverNo; if (res.code == 1) {
this.sendGoods.orderSn = row.order_sn; this.channel_id = res.data.channel.id
getExpressInfo(this.sendGoods).then(res => {
this.loading = false;
if(res.code === 1) {
this.open3 = true;
this.title3 = "物流信息";
this.expressInfo = res.data.data;
}else {
let msg = res.msg || '数据出错了';
this.$message({type: 'error',message: msg});
} }
}); });
}, },
//发货
fahuo: function (row) { /** 查看老订单 */
const order_sn = row.order_sn gotoOldShop() {
this.sendGoods.orderSn = order_sn window.location.href = 'http://oldpop.jxhh.com/'
this.open2 = true;
this.title2 = "去发货";
}, },
// 批量发货 checkSelectable(row, index) {
handleDelivery(){
this.isDeliveryOpen = true; },
/** 表格合并 列单元格 */
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex > 3 && columnIndex != 8 && columnIndex != 9) { // 用于设置要合并开始的列号
if (rowIndex === 0) { // 用于设置合并开始的行号
return {
rowspan: 100,     // 合并的行数
colspan: 1 // 合并的列数,设为0则直接不显示
}
} else {
return {
rowspan: 0,
colspan: 0
}
}
}
},
formatter(time) {
return dateFormat(time * 1000, 'Y-m-d H:i:s')
},
/** 一般时间 格式化 */
timeFormatter(time) {
if (time) {
return dateFormat(time * 1000, 'Y-m-d H:i:s')
} else {
return '--'
}
},
/** 发货时间 格式化 */
sendTimeFormatter(time) {
if (time) {
return dateFormat(time * 1000, 'Y-m-d H:i:s')
} else {
return '未发货'
}
},
/** 发货时间 格式化 */
updatedTimeFormatter(time, status) {
if (time && status == 2) {
return dateFormat(time * 1000, 'Y-m-d H:i:s')
} else {
return '未完成'
}
},
/** 订单状态 */
orderStatusFormatter(status) {
// <el-option label="全部" value="-1"></el-option>
// <el-option label="待发货" value="1"></el-option>
// <el-option label="待收货" value="2"></el-option>
// <el-option label="已收货" value="5"></el-option>
// <el-option label="已完成" value="3"></el-option>
// <el-option label="异常订单" value="4"></el-option>
if (status === -1) {
return '订单取消'
} else if (status === 0) {
return '待付款'
} else if (status === 1) {
return '待发货'
} else if (status === 2) {
return '待收货'
} else if (status === 3) {
return '已完成'
} else if (status === 4) {
return '异常订单'
} else if (status === 5) {
return '已收货'
} else {
return '' // 保险,返回空
}
},
/** 结算状态 */
settlementFormat(status) {
let res = '';
if (status == 0) {
res = '未结算'
} else if (status == 1) {
res = '已结算'
} else {
res = ''
}
return res
},
/** 售后状态 */
refundStatusFormatter(row, column, cellValue, index) {
let statusText = '--'
if (cellValue == 1) {
statusText = '申请仅退款'
} else if (cellValue == 2) {
statusText = '同意仅退款,退款完成'
} else if (cellValue == 3) {
statusText = '卖家拒绝退款,售后关闭'
} else if (cellValue == 4) {
statusText = '申请退货退款'
} else if (cellValue == 5) {
statusText = '同意退货退款,等待买家退货'
} else if (cellValue == 6) {
statusText = '拒绝退货退款,售后关闭'
} else if (cellValue == 7) {
statusText = '买家退货,等待卖家收货'
} else if (cellValue == 8) {
statusText = '同意退货退款,退款完成'
} else if (cellValue == 9) {
statusText = '拒绝收货,售后关闭'
} else if (cellValue == 10) {
statusText = '买家取消售后,售后关闭'
}
return statusText
},
// 重置
resetBtn(iscall) {
this.form = {
order_sn: '',
goods_name: '',
real_name: '',
Tel: '',
dateTime: [],
finishTime: [],
qiansTime: [],
sendTime: [],
settlement_status: '',
is_after_sale: ''
}
this.currentPage = 1
this.pageSize = 20
if (iscall) {
this.getListOrder()
}
},
// tab切换
handleClick(tab, event) {
this.total = 0
switch (this.activeName) {
case 'first':
this.goodsStatus = 1 //待发货
break
case 'second':
this.goodsStatus = 2 //待收货
break
case 'third':
this.goodsStatus = 3 //已完成。
break
case 'five':
this.goodsStatus = 5 //已收货
break
case 'six':
this.goodsStatus = 4 //异常订单
break
case 'fourth':
this.goodsStatus = 0 //全部订单
break
// case 'oldVersion':
// window.open('http://oldpop.jxhh.com/')
// break
default:
break
}
this.resetBtn(false)
this.getListOrder()
},
handleClose() {
this.detailDialog = false
this.getListOrder()
},
/** 获取 订单 状态对应数量 */
getOrderTab() {
getOrderTabData().then(res => {
//console.log("获取订单状态和对应订单数量",res);
if (res.code === 1 && res.data.length > 0) {
// 1 表示 代发货;2 表示 待收货
for (let i = 0; i < res.data.length; i++) {
// total1: '',//待发货
// total2: '',//待收货
// total5:'',//已收货
// total4:'',//已完成
// total3:'',//异常订单
// totalall:'',//全部订单
if (res.data[i].status === 1) {//待发货
this.total1 = res.data[i].count > 999 ? '999+' : res.data[i].count;
} else if (res.data[i].status === 2) {//待收货
this.total2 = res.data[i].count > 999 ? '999+' : res.data[i].count;
}
else if (res.data[i].status === 3) {//已完成
this.total4 = res.data[i].count > 999 ? '999+' : res.data[i].count;
}
else if (res.data[i].status === 5) {//已收货
this.total5 = res.data[i].count > 999 ? '999+' : res.data[i].count;
}
else if (res.data[i].status === 4) {//异常订单
this.total3 = res.data[i].count > 999 ? '999+' : res.data[i].count;
}
else if (res.data[i].status === 0) {//全部订单
this.totalall = res.data[i].count > 999 ? '999+' : res.data[i].count;
}
}
}
});
},
// 搜索 操作
search() {
this.currentPage = 1;
this.getListOrder();
},
// 获取订单列表
getListOrder() {
this.tableDataList = []
let params = {
page: this.currentPage,
limit: this.pageSize,
seller_id: this.sellerId,
}
// if(this.$route.query.timeout==24){
// params.is_time_out=true
// }
if (this.form.order_sn != '') {
params['order_sn'] = this.form.order_sn
}
if (this.form.goods_name != '') {
params['goods_name'] = this.form.goods_name
}
if (this.form.real_name != '') {
params['real_name'] = this.form.real_name
}
if (this.form.Tel != '') {
params['mobile'] = this.form.Tel
}
if (this.form.is_after_sale == '0' || this.form.is_after_sale == '1') {
params['is_after_sale'] = this.form.is_after_sale
}
if (this.goodsStatus == 0) {
if (this.form.status == '' || this.form.status == '-1') {
params['status'] = this.goodsStatus
}
else {
params['status'] = this.form.status
}
} else {
params['status'] = this.goodsStatus
}
if (this.form.settlement_status == '0' || this.form.settlement_status == '1') {
params['settlement_status'] = this.form.settlement_status
}
if (this.form.dateTime && this.form.dateTime.length == 2) {
params['created_start_time'] = new Date(this.form.dateTime[0]).getTime() / 1000;
params['created_end_time'] = new Date(this.form.dateTime[1]).getTime() / 1000;
}
if (this.form.finishTime && this.form.finishTime.length == 2) {
params['finish_start_time'] = new Date(this.form.finishTime[0]).getTime() / 1000;
params['finish_end_time'] = new Date(this.form.finishTime[1]).getTime() / 1000;
}
if (this.form.qiansTime && this.form.qiansTime.length == 2) {
params['sign_order_start_time'] = new Date(this.form.qiansTime[0]).getTime() / 1000;
params['sign_order_end_time'] = new Date(this.form.qiansTime[1]).getTime() / 1000;
}
if (this.form.sendTime && this.form.sendTime.length == 2) {
params['send_start_time'] = new Date(this.form.sendTime[0]).getTime() / 1000;
params['send_end_time'] = new Date(this.form.sendTime[1]).getTime() / 1000;
}
listOrder(params).then(res => {
if (res.code == 1) {
// 获取 订单 状态对应数量
this.getOrderTab()
// 每次订单 查询成功,保存查询参数,供商品导出接口使用(入参)
this.exportParams = params;
//console.log("初始赋值:",this.exportParams);
this.total = res.data.count || 0
this.tableDataList = res.data.data
} else {
this.$message({ type: "error", message: res.message ? res.message : "查询订单失败" });
}
})
},
// row 当前行 column 当前列 rowIndex 当前行号, columnIndex 当前列号
listSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex % 2 === 0) {
return {
rowspan: 2,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}
},
/**
* [待发货] 页签 导出订单 操作
* 导出逻辑,根据 当前 搜索条件,导出所有订单
* */
handleExportUnSendOrder() {
let params = this.exportParams;
delete params.page;
delete params.limit;
delete params.seller_id;
delete params.status;
exportUnSendOrderGoodsData(params).then(res => {
if (res.code === 1) {
const aLink = document.createElement('a');
aLink.href = res.data.file_url;
aLink.download = '待发货订单.xls'; //下载的文件名
aLink.style.display = 'none';
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink);
this.$message({ type: 'success', message: '导出成功,注意下载表格' });
} else {
this.$message({ type: 'error', message: res.message ? res.message : '导出失败' });
}
});
},
/**
* [全部订单] 页签 订单导出
* 导出逻辑,根据 当前 搜索条件,导出所有订单
* */
handleAllOrderExport() {
let params = this.exportParams;
delete params.page;
delete params.limit;
// delete params.seller_id;
// delete params.status;
// delete params.settlement_status;
exportOrder(params).then(res => {
if (res.code === 1) {
const aLink = document.createElement('a');
aLink.href = res.data.file_url;
//aLink.download = '订单.xls'; //下载的文件名
aLink.style.display = 'none';
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink);
} else {
this.$message({ type: 'error', message: res.message ? res.message : '导出失败' });
}
});
}, },
// 上传批量发货Excel表单前 // 上传批量发货Excel表单前
importExcel(file, fileList) { importExcel(file, fileList) {
//this.excelList = fileList;
this.excelList = []; this.excelList = [];
let _this = this; let _this = this;
_this.file2Xce(file).then(item => { _this.file2Xce(file).then(item => {
...@@ -728,24 +907,27 @@ ...@@ -728,24 +907,27 @@
// xlsxJson就是解析出来的json数据,数据格式如下 // xlsxJson就是解析出来的json数据,数据格式如下
// [{sheetName: sheet1, sheet: sheetData }] // [{sheetName: sheet1, sheet: sheetData }]
if (item[0] && item[0].sheet && item[0].sheet.length) { if (item[0] && item[0].sheet && item[0].sheet.length) {
//_this.tableData = item[0].sheet //把数据塞到表格预览 //_this.tableDataList = item[0].sheet //把数据塞到表格预览
console.log(743,item[0].sheet); // this.excelList = item[0].sheet
this.excelList = item[0].sheet item[0].sheet.map((item, index) => {
this.excelList.push({
goods_order_sn: item['商品订单号'].toString().trim(),
express_name: item['快递公司'].toString().trim(),
express_sn: item['快递单号'].toString().trim()
})
})
} }
} }
}) })
.catch(error => {
loading.close();
})
}, },
/** /**
* 解析文件 * 解析文件
* @param {Object} file * @param {Object} file
*/ */
file2Xce(file) { file2Xce(file) {
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
const reader = new FileReader(); const reader = new FileReader();
reader.onload = function(e) { reader.onload = function (e) {
const data = e.target.result; const data = e.target.result;
this.wb = XLSX.read(data, { this.wb = XLSX.read(data, {
type: "binary" type: "binary"
...@@ -764,231 +946,364 @@ ...@@ -764,231 +946,364 @@
}, },
removeDevExcel(file, fileList) { removeDevExcel(file, fileList) {
this.excelList = []; this.excelList = [];
//console.log(781,this.excelList);
},
// ---------
// tableToExcel(list){
// // 列标题,逗号隔开,每一个逗号就是隔开一个单元格
// let title = `订单编号,第三方订单号,goodsFee,goodsStatus,orderStatus,goodsId,name,price,skuName\n`;
// //增加\t为了不让表格显示科学计数法或者其他格式
// for(let i = 0 ; i < list.length ; i++ ){
// for(let item in list[i]){
// title += `${list[i][item] + '\t'},`;
// }
// title += '\n';
// }
// //encodeURIComponent解决中文乱码
// let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(title);
// //通过创建a标签实现
// var link = document.createElement("a");
// link.href = uri;
// //对下载的文件命名
// link.download = "json数据表.csv";
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
// } ,
// --------------
// 订单导出
handleExport(row) {
const rowIds = this.ids;
let query = {page: 1, limit: 100}
exportOrder(query).then(res => {
if(res.code === 1) {
const link = document.createElement('a');
link.href = res.data;
//link.download = '订单.xls'; //下载的文件名
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
});
// return
// this.$confirm('是否确认导出所选择的订单的数据?','警告',{
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(async()=> {
// this.loading = true;
// let delResult = await exportOrder(ids);
// this.loading = false;
// if(delResult.code === 1) {
// this.$message({type: 'success',message: delResult.msg});
// }
// if(delResult.code === 0) {
// this.$message({type: 'error',message: delResult.msg});
// }
// }).catch(()=> {});
},
dateIfAddZero: function (time) {
return time < 10 ? '0' + time : time
},
/** 查询折扣金额列表 */
getList() {
this.loading = true;
listOrder(this.queryParams).then(response => {
this.from = response.data.list;
this.orderList = response.data.list;
this.total = response.data.total;
this.loading = false;
});
}, },
/** 批量发货 - 导入表格 */
// 取消按钮 handleExportDeliveryOrder() {
cancel() { this.isDeliveryOpen = true;
this.open = false; this.excelList = [];
this.reset();
},
// 表单重置
reset() {
this.form = {};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
if(this.queryParams.addTimeInterval.length === 2) {
this.queryParams.beginTime = new Date(this.queryParams.addTimeInterval[0]).getTime() / 1000;
this.queryParams.endTime = new Date(this.queryParams.addTimeInterval[1]).getTime() / 1000;
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.beginTime = 0;
this.queryParams.endTime = 0;
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.order_sn)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 详情按钮操作 */
handleUpdate(row) {
this.reset();
this.loading = true
const order_sn = row.order_sn || this.ids
getOrder(order_sn).then(response => {
//console.log("请求原始数据:",response);
this.loading = false
this.form = response.data.parms;
this.form.Delivertime = dateFormat(response.data.parms.Delivertime * 1000, "Y-m-d H:i:s");
this.form.Addtime = dateFormat(response.data.parms.Addtime * 1000, "Y-m-d H:i:s");
this.expressList = response.data.expressLists;
this.open = true;
this.title = "订单详情";
});
}, },
/** 发货按钮 */ /** 取消 批量上传发货 */
submitForm() { cancelExport() {
this.$refs["sendGoods"].validate(valid => { this.$refs.upload.clearFiles();
if (valid) { this.isDeliveryOpen = false;
sendOrder(this.sendGoods).then(response => { this.excelList = [];
if (response.code == 1) { //console.log(88,this.excelList);
this.msgSuccess("发货成功"); },
this.open2 = false; /** 提交导入数据 */
this.open = false; subDelivery() {
this.getList(); this.failDeliveryList = [];
if (this.excelList.length === 0) {
this.$message({ type: 'warning', message: '请先上传填写好的表格数据' });
return
}
if (this.excelList.length > 0 && this.excelList[0].goods_order_sn && this.excelList[0].express_name && this.excelList[0].express_sn) {
deliveryOrderExport(this.excelList).then(res => {
if (res.code == 1) {
if (res.data && res.data.fail_list && res.data.fail_list.length > 0) {
this.failDeliveryList = res.data.fail_list;
this.failDeliveryList.forEach((item) => {
item['goods_status'] = '发货失败'
})
this.dialogDeliveryInfor = true;
this.$message({ type: 'warning', message: '部分订单发货成功,失败订单可以导出' });
} else {
this.isDeliveryOpen = false;
this.excelList = [];
this.$refs.upload.clearFiles();
this.$message({ type: 'success', message: '批量发货成功' });
} }
}); } else {
} this.$message({ type: 'error', message: res.message ? res.message : '批量发货失败' });
}); }
this.getListOrder();
});
} else {
this.$message({ type: 'error', message: '部分订单未填写物流公司或物流单号,请完善后再上传' });
}
}, },
/** 删除按钮操作 */ /** 导出 table数据 */
handleDelete(row) { exportFailDeliveryExcel() {
const order_sns = row.order_sn || this.ids; let list = [];
this.$confirm('是否确认删除折扣金额编号为"' + order_sns + '"的数据项?', "警告", { list = this.failDeliveryList;
confirmButtonText: "确定", let exportList = [];
cancelButtonText: "取消", this.failDeliveryList.forEach(item => {
type: "warning" let obj = {};
}).then(function () { obj['goods_order_sn'] = item.goods_order_sn
return delOrder(order_sns); obj['order_sn'] = item.order_sn
}).then(() => { obj['goods_status'] = item.goods_status
this.getList(); obj['reason'] = item.reason
this.msgSuccess("删除成功"); exportList.push(obj);
}).catch(function () {
}); });
// 列标题,逗号隔开,每一个逗号就是隔开一个单元格
let title = `商品订单号,总订单号,发货状态,失败原因\n`;
//增加\t为了不让表格显示科学计数法或者其他格式
for (let i = 0; i < exportList.length; i++) {
for (let item in exportList[i]) {
title += `${exportList[i][item] + '\t'},`;
}
title += '\n';
}
//encodeURIComponent解决中文乱码
let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(title);
//通过创建a标签实现
var link = document.createElement("a");
link.href = uri;
//对下载的文件命名
link.download = "发货失败订单汇总表.csv";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}, },
// 取消批量发货 /** 关闭 发货失败 数据展示 */
cancelDelivery() { cancelDeliveryInfor() {
this.isDeliveryOpen = false; this.isDeliveryOpen = false;
this.excelList = []; this.dialogDeliveryInfor = false;
}, },
// 提交导入数据 /** 关闭 发货失败窗口 前 */
subDelivery() { closeDeliverFailDialog() {
if(this.excelList.length === 0) { this.cancelDeliveryInfor();
this.$message({type:'warning',message:'请先上传填写好的表格数据'}); this.failDeliveryList = [];
},
/** 导出 发货失败的数据 */
exportFailDeliverList() {
this.failDeliveryList = [];
},
/** 查看物流信息 */
handleExpressInfo(row) {
// 如果 商品订单没有发货,则不用请求了
if (row.goods_status == 0) {
this.$message({ type: 'warning', message: '您还未发货,暂无物流信息' });
return return
} }
if(this.excelList.length > 0 && this.excelList[0].id && this.excelList[0].express_name && let params = {
this.excelList[0].express_sn && this.excelList[0].express_code) { goods_order_sn: row.goods_order_sn,
deliveryOrder(this.excelList).then(res=> { sku_id: row.goods_option_id
//console.log(954,res) }
if(res.code === 1) { expressInfoNew(params).then(res => {
this.isDeliveryOpen = false; if (res.code == 1 && res.data) {
this.$message({type:'success',message:'批量发货成功'}); this.dialogExpress = true
this.getList(); this.activities = res.data.order_track ? res.data.order_track : [];
}else { } else {
let msg = res.message || '批量发货失败' this.$message({ type: 'error', message: res.message ? res.message : '获取数据失败' });
this.$message({type:'error',message:msg}); }
})
},
// 订单详情
handleInfo(row) {
let order_id = row.order_id
orderInfo({ order_id: order_id }).then(res => {
if (res.code == 1 && res.data) {
this.detailDialog = true
// 留言备注,需要单独处理
let remarkList = []
// res.data.order.remark 返回数据格式比较多,不判断了
try {
remarkList = JSON.parse(res.data.order.seller_remark)
} catch (e) {
remarkList = []
} }
});
}else { res.data.order.remark = remarkList
this.$message({type:'error',message:'导入表格数据有误'}); this.order_detail = res.data.order;
// 商品订单数据 array
this.order_goods_detail = res.data.order_goods_detail ? res.data.order_goods_detail : [];
// 能否修改买家信息 字段动态添加
// 1,商品订单,只要要发货的,就不能再修改,2,修改过一次的,不能再修改
let isEditBuyerInfo = false;
if (this.order_detail.is_update_address == 1) {
isEditBuyerInfo = true
} else {
if (this.order_goods_detail.length > 0) {
for (let i = 0; i < this.order_goods_detail.length; i++) {
if (this.order_goods_detail[i].goods_status > 0) {
isEditBuyerInfo = true
break;
}
}
}
}
this.order_detail['isEditBuyerInfo'] = isEditBuyerInfo;
//console.log('备注留言返回原始数据',res.data.order.remark);
// this.$router.push({path: '/system/goods/management'});
} else if (res.code == 0) {
let msg = res.message ? res.message : '暂无数据'
this.$message({ type: 'error', message: msg });
}
})
},
/** 更新 订单备注 */
updateOrder(id) {
let row = { order_id: id }
this.handleInfo(row);
},
// 获取物流信息
getExpressList() {
let data={
type:this.radioshop
} }
} expressList(data).then(res => {
} //methods结束 if (res.code == 1) {
this.expressLists = res.data.expressLists
}
})
},
handleSizeChange(val) {
this.pageSize = val
this.getListOrder()
},
handleCurrentChange(val) {
this.currentPage = val
this.getListOrder()
},
/** 时间格式处理 */
// dateTimeChange(val) {
// if( !Array.isArray(val) ) {
// this.form.dateTime = [];
// }
//
// },
},
}; };
</script> </script>
<style scoped lang="scss" type="text/stylus">
.order-details{ <style scoped>
::v-deep .el-dialog { .box-cardone{
height: 80%; height: 100%;
overflow: hidden; }
} ::v-deep .el-range-editor.el-input__inner {
::v-deep .el-dialog__body { width: 100%;
height: calc(100% - 120px);
overflow-x: hidden;
overflow-y: scroll;
}
} }
::v-deep .queryFormInline { ::v-deep .el-card__body {
.el-form-item:nth-child(1) { height: calc(100% - 50px);
margin-bottom: 10px ; /* overflow: auto; */
}
} }
.delivery-tips-con,.delivery-data-con {
width: 80%; .overMain {
margin: 5px auto; height: 729px;
overflow: auto;
padding-top: 15px;
}
.scollbox {
/* height: calc(100% - 50px); */
/* overflow-y: hidden; */
}
::v-deep .el-tabs__header{
margin: 0;
}
.form-box {
/*margin-bottom: 20px;*/
/*padding-top: 10px;*/
}
.form-params {
/*background-color: #F7F8FA;*/
}
::v-deep .form-params .el-form-item {
margin: 5px 0 5px 0;
}
.img-title-table {
display: flex;
justify-content: center;
align-items: center;
}
.footer_pagination {
text-align: center;
/* width: 100%; */
margin-top: 15px;
/* position: fixed;
bottom: 50px;
left: 35%;
z-index: 1000;
background-color: white; */
} }
.delivery-data-con { .delivery-data-con {
height: 100px; width: 80%;
margin: 40px auto; margin: 10px auto;
font-weight: bold;
display: flex;
justify-content: space-around;
align-items: center;
flex-direction: row;
} }
.delivery-tips-con {
width: 80%;
margin: 60px auto 0;
font-weight: bold;
}
/*.delivery-data-con {*/
/* height: 100px;*/
/* margin: 20px auto;*/
/*}*/
.upload-demo { .upload-demo {
text-align : center; text-align: center;
} }
//.submit-dev-form {
// text-align : center; /* 订单卡片 样式 */
//} .order-card {
//.submit-dev-excel { margin: 10px 0 12px;
// overflow-x:hidden; }
// overflow-y:scroll; .order-card ::v-deep .el-card__header {
//} padding: 0;
.delivery-tips-con { min-height: fit-content;
}
.el-card-header-spe {
overflow: hidden;
/* 此为父元素,子元素都浮动了,所以,这样处理,撑开自己的高度 */
font-size: 14px;
padding: 10px 12px;
background-color: #f0f0f5;
/*background-color: #909399;*/
}
.table-header-spe {
background-color: #F7F8FA;
padding: 0 34px 0 22px;
margin: 5px 0;
}
::v-deep .title_table{
/*width: calc(100% - 94px) !important;*/
/*margin: 0 40px;*/
}
::v-deep .title_table .el-table__body-wrapper{
display: none !important;
height: 0 !important;
}
::v-deep .title_table tr th {
border-bottom: 0 !important;
}
::v-deep .title_table::before{
height:0;
}
.table-all-con {
/* height: calc(100% - 190px); */
/* margin-bottom: 40px; */
/* overflow: auto; */
}
.el-card-header-spe {
/* overflow: hidden; */
}
.ml10 {
margin-left: 10px;
}
.red-text {
font-size: 12px; font-size: 12px;
color: red !important;
}
/* 批量发货 对话框 */
.delivery-fail-data-dialog {
height: 100%;
overflow: hidden;
}
.delivery-fail-data-dialog ::v-deep .el-dialog {
height: 80%;
overflow: hidden;
}
.delivery-fail-data-dialog ::v-deep .el-dialog .el-dialog__body {
height: calc(100% - 120px);
overflow: auto;
padding: 15px 20px;
} }
::v-deep .el-step__title.is-finish {
color: #333 .delivery-table-tip {
padding: 0;
margin: 0 0 15px;
text-align: center;
} }
</style> </style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论