2025-03-23 09:18:42 +08:00
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<div class="main">
|
|
|
|
|
<div class="maintop">
|
|
|
|
|
<div class="mainbtn">
|
|
|
|
|
<el-button
|
2025-05-13 10:04:19 +08:00
|
|
|
|
v-hasButtons="['DeliveryHandledPrint']"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
size="small"
|
|
|
|
|
class="thebtn2"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="getPrintCheck"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
>{{ '生成打印' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-button
|
2025-05-13 10:04:19 +08:00
|
|
|
|
v-hasButtons="['DeliveryHandledBind']"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
size="small"
|
|
|
|
|
class="thebtn3"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="codeBind(true)"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
>{{ '绑定追溯' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-button
|
2025-05-13 10:04:19 +08:00
|
|
|
|
v-hasButtons="['DeliveryHandledUnBind']"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
size="small"
|
|
|
|
|
class="thebtn3"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="codeBind(false)"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
>{{ '解绑追溯' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-button
|
2025-05-13 10:04:19 +08:00
|
|
|
|
v-hasButtons="['DeliveryHandledDelete']"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
size="small"
|
|
|
|
|
class="thebtn4"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="deleteDelivery"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
>{{ '批量删除' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-button
|
|
|
|
|
v-hasButtons="['DeliveryHandledExport']"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
size="small"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
class="thebtn1"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
@click="handleExport"
|
|
|
|
|
>{{ '导出' }}</el-button>
|
2025-05-13 10:13:03 +08:00
|
|
|
|
<el-button
|
|
|
|
|
v-hasButtons="['DeliveryHandledExport']"
|
|
|
|
|
size="small"
|
|
|
|
|
class="thebtn1"
|
|
|
|
|
@click="handleWaresExport"
|
|
|
|
|
>仓储导出</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<el-table
|
|
|
|
|
:data="tableData"
|
|
|
|
|
height="540px"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
:header-cell-style="{ background: '#EEEEEE' }"
|
|
|
|
|
:span-method="objectSpanMethod"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
@selection-change="handleSelectionChange"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
<!-- :row-class-name="tableRowClassName"
|
|
|
|
|
-->
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<el-table-column prop="colsele" type="selection" width="55" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
width="80px"
|
|
|
|
|
prop="dayBatch"
|
|
|
|
|
label="批次"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
width="60px"
|
|
|
|
|
prop="batchNumber"
|
|
|
|
|
label="序号"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
width="200px"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
prop="deliverCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'发货单号'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
2025-05-13 10:04:19 +08:00
|
|
|
|
width="200px"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
align="center"
|
|
|
|
|
prop="orderCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'订单编号'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="orderTypeVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'订单类型'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="orderStatusVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'订单状态'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
width="120px"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span>{{ scope.row.orderStatusVal }}</span>
|
|
|
|
|
<span
|
|
|
|
|
style="font-size: 18px; cursor: pointer; margin-left: 10px"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
@click="deleteOrderRow(scope.row)"
|
|
|
|
|
><i class="el-icon-delete" /></span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="memberCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'会员编号'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="memberName"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'会员姓名'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="phone"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'联系方式'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
min-width="120px"
|
|
|
|
|
prop="productCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'产品编号'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="productName"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'产品名称'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="specsName"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'产品规格'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
|
|
|
|
<el-table-column align="center" prop="unitName" :label="'产品单位'" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<el-table-column align="center" prop="quantity" :label="'产品数量'" />
|
|
|
|
|
<el-table-column align="center" prop="isBarCodeVal" label="是否追溯" />
|
|
|
|
|
<el-table-column align="center" prop="barCode" :label="'追溯编号'" />
|
|
|
|
|
<el-table-column align="center" prop="scanTime" :label="'扫码日期'" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<el-table-column align="center" prop="recName" :label="'收货人'" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="recPhone"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'收货电话'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
width="180px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="recAddress"
|
|
|
|
|
:formatter="formatAddress"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'收货地址'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="shippingChannelVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'发货类型'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
min-width="100px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="storehouseName"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'发货仓库'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="printStatusVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'打印状态'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="payTime"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'支付日期'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="deliveryWayVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'发货方式'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="operateScopeVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'供应方式'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="tranTypeVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'运输方式'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="preSaleStatusVal"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'预售状态'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="logisticsCompany"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'物流公司'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="logisticsCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'物流单号'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
|
|
|
|
<el-table-column align="center" prop="remark" :label="'备注'" />
|
|
|
|
|
<!-- <el-table-column-->
|
|
|
|
|
<!-- align="center"-->
|
|
|
|
|
<!-- prop="systemType"-->
|
|
|
|
|
<!-- :label="$t('系统类型')"-->
|
|
|
|
|
<!-- >-->
|
|
|
|
|
<!-- <template slot-scope="scope">-->
|
|
|
|
|
<!-- <div-->
|
|
|
|
|
<!-- v-for="item in systemTypes"-->
|
|
|
|
|
<!-- :key="item.value"-->
|
|
|
|
|
<!-- v-if="scope.row.systemType == item.value"-->
|
|
|
|
|
<!-- >-->
|
|
|
|
|
<!-- {{ item.label }}-->
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-table-column
|
|
|
|
|
width="150px"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="creationTime"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'创建日期'"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
/>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
<pagination
|
|
|
|
|
v-show="total > 0"
|
|
|
|
|
:total="total"
|
|
|
|
|
:page.sync="params.pageNum"
|
|
|
|
|
:limit.sync="params.pageSize"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
:page-sizes="pageSizes"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
@pagination="getList"
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<!-- 打印货单1版 -->
|
|
|
|
|
<!-- <el-dialog
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
:visible.sync="scdyShow2"
|
|
|
|
|
width="800px"
|
|
|
|
|
center
|
|
|
|
|
append-to-body
|
|
|
|
|
class="fhd_dialog"
|
|
|
|
|
>
|
|
|
|
|
<div class="fhdbox" v-for="(item, index) in dyhdData" :key="index">
|
|
|
|
|
<div class="fhdtop">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<div>【条形码】</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<span class="col_title">打印时间</span>
|
|
|
|
|
<span class="col-content">2022-11-03 12:12:00</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row class="mainrow">
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<span class="col_title">发货单号</span>
|
|
|
|
|
<span class="col-content">{{ item.deliverCode }}</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="fhdtop">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<span class="col_title">收货人</span>
|
|
|
|
|
<span class="col-content">{{ item.recName }}</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<span class="col_title">收货电话</span>
|
|
|
|
|
<span>{{ item.recPhone }}</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row class="mainrow">
|
|
|
|
|
<el-col :span="10">
|
|
|
|
|
<div class="fhd_flex">
|
|
|
|
|
<span class="col_title">收货地址</span>
|
|
|
|
|
<span class="col-content">
|
|
|
|
|
<el-input v-model="item.recAddress" disabled></el-input>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="14">
|
|
|
|
|
<el-input type="textarea" :rows="3"></el-input>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<el-table
|
|
|
|
|
:data="item.itemList"
|
|
|
|
|
:header-cell-style="{ background: '#EEEEEE' }"
|
|
|
|
|
border
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-table-column align="center" prop="productName" :label="'产品名称'">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-table-column>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-table-column align="center" prop="specsName" :label="'产品规格'">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-table-column>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-table-column align="center" prop="quantity" :label="'产品数量'">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-table-column>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-table-column align="center" prop="price" :label="'订单金额'">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog> -->
|
|
|
|
|
|
|
|
|
|
<el-dialog
|
|
|
|
|
:title="zsTitle"
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
:visible.sync="bdzsShow"
|
|
|
|
|
width="70%"
|
|
|
|
|
append-to-body
|
2025-05-13 10:04:19 +08:00
|
|
|
|
><div>
|
|
|
|
|
<el-table
|
|
|
|
|
ref="singleTable"
|
|
|
|
|
:data="codeData"
|
|
|
|
|
height="500px"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
:header-cell-style="{ background: '#EEEEEE' }"
|
|
|
|
|
border
|
|
|
|
|
@current-change="handleCurrentChange"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="orderCode"
|
|
|
|
|
:label="'订单编号'"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="productName"
|
|
|
|
|
:label="'产品名称'"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="specsName"
|
|
|
|
|
:label="'产品规格'"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center"
|
|
|
|
|
prop="productNum"
|
|
|
|
|
:label="'产品数量'"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column align="center" prop="barCode" :label="'追溯编号'">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-input
|
|
|
|
|
:ref="'mark' + scope.$index"
|
|
|
|
|
v-model="scope.row.barCode"
|
|
|
|
|
:disabled="!ifcodebind"
|
|
|
|
|
tabindex="1"
|
|
|
|
|
@keydown.enter.native="nextFocus"
|
|
|
|
|
/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column align="center" prop="" :label="'操作'">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div
|
|
|
|
|
v-if="ifcodebind"
|
|
|
|
|
style="cursor: pointer; color: #409eff"
|
|
|
|
|
@click="reCz(scope.row)"
|
|
|
|
|
>
|
|
|
|
|
{{ '重置' }}
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
style="color: #c73030; cursor: pointer"
|
|
|
|
|
@click="handleDelete(scope.row, scope.$index, codeData)"
|
|
|
|
|
>
|
|
|
|
|
{{ '删除' }}
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<div class="footer" style="text-align: center; margin-top: 20px">
|
|
|
|
|
<el-button @click="bdzsShow = false">
|
|
|
|
|
{{ '取消' }}</el-button>
|
|
|
|
|
<el-button type="primary" @click="sureBd">{{
|
|
|
|
|
'确定'
|
|
|
|
|
}}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
</div>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 国内打印 -->
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<div v-show="false" id="print-content">
|
|
|
|
|
<div v-for="(item, index) in dyhdData" :key="index" class="fhdbox2">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<div>
|
|
|
|
|
<div
|
|
|
|
|
class="fhdTitle"
|
|
|
|
|
style="
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
出库单汇总
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
text-align: right;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
序号:{{ item.batchNumber }} / {{ item.batchCount }}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div style="padding-right: 20px">
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<img :id="'barcode' + index">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
发货单编号:{{ item.deliverCode }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
<!-- 出货仓库:{{ item.houseName }} -->
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '支付时间' }}:{{ item.payTime }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
收货人:{{ item.recName }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
收货电话:{{ item.recPhone }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '打印时间' }}:{{ item.printTime }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="mainrow2" style="font-size: 12px">
|
|
|
|
|
<div>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<span> {{ '收货地址' }}:</span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<span>
|
|
|
|
|
{{ item.recProvinceVal }}{{ item.recCityVal
|
2025-05-13 10:04:19 +08:00
|
|
|
|
}}{{ item.recCountyVal || "" }}{{ item.recAddress }}</span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<table
|
|
|
|
|
class="tables"
|
|
|
|
|
style="
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
border: 1px solid #cccccc;
|
|
|
|
|
border-spacing: 0;
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
font-size:12px;!important
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
"
|
|
|
|
|
border
|
|
|
|
|
:data="item.itemList"
|
|
|
|
|
>
|
|
|
|
|
<tr>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<td colspan="3">{{ '产品编码' }}</td>
|
|
|
|
|
<td colspan="5">{{ '产品名称' }}</td>
|
|
|
|
|
<td colspan="4">{{ '产品规格' }}</td>
|
|
|
|
|
<td colspan="1">{{ '单位' }}</td>
|
|
|
|
|
<td colspan="1">{{ '数量' }}</td>
|
|
|
|
|
<td colspan="2">{{ '金额' }}</td>
|
|
|
|
|
<!-- <td colspan="2">{{ '金额' }}</td> -->
|
|
|
|
|
<!-- <td colspan="2">{{ '备注' }}</td> -->
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</tr>
|
|
|
|
|
<tr v-for="(aitem, aindex) in item.itemList" :key="aindex">
|
|
|
|
|
<td colspan="3">{{ aitem.productCode }}</td>
|
|
|
|
|
<td colspan="5">{{ aitem.productName }}</td>
|
|
|
|
|
<td colspan="4">{{ aitem.specsName }}</td>
|
|
|
|
|
<td colspan="1">{{ aitem.unitTransactionVal }}</td>
|
|
|
|
|
<td colspan="1">{{ aitem.quantity }}</td>
|
|
|
|
|
<td colspan="2">{{ aitem.price | decimalFormat }}</td>
|
|
|
|
|
<!-- <td colspan="2">{{ aitem.price * aitem.quantity }}</td> -->
|
|
|
|
|
<!-- <td colspan="2">{{ aitem.remarks }}</td> -->
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<div class="rowcontent" style="width: 260px">制单人:</div>
|
|
|
|
|
<div class="rowcontent" style="width: 260px">出库人:</div>
|
|
|
|
|
<div class="rowcontent" style="width: 260px">出库时间:</div>
|
|
|
|
|
<div class="rowcontent" style="width: 260px">
|
|
|
|
|
客服热线:4001112818
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="font-weight: bold; font-size: 12px">温馨提示:</span>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<span
|
|
|
|
|
style="font-size:10px;!important"
|
|
|
|
|
>尊敬的各位家人,感谢您长期以来对海之圣的支持与厚爱,当您收到货物时,请检查货物是否有破损,当场开箱验货确认无误后再签收哦,如有问题请第一时间致电公司客服热线,我们将一如既往的为您提供优质、快捷的物流服务。</span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<div style="page-break-after: always" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div
|
|
|
|
|
v-for="(titem, tindex) in item.orderList"
|
|
|
|
|
:key="tindex"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
style="font-size: 12px"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="fhdTitle"
|
|
|
|
|
style="
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
出库单明细
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="display: flex; align-items: center; font-size: 12px"
|
|
|
|
|
>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
会员编号:{{ titem.memberCode }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
会员姓名:{{ titem.memberName }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '支付时间' }}:{{ titem.payTime }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="display: flex; align-items: center; font-size: 12px"
|
|
|
|
|
>
|
|
|
|
|
<!-- <div class="rowcontent" style="width: 400px">
|
|
|
|
|
出货仓库:{{ titem.houseName }}
|
|
|
|
|
</div> -->
|
|
|
|
|
<!-- <div class="rowcontent" style="width: 400px">
|
|
|
|
|
订单类型:{{ titem.orderTypeVal }}
|
|
|
|
|
</div> -->
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '打印时间' }}:{{ titem.printTime }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
<!-- 订单类型:{{ titem.orderTypeVal }} -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="display: flex; align-items: center; font-size: 12px"
|
|
|
|
|
>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
收货人:{{ titem.recName }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
收货电话:{{ titem.recPhone }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rowcontent" style="width: 400px">
|
|
|
|
|
收货地址:{{ titem.recProvinceVal }}{{ titem.recCityVal
|
|
|
|
|
}}{{ titem.recCountyVal || "" }}{{ titem.recAddress }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- <div class="mainrow2" style="font-size:12px;">
|
|
|
|
|
<div>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<span> {{ '收货地址' }}:</span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<span>
|
|
|
|
|
{{ titem.recProvinceVal }}{{ titem.recCityVal
|
|
|
|
|
}}{{ titem.recCountyVal || "" }}{{ titem.recAddress }}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</div> -->
|
|
|
|
|
|
|
|
|
|
<table
|
|
|
|
|
class="tables"
|
|
|
|
|
style="
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
border: 1px solid #cccccc;
|
|
|
|
|
border-spacing: 0;
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
"
|
|
|
|
|
border
|
|
|
|
|
:data="titem.orderItemsList"
|
|
|
|
|
>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="5">订单编号</td>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<td colspan="4">{{ '产品编码' }}</td>
|
|
|
|
|
<td colspan="4">{{ '产品名称' }}</td>
|
|
|
|
|
<td colspan="4">{{ '产品规格' }}</td>
|
|
|
|
|
<td colspan="1">{{ '单位' }}</td>
|
|
|
|
|
<td colspan="1">{{ '数量' }}</td>
|
|
|
|
|
<td colspan="2">{{ '金额' }}</td>
|
|
|
|
|
<!-- <td colspan="2">{{ '金额' }}</td> -->
|
|
|
|
|
<!-- <td colspan="2">{{ '备注' }}</td> -->
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</tr>
|
|
|
|
|
<tr v-for="(aitem, aindex) in titem.orderItemsList" :key="aindex">
|
|
|
|
|
<td colspan="5">{{ aitem.orderCode }}</td>
|
|
|
|
|
<td colspan="4">{{ aitem.productCode }}</td>
|
|
|
|
|
<td colspan="4">{{ aitem.productName }}</td>
|
|
|
|
|
<td colspan="4">{{ aitem.specsName }}</td>
|
|
|
|
|
<td colspan="1">{{ aitem.unitTransactionVal }}</td>
|
|
|
|
|
<td colspan="1">{{ aitem.quantity }}</td>
|
|
|
|
|
<td colspan="2">{{ aitem.price | decimalFormat }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<div class="rowcontent" style="width: 260px">制单人:</div>
|
|
|
|
|
<div class="rowcontent" style="width: 260px">出库人:</div>
|
|
|
|
|
|
|
|
|
|
<div class="rowcontent" style="width: 260px">
|
|
|
|
|
客服热线:4001112818
|
|
|
|
|
</div>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<div class="rowcontent" style="width: 260px" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="font-weight: bold; font-size: 12px">温馨提示:</span>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<span
|
|
|
|
|
style="font-size:10px;!important"
|
|
|
|
|
>尊敬的各位家人,感谢您长期以来对海之圣的支持与厚爱,当您收到货物时,请检查货物是否有破损,当场开箱验货确认无误后再签收哦,如有问题请第一时间致电公司客服热线,我们将一如既往的为您提供优质、快捷的物流服务。</span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<div style="page-break-after: always" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 海外打印 -->
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<div v-show="false" id="print-content2">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in dyhdData"
|
|
|
|
|
:key="index"
|
2025-05-13 10:04:19 +08:00
|
|
|
|
class="fhdbox2"
|
|
|
|
|
style="min-height: 100vh"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="fhdTitle"
|
|
|
|
|
style="
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
"
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '出库单' }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<div style="text-align: right; line-height: 24px">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
({{ '快递发货' }})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
style="
|
|
|
|
|
text-align: right;
|
|
|
|
|
line-height: 24px;
|
|
|
|
|
border-bottom: 2px solid #000000;
|
|
|
|
|
padding-bottom: 10px;
|
|
|
|
|
"
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '订单日期' }} {{ item.printTime }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="padding: 5px 0; display: flex; align-items: center"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="rowcontent"
|
|
|
|
|
style="border-bottom: 2px solid #000000; padding-bottom: 10px"
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '发货单号' }} {{ item.deliverCode }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</div>
|
|
|
|
|
<!-- <div class="rowcontent">订单类型{{ item.deliverCode }}</div> -->
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="padding: 5px 0; display: flex; align-items: center"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="rowcontent"
|
|
|
|
|
style="
|
|
|
|
|
width: 46%;
|
|
|
|
|
border-top: 2px solid #000000;
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
padding-top: 10px;
|
|
|
|
|
"
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '收货人'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}}<span style="margin-left: 20px">{{ item.recName }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="rowcontent"
|
|
|
|
|
style="width: 46%; border-top: 2px solid #000000; padding-top: 10px"
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '联系电话'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}}<span style="margin-left: 20px">{{ item.recPhone }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="mainrow2">
|
|
|
|
|
<div>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<span> {{ '收货地址' }}</span>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<span style="margin-left: 30px"> {{ item.recAddress }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <div
|
|
|
|
|
class="mainrow2"
|
|
|
|
|
style="
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
border-top: 2px solid #000000;
|
|
|
|
|
border-bottom: 2px solid #000000;
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="rowcontent"
|
|
|
|
|
style="width: 50%; display: flex; align-items: center"
|
|
|
|
|
>
|
|
|
|
|
<div style="padding-right: 20px; border-right: 2px solid #000000">
|
|
|
|
|
会员编号
|
|
|
|
|
</div>
|
|
|
|
|
<span style="margin-left: 20px">{{ item.recName }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="rowcontent"
|
|
|
|
|
style="width: 50%; display: flex; align-items: center"
|
|
|
|
|
>
|
|
|
|
|
<div style="padding-right: 20px; border-right: 2px solid #000000">
|
|
|
|
|
会员姓名
|
|
|
|
|
</div>
|
|
|
|
|
<span style="margin-left: 20px">{{ item.recPhone }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div> -->
|
|
|
|
|
|
|
|
|
|
<table
|
|
|
|
|
class="tables"
|
|
|
|
|
style="
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
border-spacing: 0;
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
"
|
|
|
|
|
:data="item.itemList"
|
|
|
|
|
>
|
|
|
|
|
<tr style="border-bottom: 2px solid #000000; padding-bottom: 10px">
|
|
|
|
|
<td colspan="3" style="border-left: none; border-right: none">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '产品名称' }}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</td>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<td colspan="1">{{ '单位' }}</td>
|
|
|
|
|
<td colspan="2">{{ '销售数量' }}</td>
|
|
|
|
|
<td colspan="2">{{ '产品单价' }}</td>
|
|
|
|
|
<td colspan="2">{{ '总金额' }}</td>
|
|
|
|
|
<td colspan="2">{{ '产品规格' }}</td>
|
|
|
|
|
<td colspan="2">{{ '赠品数量' }}</td>
|
|
|
|
|
<td colspan="2">{{ '出库数量' }}</td>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</tr>
|
|
|
|
|
<tr v-for="(aitem, aindex) in item.itemList" :key="aindex">
|
|
|
|
|
<td colspan="3">{{ aitem.productName }}</td>
|
|
|
|
|
<td colspan="1">{{ aitem.unitTran }}</td>
|
|
|
|
|
<td colspan="2">{{ aitem.quantity }}</td>
|
|
|
|
|
<td colspan="2">{{ aitem.price }}</td>
|
|
|
|
|
<td colspan="2">{{ aitem.price * aitem.quantity }}</td>
|
|
|
|
|
<td colspan="2">{{ aitem.specsName }}</td>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
<td colspan="2" />
|
|
|
|
|
<td colspan="2" />
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2025-05-13 10:04:19 +08:00
|
|
|
|
import { mapGetters } from 'vuex'
|
|
|
|
|
import * as del from '@/api/delivery'
|
|
|
|
|
import JsBarcode from 'jsbarcode'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
export default {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
name: 'Yihandeled',
|
|
|
|
|
filters: {
|
|
|
|
|
decimalFormat(value) {
|
|
|
|
|
return Number(value).toFixed(2)
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-03-23 09:18:42 +08:00
|
|
|
|
props: {
|
|
|
|
|
params: {
|
|
|
|
|
type: Object,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
default: null
|
|
|
|
|
}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
tableData: [],
|
|
|
|
|
total: 0,
|
|
|
|
|
idList: [],
|
|
|
|
|
orderIdList: [],
|
|
|
|
|
multiple: true,
|
|
|
|
|
bdzsShow: false,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
zsTitle: '',
|
|
|
|
|
ifcodebind: '', // true绑定false解绑
|
2025-03-23 09:18:42 +08:00
|
|
|
|
codeData: [],
|
2025-05-13 10:04:19 +08:00
|
|
|
|
delIdList: [], // 存放删除
|
|
|
|
|
delIdList2: [], // 存放解绑
|
2025-03-23 09:18:42 +08:00
|
|
|
|
pageSizes: [100, 200, 500, 1000, 2000],
|
|
|
|
|
// 需要合并项的列
|
|
|
|
|
needMergeArr: [
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'colsele',
|
|
|
|
|
mergeCheckNames: ['deliverCode']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'deliverCode',
|
|
|
|
|
mergeCheckNames: ['deliverCode']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'orderCode',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'orderTypeVal',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'orderTypeVal']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'memberCode',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'memberCode']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'memberName',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'memberName']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'phone',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'phone']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'recName',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'recName']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'recPhone',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'recPhone']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'recAddress',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'recAddress']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'operateScopeVal',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'operateScopeVal']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'isLandTransVal',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'isLandTransVal']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'deliveryWayVal',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'deliveryWayVal']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'preSaleStatusVal',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'preSaleStatusVal']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'printStatusVal',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'printStatusVal']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'remark',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'remark']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'creationTime',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'creationTime']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'payTime',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'payTime']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'logisticsCompany',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'logisticsCompany']
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 10:04:19 +08:00
|
|
|
|
colName: 'logisticsCode',
|
|
|
|
|
mergeCheckNames: ['deliverCode', 'orderCode', 'logisticsCode']
|
|
|
|
|
}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
rowMergeArrs: {}, // 包含需要一个或多个合并项信息的对象
|
|
|
|
|
dyhdTable: [],
|
|
|
|
|
dyhdData: [],
|
2025-05-13 10:04:19 +08:00
|
|
|
|
pkCountry: '',
|
|
|
|
|
currentRow: ''
|
|
|
|
|
}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
computed: {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
...mapGetters(['user'])
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
mounted() {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.getList()
|
|
|
|
|
this.pkCountry = this.user.pkCountry
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
formatAddress(row) {
|
|
|
|
|
return (
|
|
|
|
|
row.recProvinceVal +
|
|
|
|
|
row.recCityVal +
|
2025-05-13 10:04:19 +08:00
|
|
|
|
(row.recCountyVal || '') +
|
2025-03-23 09:18:42 +08:00
|
|
|
|
row.recAddress
|
2025-05-13 10:04:19 +08:00
|
|
|
|
)
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
// 条码枪回车
|
|
|
|
|
handleCurrentChange(val) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.currentRow = val
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
// 条码枪回车
|
|
|
|
|
nextFocus() {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const len = this.codeData.length
|
|
|
|
|
const val = this.currentRow
|
2025-03-23 09:18:42 +08:00
|
|
|
|
this.codeData.forEach((v, i) => {
|
|
|
|
|
if (v === val) {
|
|
|
|
|
if (i < len - 1) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.setCurrent(this.codeData[i + 1])
|
|
|
|
|
this.$refs['mark' + (i + 1)].focus()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.setCurrent(this.codeData[0])
|
|
|
|
|
this.$refs['mark' + 0].focus()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
// 条码枪回车
|
|
|
|
|
setCurrent(row) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.$refs.singleTable.setCurrentRow(row)
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
totalAmount(row) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
let total2 = ''
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
2025-05-13 10:04:19 +08:00
|
|
|
|
total2 = row.price * row.quantity
|
|
|
|
|
return total2
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 解决多列行列合并,根据某一列 合并其他列
|
2025-03-23 09:18:42 +08:00
|
|
|
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const needMerge = this.needMergeArr.some((item) => {
|
|
|
|
|
return item.colName === column.property
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
if (needMerge === true) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
return this.mergeAction(column.property, rowIndex, column)
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mergeAction(val, rowIndex, colData) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const _row = this.rowMergeArrs[val].rowArr[rowIndex]
|
|
|
|
|
const _col = _row > 0 ? 1 : 0
|
|
|
|
|
return [_row, _col]
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
rowMergeHandle(arr, data) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
if (!Array.isArray(arr) && !arr.length) return false
|
|
|
|
|
if (!Array.isArray(data) && !data.length) return false
|
|
|
|
|
const needMerge = {}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
arr.forEach((mergeItem) => {
|
|
|
|
|
// 创建合并管理对象
|
|
|
|
|
needMerge[mergeItem.colName] = {
|
|
|
|
|
rowArr: [],
|
2025-05-13 10:04:19 +08:00
|
|
|
|
rowMergeNum: 0
|
|
|
|
|
}
|
|
|
|
|
const currentMergeItemData = needMerge[mergeItem.colName]
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
// 进行合并管理对象数据的遍历整理
|
|
|
|
|
data.forEach((item, index) => {
|
|
|
|
|
if (index === 0) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
currentMergeItemData.rowArr.push(1)
|
|
|
|
|
currentMergeItemData.rowMergeNum = 0
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const currentRowData = data[index]
|
|
|
|
|
const preRowData = data[index - 1]
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
if (
|
|
|
|
|
this.colMergeCheck(
|
|
|
|
|
currentRowData,
|
|
|
|
|
preRowData,
|
|
|
|
|
mergeItem.mergeCheckNames
|
|
|
|
|
)
|
|
|
|
|
) {
|
|
|
|
|
currentMergeItemData.rowArr[
|
|
|
|
|
currentMergeItemData.rowMergeNum
|
2025-05-13 10:04:19 +08:00
|
|
|
|
] += 1
|
|
|
|
|
currentMergeItemData.rowArr.push(0)
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
currentMergeItemData.rowArr.push(1)
|
|
|
|
|
currentMergeItemData.rowMergeNum = index
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
return needMerge
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
colMergeCheck(currentRowData, preRowData, mergeCheckNames) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
if (!Array.isArray(mergeCheckNames) && !mergeCheckNames.length) { return false }
|
|
|
|
|
let result = true
|
2025-03-23 09:18:42 +08:00
|
|
|
|
for (let index = 0; index < mergeCheckNames.length; index++) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const mergeCheckName = mergeCheckNames[index]
|
2025-03-23 09:18:42 +08:00
|
|
|
|
if (currentRowData[mergeCheckName] !== preRowData[mergeCheckName]) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
result = false
|
|
|
|
|
break
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
return result
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 删除行内订单状态列
|
2025-03-23 09:18:42 +08:00
|
|
|
|
deleteOrderRow(row) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.$confirm('是否删除' + '?').then((_) => {
|
2025-03-23 09:18:42 +08:00
|
|
|
|
del.deleteDeliverItems({ id: row.pkId || null }).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'success'
|
|
|
|
|
})
|
|
|
|
|
this.getList()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 重置
|
2025-03-23 09:18:42 +08:00
|
|
|
|
reCz(row) {
|
2025-04-01 23:46:26 +08:00
|
|
|
|
this.$confirm('是否重置?').then((_) => {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
row.barCode = ''
|
2025-03-23 09:18:42 +08:00
|
|
|
|
// del
|
|
|
|
|
// .codeReset({ barCodeId: row.deliverBarCodeId || null })
|
|
|
|
|
// .then((res) => {
|
|
|
|
|
// if (res.code == 200) {
|
|
|
|
|
// this.$message({
|
|
|
|
|
// message: res.msg,
|
|
|
|
|
// type: "success",
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// });
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 列表删除
|
2025-03-23 09:18:42 +08:00
|
|
|
|
deleteDelivery() {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.$confirm('是否删除' + '?').then((_) => {
|
2025-03-23 09:18:42 +08:00
|
|
|
|
del.deleteDeliver({ idList: this.idList.join() }).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'success'
|
|
|
|
|
})
|
|
|
|
|
this.getList()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 删除
|
2025-03-23 09:18:42 +08:00
|
|
|
|
handleDelete(row, index, rows) {
|
|
|
|
|
if (this.ifcodebind) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 绑定-删除
|
|
|
|
|
this.$confirm('是否删除' + '?').then((_) => {
|
2025-03-23 09:18:42 +08:00
|
|
|
|
if (row.deliverBarCodeId) {
|
|
|
|
|
del.codeReset({ barCodeId: row.deliverBarCodeId }).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'success'
|
|
|
|
|
})
|
|
|
|
|
rows.splice(index, 1)
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
|
|
|
|
this.$message({
|
2025-05-13 10:04:19 +08:00
|
|
|
|
message: '没有绑定过追溯码',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 解绑-删除
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.$confirm('是否删除' + '?').then((_) => {
|
2025-03-23 09:18:42 +08:00
|
|
|
|
if (row.deliverBarCodeId) {
|
|
|
|
|
del.codeReset({ barCodeId: row.deliverBarCodeId }).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'success'
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
|
|
|
|
const thedel1 = []
|
|
|
|
|
thedel1.push(row.deliverBarCodeId)
|
|
|
|
|
this.delIdList = thedel1
|
|
|
|
|
rows.splice(index, 1)
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
|
|
|
|
this.$message({
|
2025-05-13 10:04:19 +08:00
|
|
|
|
message: '没有绑定过追溯码',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getList() {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.params.pkDeliverList = []
|
2025-03-23 09:18:42 +08:00
|
|
|
|
del.getDeliveryHandledList(this.params).then((res) => {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.tableData = res.rows
|
|
|
|
|
this.total = res.total
|
2025-03-23 09:18:42 +08:00
|
|
|
|
this.rowMergeArrs = this.rowMergeHandle(
|
|
|
|
|
this.needMergeArr,
|
|
|
|
|
this.tableData
|
2025-05-13 10:04:19 +08:00
|
|
|
|
)
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 绑定/解绑
|
2025-03-23 09:18:42 +08:00
|
|
|
|
sureBd() {
|
|
|
|
|
if (this.ifcodebind == true) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 绑定
|
2025-03-23 09:18:42 +08:00
|
|
|
|
del.savCodeBind(this.codeData).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'success'
|
|
|
|
|
})
|
|
|
|
|
this.bdzsShow = false
|
|
|
|
|
this.getList()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
|
|
|
|
if (this.codeData.length > 0) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 解绑确定
|
2025-03-23 09:18:42 +08:00
|
|
|
|
del.codeUnbind(this.delIdList2).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: res.msg,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'success'
|
|
|
|
|
})
|
|
|
|
|
this.bdzsShow = false
|
|
|
|
|
this.getList()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.bdzsShow = false
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
codeBind(index) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.delIdList = []
|
|
|
|
|
this.ifcodebind = index
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
if (index == true) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 绑定追溯
|
|
|
|
|
this.zsTitle = '绑定追溯码'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
del
|
|
|
|
|
.getCodeBindData({ deliverIdList: this.idList.join() })
|
|
|
|
|
.then((res) => {
|
|
|
|
|
res.data.forEach((element) => {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
element.productNum = 1
|
|
|
|
|
})
|
|
|
|
|
this.codeData = res.data
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else if (index == false) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 解绑追溯
|
|
|
|
|
this.zsTitle = '解绑追溯码'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
|
|
|
|
|
del
|
|
|
|
|
.getCodeUnbindData({
|
|
|
|
|
deliverIdList: this.idList.join(),
|
2025-05-13 10:04:19 +08:00
|
|
|
|
orderIdList: this.orderIdList.join()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
res.data.forEach((element) => {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
element.productNum = 1
|
|
|
|
|
})
|
|
|
|
|
this.codeData = res.data
|
|
|
|
|
const thedel2 = []
|
2025-03-23 09:18:42 +08:00
|
|
|
|
res.data.forEach((ele) => {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
thedel2.push(ele.deliverBarCodeId)
|
|
|
|
|
})
|
|
|
|
|
this.delIdList2 = thedel2
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.bdzsShow = true
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 生成打印
|
2025-03-23 09:18:42 +08:00
|
|
|
|
getPrintCheck() {
|
|
|
|
|
del
|
|
|
|
|
.deliverHandledPrint({ deliverIdList: this.idList.join() })
|
|
|
|
|
.then((res) => {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.dyhdData = res.data
|
2025-03-23 09:18:42 +08:00
|
|
|
|
})
|
|
|
|
|
.finally(() => {
|
|
|
|
|
// 在接口请求完成后,循环生成条形码并展示在页面上
|
|
|
|
|
|
|
|
|
|
// 循环生成条形码并展示在页面上
|
|
|
|
|
this.dyhdData.forEach((item, index) => {
|
|
|
|
|
// 使用JsBarcode生成条形码图片
|
2025-05-13 10:04:19 +08:00
|
|
|
|
JsBarcode('#barcode' + index, item.deliverCode, {
|
|
|
|
|
format: 'CODE128',
|
|
|
|
|
lineColor: '#000',
|
|
|
|
|
background: '#EBEEF5',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
width: 2,
|
|
|
|
|
height: 20,
|
2025-05-13 10:04:19 +08:00
|
|
|
|
displayValue: false
|
|
|
|
|
})
|
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
})
|
|
|
|
|
.then(() => {
|
|
|
|
|
if (this.pkCountry == 1) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const printContent = document.getElementById('print-content')
|
|
|
|
|
const printWindow = window.open('', '_blank') // 这句解决edge浏览器打不开的问题
|
|
|
|
|
printWindow.document.write(printContent.innerHTML)
|
|
|
|
|
printWindow.document.close()
|
|
|
|
|
printWindow.focus()
|
|
|
|
|
printWindow.print()
|
2025-05-15 09:55:55 +08:00
|
|
|
|
// printWindow.close()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
} else {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
const printContent = document.getElementById('print-content2')
|
|
|
|
|
const printWindow = window.open('', '_blank') // 这句解决edge浏览器打不开的问题
|
|
|
|
|
printWindow.document.write(printContent.innerHTML)
|
|
|
|
|
printWindow.document.close()
|
|
|
|
|
printWindow.focus()
|
|
|
|
|
printWindow.print()
|
2025-05-15 09:55:55 +08:00
|
|
|
|
// printWindow.close()
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}
|
2025-05-13 10:04:19 +08:00
|
|
|
|
})
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
|
|
|
|
handleSelectionChange(selection) {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.idList = selection.map((item) => item.pkDeliver)
|
|
|
|
|
this.orderIdList = selection.map((item) => item.pkOrder)
|
|
|
|
|
this.multiple = !selection.length
|
2025-03-23 09:18:42 +08:00
|
|
|
|
},
|
2025-05-13 10:04:19 +08:00
|
|
|
|
// 导出
|
2025-03-23 09:18:42 +08:00
|
|
|
|
handleExport() {
|
2025-05-13 10:04:19 +08:00
|
|
|
|
this.params.pkDeliverList = this.idList
|
2025-04-01 23:46:26 +08:00
|
|
|
|
this.$confirm('是否确认导出所有数据项?', '警告', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
2025-05-13 10:04:19 +08:00
|
|
|
|
type: 'warning'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}).then((_) => {
|
|
|
|
|
this.download(
|
2025-05-13 10:04:19 +08:00
|
|
|
|
'/sale/manage/deliver-handled/export',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
{ ...this.params },
|
2025-04-01 23:46:26 +08:00
|
|
|
|
`${'已合单'}${new Date().getTime()}.xlsx`
|
2025-05-13 10:04:19 +08:00
|
|
|
|
)
|
|
|
|
|
})
|
2025-05-13 10:13:03 +08:00
|
|
|
|
},
|
|
|
|
|
handleWaresExport() {
|
|
|
|
|
this.params.pkDeliverList = this.idList
|
|
|
|
|
this.$confirm('是否确认导出所有数据项?', '警告', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then((_) => {
|
|
|
|
|
this.download(
|
|
|
|
|
'/sale/manage/deliver-handled/wms-export',
|
|
|
|
|
{ ...this.params },
|
|
|
|
|
`${'已合单-仓储导出'}${new Date().getTime()}.xlsx`
|
|
|
|
|
)
|
|
|
|
|
})
|
2025-05-13 10:04:19 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
@media print {
|
|
|
|
|
table {
|
|
|
|
|
width: 100%;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
border: 1px solid #cccccc;
|
|
|
|
|
border-spacing: 0;
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
// 合并内外边距
|
|
|
|
|
// (去除表格单元格默认的2个像素内外边距*/
|
|
|
|
|
}
|
|
|
|
|
.fhdbox2 {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
.fhdbox2 .fhdTitle {
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
}
|
|
|
|
|
.fhdbox2 .mainrow2 {
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.tables {
|
|
|
|
|
width: 100%;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
border: 1px solid #cccccc;
|
|
|
|
|
border-spacing: 0;
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
// 合并内外边距
|
|
|
|
|
// (去除表格单元格默认的2个像素内外边距*/
|
|
|
|
|
}
|
|
|
|
|
::v-deep .fhdDialog2 .el-dialog__header {
|
|
|
|
|
padding: 0;
|
|
|
|
|
border: 0;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .fhdDialog2 .el-dialog--center .el-dialog__body {
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .fhdDialog2 .el-dialog {
|
|
|
|
|
background: rgba(0, 0, 0, 0);
|
|
|
|
|
// padding: 10px 0;
|
|
|
|
|
margin: 5vh auto !important;
|
|
|
|
|
// margin-top: 0!important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-table .warning-row {
|
|
|
|
|
background: #f9f9f9;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep .el-table .success-row {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .el-table thead {
|
|
|
|
|
color: #000000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fhdbox {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
.mainrow {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
}
|
|
|
|
|
.fhdtop {
|
|
|
|
|
padding: 20px;
|
|
|
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.5);
|
|
|
|
|
|
|
|
|
|
.fhd_flex {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
.col_title {
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fhdbox2 {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
.fhdTitle {
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
}
|
|
|
|
|
.mainrow2 {
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
.rowcontent {
|
|
|
|
|
width: 500px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.main {
|
|
|
|
|
// margin-top: 20px;
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
|
|
|
|
|
|
|
|
|
|
.main_content {
|
|
|
|
|
padding: 20px 25px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.maintop {
|
|
|
|
|
display: flex;
|
|
|
|
|
// padding: 10px 20px;
|
|
|
|
|
padding-bottom: 10px;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
align-items: center;
|
|
|
|
|
.mainbtn {
|
|
|
|
|
.thebtn1 {
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: rgba(243, 169, 0, 1);
|
|
|
|
|
}
|
|
|
|
|
.thebtn2 {
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: rgba(16, 142, 233, 1);
|
|
|
|
|
}
|
|
|
|
|
.thebtn3 {
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: rgba(83, 177, 30, 1);
|
|
|
|
|
}
|
|
|
|
|
.thebtn4 {
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: rgba(199, 48, 48, 1);
|
|
|
|
|
}
|
|
|
|
|
.thebtn5 {
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: rgba(0, 155, 88, 1);
|
|
|
|
|
}
|
|
|
|
|
.thebtn6 {
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
background: rgba(236, 108, 0, 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|