|
@@ -38,10 +38,10 @@
|
|
|
action: () => clickPrint(),
|
|
|
type: 'warning',
|
|
|
},
|
|
|
- {
|
|
|
- text: '填写线下快递单号',
|
|
|
- action: () => clickFillInExpressCode(),
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // text: '填写线下快递单号',
|
|
|
+ // action: () => clickFillInExpressCode(),
|
|
|
+ // },
|
|
|
]"
|
|
|
@get-list="getList"
|
|
|
@clickReset="clickReset">
|
|
@@ -141,7 +141,7 @@
|
|
|
<el-form :model="formExpress.data" :rules="rulesExpress" label-width="100px" ref="refExpress">
|
|
|
<el-form-item label="快递" prop="expressDeliveryId">
|
|
|
<el-select v-model="formExpress.data.expressDeliveryId" placeholder="请选择快递" style="width: 100%">
|
|
|
- <el-option v-for="item in expressDeliveryList.value" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
|
|
|
+ <el-option v-for="item in expressDeliveryList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -151,10 +151,10 @@
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog title="修改快递" v-if="openExpressCode" v-model="openExpressCode" width="500">
|
|
|
+ <el-dialog title="修改快递单号" v-if="openExpressCode" v-model="openExpressCode" width="500">
|
|
|
<el-form :model="formExpressCode.data" :rules="rulesExpressCode" label-width="100px" ref="refExpressCode">
|
|
|
- <el-form-item label="快递单号" prop="expressDeliveryCode">
|
|
|
- <el-input v-model="formExpressCode.data.expressDeliveryCode" placeholder="请输入快递单号" />
|
|
|
+ <el-form-item label="快递单号" prop="trackingNumber">
|
|
|
+ <el-input v-model="formExpressCode.data.trackingNumber" placeholder="请输入快递单号" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
@@ -162,6 +162,61 @@
|
|
|
<el-button type="primary" @click="submitExpressCode()" size="large" v-preReClick>保 存</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog title="打印快递面单" v-if="openPrint" v-model="openPrint" width="80%">
|
|
|
+ <el-table :data="orderEncasementList" :row-style="{ height: '35px' }" :cell-style="{ padding: '0' }" header-row-class-name="tableHeader">
|
|
|
+ <el-table-column label="订单号" align="center">
|
|
|
+ <template #default="{}">
|
|
|
+ <div>
|
|
|
+ {{ selectData[0].code }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="包裹单号" prop="number" align="center" />
|
|
|
+ <el-table-column label="快递单号" prop="trackingNumber" align="center" />
|
|
|
+ <el-table-column label="商品总数" align="center">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ <span v-if="row.orderEncasementDetailList && row.orderEncasementDetailList.length > 0">
|
|
|
+ {{
|
|
|
+ row.orderEncasementDetailList
|
|
|
+ .map((item) => item.quantity)
|
|
|
+ .reduce(function (prev, cur) {
|
|
|
+ return prev + cur;
|
|
|
+ }, 0)
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ <span v-else>0</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="净重(kg)" align="center">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ {{ row.netWeight / 1000 }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="体积(m³)" align="center">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ {{ (row.length * row.width * row.height) / 1000000 }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="220">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ <el-button type="primary" @click="clickNewbiePrint(row)" text v-preReClick>打印面单</el-button>
|
|
|
+ <el-button type="primary" @click="clickFillInExpressCode(row)" text v-preReClick>填写线下快递单号</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="openPrint = false" size="large">关 闭</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</el-card>
|
|
|
</template>
|
|
|
|
|
@@ -181,7 +236,6 @@ const sourceList = ref({
|
|
|
pageSize: 10,
|
|
|
code: "",
|
|
|
departmentId: "",
|
|
|
- expressDeliveryCode: "",
|
|
|
printStatus: "",
|
|
|
beginTime: "",
|
|
|
endTime: "",
|
|
@@ -202,11 +256,6 @@ const searchConfig = computed(() => {
|
|
|
label: "事业部",
|
|
|
},
|
|
|
{
|
|
|
- type: "input",
|
|
|
- prop: "expressDeliveryCode",
|
|
|
- label: "快递单号",
|
|
|
- },
|
|
|
- {
|
|
|
type: "select",
|
|
|
prop: "printStatus",
|
|
|
data: [
|
|
@@ -289,13 +338,6 @@ const config = computed(() => {
|
|
|
},
|
|
|
{
|
|
|
attrs: {
|
|
|
- label: "快递单号",
|
|
|
- prop: "expressDeliveryCode",
|
|
|
- width: 130,
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- attrs: {
|
|
|
label: "店铺来源",
|
|
|
prop: "sourcePlatform",
|
|
|
width: 120,
|
|
@@ -687,32 +729,57 @@ const submitExpress = () => {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
+const ws = ref("");
|
|
|
+const initWebSocket = (status, request) => {
|
|
|
+ ws.value = new WebSocket("ws://localhost:13528");
|
|
|
+ ws.value.onopen = (e) => {
|
|
|
+ console.log("建立连接", e);
|
|
|
+ if (status) {
|
|
|
+ this.send(request);
|
|
|
+ }
|
|
|
+ };
|
|
|
+};
|
|
|
+initWebSocket();
|
|
|
+const openPrint = ref(false);
|
|
|
+const orderEncasementList = ref([]);
|
|
|
const clickPrint = () => {
|
|
|
- console.log("打印快递单");
|
|
|
+ if (selectData.value && selectData.value.length > 0) {
|
|
|
+ if (selectData.value.length > 1) {
|
|
|
+ return ElMessage("每次只能选一个");
|
|
|
+ }
|
|
|
+ getAssemblyDetail();
|
|
|
+ openPrint.value = true;
|
|
|
+ } else {
|
|
|
+ return ElMessage("请先选择需要打印快递单的订单");
|
|
|
+ }
|
|
|
+};
|
|
|
+const getAssemblyDetail = () => {
|
|
|
+ orderEncasementList.value = [];
|
|
|
+ proxy.post("/issueBill/assemblyDetail", { id: selectData.value[0].id }).then((res) => {
|
|
|
+ orderEncasementList.value = res.orderEncasementList;
|
|
|
+ });
|
|
|
+};
|
|
|
+const clickNewbiePrint = (row) => {
|
|
|
+ proxy.post("/cainiao/takeNum", { id: row.id }).then((res) => {
|
|
|
+ console.log(res);
|
|
|
+ });
|
|
|
};
|
|
|
const openExpressCode = ref(false);
|
|
|
const formExpressCode = reactive({
|
|
|
data: {
|
|
|
id: "",
|
|
|
- expressDeliveryCode: "",
|
|
|
+ trackingNumber: "",
|
|
|
},
|
|
|
});
|
|
|
const rulesExpressCode = ref({
|
|
|
- expressDeliveryCode: [{ required: true, message: "请输入快递单号", trigger: "blur" }],
|
|
|
+ trackingNumber: [{ required: true, message: "请输入快递单号", trigger: "blur" }],
|
|
|
});
|
|
|
-const clickFillInExpressCode = () => {
|
|
|
- if (selectData.value && selectData.value.length > 0) {
|
|
|
- if (selectData.value.length > 1) {
|
|
|
- return ElMessage("每次只能选一个");
|
|
|
- }
|
|
|
- formExpressCode.data = {
|
|
|
- id: selectData.value[0].id,
|
|
|
- expressDeliveryCode: selectData.value[0].expressDeliveryCode,
|
|
|
- };
|
|
|
- openExpressCode.value = true;
|
|
|
- } else {
|
|
|
- return ElMessage("请先选择需要填写快递单号的订单");
|
|
|
- }
|
|
|
+const clickFillInExpressCode = (row) => {
|
|
|
+ formExpressCode.data = {
|
|
|
+ id: row.id,
|
|
|
+ trackingNumber: row.trackingNumber,
|
|
|
+ };
|
|
|
+ openExpressCode.value = true;
|
|
|
};
|
|
|
const submitExpressCode = () => {
|
|
|
proxy.$refs.refExpressCode.validate((valid) => {
|
|
@@ -720,7 +787,7 @@ const submitExpressCode = () => {
|
|
|
proxy.post("/issueBill/editExpressDeliveryCode", formExpressCode.data).then(() => {
|
|
|
openExpressCode.value = false;
|
|
|
ElMessage({ message: "保存成功", type: "success" });
|
|
|
- getList();
|
|
|
+ getAssemblyDetail();
|
|
|
});
|
|
|
}
|
|
|
});
|