mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-01 06:30:49 +00:00
557 lines
26 KiB
Vue
557 lines
26 KiB
Vue
<template>
|
||
<div class="conent">
|
||
<el-card>
|
||
<el-form ref="form" :inline="true" label-width="90px">
|
||
<el-form-item label="所属店铺:">
|
||
<el-select v-model="filter.shop_id" placeholder="店铺" @change="handleChoose()">
|
||
<el-option v-for="item in shopsList" :key="item.id" :label="item.name" :value="item.id">
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="发货状态:">
|
||
<el-select v-model="filter.shipping_status" placeholder="发货状态" @change="handleChoose()">
|
||
<el-option value="" label="全部"></el-option>
|
||
<el-option value="0" label="未发货"></el-option>
|
||
<el-option value="2" label="部分发货"></el-option>
|
||
<el-option value="1" label="已发货"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="订单ID:">
|
||
<el-input v-model="filter.id" placeholder="订单编号" @keyup.enter.native="handleChoose"></el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="订单类型:">
|
||
<el-select v-model="filter.is_supplier" placeholder="订单类型" @change="handleChoose()">
|
||
<el-option value="" label="全部订单"></el-option>
|
||
<el-option :value="1" label="自卖团订单"></el-option>
|
||
<el-option :value="0" label="帮卖团订单"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="订单状态:">
|
||
<el-select v-model="filter.cancel_status" placeholder="订单状态" @change="handleChoose()">
|
||
<el-option value="" label="全部"></el-option>
|
||
<el-option :value="0" label="未取消"></el-option>
|
||
<el-option :value="1" label="已取消"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="售后状态:">
|
||
<el-select v-model="filter.after_sales_status" placeholder="售后状态" @change="handleChoose()">
|
||
<el-option value="" label="全部"></el-option>
|
||
<el-option :value="0" label="未售后"></el-option>
|
||
<el-option :value="1" label="有售后"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="商品数量:">
|
||
<el-select v-model="filter.goods_sku_num" placeholder="商品数量" @change="handleChoose()">
|
||
<el-option value="" label="全部"></el-option>
|
||
<el-option :value="1" label="1个商品"></el-option>
|
||
<el-option :value="2" label="2-5个商品"></el-option>
|
||
<el-option :value="6" label="6个以上商品"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="订单商品:">
|
||
<el-select v-model="filter.external_sku_ids" multiple filterable remote reserve-keyword placeholder="订单商品"
|
||
:remote-method="remoteMethod" :loading="searchLoading">
|
||
<el-option v-for="item in options" :key="item.external_sku_id" :label="item.title"
|
||
:value="item.external_sku_id">
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="商品编码:">
|
||
<el-input v-model="filter.external_sku_id" placeholder="商品编码" @keyup.enter.native="handleChoose"></el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="跟团号:">
|
||
<el-input v-model="filter.pno" placeholder="跟团号" @keyup.enter.native="handleChoose"></el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="打印状态:">
|
||
<el-select v-model="filter.print_status" placeholder="请选择" @change="handleChoose()" clearable>
|
||
<el-option :value="1" label="已打印"></el-option>
|
||
<el-option :value="0" label="未打印"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="下单时间:">
|
||
<el-date-picker v-model="confirmAt" type="datetimerange" range-separator="-" start-placeholder="起"
|
||
end-placeholder="止" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" @change="handleChoose()">
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
|
||
<el-form-item>
|
||
<el-button type="primary" @click="handleChoose">筛选</el-button>
|
||
<el-button plain @click="handleReChoose">重置筛选</el-button>
|
||
<el-button type="primary" @click="openPrint">打印</el-button>
|
||
<!-- <el-button v-if="form.goods_sku_num === 2" type="primary">配货单导出</el-button> -->
|
||
<el-button type="warning" :loading="exportLoading" @click="handleExport" icon="el-icon-download">数据导出</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
</el-card>
|
||
|
||
<el-card style="margin-top: 10px">
|
||
<el-table v-loading="loading" ref="multipleTable" :data="orderList" style="width: 100%" border
|
||
@selection-change="handleSelectionChange">
|
||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" />
|
||
<el-table-column label="订单ID" prop="id" width="80" align="center" />
|
||
<el-table-column label="店铺名称" prop="shop.name" />
|
||
<el-table-column label="跟团号" align="center">
|
||
<template slot-scope="scope">
|
||
{{ scope.row.is_supplier ? '自卖团: ' : '帮卖团: ' }}
|
||
{{ scope.row.is_supplier ? scope.row.participate_no : scope.row.supply_participate_no }}
|
||
</template>
|
||
</el-table-column>
|
||
|
||
<el-table-column label="收件人信息" width="240">
|
||
<template slot-scope="scope">
|
||
<p>{{ scope.row.receiver_name }} {{ scope.row.receiver_mobile }}</p>
|
||
<p>{{ scope.row.receiver_address_province }}/{{ scope.row.receiver_address_city }}/{{
|
||
scope.row.receiver_address_district }}</p>
|
||
<p>{{ scope.row.receiver_address_detail }}</p>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="shipping_status" label="发货状态" align="center"></el-table-column>
|
||
<el-table-column prop="cancel_status" label="订单状态" align="center"></el-table-column>
|
||
<el-table-column prop="after_sales_status" label="售后状态" align="center"></el-table-column>
|
||
<el-table-column label="商品信息" min-width="150">
|
||
<template slot-scope="scope">
|
||
<div v-for="item in scope.row.items" :key="item.id">
|
||
{{ item.goods_name }}
|
||
<span style="color: red;">+{{ item.goods_number }}</span>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="面单信息" min-width="100" align="center">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.waybill">
|
||
<el-tag type="info" v-if="scope.row.waybill.status == 0">待申请运单</el-tag>
|
||
<el-tag type="primary" v-else-if="scope.row.waybill.status == 1">已申请运单</el-tag>
|
||
<el-tag type="warning" v-else-if="scope.row.waybill.status == 2">待打印</el-tag>
|
||
<el-tag type="success" v-else-if="scope.row.waybill.status == 3">打印成功</el-tag>
|
||
<div style="line-height: 16px;margin-top: 10px;">运单号:{{ scope.row.waybill.waybill_code }}</div>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="打印状态" align="center" width="110">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.print_status == 1" style="color: rgb(4, 190, 2);">已打印</span>
|
||
<span v-else>未打印</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="confirm_at" label="下单时间" width="150" align="center"></el-table-column>
|
||
</el-table>
|
||
|
||
<div class="page-pagination">
|
||
<el-pagination
|
||
@size-change="handleSizeChange"
|
||
@current-change="handleCurrentChange"
|
||
:current-page="page"
|
||
:page-sizes="[10, 50, 100, 500]"
|
||
:page-size="per_page"
|
||
layout="prev, pager, next, sizes, jumper, total"
|
||
:total="total">
|
||
</el-pagination>
|
||
</div>
|
||
</el-card>
|
||
|
||
<el-dialog title="发货信息" width="960px" :visible.sync="showPrint" :close-on-click-modal="false" @close="closePrint">
|
||
<div v-if="connectStatus == 1" style="margin: -20px 0 20px;">
|
||
<el-alert title="已建立连接" type="success" show-icon></el-alert>
|
||
</div>
|
||
<el-table :data="tempList" style="width: 100%" border>
|
||
<el-table-column label="订单ID" prop="id" width="80" align="center" />
|
||
<el-table-column label="收件人信息" width="240">
|
||
<template slot-scope="scope">
|
||
<p>{{ scope.row.receiver_name }} {{ scope.row.receiver_mobile }}</p>
|
||
<p>{{ scope.row.receiver_address_province }}/{{ scope.row.receiver_address_city }}/{{
|
||
scope.row.receiver_address_district }}</p>
|
||
<p>{{ scope.row.receiver_address_detail }}</p>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="shipping_status" label="发货状态" align="center"></el-table-column>
|
||
<el-table-column prop="cancel_status" label="订单状态" align="center"></el-table-column>
|
||
<el-table-column label="商品信息" width="220">
|
||
<template slot-scope="scope">
|
||
<div v-for="item in scope.row.items" :key="item.id">
|
||
{{ item.goods_name }}
|
||
<span style="color: red;">+{{ item.goods_number }}</span>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="打印状态" align="center">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.print_status == 0 || !scope.row.print_status">等待打印</span>
|
||
<span v-else-if="scope.row.print_status == 1" style="color: rgb(4, 190, 2);">打印成功</span>
|
||
<div v-else-if="scope.row.print_status == 2">
|
||
<div style="color: #f00;">打印失败</div>
|
||
<span style="font-size: 12px;color: #777;">{{ scope.row.fail_msg }}</span>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<el-form label-width="80px" style="margin-top: 20px;">
|
||
<el-form-item label="打印机:">
|
||
<el-select v-model="printName" placeholder="请选择打印机">
|
||
<el-option v-for="(item, i) in printsList" :key="i" :label="item" :value="item"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button plain @click="showPrint = false">取消</el-button>
|
||
<el-button type="primary" @click="toPrint()" :loading="loading1">保存</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import { platOrderList, printOrders, getPrintInfo, exportOrder, printSuccess } from "@/api/plat";
|
||
import { storeList } from "@/api/shop"
|
||
import { goodsSkusList } from "@/api/goods"
|
||
import dayjs from 'dayjs'
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
filter: {
|
||
shop_id: '',
|
||
shipping_status: '',
|
||
is_supplier: '',
|
||
cancel_status: 0,
|
||
after_sales_status: 0,
|
||
goods_sku_num: '',
|
||
external_sku_ids: '',
|
||
pno: '',
|
||
external_sku_id: ''
|
||
},
|
||
loading: false,
|
||
searchLoading: false,
|
||
options: [],
|
||
orderList: [],
|
||
total: 0,
|
||
page: 1, //当前页
|
||
per_page: 10, //每页显示数量
|
||
shopsList: [],
|
||
confirmAt: [],
|
||
print_order_ids: '',
|
||
print_documents: [],
|
||
socket: null,
|
||
lockReconnect: false, //是否真正建立连接
|
||
timeout: 58 * 1000, //58秒一次心跳
|
||
timeoutObj: null, //心跳心跳倒计时
|
||
serverTimeoutObj: null, //心跳倒计时
|
||
timeoutnum: null, //断开 重连倒计时
|
||
defaultPrinter: null,
|
||
taskIDArray: [],
|
||
requestIDGetGlobalConfig: '',
|
||
exportLoading: false,
|
||
webSocket: null,
|
||
chooseList: [],
|
||
showPrint: false,
|
||
printName: '',
|
||
printsList: [],
|
||
loading1: false,
|
||
connectStatus: -1,
|
||
tempList: []
|
||
}
|
||
},
|
||
created() {
|
||
let start = dayjs().format('YYYY-MM-DD') + ' 00:00:00'
|
||
let end = dayjs().format('YYYY-MM-DD') + ' 23:59:59'
|
||
this.confirmAt = [start, end]
|
||
this.getOrderList()
|
||
this.getShopsList()
|
||
},
|
||
methods: {
|
||
getOrderList() {
|
||
this.loading = true
|
||
let params = {
|
||
...this.filter,
|
||
page: this.page,
|
||
per_page: this.per_page,
|
||
confirm_at_start: this.confirmAt ? this.confirmAt[0] : '',
|
||
confirm_at_end: this.confirmAt ? this.confirmAt[1] : ''
|
||
}
|
||
platOrderList(params).then((res) => {
|
||
this.orderList = res.data.data
|
||
this.total = res.data.meta.total
|
||
this.loading = false
|
||
}).catch(() => {
|
||
this.loading = false
|
||
})
|
||
},
|
||
getShopsList() {
|
||
let params = {
|
||
page: 0,
|
||
per_page: 99
|
||
}
|
||
storeList(params).then((res) => {
|
||
this.shopsList = res.data.data
|
||
})
|
||
},
|
||
handleSizeChange(val) {
|
||
this.page = 1
|
||
this.per_page = val
|
||
this.getOrderList()
|
||
},
|
||
handleCurrentChange(val) {
|
||
this.page = val
|
||
this.getOrderList()
|
||
},
|
||
handleChoose() {
|
||
this.page = 1
|
||
this.getOrderList()
|
||
},
|
||
handleReChoose() {
|
||
this.filter = {
|
||
shop_id: '',
|
||
shipping_status: '',
|
||
is_supplier: '',
|
||
cancel_status: 0,
|
||
after_sales_status: 0,
|
||
goods_sku_num: '',
|
||
external_sku_ids: '',
|
||
pno: ''
|
||
}
|
||
this.page = 1
|
||
this.getOrderList()
|
||
},
|
||
remoteMethod(query) {
|
||
if (query !== '') {
|
||
this.searchLoading = true;
|
||
setTimeout(() => {
|
||
this.searchLoading = false;
|
||
goodsSkusList(query).then((res) => {
|
||
this.options = res.data.filter(item => {
|
||
return item.title.toLowerCase().indexOf(query.toLowerCase()) > -1;
|
||
});
|
||
});
|
||
}, 200);
|
||
} else {
|
||
this.options = [];
|
||
}
|
||
},
|
||
print() {
|
||
const print_loading = this.$loading({
|
||
lock: true,
|
||
text: 'Loading',
|
||
spinner: 'el-icon-loading',
|
||
background: 'rgba(0, 0, 0, 0.7)'
|
||
});
|
||
printOrders(this.filter).then((res) => {
|
||
this.print_documents = res.data.documents;
|
||
this.print_order_ids = res.data.order_ids;
|
||
print_loading.close();
|
||
this.doPrint();
|
||
})
|
||
},
|
||
selectable(row, index) {
|
||
if (row.shipping_status == '未发货' && row.cancel_status == '未取消' && row.print_status !== 1) {
|
||
return true
|
||
} else {
|
||
return false
|
||
}
|
||
},
|
||
handleSelectionChange(val) {
|
||
this.chooseList = val
|
||
},
|
||
handleExport() {
|
||
this.exportLoading = true
|
||
let params = {
|
||
...this.form,
|
||
page: 1,
|
||
per_page: this.per_page,
|
||
confirm_at_start: this.confirmAt[0] ? this.confirmAt[0] : '',
|
||
confirm_at_end: this.confirmAt[1] ? this.confirmAt[1] : '',
|
||
is_export: 1
|
||
}
|
||
// window.open("/api/plat_orders?" + this.objectToQueryString(params))
|
||
|
||
exportOrder(params).then((res) => {
|
||
this.downLoadXls(res.data)
|
||
this.$message({ type: 'success', message: '导出成功!' })
|
||
this.exportLoading = false
|
||
}).catch(() => {
|
||
this.exportLoading = false
|
||
})
|
||
},
|
||
downLoadXls(response) {
|
||
const content = response
|
||
const blob = new Blob([content])
|
||
const today = new Date().toLocaleDateString()
|
||
const fileName = `订单列表${today}.xlsx`
|
||
if ('download' in document.createElement('a')) {
|
||
// 非IE下载
|
||
const elink = document.createElement('a')
|
||
elink.download = fileName
|
||
elink.style.display = 'none'
|
||
elink.href = URL.createObjectURL(blob)
|
||
document.body.appendChild(elink)
|
||
elink.click()
|
||
URL.revokeObjectURL(elink.href) // 释放URL 对象
|
||
document.body.removeChild(elink)
|
||
} else {
|
||
// IE10+下载
|
||
navigator.msSaveBlob(blob, fileName)
|
||
}
|
||
},
|
||
objectToQueryString(obj) {
|
||
return Object.keys(obj)
|
||
.map(key => encodeURIComponent(key) + '=' + (obj[key] ? encodeURIComponent(obj[key]) : ''))
|
||
.join('&');
|
||
},
|
||
|
||
// https://open.jdl.com/#/open-business-document/access-guide/157/54222 京东云打印文档
|
||
initWebSocket() {
|
||
try {
|
||
let State = new Array('正在连接', '已建立连接', '正在关闭连接', '已关闭连接')
|
||
let host = 'ws://localhost:9113'
|
||
const that = this
|
||
that.webSocket = new WebSocket(host)
|
||
that.webSocket.onopen = function() {
|
||
console.log(that.webSocket)
|
||
that.connectStatus = that.webSocket.readyState
|
||
that.getPrintList()
|
||
}
|
||
that.webSocket.onmessage = function(msg) {
|
||
let returnData = msg.data
|
||
let json = eval('(' + returnData + ')')
|
||
let content = json.content;
|
||
if(json.code == '6'){ // 打印机返回消息
|
||
that.printsList = content.split(',')
|
||
} else if(json.success == 'true' && json.code == '2'){ // 打印成功
|
||
console.log('0.0', json)
|
||
that.getOrderList()
|
||
if(json.message == 'print success all'){ // 全部打印成功
|
||
let ids = []
|
||
that.tempList.forEach((item, index) => {
|
||
ids.push(item.id)
|
||
that.$set(that.tempList[index], 'print_status', 1)
|
||
})
|
||
let params = {
|
||
order_ids: ids.join(',')
|
||
}
|
||
printSuccess(params)
|
||
} else if(json.message == 'print success, partly wrong.') { // 部分打印成功
|
||
for (let i = 0; i < json.detailinfo.errors.length; i++) {
|
||
const it = json.detailinfo.errors[i]
|
||
that.$set(that.tempList[it.seq * 1 - 1], 'print_status', 2) // 打印失败
|
||
that.$set(that.tempList[it.seq * 1 - 1], 'fail_msg', it.msg) // 失败信息
|
||
}
|
||
let ids = []
|
||
that.tempList.forEach((item, index) => {
|
||
if(!item.fail_msg) {
|
||
that.$set(that.tempList[index], 'print_status', 1)
|
||
ids.push(item.id)
|
||
}
|
||
})
|
||
let params = {
|
||
order_ids: ids.join(',')
|
||
}
|
||
printSuccess(params) // 将打印成功的执行特定接口
|
||
}
|
||
} else if(json.success == 'true' && json.code == '2') { // 打印失败
|
||
for (let i = 0; i < json.detailinfo.detail.length; i++) {
|
||
const it = json.detailinfo.detail[i]
|
||
that.$set(that.tempList[it.seq * 1 - 1], 'print_status', 2)
|
||
that.$set(that.tempList[it.seq * 1 - 1], 'fail_msg', it.msg)
|
||
}
|
||
} else if(json.code == "8"){
|
||
console.log("data:image/png;base64, " + content) // 打印预览
|
||
}
|
||
}
|
||
that.webSocket.onclose = function() {
|
||
that.$message({ type: 'info', message: State[that.webSocket.readyState] })
|
||
}
|
||
} catch (error) {
|
||
that.$message({ type: 'info', message: '连接失败' })
|
||
}
|
||
},
|
||
getPrintList() {
|
||
if(this.printsList.length){
|
||
return
|
||
}
|
||
//打印机列表
|
||
var text = "{\"orderType\":\"GET_Printers\",\"pin\":\"用户名\",\"parameters\":{ \"tempUrl\":\"\", \"printName\":\"\", \"printData\":\"\" }}";
|
||
this.webSocket.send(text)
|
||
},
|
||
openPrint() {
|
||
if(this.chooseList.length) {
|
||
this.initWebSocket()
|
||
this.tempList = JSON.parse(JSON.stringify(this.chooseList))
|
||
this.tempList.forEach((item) => {
|
||
item.fail_msg = ''
|
||
})
|
||
this.showPrint = true
|
||
} else {
|
||
this.$message({ type: 'info', message: '请选择需要打印的订单' })
|
||
}
|
||
},
|
||
toPrint() {
|
||
if(!this.printName) {
|
||
this.$message({ type: 'info', message: '请选择打印机' })
|
||
return
|
||
}
|
||
this.loading1 = true
|
||
let ids = []
|
||
this.chooseList.forEach((item) => {
|
||
ids.push(item.id)
|
||
})
|
||
let params = {
|
||
ids: ids.join(',')
|
||
}
|
||
getPrintInfo(params).then((res) => {
|
||
let printObject = res.data.data
|
||
console.log(printObject)
|
||
let parameters = {
|
||
"orderType": "print", // PRE_View 预览,print 打印
|
||
"version": "2",
|
||
"parameters": {
|
||
"printName": this.printName,
|
||
"contents": []
|
||
}
|
||
}
|
||
for(let key in printObject) {
|
||
console.log(key)
|
||
parameters.parameters.contents.push({
|
||
"tempUrl": printObject[key].templateUrl,
|
||
"printData": printObject[key].encryptedData,
|
||
"customTempUrl": printObject[key].customer_temp_url,
|
||
"customData": printObject[key].customer_temp_data
|
||
})
|
||
}
|
||
this.webSocket.send(JSON.stringify(parameters))
|
||
this.loading1 = false
|
||
}).catch(() => {
|
||
this.loading1 = false
|
||
})
|
||
},
|
||
toPrint1() {
|
||
let printCmd = 'print'
|
||
let temp = 'https://template-content.jd.com/template-oss?tempCode=jdkd76x130'
|
||
let tempUser = ''
|
||
let printDataUser = ''
|
||
let printData = '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'
|
||
let text = "{\"orderType\": \""+ printCmd +"\", \"parameters\": {\"printName\": \""+ this.printName +"\", \"tempUrl\": \""+ temp +"\", \"customTempUrl\": \""+ tempUser +"\", \"customData\": [" + printDataUser +"], \"printData\": [\""+ printData +"\"] } }";
|
||
this.webSocket.send(text)
|
||
},
|
||
closePrint() {
|
||
this.$refs.multipleTable.clearSelection()
|
||
this.chooseList = []
|
||
this.printName = ''
|
||
this.webSocket.close()
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
|
||
</style>
|