553 lines
26 KiB
Vue
Raw Normal View History

2023-04-03 20:25:57 +08:00
<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>
2023-04-03 20:25:57 +08:00
2024-12-28 15:40:08 +08:00
<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>
2023-04-03 20:25:57 +08:00
<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>
2023-04-03 20:25:57 +08:00
<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>
2023-04-03 20:25:57 +08:00
<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>
2023-04-03 20:25:57 +08:00
2024-12-28 15:40:08 +08:00
<el-form-item label="商品编码:">
<el-input v-model="filter.external_sku_id" placeholder="商品编码" @keyup.enter.native="handleChoose"></el-input>
</el-form-item>
2023-07-26 13:58:52 +08:00
<el-form-item label="跟团号:">
<el-input v-model="filter.pno" placeholder="跟团号" @keyup.enter.native="handleChoose"></el-input>
</el-form-item>
2023-07-26 13:58:52 +08:00
2024-12-28 15:40:08 +08:00
<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>
2024-12-28 15:40:08 +08:00
<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>
2023-07-26 13:58:52 +08:00
<el-card style="margin-top: 10px">
<el-table v-loading="loading" ref="multipleTable" :data="orderList" style="width: 100%" border
@selection-change="handleSelectionChange">
2024-12-28 15:40:08 +08:00
<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>
2023-05-19 21:19:49 +08:00
<el-table-column label="收件人信息" width="240">
<template slot-scope="scope">
<p>{{ scope.row.receiver_name }}&nbsp;&nbsp;{{ 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>
2024-12-28 15:40:08 +08:00
<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>
2023-04-03 20:25:57 +08:00
</div>
</template>
</el-table-column>
2024-12-28 15:40:08 +08:00
<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"
2024-12-28 15:40:08 +08:00
:page-sizes="[10, 50, 100, 500]"
:page-size="per_page"
layout="prev, pager, next, sizes, jumper, total"
:total="total">
</el-pagination>
</div>
</el-card>
2024-12-28 15:40:08 +08:00
<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 }}&nbsp;&nbsp;{{ 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>
2023-04-03 20:25:57 +08:00
</template>
<script>
2024-12-28 15:40:08 +08:00
import { platOrderList, printOrders, getPrintInfo, exportOrder, printSuccess } from "@/api/plat";
2024-11-04 14:44:52 +08:00
import { storeList } from "@/api/shop"
import { goodsSkusList } from "@/api/goods"
import dayjs from 'dayjs'
2023-04-03 20:25:57 +08:00
export default {
data() {
return {
filter: {
shop_id: '',
shipping_status: '',
is_supplier: '',
cancel_status: 0,
after_sales_status: 0,
goods_sku_num: '',
external_sku_ids: '',
2024-12-28 15:40:08 +08:00
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: '',
2024-12-28 15:40:08 +08:00
exportLoading: false,
webSocket: null,
chooseList: [],
showPrint: false,
printName: '',
printsList: [],
loading1: false,
connectStatus: -1,
tempList: []
}
},
created() {
2024-12-28 15:40:08 +08:00
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
})
2023-04-03 20:25:57 +08:00
},
getShopsList() {
let params = {
page: 0,
per_page: 99
}
storeList(params).then((res) => {
this.shopsList = res.data.data
})
2023-07-29 17:57:36 +08:00
},
handleSizeChange(val) {
this.page = 1
this.per_page = val
this.getOrderList()
2023-07-29 17:57:36 +08:00
},
handleCurrentChange(val) {
this.page = val
this.getOrderList()
2023-07-29 17:57:36 +08:00
},
handleChoose() {
this.page = 1
this.getOrderList()
2023-07-26 16:30:33 +08:00
},
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;
2023-07-29 17:57:36 +08:00
});
});
}, 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();
})
},
2024-12-28 15:40:08 +08:00
selectable(row, index) {
if (row.shipping_status == '未发货' && row.cancel_status == '未取消' && row.print_status !== 1) {
return true
} else {
2024-12-28 15:40:08 +08:00
return false
}
2024-12-28 15:40:08 +08:00
},
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))
2024-11-04 14:44:52 +08:00
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('&');
2024-12-28 15:40:08 +08:00
},
// 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)
}
}
}
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",
"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
})
}
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()
2024-11-04 14:08:48 +08:00
}
}
2024-11-04 14:08:48 +08:00
}
2023-04-03 20:25:57 +08:00
</script>
<style lang="scss" scoped>
2023-04-03 20:25:57 +08:00
</style>