web-base-admin/src/components/Delivery/unhandeled.vue

1014 lines
29 KiB
Vue
Raw Normal View History

2025-03-23 09:18:42 +08:00
<template>
<div>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button
size="small"
class="thebtn2"
@click="mergeHd(0)"
v-hasButtons="['DeliveryUnhandledAllMerge']"
>全部合单</el-button
>
<el-button
size="small"
class="thebtn3"
:disabled="multiple"
@click="mergeHd(1)"
v-hasButtons="['DeliveryUnhandledMerge']"
>合单</el-button
>
<el-button
size="small"
class="thebtn3"
:disabled="multiple"
@click="mergeHd(2)"
v-hasButtons="['DeliveryUnhandledSelf']"
2025-04-01 23:46:26 +08:00
>{{ '自提' }}</el-button
2025-03-23 09:18:42 +08:00
>
<!-- <el-button size="small" class="thebtn2" :disabled="multiple"
>二次发货</el-button
> -->
<el-button
size="small"
v-hasButtons="['DeliveryUnhandledExport']"
@click="handleExport"
class="thebtn1"
>
2025-04-01 23:46:26 +08:00
{{ '导出' }}</el-button
2025-03-23 09:18:42 +08:00
>
<el-button
size="small"
:disabled="selRow.length == 0 || selRow.length > 1"
class="thebtn2"
@click="orderDk"
v-hasButtons="['OrderDeductionBtn']"
>订单抵扣</el-button
>
</div>
</div>
<el-table
:data="tableData"
height="540px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange"
>
<!-- :row-class-name="tableRowClassName"
-->
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
align="center"
min-width="200px"
prop="orderCode"
2025-04-01 23:46:26 +08:00
:label="'订单编号'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="orderTypeVal"
2025-04-01 23:46:26 +08:00
:label="'订单类型'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="memberCode"
2025-04-01 23:46:26 +08:00
:label="'会员编号'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="memberName"
2025-04-01 23:46:26 +08:00
:label="'会员姓名'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="phone"
2025-04-01 23:46:26 +08:00
:label="'联系方式'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="productCode"
2025-04-01 23:46:26 +08:00
:label="'产品编号'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="productName"
2025-04-01 23:46:26 +08:00
:label="'产品名称'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="specsName"
2025-04-01 23:46:26 +08:00
: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="unitName" :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>
<el-table-column
align="center"
prop="isGiftVal"
2025-04-01 23:46:26 +08:00
:label="'销售类型'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="orderAmount"
2025-04-01 23:46:26 +08:00
:label="'订单金额'"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.orderAmount | numFilter }}
</template>
</el-table-column>
2025-04-01 23:46:26 +08:00
<el-table-column align="center" prop="recName" :label="'收货人'">
2025-03-23 09:18:42 +08:00
</el-table-column>
<el-table-column
align="center"
min-width="120px"
prop="recPhone"
2025-04-01 23:46:26 +08:00
:label="'收货电话'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="180px"
prop="recAddress"
2025-04-01 23:46:26 +08:00
:label="'收货地址'"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.recProvinceVal }}{{ scope.row.recCityVal
}}{{ scope.row.recCountyVal }}{{ scope.row.recAddress }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="shippingChannelVal"
2025-04-01 23:46:26 +08:00
:label="'发货类型'"
2025-03-23 09:18:42 +08:00
min-width="100px"
>
</el-table-column>
<el-table-column
min-width="100px"
align="center"
prop="storehouseName"
2025-04-01 23:46:26 +08:00
:label="'发货仓库'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
min-width="150px"
align="center"
prop="payTime"
2025-04-01 23:46:26 +08:00
:label="'支付日期'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
min-width="100px"
align="center"
prop="orderStatusVal"
2025-04-01 23:46:26 +08:00
:label="'订单状态'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="100px"
prop="deliveryWayVal"
2025-04-01 23:46:26 +08:00
:label="'发货方式'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="100px"
prop="operateScopeVal"
2025-04-01 23:46:26 +08:00
:label="'供应方式'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
min-width="100px"
prop="tranTypeVal"
2025-04-01 23:46:26 +08:00
:label="'运输方式'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="preSaleStatusVal"
2025-04-01 23:46:26 +08:00
:label="'预售状态'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="originalOrderCode"
2025-04-01 23:46:26 +08:00
:label="'原单号'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
min-width="100px"
align="center"
prop="remark"
2025-04-01 23:46:26 +08:00
:label="'备注'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<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>
<el-table-column
min-width="150px"
align="center"
prop="creationTime"
2025-04-01 23:46:26 +08:00
:label="'创建日期'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
</el-table>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="params.pageNum"
:limit.sync="params.pageSize"
@pagination="getList"
:pageSizes="pageSizes"
/>
<!-- 合单 -->
<el-dialog
2025-04-01 23:46:26 +08:00
:title="'合单'"
2025-03-23 09:18:42 +08:00
:close-on-click-modal="false"
:visible.sync="hdShow"
width="40%"
append-to-body
>
<div>
<div class="main_title">
<div class="bluekuai"></div>
2025-04-01 23:46:26 +08:00
<div class="title_word">{{ '选择合并匹配条件' }}</div>
2025-03-23 09:18:42 +08:00
</div>
<div>
<el-form
ref="hdform"
:rules="hdrules"
:model="hdform"
label-width="80px"
>
<el-row>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货人'" prop="recNameBool">
2025-03-23 09:18:42 +08:00
<el-radio-group v-model="hdform.recNameBool">
<el-radio
:label="item.value"
v-for="(item, index) in yesornoList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货电话'" prop="recPhoneBool">
2025-03-23 09:18:42 +08:00
<el-radio-group v-model="hdform.recPhoneBool">
<el-radio
:label="item.value"
v-for="(item, index) in yesornoList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="
2025-04-01 23:46:26 +08:00
'省' +
2025-03-23 09:18:42 +08:00
'/' +
2025-04-01 23:46:26 +08:00
'市' +
2025-03-23 09:18:42 +08:00
'/' +
2025-04-01 23:46:26 +08:00
'区/县'
2025-03-23 09:18:42 +08:00
"
prop="recAreaBool"
>
<el-radio-group v-model="hdform.recAreaBool">
<el-radio
:label="item.value"
v-for="(item, index) in yesornoList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'详细地址'" prop="recAddressBool">
2025-03-23 09:18:42 +08:00
<el-radio-group v-model="hdform.recAddressBool">
<el-radio
:label="item.value"
v-for="(item, index) in yesornoList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品名称'" prop="productNameBool">
2025-03-23 09:18:42 +08:00
<el-radio-group v-model="hdform.productNameBool">
<el-radio
:label="item.value"
v-for="(item, index) in yesornoList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'供应方式'" prop="operateScope">
2025-03-23 09:18:42 +08:00
<el-radio-group v-model="hdform.operateScope">
2025-04-01 23:46:26 +08:00
<el-radio :label="''">{{ '全部' }}</el-radio>
2025-03-23 09:18:42 +08:00
<el-radio
:label="item.value"
v-for="(item, index) in supplyWayList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'预售状态'" prop="preSaleStatus">
2025-03-23 09:18:42 +08:00
<el-radio-group v-model="hdform.preSaleStatus">
2025-04-01 23:46:26 +08:00
<el-radio :label="''">{{ '全部' }}</el-radio>
2025-03-23 09:18:42 +08:00
<el-radio
:label="item.value"
v-for="(item, index) in presaleStatusList"
:key="index"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item
required
2025-04-01 23:46:26 +08:00
:label="'运输方式'"
2025-03-23 09:18:42 +08:00
prop="transportTypeList"
>
<el-checkbox-group v-model="hdform.transportTypeList">
<el-checkbox
v-for="item in transportTypeList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item
required
2025-04-01 23:46:26 +08:00
:label="'发货方式'"
2025-03-23 09:18:42 +08:00
prop="deliveryWayList"
>
<el-checkbox-group v-model="hdform.deliveryWayList">
<el-checkbox
v-for="item in deliveryWayList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="main_title">
<div class="bluekuai"></div>
2025-04-01 23:46:26 +08:00
<div class="title_word">{{ '选择不合并产品' }}</div>
2025-03-23 09:18:42 +08:00
</div>
<div>
<el-table
:data="unproductData"
style="width: 100%"
height="300px"
:header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange2"
>
<!-- :row-class-name="tableRowClassName"
-->
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
align="center"
prop="productName"
2025-04-01 23:46:26 +08:00
:label="'产品名称'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="specsName"
2025-04-01 23:46:26 +08:00
:label="'产品规格'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="quantity"
2025-04-01 23:46:26 +08:00
:label="'产品订单总量'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="productStock"
2025-04-01 23:46:26 +08:00
:label="'实际库存数量'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
</el-table>
</div>
<div class="footer" style="text-align: center; margin-top: 20px">
<el-button @click="hdShow = false">
2025-04-01 23:46:26 +08:00
{{ '取消' }}</el-button
2025-03-23 09:18:42 +08:00
>
<el-button type="primary" @click="sureHd('hdform')">{{
2025-04-01 23:46:26 +08:00
'确定'
2025-03-23 09:18:42 +08:00
}}</el-button>
</div>
</div>
</el-dialog>
<!-- 自提 -->
<el-dialog
:title="ztTitle"
:close-on-click-modal="false"
:visible.sync="zitiShow"
width="900px"
append-to-body
>
<div>
<el-form
label-width="80px"
:model="ztForm"
ref="ztForm"
class="demo-ruleForm"
>
2025-04-01 23:46:26 +08:00
<el-form-item :label="'邮费返还'" prop="postage">
2025-03-23 09:18:42 +08:00
<el-input style="width: 166px" v-model="ztForm.postage"></el-input>
</el-form-item>
</el-form>
<div class="menuList">
<div
v-for="item in qhList"
@click="isMenu = item.id"
:class="['menu_i', isMenu == item.id ? 'actMenu' : '']"
:key="item.id"
>
{{ item.text }}
</div>
</div>
<div>
<el-table
v-if="isMenu == 0"
:data="ztData.productList"
height="400px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
<el-table-column
align="center"
prop="orderCode"
2025-04-01 23:46:26 +08:00
:label="'订单编号'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="productName"
2025-04-01 23:46:26 +08:00
:label="'产品名称'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="specsName"
2025-04-01 23:46:26 +08:00
:label="'产品规格'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="quantity"
2025-04-01 23:46:26 +08:00
:label="'产品数量'"
2025-03-23 09:18:42 +08:00
></el-table-column>
</el-table>
<el-table
v-if="isMenu == 1"
:data="ztData.barCodeList"
height="400px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
<!-- :row-class-name="tableRowClassName"
-->
<el-table-column
align="center"
prop="orderCode"
2025-04-01 23:46:26 +08:00
:label="'订单编号'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="productName"
2025-04-01 23:46:26 +08:00
:label="'产品名称'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="specsName"
2025-04-01 23:46:26 +08:00
: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="" :label="'产品数量'"
2025-03-23 09:18:42 +08:00
><template>
<span>1</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="barCode"
2025-04-01 23:46:26 +08:00
:label="'追溯码'"
2025-03-23 09:18:42 +08:00
><template slot-scope="scope">
<el-input v-model="scope.row.barCode"> </el-input>
</template>
</el-table-column>
</el-table>
</div>
<div class="footer" style="text-align: center; margin-top: 20px">
<el-button @click="zitiShow = false">
2025-04-01 23:46:26 +08:00
{{ '取消' }}</el-button
2025-03-23 09:18:42 +08:00
>
<el-button type="primary" @click="sureTh">{{
2025-04-01 23:46:26 +08:00
'确定'
2025-03-23 09:18:42 +08:00
}}</el-button>
</div>
</div>
</el-dialog>
<!-- 订单抵扣弹窗 -->
<el-dialog
title="订单抵扣"
:close-on-click-modal="false"
:visible.sync="orderDkShow"
width="900px"
append-to-body
>
<div>
<div>
<el-table
:data="pkOrderNewData"
height="140px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
<el-table-column
align="center"
prop="orderCode"
2025-04-01 23:46:26 +08:00
:label="'订单编号'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="orderAmount"
2025-04-01 23:46:26 +08:00
:label="'金额'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="orderAchieve"
2025-04-01 23:46:26 +08:00
:label="`${'业绩'}($)`"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column align="center" prop="orderAssAchieve" label="BV">
</el-table-column>
</el-table>
</div>
<el-form
label-width="120px"
:model="orderDkForm"
ref="orderDkForm"
class="demo-ruleForm"
>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="抵扣订单编号" prop="orderCode">
<el-input v-model="orderDkForm.orderCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-button type="primary" @click="getOldOrderDk">
2025-04-01 23:46:26 +08:00
{{ '搜索' }}</el-button
2025-03-23 09:18:42 +08:00
>
</el-col>
</el-row>
</el-form>
<div>
<el-table
:data="pkOrderOldData"
height="140px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
<el-table-column
align="center"
prop="orderCode"
label="抵扣订单编号"
></el-table-column>
<el-table-column
align="center"
prop="orderAmount"
2025-04-01 23:46:26 +08:00
:label="'金额'"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column
align="center"
prop="orderAchieve"
2025-04-01 23:46:26 +08:00
:label="`${'业绩'}($)`"
2025-03-23 09:18:42 +08:00
></el-table-column>
<el-table-column align="center" prop="orderAssAchieve" label="BV">
</el-table-column>
</el-table>
</div>
<div class="footer" style="text-align: center; margin-top: 20px">
<el-button @click="orderDkShow = false">
2025-04-01 23:46:26 +08:00
{{ '取消' }}</el-button
2025-03-23 09:18:42 +08:00
>
<el-button type="primary" @click="sureOrderDk">{{
2025-04-01 23:46:26 +08:00
'确定'
2025-03-23 09:18:42 +08:00
}}</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
// import { getDeliveryUnhandledList } from "@/api/delivery";
import * as del from "@/api/delivery";
export default {
name: "Unhandeled",
props: {
params: {
type: Object,
default: null,
},
},
filters: {
numFilter(value) {
// 截取当前数据到小数点后两位
let realVal = parseFloat(value).toFixed(2);
return realVal;
},
},
data() {
return {
qhList: [
{
2025-04-01 23:46:26 +08:00
text: '提货商品',
2025-03-23 09:18:42 +08:00
id: 0,
},
{
2025-04-01 23:46:26 +08:00
text: '绑定追溯码',
2025-03-23 09:18:42 +08:00
id: 1,
},
],
tableData: [],
total: 0,
// 非多个禁用
multiple: true,
hdShow: false, //合单弹框
hdform: {
mergeType: "", //合单类型
recNameBool: 0, //收货人
recPhoneBool: 0, //收货电话
recAreaBool: 0, //收货省市区
recAddressBool: 0, //收货详细地址
operateScope: 0, //供应方式
preSaleStatus: 0, //预售状态
transportTypeList: [], //运输方式
deliveryWayList: [], //发货方式
idList: [], //订单明细ID列表
excludeIdList: [], //排序产品ID
},
hdrules: {
transportTypeList: [
2025-04-01 23:46:26 +08:00
{ required: true, message: '请选择运输方式', trigger: "change" },
2025-03-23 09:18:42 +08:00
],
deliveryWayList: [
2025-04-01 23:46:26 +08:00
{ required: true, message: '请选择发货方式', trigger: "change" },
2025-03-23 09:18:42 +08:00
],
},
yesornoList: [],
supplyWayList: [], //供应方式
deliveryWayList: [], //发货方式
transportTypeList: [], //运输方式
presaleStatusList: [], //预售状态
unproductData: [],
zitiShow: false,
2025-04-01 23:46:26 +08:00
ztTitle: '自提',
2025-03-23 09:18:42 +08:00
isMenu: "0",
ztData: {},
ztForm: {
postage: "",
},
orderIdList: [], //自提用到orderIdList
pageSizes: [100, 200, 500, 1000, 2000],
selRow: [],
orderDkShow: false,
orderDkForm: {
orderCode: "",
},
pkOrderNewData: [],
pkOrderOldData: [],
};
},
created() {
this.getList();
this.getOther();
},
methods: {
sureOrderDk() {
if (this.pkOrderNewData.length > 0 && this.pkOrderOldData.length > 0) {
let theform = {
pkOrderNewData: this.pkOrderNewData,
pkOrderOldData: this.pkOrderOldData,
};
//发起签呈
this.$router.push({
path: "deductionZxqc",
query: {
data: JSON.stringify(theform),
index: 254,
},
});
}
},
//订单抵扣
orderDk() {
this.orderDkShow = true;
del
.getNewDeductionData({ pkOrder: this.selRow[0].pkOrder })
.then((res) => {
if (res.code == 200) {
this.pkOrderNewData = [res.data];
}
});
},
getOldOrderDk() {
del
.getOldDeductionData({
orderCode: this.orderDkForm.orderCode,
})
.then((res) => {
if (res.code == 200) {
this.pkOrderOldData = [res.data];
}
});
},
getOther() {
del.getDealerYesNo().then((res) => {
this.yesornoList = res.data;
});
del.getSupplyWay().then((res) => {
this.supplyWayList = res.data;
});
del.getPresaleStatus().then((res) => {
this.presaleStatusList = res.data;
});
del.getDeliveryWayList().then((res) => {
this.deliveryWayList = res.data;
});
del.getTransportType().then((res) => {
this.transportTypeList = res.data;
});
},
//确定提货
sureTh() {
this.$router.push({
path: "ztZxqc",
query: {
postage: this.ztForm.postage,
itemIdList: JSON.stringify(this.hdform.idList),
barCodeList: JSON.stringify(this.ztData.barCodeList),
productList: JSON.stringify(this.ztData.productList),
businessType: 251,
},
});
},
//合单
mergeHd(index) {
this.hdform.mergeType = index;
if (index == 1) {
this.hdShow = true;
// const theidList = this.hdform.idList.join()
del
.getExcludeProduct({ mergeType: 1, idList: this.hdform.idList })
.then((res) => {
this.unproductData = res.data;
});
} else if (index == 0) {
2025-04-01 23:46:26 +08:00
this.$confirm('是否确定进行全部合单操作?').then((_) => {
2025-03-23 09:18:42 +08:00
del
.deliverUnhandeldMerge(
Object.assign({}, this.params, {
mergeType: this.hdform.mergeType,
})
)
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
} else if (index == 2) {
this.zitiShow = true;
del
.getUnhandeldSelfData({ orderIdList: this.orderIdList.join() })
.then((res) => {
this.ztData = res.data;
});
}
},
//确认合单
sureHd(formName) {
this.$refs[formName].validate((valid) => {
this.hdform.recAddressBool = Boolean(!this.hdform.recAddressBool);
this.hdform.recAreaBool = Boolean(!this.hdform.recAreaBool);
this.hdform.recNameBool = Boolean(!this.hdform.recNameBool);
this.hdform.recPhoneBool = Boolean(!this.hdform.recPhoneBool);
this.hdform.productNameBool = Boolean(!this.hdform.productNameBool);
if (valid) {
del.deliverUnhandeldMerge(this.hdform).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
this.hdShow = false;
}
});
}
});
},
handleSelectionChange(selection) {
this.hdform.idList = selection.map((item) => item.pkId);
this.orderIdList = selection.map((item) => item.pkOrder);
this.multiple = !selection.length;
this.selRow = selection;
},
handleSelectionChange2(sele) {
this.hdform.excludeIdList = sele.map((item) => item.pkProduct);
},
//导出
handleExport() {
this.params.pkIdList = this.hdform.idList;
2025-04-01 23:46:26 +08:00
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
2025-03-23 09:18:42 +08:00
type: "warning",
}).then((_) => {
this.download(
"/sale/manage/deliver-unhandled/export",
// {pkIdList:this.hdform.idList},
{ ...this.params },
2025-04-01 23:46:26 +08:00
`${'未合单'}${new Date().getTime()}.xlsx`
2025-03-23 09:18:42 +08:00
);
});
},
getList() {
this.params.pkIdList = [];
del.getDeliveryUnhandledList(this.params).then((res) => {
this.tableData = res.rows;
this.total = res.total;
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
margin-top: 6vh !important;
}
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
.menuList {
display: flex;
box-sizing: border-box;
.menu_i {
margin-right: 70px;
line-height: 50px;
cursor: pointer;
}
.actMenu {
border-bottom: 5px solid #b42b2a;
}
}
// .xian {
// height: 5px;
// background: rgba(0, 0, 0, 0.05);
// margin-top: -5px;
// }
.main_title {
display: flex;
align-items: center;
padding: 10px 0;
// padding-bottom: 10px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
.bluekuai {
width: 5px;
height: 19px;
background: #4391fd;
margin-right: 20px;
}
.title_word {
font-size: 14px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
}
}
.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(0, 155, 88, 1);
}
.thebtn4 {
color: #ffffff;
background: rgba(167, 116, 176, 1);
}
.thebtn5 {
color: #ffffff;
background: rgba(0, 155, 88, 1);
}
.thebtn6 {
color: #ffffff;
background: rgba(236, 108, 0, 1);
}
}
}
}
</style>