|
@@ -29,7 +29,8 @@
|
|
|
<el-form-item label="网点名称" prop="websitId">
|
|
|
<el-select v-model="screenForm.websitId" placeholder="全部" filterable>
|
|
|
<el-option label="全部" value=""></el-option>
|
|
|
- <el-option :label="item.name" :value="item.id" v-for="(item, index) in websiteList" :key="index"></el-option>
|
|
|
+ <el-option :label="item.name" :value="item.id" v-for="(item, index) in websiteList"
|
|
|
+ :key="index"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -40,37 +41,27 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
-<!-- <el-col :xs="24" :sm="12" :lg="6">-->
|
|
|
-<!-- <el-form-item label="当前状态" prop="orderStatus">-->
|
|
|
-<!-- <el-select v-model="screenForm.orderStatus" placeholder="全部">-->
|
|
|
-<!-- <el-option label="全部" value=""></el-option>-->
|
|
|
-<!-- <el-option :label="item.label" :value="item.value" v-for="(item, index) in screen_status" :key="index"></el-option>-->
|
|
|
-<!-- </el-select>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
+ <!-- <el-col :xs="24" :sm="12" :lg="6">-->
|
|
|
+ <!-- <el-form-item label="当前状态" prop="orderStatus">-->
|
|
|
+ <!-- <el-select v-model="screenForm.orderStatus" placeholder="全部">-->
|
|
|
+ <!-- <el-option label="全部" value=""></el-option>-->
|
|
|
+ <!-- <el-option :label="item.label" :value="item.value" v-for="(item, index) in screen_status" :key="index"></el-option>-->
|
|
|
+ <!-- </el-select>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
|
|
|
<el-col :xs="24" :sm="12" :lg="6">
|
|
|
<el-form-item label="创建时间" prop="createDate" style="height: 33px;">
|
|
|
- <el-date-picker
|
|
|
- v-model="screenForm.createDate"
|
|
|
- type="datetimerange"
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
+ <el-date-picker v-model="screenForm.createDate" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :xs="24" :sm="12" :lg="6">
|
|
|
<el-form-item label="支付时间" prop="payDate" style="height: 33px;">
|
|
|
- <el-date-picker
|
|
|
- v-model="screenForm.payDate"
|
|
|
- type="datetimerange"
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
+ <el-date-picker v-model="screenForm.payDate" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -123,7 +114,8 @@
|
|
|
<el-tab-pane label="已超时" name="TIMEOUT"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<el-button class="fl" type="primary" size="small" @click="batchRemark">批量备注</el-button>
|
|
|
- <el-button class="fl" type="primary" size="small" @click="batchShipmentVisible = true" v-show="tabCurrent == 'DFH'">批量发货</el-button>
|
|
|
+ <el-button class="fl" type="primary" size="small" @click="batchShipmentVisible = true"
|
|
|
+ v-show="tabCurrent == 'DFH'">批量发货</el-button>
|
|
|
<el-button class="fl" size="small" @click="downloadTemplate" v-show="tabCurrent == 'DFH'">下载批量发货模版</el-button>
|
|
|
</div>
|
|
|
<div class="fr">
|
|
@@ -134,7 +126,8 @@
|
|
|
<div class="table-top">
|
|
|
<el-row style="width:100%">
|
|
|
<el-col :span="6">
|
|
|
- <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="allChange" style="margin-left: 10px"></el-checkbox>
|
|
|
+ <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="allChange"
|
|
|
+ style="margin-left: 10px"></el-checkbox>
|
|
|
<span class="item product">商品信息</span>
|
|
|
</el-col>
|
|
|
<el-col :span="3" style="text-align: right"><span class="item">单价(元)/数量</span></el-col>
|
|
@@ -149,13 +142,14 @@
|
|
|
<div class="order-item" v-for="order in dataList" :key="order.orderId">
|
|
|
<div class="order-top">
|
|
|
<el-checkbox v-model="order.selected"></el-checkbox>
|
|
|
- <span><b>订单号</b>:{{order.orderId}}</span>
|
|
|
- <span><b>下单时间</b>:{{order.createTime}}</span>
|
|
|
- <span><b>商户</b>:{{order.companyWechatName || '无'}}</span>
|
|
|
- <span><b>网点</b>:{{order.websitName || '无'}}</span>
|
|
|
+ <span><b>订单号</b>:{{ order.orderId }}</span>
|
|
|
+ <span><b>下单时间</b>:{{ order.createTime }}</span>
|
|
|
+ <span><b>商户</b>:{{ order.companyWechatName || '无' }}</span>
|
|
|
+ <span><b>网点</b>:{{ order.websitName || '无' }}</span>
|
|
|
<div class="fr">
|
|
|
<el-link type="primary" :underline="false" @click="showRemark(order.orderId, order.remark)">订单备注</el-link>
|
|
|
<el-link type="primary" :underline="false" @click="queryDetail(order.orderId)">查看详情</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="queryWorkOrder(order.orderId)">订单工单</el-link>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="order-content">
|
|
@@ -168,14 +162,15 @@
|
|
|
<img :src="orderItem.imgUrl" style="height:80px;width: 80px;">
|
|
|
</div>
|
|
|
<div class="main">
|
|
|
- <span>{{orderItem.goodsName}}</span>
|
|
|
- <span class="spec" v-if="orderItem.goodsSpecName === '默认' && orderItem.goodsSpecValue === '默认'">默认</span>
|
|
|
- <span class="spec" v-else>{{orderItem.goodsSpecName}}-{{orderItem.goodsSpecValue}}</span>
|
|
|
+ <span>{{ orderItem.goodsName }}</span>
|
|
|
+ <span class="spec"
|
|
|
+ v-if="orderItem.goodsSpecName === '默认' && orderItem.goodsSpecValue === '默认'">默认</span>
|
|
|
+ <span class="spec" v-else>{{ orderItem.goodsSpecName }}-{{ orderItem.goodsSpecValue }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
- <span>¥{{orderItem.price}}</span>
|
|
|
- <span>x{{orderItem.num}}</span>
|
|
|
+ <span>¥{{ orderItem.price }}</span>
|
|
|
+ <span>x{{ orderItem.num }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -184,42 +179,53 @@
|
|
|
<div class="col-item">
|
|
|
<div>{{ order.userName }}</div>
|
|
|
<div>{{ order.phone }}</div>
|
|
|
- <div style="color: #409EFF;">{{ order.isAddCorp ? '(已入驻企微)':'' }}</div>
|
|
|
+ <div style="color: #409EFF;">{{ order.isAddCorp ? '(已入驻企微)' : '' }}</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="3" style="height: 100%;">
|
|
|
<div class="col-item">
|
|
|
<div>{{ order.receUserName }}/{{ order.recePhone }}</div>
|
|
|
- <div class="ellipsis-2">{{ order.province + order.city + order.area + order.street + order.receAddress + order.houseNo }}</div>
|
|
|
+ <div class="ellipsis-2">{{ order.province + order.city + order.area + order.street + order.receAddress +
|
|
|
+ order.houseNo }}</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="2" style="height: 100%;">
|
|
|
<div class="col-item">
|
|
|
- <div class="totalprice">¥{{order.payAmount}}</div>
|
|
|
- <div style="font-size: 12px" v-if="order.discountAmount">(<span>-{{order.discountAmount}}</span><span v-if="order.promotionDiscountRate">/{{order.promotionDiscountRate * 10}}折</span>)</div>
|
|
|
+ <div class="totalprice">¥{{ order.payAmount }}</div>
|
|
|
+ <div style="font-size: 12px" v-if="order.discountAmount">(<span>-{{ order.discountAmount }}</span><span
|
|
|
+ v-if="order.promotionDiscountRate">/{{ order.promotionDiscountRate * 10 }}折</span>)</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="2" style="height: 100%;">
|
|
|
<div class="col-item">
|
|
|
<div style="display: flex; align-items: center;">
|
|
|
- <img src="@/assets/order/CLOSE.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'CLOSE'">
|
|
|
- <img src="@/assets/order/DFH.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'DFH'">
|
|
|
- <img src="@/assets/order/NOPAY.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'NOPAY'">
|
|
|
- <img src="@/assets/order/OVER.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'OVER'">
|
|
|
- <img src="@/assets/order/TIMEOUT.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'TIMEOUT'">
|
|
|
- <img src="@/assets/order/YFH.png" style="width: 16px; flex-shrink: 0;" v-if="order.orderStatus == 'YFH'">
|
|
|
+ <img src="@/assets/order/CLOSE.png" style="width: 16px; flex-shrink: 0;"
|
|
|
+ v-if="order.orderStatus == 'CLOSE'">
|
|
|
+ <img src="@/assets/order/DFH.png" style="width: 16px; flex-shrink: 0;"
|
|
|
+ v-if="order.orderStatus == 'DFH'">
|
|
|
+ <img src="@/assets/order/NOPAY.png" style="width: 16px; flex-shrink: 0;"
|
|
|
+ v-if="order.orderStatus == 'NOPAY'">
|
|
|
+ <img src="@/assets/order/OVER.png" style="width: 16px; flex-shrink: 0;"
|
|
|
+ v-if="order.orderStatus == 'OVER'">
|
|
|
+ <img src="@/assets/order/TIMEOUT.png" style="width: 16px; flex-shrink: 0;"
|
|
|
+ v-if="order.orderStatus == 'TIMEOUT'">
|
|
|
+ <img src="@/assets/order/YFH.png" style="width: 16px; flex-shrink: 0;"
|
|
|
+ v-if="order.orderStatus == 'YFH'">
|
|
|
<span style="margin-left: 4px">{{ order.orderStatus | ORDER_CURRENT_STATUS_FILTER }}</span>
|
|
|
</div>
|
|
|
- <div>({{ order.toWorkOrder ? '已派单':'未派单' }})</div>
|
|
|
+ <div>({{ order.toWorkOrder ? '已派单' : '未派单' }})</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="2" style="height: 100%;">
|
|
|
<div class="col-item">
|
|
|
<el-popover placement="top" width="220" trigger="hover" v-if="order.commentService">
|
|
|
<div class="rate-list">
|
|
|
- <div style="display: flex; align-items: center; margin-bottom: 5px;">商品质量:<el-rate :value="order.commentGoods" disabled></el-rate></div>
|
|
|
- <div style="display: flex; align-items: center; margin-bottom: 5px;">服务质量:<el-rate :value="order.commentService" disabled></el-rate></div>
|
|
|
- <div style="display: flex; align-items: center;">配送质量:<el-rate :value="order.commentExpress" disabled></el-rate></div>
|
|
|
+ <div style="display: flex; align-items: center; margin-bottom: 5px;">商品质量:<el-rate
|
|
|
+ :value="order.commentGoods" disabled></el-rate></div>
|
|
|
+ <div style="display: flex; align-items: center; margin-bottom: 5px;">服务质量:<el-rate
|
|
|
+ :value="order.commentService" disabled></el-rate></div>
|
|
|
+ <div style="display: flex; align-items: center;">配送质量:<el-rate :value="order.commentExpress"
|
|
|
+ disabled></el-rate></div>
|
|
|
</div>
|
|
|
<el-button type="text" slot="reference">已评价</el-button>
|
|
|
</el-popover>
|
|
@@ -229,69 +235,57 @@
|
|
|
<el-col :span="3" style="height: 100%;">
|
|
|
<div class="col-item">
|
|
|
<div class="operate">
|
|
|
- <el-popconfirm title="确定取消订单吗?" @confirm="cancelOrder(order.orderId)" v-if="order.orderStatus === 'NOPAY'">
|
|
|
+ <el-popconfirm title="确定取消订单吗?" @confirm="cancelOrder(order.orderId)"
|
|
|
+ v-if="order.orderStatus === 'NOPAY'">
|
|
|
<el-button slot="reference" type="text" size="small">取消订单</el-button>
|
|
|
</el-popconfirm>
|
|
|
- <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'" @click="showLogistics(order, 'add')">发货</el-button>
|
|
|
- <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'" @click="openAddressForm(order)">修改收货地址</el-button>
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- size="small"
|
|
|
- v-if="order.orderStatus === 'YFH' && order.orderDetails.some(i => i.workOrderType === 'INSTALL')"
|
|
|
+ <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'"
|
|
|
+ @click="showLogistics(order, 'add')">发货</el-button>
|
|
|
+ <el-button type="text" size="small" v-if="order.orderStatus === 'DFH'"
|
|
|
+ @click="openAddressForm(order)">修改收货地址</el-button>
|
|
|
+ <el-button type="text" size="small"
|
|
|
+ v-if="order.orderStatus === 'YFH' && order.orderDetails.some(i => i.workOrderType === 'INSTALL')"
|
|
|
@click="showLogistics(order, 'edit')">
|
|
|
修改快递单号
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- size="small"
|
|
|
- v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER') && order.orderDetails.some(i => i.workOrderType === 'INSTALL')"
|
|
|
+ <el-button type="text" size="small"
|
|
|
+ v-if="(order.orderStatus === 'YFH' || order.orderStatus === 'OVER') && order.orderDetails.some(i => i.workOrderType === 'INSTALL')"
|
|
|
@click="queryLogistics(order.logisticsNo, order.companyCode)">
|
|
|
查看物流
|
|
|
</el-button>
|
|
|
- <el-button type="text" size="small" v-if="order.toWorkOrder" @click="toWorkOrderDetail(order.orderId)">查看工单</el-button>
|
|
|
+ <el-button type="text" size="small" v-if="order.toWorkOrder"
|
|
|
+ @click="toWorkOrderDetail(order.orderId)">查看工单</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
- <div class="order-remark buyer" v-if="order.buyerMsg">买家留言:{{order.buyerMsg}}</div>
|
|
|
- <div class="order-remark saler" v-if="order.remark">商家备注:{{order.remark}}</div>
|
|
|
+ <div class="order-remark buyer" v-if="order.buyerMsg">买家留言:{{ order.buyerMsg }}</div>
|
|
|
+ <div class="order-remark saler" v-if="order.remark">商家备注:{{ order.remark }}</div>
|
|
|
</div>
|
|
|
<div class="no-data" v-if="dataList.length <= 0">暂无订单</div>
|
|
|
</div>
|
|
|
<div class="pagination clearfix">
|
|
|
<div class="fr">
|
|
|
- <el-pagination
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="currentPage"
|
|
|
- :page-sizes="[10, 20, 30, 50]"
|
|
|
- :page-size="10"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
|
|
|
+ :page-sizes="[10, 20, 30, 50]" :page-size="10" layout="total, sizes, prev, pager, next, jumper"
|
|
|
:total="listTotal">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-dialog :title="'订单备注'" :visible.sync="remarkVisible" :show-close="false" width="50%" :close-on-click-modal="false">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 8, maxRows: 16}"
|
|
|
- placeholder="请输入备注内容"
|
|
|
- v-model="remark"
|
|
|
- maxlength="100"
|
|
|
- show-word-limit>
|
|
|
+ <el-dialog :title="'订单备注'" :visible.sync="remarkVisible" :show-close="false" width="50%"
|
|
|
+ :close-on-click-modal="false">
|
|
|
+ <el-input type="textarea" :autosize="{ minRows: 8, maxRows: 16 }" placeholder="请输入备注内容" v-model="remark"
|
|
|
+ maxlength="100" show-word-limit>
|
|
|
</el-input>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="saveRemark">保 存</el-button>
|
|
|
<el-button @click="cancelRemark">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <el-dialog :title="'物流信息'" :visible.sync="logisticsVisible" :show-close="false" width="80%" :close-on-click-modal="false">
|
|
|
- <el-table
|
|
|
- v-loading="logisticsLoading"
|
|
|
- :data="logistics"
|
|
|
- style="width: 100%"
|
|
|
- size="mini">
|
|
|
+ <el-dialog :title="'物流信息'" :visible.sync="logisticsVisible" :show-close="false" width="80%"
|
|
|
+ :close-on-click-modal="false">
|
|
|
+ <el-table v-loading="logisticsLoading" :data="logistics" style="width: 100%" size="mini">
|
|
|
<el-table-column prop="comName" label="物流公司" align="center"></el-table-column>
|
|
|
<el-table-column prop="areaName" label="地区名称" align="center"></el-table-column>
|
|
|
<el-table-column prop="time" label="物流时间" align="center"></el-table-column>
|
|
@@ -308,22 +302,24 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 发货弹窗 -->
|
|
|
- <el-dialog :title="logisticsType == 'add' ? '发货':'修改单号'" :visible.sync="logisticsIdVisible" :show-close="false" width="50%" :close-on-click-modal="false">
|
|
|
+ <el-dialog :title="logisticsType == 'add' ? '发货' : '修改单号'" :visible.sync="logisticsIdVisible" :show-close="false"
|
|
|
+ width="50%" :close-on-click-modal="false">
|
|
|
<el-form :model="logisticsForm" ref="logisticsForm" label-width="80px" label-position="left">
|
|
|
- <el-form-item label="快递单号" prop="logisticsNo"
|
|
|
- :rules="[{ required: true, message: '快递单号不能为空', trigger: 'blur' }]" >
|
|
|
+ <el-form-item label="快递单号" prop="logisticsNo" :rules="[{ required: true, message: '快递单号不能为空', trigger: 'blur' }]">
|
|
|
<el-input v-model="logisticsForm.logisticsNo" placeholder="请输入快递单号"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="物流公司" prop="companyCode"
|
|
|
- :rules="[{ required: true, message: '请选择物流公司', trigger: 'change' }]" >
|
|
|
+ :rules="[{ required: true, message: '请选择物流公司', trigger: 'change' }]">
|
|
|
<el-select v-model="logisticsForm.companyCode" placeholder="请选择物流公司" style="width: 100%;">
|
|
|
- <el-option :label="item.name" :value="item.code" v-for="(item, index) in companyList" :key="index"></el-option>
|
|
|
+ <el-option :label="item.name" :value="item.code" v-for="(item, index) in companyList"
|
|
|
+ :key="index"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="仓储" prop="storageId" v-if="logisticsType === 'add'"
|
|
|
- :rules="[{ required: true, message: '请选择仓储', trigger: 'change' }]" >
|
|
|
+ :rules="[{ required: true, message: '请选择仓储', trigger: 'change' }]">
|
|
|
<el-select v-model="logisticsForm.storageId" placeholder="请选择仓储" style="width: 100%;">
|
|
|
- <el-option :label="item.storageName" :value="item.storageId" v-for="(item, index) in storageList" :key="index"></el-option>
|
|
|
+ <el-option :label="item.storageName" :value="item.storageId" v-for="(item, index) in storageList"
|
|
|
+ :key="index"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否派单" prop="workOrder" v-if="logisticsType === 'add'">
|
|
@@ -346,7 +342,8 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 修改收货地址 -->
|
|
|
- <el-dialog title="修改收货地址" :visible.sync="addressFormVisible" :show-close="false" width="50%" :close-on-click-modal="false">
|
|
|
+ <el-dialog title="修改收货地址" :visible.sync="addressFormVisible" :show-close="false" width="50%"
|
|
|
+ :close-on-click-modal="false">
|
|
|
<el-form :model="addressForm" :rules="addressFormRules" ref="addressForm" label-width="80px" label-position="left">
|
|
|
<el-form-item label="姓名" prop="name">
|
|
|
<el-input v-model="addressForm.name" placeholder="请输入姓名"></el-input>
|
|
@@ -388,20 +385,14 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 批量发货 -->
|
|
|
- <el-dialog title="批量发货" :visible.sync="batchShipmentVisible" :show-close="false" width="30%" :close-on-click-modal="false">
|
|
|
+ <el-dialog title="批量发货" :visible.sync="batchShipmentVisible" :show-close="false" width="30%"
|
|
|
+ :close-on-click-modal="false">
|
|
|
<el-form ref="batchShipmentForm" label-position="top" label-width="120px" style="height: 194px;">
|
|
|
<el-form-item label="上传发货表格" prop="fileUrl">
|
|
|
- <el-upload
|
|
|
- ref="upload"
|
|
|
- class="upload-demo"
|
|
|
- :action="baseURL + 'order/goods/batch/deliver'"
|
|
|
- :headers="myHeaders"
|
|
|
- :on-remove="handleRemove"
|
|
|
- :on-change="handleChange"
|
|
|
- :before-upload="beforeUpload"
|
|
|
- :auto-upload="false"
|
|
|
+ <el-upload ref="upload" class="upload-demo" :action="baseURL + 'order/goods/batch/deliver'" :headers="myHeaders"
|
|
|
+ :on-remove="handleRemove" :on-change="handleChange" :before-upload="beforeUpload" :auto-upload="false"
|
|
|
:file-list="fileList">
|
|
|
- <el-button size="small" type="primary">{{fileList.length == 0 ? '点击上传':'重新上传'}}</el-button>
|
|
|
+ <el-button size="small" type="primary">{{ fileList.length == 0 ? '点击上传' : '重新上传' }}</el-button>
|
|
|
<div slot="tip" class="el-upload__tip">只支持上传excel表格文件</div>
|
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
@@ -418,9 +409,9 @@
|
|
|
|
|
|
<script>
|
|
|
import { getToken } from '@/utils/auth'
|
|
|
-import {cancelOrder, getList, goodsDeliver, saveRemark, batchShipment, batchRemark, getWebsiteList, editLogistics, getRegion, editAddress} from "@/api/order";
|
|
|
-import {getExpress, getCompanyList} from "@/api/common";
|
|
|
-import {downloadFiles, handleImport} from '@/utils/util'
|
|
|
+import { cancelOrder, getList, goodsDeliver, saveRemark, batchShipment, batchRemark, getWebsiteList, editLogistics, getRegion, editAddress } from "@/api/order";
|
|
|
+import { getExpress, getCompanyList } from "@/api/common";
|
|
|
+import { downloadFiles, handleImport } from '@/utils/util'
|
|
|
import * as Storage from "@/api/storage";
|
|
|
import '@/styles/order-list.scss'
|
|
|
|
|
@@ -429,7 +420,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
baseURL: process.env.VUE_APP_BASE_API,
|
|
|
- myHeaders: {'x-token': getToken()},
|
|
|
+ myHeaders: { 'x-token': getToken() },
|
|
|
screenForm: { // 筛选表单数据
|
|
|
orderId: '', // 订单号
|
|
|
goodsName: '', // 商品名称
|
|
@@ -511,7 +502,7 @@ export default {
|
|
|
get() {
|
|
|
return this.dataList.every(item => item.selected === true)
|
|
|
},
|
|
|
- set() {}
|
|
|
+ set() { }
|
|
|
},
|
|
|
isIndeterminate() {
|
|
|
return !this.dataList.every(item => item.selected !== true) && !this.dataList.every(item => item.selected !== false)
|
|
@@ -524,6 +515,14 @@ export default {
|
|
|
this.getWebsiteList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ queryWorkOrder(id) {
|
|
|
+ this.$router.push({
|
|
|
+ name: "workOrderPool",
|
|
|
+ query: {
|
|
|
+ saleOrderId: id,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
changeTabs(tab, event) {
|
|
|
// this.$refs.screenForm.resetFields();
|
|
|
this.screenForm.orderStatus = this.tabCurrent === 'ALL' ? '' : tab.$options.propsData.name
|
|
@@ -531,7 +530,7 @@ export default {
|
|
|
this.getList();
|
|
|
},
|
|
|
// 获取数据列表
|
|
|
- getList () {
|
|
|
+ getList() {
|
|
|
// this.listLoading = true;
|
|
|
|
|
|
let params = {
|
|
@@ -564,11 +563,11 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 查看详情
|
|
|
- queryDetail (orderId) {
|
|
|
+ queryDetail(orderId) {
|
|
|
// let {href} = this.$router.resolve({path: `/order/detail?orderId=${orderId}`});
|
|
|
// window.open(href, '_blank');
|
|
|
this.$router.push({
|
|
|
- name:"order_detail",
|
|
|
+ name: "order_detail",
|
|
|
query: {
|
|
|
orderId
|
|
|
}
|
|
@@ -639,7 +638,7 @@ export default {
|
|
|
this.logisticsType = type;
|
|
|
this.logisticsIdVisible = true;
|
|
|
this.editOrderId = item.orderId;
|
|
|
- if(type === 'edit') {
|
|
|
+ if (type === 'edit') {
|
|
|
this.logisticsForm.logisticsNo = item.logisticsNo;
|
|
|
this.logisticsForm.companyCode = item.companyCode;
|
|
|
}
|
|
@@ -656,7 +655,7 @@ export default {
|
|
|
this.$refs.logisticsForm.validate((valid) => {
|
|
|
if (valid) {
|
|
|
// 发货
|
|
|
- if(this.logisticsType === 'add') {
|
|
|
+ if (this.logisticsType === 'add') {
|
|
|
goodsDeliver({
|
|
|
orderId: this.editOrderId,
|
|
|
logisticsNo: this.logisticsForm.logisticsNo,
|
|
@@ -709,7 +708,7 @@ export default {
|
|
|
},
|
|
|
|
|
|
// 取消 批量发货
|
|
|
- cancelBatchShipmentForm(){
|
|
|
+ cancelBatchShipmentForm() {
|
|
|
this.batchShipmentVisible = false;
|
|
|
this.fileList = [];
|
|
|
},
|
|
@@ -736,7 +735,7 @@ export default {
|
|
|
if (!this.canClickSave) return false;
|
|
|
this.canClickSave = false;
|
|
|
setTimeout(() => { this.canClickSave = true }, 3000)
|
|
|
- if(this.fileList.length <= 0) {
|
|
|
+ if (this.fileList.length <= 0) {
|
|
|
return this.$errorMsg('请上传发货表格');
|
|
|
}
|
|
|
const loading = this.$loading({
|
|
@@ -751,11 +750,11 @@ export default {
|
|
|
formData.append("file", file);
|
|
|
let result = await handleImport('order/goods/batch/deliver', formData);
|
|
|
this.importFileList = [];
|
|
|
- if(result.code == 200) {
|
|
|
+ if (result.code == 200) {
|
|
|
loading.close();
|
|
|
this.$successMsg('批量发货成功');
|
|
|
this.getList();
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
loading.close();
|
|
|
this.$alert(result.message, '批量发货失败', {
|
|
|
confirmButtonText: '确定'
|
|
@@ -764,15 +763,15 @@ export default {
|
|
|
},
|
|
|
|
|
|
// 获取省市区街道
|
|
|
- getRegion(level=0, id=0) {
|
|
|
- getRegion({pid: id}).then(res => {
|
|
|
- if(level === 0) {
|
|
|
+ getRegion(level = 0, id = 0) {
|
|
|
+ getRegion({ pid: id }).then(res => {
|
|
|
+ if (level === 0) {
|
|
|
this.provinceList = res.data;
|
|
|
- }else if(level === 1) {
|
|
|
+ } else if (level === 1) {
|
|
|
this.cityList = res.data;
|
|
|
- }else if(level === 2) {
|
|
|
+ } else if (level === 2) {
|
|
|
this.areaList = res.data;
|
|
|
- }else if(level === 3) {
|
|
|
+ } else if (level === 3) {
|
|
|
this.streetList = res.data;
|
|
|
}
|
|
|
})
|
|
@@ -811,24 +810,24 @@ export default {
|
|
|
},
|
|
|
|
|
|
// 初始化省市区街道
|
|
|
- initRegion(level, item, id=0) {
|
|
|
+ initRegion(level, item, id = 0) {
|
|
|
let { province, city, area, street } = item;
|
|
|
let nextId = null;
|
|
|
- getRegion({pid: id}).then(res => {
|
|
|
- if(level === 0) {
|
|
|
+ getRegion({ pid: id }).then(res => {
|
|
|
+ if (level === 0) {
|
|
|
this.provinceList = res.data;
|
|
|
nextId = this.addressForm.province = this.provinceList[this.$findElem(this.provinceList, 'name', province)].id;
|
|
|
- }else if(level === 1) {
|
|
|
+ } else if (level === 1) {
|
|
|
this.cityList = res.data;
|
|
|
nextId = this.addressForm.city = this.cityList[this.$findElem(this.cityList, 'name', city)].id;
|
|
|
- }else if(level === 2) {
|
|
|
+ } else if (level === 2) {
|
|
|
this.areaList = res.data;
|
|
|
nextId = this.addressForm.area = this.areaList[this.$findElem(this.areaList, 'name', area)].id;
|
|
|
- }else if(level === 3) {
|
|
|
+ } else if (level === 3) {
|
|
|
this.streetList = res.data;
|
|
|
nextId = this.addressForm.street = this.streetList[this.$findElem(this.streetList, 'name', street)].id;
|
|
|
}
|
|
|
- if(level < 3) {
|
|
|
+ if (level < 3) {
|
|
|
level = level + 1;
|
|
|
this.initRegion(level, item, nextId);
|
|
|
}
|
|
@@ -912,7 +911,7 @@ export default {
|
|
|
// 切换全选/全不选
|
|
|
allChange(val) {
|
|
|
// 如果有其中一个false,那就全选
|
|
|
- if(this.dataList.some((item) => { return item.selected === false })) {
|
|
|
+ if (this.dataList.some((item) => { return item.selected === false })) {
|
|
|
let dataList = this.dataList;
|
|
|
dataList.forEach(item => {
|
|
|
item.selected = true;
|
|
@@ -931,19 +930,19 @@ export default {
|
|
|
},
|
|
|
|
|
|
batchRemark() {
|
|
|
- if(this.dataList.every((item) => { return item.selected === false })) {
|
|
|
+ if (this.dataList.every((item) => { return item.selected === false })) {
|
|
|
return this.$errorMsg('至少选择一个订单');
|
|
|
}
|
|
|
this.$prompt('请输入备注', '批量备注', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
- inputValidator: function(value) {
|
|
|
- if(!value) return '请输入备注'
|
|
|
+ inputValidator: function (value) {
|
|
|
+ if (!value) return '请输入备注'
|
|
|
},
|
|
|
}).then(({ value }) => {
|
|
|
let selectedlist = [];
|
|
|
this.dataList.forEach(item => {
|
|
|
- if(item.selected) {
|
|
|
+ if (item.selected) {
|
|
|
selectedlist.push(item.orderId);
|
|
|
}
|
|
|
});
|
|
@@ -954,16 +953,16 @@ export default {
|
|
|
this.getList();
|
|
|
this.$successMsg();
|
|
|
})
|
|
|
- }).catch(() => {});
|
|
|
+ }).catch(() => { });
|
|
|
},
|
|
|
|
|
|
- handleText(text){
|
|
|
- if(!text) {
|
|
|
+ handleText(text) {
|
|
|
+ if (!text) {
|
|
|
return '';
|
|
|
}
|
|
|
- if(text.length>10){
|
|
|
+ if (text.length > 10) {
|
|
|
return text.slice(0, 10) + "...";
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
return text
|
|
|
}
|
|
|
},
|
|
@@ -974,12 +973,12 @@ export default {
|
|
|
// window.open(href, '_blank');
|
|
|
|
|
|
this.$router.push({
|
|
|
- name:"workOrder_detail",
|
|
|
+ name: "workOrder_detail",
|
|
|
query: {
|
|
|
orderId
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
|
|
|
}
|