|
@@ -1,102 +1,53 @@
|
|
|
<template>
|
|
|
- <!-- 添加销售订单排车 -->
|
|
|
- <div class="addSalePlan">
|
|
|
+ <div class="addSaleOrderSend">
|
|
|
<page-title>新增销售订单派车</page-title>
|
|
|
- <div>
|
|
|
- <el-tabs v-model="activeName" >
|
|
|
- <dilTable ref="tab" v-bind.sync="option">
|
|
|
- </dilTable>
|
|
|
- </el-tabs>
|
|
|
- </div>
|
|
|
-
|
|
|
- <el-form :inline="true" style="margin-top: 2rem;">
|
|
|
- <el-form-item>
|
|
|
- <label class="el-form-item__label" style="width: auto;margin-left: 2rem;">物资名称:</label>
|
|
|
- <el-select v-model="materials" placeholder="请选择">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <div class="lineId">
|
|
|
- <div class="materialId">
|
|
|
- <label class="el-form-item__label" style="width: auto;margin-left: 2rem;">承运商:</label>
|
|
|
- <el-input class="input" v-model="carrierName" disabled> </el-input>
|
|
|
- <el-button type="primary" class="btn" @click="table2 = true">浏览</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <div class="lineId">
|
|
|
- <div class="materialId">
|
|
|
- <label class="el-form-item__label" style="width: auto;margin-left: 2rem;">选择路线:</label>
|
|
|
- <el-input class="input" v-model="lineName" disabled> </el-input>
|
|
|
- <el-button type="primary" class="btn" @click="table1 = true">浏览</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
-
|
|
|
- <!-- 承运商模态框 -->
|
|
|
- <el-drawer
|
|
|
- title="选择承运商"
|
|
|
- :visible.sync="table2"
|
|
|
- direction="rtl"
|
|
|
- size="35%"
|
|
|
- :show-close="false"
|
|
|
- >
|
|
|
- <el-input placeholder="请输入内容" v-model="index"
|
|
|
- style="margin-top: 10px; margin-left: 20px;width:160px" clearable> </el-input
|
|
|
- ><el-button type="primary" class="btn" @click="onclick" style="margin-left: 4px;">
|
|
|
- <i class="el-icon-search"></i>查询
|
|
|
- </el-button>
|
|
|
- <div class="tablecls">
|
|
|
- <!-- 查询所有的承运商 -->
|
|
|
- <dilTable v-bind.sync="carrier" @radio-change="currentRadioChange2">
|
|
|
- </dilTable>
|
|
|
- </div>
|
|
|
- </el-drawer>
|
|
|
-
|
|
|
- <!-- 选择路线模态窗口 -->
|
|
|
- <el-drawer
|
|
|
- title="选择路线"
|
|
|
- :visible.sync="table1"
|
|
|
- direction="rtl"
|
|
|
- size="50%"
|
|
|
- :show-close="false"
|
|
|
- >
|
|
|
- <el-input placeholder="请输入内容" v-model="input"
|
|
|
- style="margin-top: 10px; margin-left: 20px;width:160px" clearable> </el-input
|
|
|
- ><el-button type="primary" class="btn" @click="onclick1" style="margin-left: 4px;">
|
|
|
- <i class="el-icon-search"></i>查询
|
|
|
- </el-button>
|
|
|
- <div class="tablecls">
|
|
|
- <!-- 查询所有的路线 -->
|
|
|
- <dilTable
|
|
|
- v-bind.sync="line" @radio-change="currentRadioChange5"
|
|
|
- ></dilTable>
|
|
|
- </div>
|
|
|
- </el-drawer>
|
|
|
-
|
|
|
- <!-- 选择新增条数及确认按钮 -->
|
|
|
- <div class="lineId">
|
|
|
- <div class="materialId">
|
|
|
- <label class="el-form-item__label" style="width: auto;margin-left: 2rem;margin-top: 0.3rem;">派车数:</label>
|
|
|
- <el-input class="input1" v-model="carCount"> </el-input>
|
|
|
- <el-button type="primary" class="btn" @click="makeSure1">确认分派</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <!-- 销售订单表的数据 -->
|
|
|
+ <div class="saleOrder">
|
|
|
+ <dilTable
|
|
|
+ v-bind.sync="option"
|
|
|
+ @radio-change="currentRadioChange"
|
|
|
+ ></dilTable>
|
|
|
+ </div>
|
|
|
+ <!-- 表单选择车辆和线路 -->
|
|
|
+ <div class="from">
|
|
|
+ <div class="line">
|
|
|
+ <span class="text">线路</span>
|
|
|
+ <el-input
|
|
|
+ v-model="lineName"
|
|
|
+ placeholder="请选择线路"
|
|
|
+ disabled
|
|
|
+ ></el-input>
|
|
|
+ <el-button type="primary" @click="onClick(1)">浏览</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="vehicle">
|
|
|
+ <span class="text">车辆</span>
|
|
|
+ <el-button type="primary" @click="onClick(2)">浏览</el-button>
|
|
|
+ <span class="span"></span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
<!-- 派车表格 -->
|
|
|
<div class="selectionTable from">
|
|
|
- <el-table :data="selectionList" border style="width: 100%" highlight-current-row>
|
|
|
- <el-table-column v-for="(item, i) in tableTop" :key="i" :prop="item.prop" :label="item.label" :width="item.width" align="center"
|
|
|
- show-overflow-tooltip>
|
|
|
+ <el-table
|
|
|
+ :data="selectionList"
|
|
|
+ border
|
|
|
+ style="width: 100%"
|
|
|
+ highlight-current-row
|
|
|
+ >
|
|
|
+ <el-table-column type="index" label="序号" width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ v-for="(item, i) in tableTop"
|
|
|
+ :key="i"
|
|
|
+ :prop="item.prop"
|
|
|
+ :label="item.label"
|
|
|
+ :width="item.width"
|
|
|
+ align="center"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
<template slot="scope" v-if="item.label !== '重量'">
|
|
|
<span>{{ item.label }}</span>
|
|
|
</template>
|
|
|
- <template slot="scope" v-if="item.label !== '车牌号'">
|
|
|
- <span>{{ item.label }}</span>
|
|
|
- </template>
|
|
|
<template slot="scope" v-if="item.label !== '收货地址'">
|
|
|
<span>{{ item.label }}</span>
|
|
|
</template>
|
|
@@ -112,32 +63,34 @@
|
|
|
<!-- 插入输入框 -->
|
|
|
<template slot-scope="scope">
|
|
|
<template v-if="item.slot">
|
|
|
- <!-- 车牌号 -->
|
|
|
- <template v-if="item.prop == 'capacityNumber'">
|
|
|
- <el-input
|
|
|
- class="textinput1"
|
|
|
- v-model.number="scope.row.capacityNumber"
|
|
|
- ></el-input>
|
|
|
- </template>
|
|
|
<!-- 物资重量 -->
|
|
|
<template v-if="item.prop == 'orderPlanWeight'">
|
|
|
<el-input
|
|
|
class="textinput"
|
|
|
+ @input="onInput"
|
|
|
+ placeholder="请输入内容(必填)"
|
|
|
v-model.number="scope.row.orderPlanWeight"
|
|
|
></el-input>
|
|
|
</template>
|
|
|
-
|
|
|
+
|
|
|
<!-- 收货地址id -->
|
|
|
- <template style="width: 400px" v-if="item.prop == 'saleShipperAddressName'">
|
|
|
- <el-input style="width: 200px" v-model="scope.row.saleShipperAddressName" disabled>
|
|
|
+ <template v-if="item.prop == 'saleShipperAddressName'" >
|
|
|
+ <el-input
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="scope.row.saleShipperAddressName"
|
|
|
+ disabled
|
|
|
+ >
|
|
|
</el-input>
|
|
|
- <el-button type="primary" @click="ondrawer(scope.row,scope.$index)"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ placeholder="请输入内容(必填)"
|
|
|
+ @click="select(scope.$index,3)"
|
|
|
>浏览</el-button
|
|
|
>
|
|
|
</template>
|
|
|
<!-- 收货日期 -->
|
|
|
<template v-if="item.prop == 'saleDateOfReceipt'">
|
|
|
- <el-date-picker
|
|
|
+ <el-date-picker
|
|
|
class="textinput3"
|
|
|
type="date"
|
|
|
v-model.number="scope.row.saleDateOfReceipt"
|
|
@@ -147,6 +100,7 @@
|
|
|
<template v-if="item.prop == 'saleOrderConsignee'">
|
|
|
<el-input
|
|
|
class="textinput4"
|
|
|
+ placeholder="请输入内容(非必填)"
|
|
|
v-model.number="scope.row.saleOrderConsignee"
|
|
|
></el-input>
|
|
|
</template>
|
|
@@ -154,7 +108,9 @@
|
|
|
<template v-if="item.prop == 'saleOrderConsigneeTel'">
|
|
|
<el-input
|
|
|
class="textinput5"
|
|
|
+ placeholder="请输入内容(非必填)"
|
|
|
v-model.number="scope.row.saleOrderConsigneeTel"
|
|
|
+ @input="onInput"
|
|
|
></el-input>
|
|
|
</template>
|
|
|
</template>
|
|
@@ -167,7 +123,14 @@
|
|
|
<el-table-column fixed="right" label="操作" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
- @click.native.prevent="deleteRow(scope.$index, selectionList)"
|
|
|
+ @click="copyRow(scope.$index,scope.row)"
|
|
|
+ type="text"
|
|
|
+ size="big"
|
|
|
+ >
|
|
|
+ 复制
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ @click="deleteRow(scope.$index)"
|
|
|
type="text"
|
|
|
icon="el-icon-close"
|
|
|
size="big"
|
|
@@ -176,106 +139,206 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
-
|
|
|
- <el-drawer
|
|
|
- :visible.sync="drawer"
|
|
|
- :direction="direction"
|
|
|
- :close-on-press-escape="true"
|
|
|
- :show-close="true"
|
|
|
- :wrapperClosable="true"
|
|
|
+ <!-- 线路模态框 -->
|
|
|
+ <el-drawer
|
|
|
+ :visible.sync="drawer"
|
|
|
+ :with-header="false"
|
|
|
+ :destroy-on-close="false"
|
|
|
+ direction="rtl"
|
|
|
+ size="40%"
|
|
|
+ :show-close="false"
|
|
|
+ :wrapperClosable="false"
|
|
|
modal
|
|
|
- size="30%"
|
|
|
+ close-on-press-escape
|
|
|
+
|
|
|
>
|
|
|
<el-input
|
|
|
placeholder="请输入内容"
|
|
|
- v-model="textInput"
|
|
|
- style="margin-top: 10px; margin-left: 20px;width: 200px"
|
|
|
+ v-model="lineText"
|
|
|
+ style="margin-top: 10px; margin-left: 20px; width: 250px"
|
|
|
clearable
|
|
|
>
|
|
|
</el-input>
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
class="btn"
|
|
|
- @click="onclick1()"
|
|
|
- style="margin-bottom: 15px"
|
|
|
+ @click="selectClick"
|
|
|
+ style="margin-left: 5px"
|
|
|
>
|
|
|
<i class="el-icon-search"></i>查询
|
|
|
</el-button>
|
|
|
- <dilTable
|
|
|
- v-bind.sync="frist"
|
|
|
- @radio-change="currentRadioChange1"
|
|
|
- ></dilTable>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="btn"
|
|
|
+ @click="AddClick"
|
|
|
+ style="margin-left: 5px"
|
|
|
+ >
|
|
|
+ <i class="el-icon-check"></i>确定
|
|
|
+ </el-button>
|
|
|
+ <div class="tablecls">
|
|
|
+ <!-- 查询所有的路线 -->
|
|
|
+ <dilTable
|
|
|
+ v-bind.sync="line"
|
|
|
+ @radio-change="currentRadioChange5"
|
|
|
+ ></dilTable>
|
|
|
+ </div>
|
|
|
+ </el-drawer>
|
|
|
+ <!-- 车辆模态框 -->
|
|
|
+ <el-drawer
|
|
|
+ :visible.sync="truckDrawer"
|
|
|
+ :with-header="false"
|
|
|
+ :destroy-on-close="false"
|
|
|
+ direction="rtl"
|
|
|
+ size="40%"
|
|
|
+ :show-close="false"
|
|
|
+ :wrapperClosable="false"
|
|
|
+ modal
|
|
|
+ close-on-press-escape
|
|
|
+
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="truckText"
|
|
|
+ style="margin-top: 10px; margin-left: 20px; width: 250px"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="btn"
|
|
|
+ @click="selectTruckClick"
|
|
|
+ style="margin-left: 5px"
|
|
|
+ >
|
|
|
+ <i class="el-icon-search"></i>查询
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="btn"
|
|
|
+ @click="AddTruckClick"
|
|
|
+ style="margin-left: 5px"
|
|
|
+ >
|
|
|
+ <i class="el-icon-check"></i>确定
|
|
|
+ </el-button>
|
|
|
+ <div class="tablecls">
|
|
|
+ <!-- 查询所有的车辆 -->
|
|
|
+ <dilTable
|
|
|
+ v-bind.sync="truck"
|
|
|
+ @selection-change="currentRadioChange1"
|
|
|
+ ></dilTable>
|
|
|
+ </div>
|
|
|
+ </el-drawer>
|
|
|
+ <!-- 收货地址的模态框 -->
|
|
|
+ <el-drawer
|
|
|
+ :visible.sync="addressDrawer"
|
|
|
+ :with-header="false"
|
|
|
+ :destroy-on-close="false"
|
|
|
+ direction="rtl"
|
|
|
+ size="40%"
|
|
|
+ :show-close="false"
|
|
|
+ :wrapperClosable="false"
|
|
|
+ modal
|
|
|
+ close-on-press-escape
|
|
|
+
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="addressText"
|
|
|
+ style="margin-top: 10px; margin-left: 20px; width: 250px"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="btn"
|
|
|
+ @click="selectAddressClick"
|
|
|
+ style="margin-left: 5px"
|
|
|
+ >
|
|
|
+ <i class="el-icon-search"></i>查询
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="btn"
|
|
|
+ @click="addAddressClick"
|
|
|
+ style="margin-left: 5px"
|
|
|
+ >
|
|
|
+ <i class="el-icon-check"></i>确定
|
|
|
+ </el-button>
|
|
|
+ <div class="tablecls">
|
|
|
+ <!-- 查询所有的收货地址 -->
|
|
|
+ <dilTable
|
|
|
+ v-bind.sync="Address"
|
|
|
+ @radio-change="currentRadioChange2"
|
|
|
+ ></dilTable>
|
|
|
+ </div>
|
|
|
</el-drawer>
|
|
|
|
|
|
- <div class="button-box">
|
|
|
+ <div class="button_box">
|
|
|
<el-button @click="cancel">取消</el-button>
|
|
|
<el-button type="primary" @click="makeSure">确定</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
+
|
|
|
<script>
|
|
|
import PageTitle from "@/components/Page/Title";
|
|
|
-
|
|
|
+import { getCookie } from "@/utils/util.js";
|
|
|
+import { sjTime,isNumber } from "@/utils/sharedJsFile";
|
|
|
export default {
|
|
|
components: { PageTitle },
|
|
|
data() {
|
|
|
return {
|
|
|
- materials: "",
|
|
|
- //线路
|
|
|
- table1: false,
|
|
|
- lineName:"",
|
|
|
+ //线路名称
|
|
|
+ lineName:null,
|
|
|
+ lineId:null,
|
|
|
+ //线路表格单选缓存数据的
|
|
|
+ cacheLine:[],
|
|
|
+ //已经选择车辆物资信息
|
|
|
+ selectionList:[],
|
|
|
+ //销售订单物资信息
|
|
|
+ option: {
|
|
|
+ // 表格请求数据的地址
|
|
|
+ requestUrl:"",
|
|
|
+ // 控制显示当选列
|
|
|
+ selectionType: "radio",
|
|
|
+ isPagination: false,
|
|
|
+ },
|
|
|
+ //当前选中的物资id
|
|
|
+ materialId: null,
|
|
|
+ //当前选中的物资名称
|
|
|
+ materialName: null,
|
|
|
+ //选中的线路名称
|
|
|
+ lineName: null,
|
|
|
+ //选中的线路id
|
|
|
+ lineId: null,
|
|
|
+ //是否打开选择线路的模态框
|
|
|
+ drawer:false,
|
|
|
+ //是否打开选择车辆的模态框
|
|
|
+ truckDrawer:false,
|
|
|
+ //是否打开收货地址的模态框
|
|
|
+ addressDrawer:false,
|
|
|
+ //线路的表格
|
|
|
line: {
|
|
|
requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3",
|
|
|
selectionType: "radio",
|
|
|
},
|
|
|
- //承运商
|
|
|
- table2: false,
|
|
|
- carrierName: "",
|
|
|
- carrier: {
|
|
|
- requestUrl: "/api/v1/uc/getCarrierListByLike?apiId=412",
|
|
|
- selectionType: "radio",
|
|
|
+ //车辆的表格
|
|
|
+ truck: {
|
|
|
+ requestUrl: "",
|
|
|
+ selectionType: "select",
|
|
|
},
|
|
|
- //新增车数
|
|
|
- carCount: 1,
|
|
|
-
|
|
|
-
|
|
|
- textInput: "",
|
|
|
- input: "",
|
|
|
- //销售订单物资信息
|
|
|
- option: {
|
|
|
- // 表格请求数据的地址
|
|
|
- requestUrl: "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId,
|
|
|
- },
|
|
|
- table: false,
|
|
|
- //表格数据lists
|
|
|
- selectionList: [],
|
|
|
- //表格新增lists
|
|
|
- selectionList1: [],
|
|
|
- drawer: false,
|
|
|
- direction: "rtl",
|
|
|
- form1: {},
|
|
|
- value: false,
|
|
|
- frist: {
|
|
|
+ //收货地址的表格
|
|
|
+ Address: {
|
|
|
requestUrl: "/api/v1/ams/getAddressDeliveryAddress?apiId=255",
|
|
|
selectionType: "radio",
|
|
|
- mapList: [],
|
|
|
},
|
|
|
- options: [
|
|
|
- {
|
|
|
- values: "yes",
|
|
|
- label: "是",
|
|
|
- },
|
|
|
- {
|
|
|
- values: "no",
|
|
|
- label: "否",
|
|
|
- },
|
|
|
- ],
|
|
|
- values: "yes",
|
|
|
+ addressText:null,
|
|
|
+ //线路表格的框计算输入的值
|
|
|
+ lineText:null,
|
|
|
tableTop: [
|
|
|
{
|
|
|
prop: "capacityNumber",
|
|
|
label: "车牌号",
|
|
|
- slot: true,
|
|
|
+ width: "100",
|
|
|
},
|
|
|
{
|
|
|
prop: "materialName",
|
|
@@ -285,16 +348,17 @@ export default {
|
|
|
{
|
|
|
prop: "carrierName",
|
|
|
label: "承运商",
|
|
|
- width: "120",
|
|
|
+ width: "220",
|
|
|
},
|
|
|
{
|
|
|
prop: "lineName",
|
|
|
label: "运输线路",
|
|
|
- width: "140",
|
|
|
+ width: "220",
|
|
|
},
|
|
|
{
|
|
|
prop: "orderPlanWeight",
|
|
|
label: "重量",
|
|
|
+ width: "140",
|
|
|
slot: true,
|
|
|
},
|
|
|
{
|
|
@@ -306,237 +370,280 @@ export default {
|
|
|
{
|
|
|
prop: "saleDateOfReceipt",
|
|
|
label: "收货日期",
|
|
|
- width: "110",
|
|
|
+ width: "270",
|
|
|
slot: true,
|
|
|
},
|
|
|
{
|
|
|
prop: "saleOrderConsignee",
|
|
|
label: "收货客户",
|
|
|
+ width: "150",
|
|
|
slot: true,
|
|
|
},
|
|
|
{
|
|
|
prop: "saleOrderConsigneeTel",
|
|
|
label: "收货客户电话号码",
|
|
|
slot: true,
|
|
|
+ width: "150",
|
|
|
},
|
|
|
],
|
|
|
- row: {},
|
|
|
+ truckText:null,
|
|
|
+ //当前多选选中的车辆
|
|
|
+ selectTruck:[],
|
|
|
+ //销售订单与物资表主键
|
|
|
+ saleMaterialId:null,
|
|
|
+ //记录点击的市哪一个收货地址的浏览
|
|
|
+ addressIndex:null,
|
|
|
+ //缓存当前选中的收货地址
|
|
|
+ addressMap:{},
|
|
|
};
|
|
|
},
|
|
|
- watch: {
|
|
|
-
|
|
|
+ created() {
|
|
|
+ if (getCookie("orgCode") == "chengyunshang") {
|
|
|
+ this.truck.requestUrl =
|
|
|
+ "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
|
|
|
+ getCookie("userId");
|
|
|
+ } else {
|
|
|
+ this.truck.requestUrl =
|
|
|
+ "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null;
|
|
|
+ }
|
|
|
+ this.option.requestUrl = "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId;
|
|
|
},
|
|
|
methods: {
|
|
|
- currentRadioChange2(selectoin){
|
|
|
- console.log("selectoin",selectoin)
|
|
|
- this.carrierName = selectoin.carrierName;
|
|
|
+ onInput(val){
|
|
|
+ if(!isNumber(val)){
|
|
|
+ this.$message.warning('重量/电话号码请输入数字')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //点击确定按钮的事件
|
|
|
+ makeSure(){
|
|
|
+ let state = false;
|
|
|
+ this.selectionList.forEach((e)=>{
|
|
|
+ console.log(e.orderPlanWeight,"orderPlanWeight")
|
|
|
+ if(!isNumber(e.orderPlanWeight)){
|
|
|
+ this.$message.error('重量请输入数字')
|
|
|
+ }else if(e.saleOrderConsigneeTel){
|
|
|
+ if(!isNumber(e.saleOrderConsigneeTel)){
|
|
|
+ this.$message.error('电话号码请输入数字')
|
|
|
+ }else{
|
|
|
+ e.saleOrderConsigneeTel = e.saleOrderConsigneeTel+"",
|
|
|
+ state = true
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ e.saleOrderConsigneeTel = null,
|
|
|
+ state = true
|
|
|
+ }
|
|
|
+ if(e.saleDateOfReceipt){
|
|
|
+ e.saleDateOfReceipt = sjTime(e.saleDateOfReceipt)
|
|
|
+ }
|
|
|
+ console.log(typeof e.saleDateOfReceipt)
|
|
|
+ })
|
|
|
+
|
|
|
+ console.log(this.selectionList)
|
|
|
+ if(state){
|
|
|
+ this.axios.post('/api/v1/ams/dispatchTruckOrderBySale',{
|
|
|
+ saleOrderId:this.$route.params.saleOrderId,
|
|
|
+ mapList:this.selectionList,
|
|
|
+ }).then((res)=>{
|
|
|
+ if(res.data.code == '200'){
|
|
|
+ this.$message.success('派车成功')
|
|
|
+ this.cancel();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.$message.warning('重量/电话号码请输入数字')
|
|
|
+ }
|
|
|
},
|
|
|
- currentRadioChange5(selection) {
|
|
|
- this.lineName = selection.lineName;
|
|
|
- // this.lineId = selection.lineId;
|
|
|
+ //点击取消按钮的事件
|
|
|
+ cancel(){
|
|
|
+ this.$router.push('/saleOrder')
|
|
|
},
|
|
|
- // 确认新增一列或多列派车行
|
|
|
- // makeSure1() {
|
|
|
- // console.log("this.option[0].saleMaterialId",this.option)
|
|
|
- // for(var i=0;i<this.carCount;i++){
|
|
|
- // var addmap = {
|
|
|
- // capacityNumber : null,
|
|
|
- // materialName : this.materials,
|
|
|
- // carrierName : this.carrierName,
|
|
|
- // lineName : this.lineName,
|
|
|
- // orderPlanWeight : null,
|
|
|
- // saleShipperAddressId: null,
|
|
|
- // saleShipperAddressName:null,
|
|
|
- // saleDateOfReceipt: null,
|
|
|
- // saleOrderConsignee: null,
|
|
|
- // saleOrderConsigneeTel: null,
|
|
|
- // }
|
|
|
- // this.selectionList.push(addmap);
|
|
|
- // }
|
|
|
- // },
|
|
|
- //删除派车列
|
|
|
- deleteRow(index, rows) {
|
|
|
- rows.splice(index, 1);
|
|
|
+ //点击删除按钮删除当前点击的对象
|
|
|
+ deleteRow(index){
|
|
|
+ this.selectionList.splice(index,1)
|
|
|
},
|
|
|
- //点击浏览事件
|
|
|
- ondrawer(row,index) {
|
|
|
- this.row = row;
|
|
|
- this.row.index = index;
|
|
|
- this.drawer = true;
|
|
|
+ //复制的方法
|
|
|
+ copyRow(index,row){
|
|
|
+ let arr = [];
|
|
|
+ for(var i = 0 ;i<this.selectionList.length; i++){
|
|
|
+ if(i == index){
|
|
|
+ arr.push(this.selectionList[i]);
|
|
|
+ arr.push({
|
|
|
+ capacityId:row.capacityId,
|
|
|
+ capacityNumber:row.capacityNumber,
|
|
|
+ carrierName:row.carrierName,
|
|
|
+ lineId:row.lineId,
|
|
|
+ lineName:row.lineName,
|
|
|
+ materialId:row.materialId,
|
|
|
+ materialName:row.materialName,
|
|
|
+ orderPlanWeight:row.orderPlanWeight,
|
|
|
+ saleDateOfReceipt:row.saleDateOfReceipt,
|
|
|
+ saleMaterialId:row.saleMaterialId,
|
|
|
+ saleOrderConsignee:row.saleOrderConsignee,
|
|
|
+ saleOrderConsigneeTel:row.saleOrderConsigneeTel,
|
|
|
+ saleShipperAddressName:row.saleShipperAddressName,
|
|
|
+ saleShippingAddressId:row.saleShippingAddressId,
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }else{
|
|
|
+ arr.push(this.selectionList[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.selectionList = [];
|
|
|
+ this.selectionList = arr;
|
|
|
},
|
|
|
- //监听模态框点击事件
|
|
|
- currentRadioChange1(radioList) {
|
|
|
- this.selectionList[this.row.index].saleShipperAddressId = radioList.addressId;
|
|
|
- this.selectionList[this.row.index].saleShipperAddressName = radioList.address;
|
|
|
+ //收货地址模态窗口的框计算
|
|
|
+ selectAddressClick(){
|
|
|
+ this.Address.requestUrl = '/api/v1/ams/getAddressDeliveryAddress?apiId=255&con='+this.addressText;
|
|
|
},
|
|
|
- //收货地址模态框查询
|
|
|
- onclick1() {
|
|
|
- this.option.requestUrl =
|
|
|
- "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con=" + this.textInput;
|
|
|
+ //收货地址模态窗口的点击事件
|
|
|
+ addAddressClick(){
|
|
|
+ this.selectionList[this.addressIndex].saleShipperAddressName = this.addressMap.address
|
|
|
+ this.selectionList[this.addressIndex].saleShippingAddressId = this.addressMap.addressId
|
|
|
+ this.addressDrawer = false;
|
|
|
+ let arr = this.selectionList;
|
|
|
+ this.selectionList = [];
|
|
|
+ arr.forEach((e)=>{
|
|
|
+ this.selectionList.push({
|
|
|
+ //销售订单与物资表主键
|
|
|
+ capacityId:e.capacityId,
|
|
|
+ capacityNumber:e.capacityNumber,
|
|
|
+ carrierName:e.carrierName,
|
|
|
+ lineId:e.lineId,
|
|
|
+ lineName:e.lineName,
|
|
|
+ materialId:e.materialId,
|
|
|
+ materialName:e.materialName,
|
|
|
+ orderPlanWeight:e.orderPlanWeight,
|
|
|
+ saleDateOfReceipt:e.saleDateOfReceipt,
|
|
|
+ saleMaterialId:e.saleMaterialId,
|
|
|
+ saleOrderConsignee:e.saleOrderConsignee,
|
|
|
+ saleOrderConsigneeTel:e.saleOrderConsigneeTel,
|
|
|
+ saleShipperAddressName:e.saleShipperAddressName,
|
|
|
+ saleShippingAddressId:e.saleShippingAddressId,
|
|
|
+ })
|
|
|
+ })
|
|
|
},
|
|
|
- //物资模态框查询
|
|
|
- // 框计算
|
|
|
- onclick() {
|
|
|
- this.option.requestUrl =
|
|
|
- "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId;
|
|
|
+ //收货地址点击浏览的事件
|
|
|
+ select(index){
|
|
|
+ this.addressDrawer = true;
|
|
|
+ this.addressIndex = index ;
|
|
|
},
|
|
|
- open() {
|
|
|
- if (this.selectionList1.length != 0) {
|
|
|
- this.$confirm("取消会将已选择的数据清空, 是否继续?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
+ //收货地址模态框单选选中的事件
|
|
|
+ currentRadioChange2(val){
|
|
|
+ this.addressMap = {};
|
|
|
+ this.addressMap = val;
|
|
|
+ },
|
|
|
+ //车辆模态框的确定事件
|
|
|
+ AddTruckClick(){
|
|
|
+ console.log(this.selectTruck)
|
|
|
+ this.selectTruck.forEach(e => {
|
|
|
+ // console.log(e)
|
|
|
+ this.selectionList.push({
|
|
|
+ //销售订单与物资表主键
|
|
|
+ saleMaterialId:this.saleMaterialId,
|
|
|
+ capacityId:e.capacityId,
|
|
|
+ capacityNumber:e.capacityNumber,
|
|
|
+ carrierName:e.carrierName,
|
|
|
+ materialName:this.materialName,
|
|
|
+ materialId:this.materialId,
|
|
|
+ lineName:this.lineName,
|
|
|
+ lineId:this.lineId,
|
|
|
})
|
|
|
- .then(() => {
|
|
|
- this.selectionList1 = [];
|
|
|
- this.table = false;
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
+ });
|
|
|
+ this.truckDrawer = false;
|
|
|
+ },
|
|
|
+ //车辆模态框框计算
|
|
|
+ selectTruckClick(){
|
|
|
+ if (getCookie("orgCode") == "chengyunshang") {
|
|
|
+ this.truck.requestUrl =
|
|
|
+ "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
|
|
|
+ getCookie("userId") + "&index="+this.truckText;
|
|
|
} else {
|
|
|
- this.table = false;
|
|
|
+ this.truck.requestUrl =
|
|
|
+ "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&index="+this.truckText;
|
|
|
}
|
|
|
},
|
|
|
- // 确定
|
|
|
- makeSure() {
|
|
|
- //初始化maplist
|
|
|
- var mapList = [];
|
|
|
- console.log("this.selectionList",this.selectionList)
|
|
|
- this.selectionList.forEach((item,i) => {
|
|
|
- //初始化mapItem
|
|
|
- var mapItem={
|
|
|
- //销售订单id
|
|
|
- saleOrderId : 0,
|
|
|
- //车序号
|
|
|
- truckNo : "",
|
|
|
- //收货地址id
|
|
|
- shippingAddressId : 0,
|
|
|
- //收货日期
|
|
|
- dateOfReceipt :null,
|
|
|
- //收货方姓名
|
|
|
- orderConsignee :"",
|
|
|
- //收货方电话
|
|
|
- orderConsigneeTel :"",
|
|
|
- //车序号物资ID
|
|
|
- saleMaterialId : 0,
|
|
|
- //物资数量
|
|
|
- materialNumber : 0,
|
|
|
- };
|
|
|
- mapItem.saleOrderId=this.$route.params.saleOrderId;
|
|
|
- mapItem.truckNo=item.cxh;
|
|
|
- mapItem.shippingAddressId=item.saleShipperAddressId;
|
|
|
- mapItem.dateOfReceipt=item.saleDateOfReceipt;
|
|
|
- mapItem.orderConsignee=item.saleOrderConsignee;
|
|
|
- mapItem.orderConsigneeTel=item.saleOrderConsigneeTel;
|
|
|
- mapItem.saleMaterialId=item.saleMaterialId;
|
|
|
- mapItem.materialNumber=item.orderPlanWeight;
|
|
|
- mapList.push(mapItem);
|
|
|
- });
|
|
|
- // console.log("mapList",mapList);
|
|
|
- this.axios.post("/api/v1/ams/addTruckNo", mapList).then((res) => {
|
|
|
- if (res.data.code == "200") {
|
|
|
- this.$router.go(-1);
|
|
|
- }
|
|
|
- this.$message({
|
|
|
- type: "success",
|
|
|
- message: "新增车序号成功!",
|
|
|
- });
|
|
|
- });
|
|
|
+ //车辆表格
|
|
|
+ currentRadioChange1(select){
|
|
|
+ this.selectTruck = [];
|
|
|
+ this.selectTruck = select;
|
|
|
},
|
|
|
- // 取消
|
|
|
- cancel() {
|
|
|
- this.$router.go(-1);
|
|
|
+ //主界面表格单选
|
|
|
+ currentRadioChange(row) {
|
|
|
+ this.materialId = row.materialId;
|
|
|
+ this.materialName = row.materialName;
|
|
|
+ this.saleMaterialId = row.saleMaterialId;
|
|
|
},
|
|
|
- //关闭事件
|
|
|
- handleClose(done) {
|
|
|
- this.$confirm("确认关闭?")
|
|
|
- .then((_) => {
|
|
|
- done();
|
|
|
- })
|
|
|
- .catch((_) => {});
|
|
|
+ //线路表格的单选事件
|
|
|
+ currentRadioChange5(row){
|
|
|
+ this.cacheLine = row;
|
|
|
},
|
|
|
-
|
|
|
- CloseClick() {},
|
|
|
+ onClick(num) {
|
|
|
+ if (num == 1) {
|
|
|
+ this.drawer = true;
|
|
|
+ }else if(num == 2){
|
|
|
+ if(!this.materialId){
|
|
|
+ this.$message.warning('请选择物资后,在点击')
|
|
|
+ }else if(!this.lineId){
|
|
|
+ this.$message.warning('请选择线路后,在点击')
|
|
|
+ }else{
|
|
|
+ this.truckDrawer = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //线路表格的框计算
|
|
|
+ selectClick(){
|
|
|
+ this.line.requestUrl = '/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con='+this.lineText;
|
|
|
+ },
|
|
|
+ //线路表格的确定事件
|
|
|
+ AddClick(){
|
|
|
+ this.drawer = false;
|
|
|
+ this.lineName = this.cacheLine.lineName;
|
|
|
+ this.lineId = this.cacheLine.lineId;
|
|
|
+ }
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang='scss' scoped>
|
|
|
-.addSalePlan{
|
|
|
- width: 100%;
|
|
|
-}
|
|
|
-.switch{
|
|
|
- margin-left: 60rem;
|
|
|
-}
|
|
|
-.lineId {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- margin-left: 2rem;
|
|
|
- .text {
|
|
|
- display: inline-block;
|
|
|
- width: 170px;
|
|
|
- text-align: right;
|
|
|
+
|
|
|
+<style lang='scss'>
|
|
|
+.addSaleOrderSend {
|
|
|
+ .from {
|
|
|
+ margin-top: 20px;
|
|
|
+ .line {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ .el-input {
|
|
|
+ width: 250px;
|
|
|
+ margin-left: 10px;
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .vehicle {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ margin-top: 20px;
|
|
|
+ .el-button {
|
|
|
+ width: 250px;
|
|
|
+ margin-left: 10px;
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+ .span {
|
|
|
+ width: 70px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- .input{
|
|
|
- width: 250px;
|
|
|
- margin-right: 20px;
|
|
|
+ .tablecls{
|
|
|
+ margin-top: 20px;
|
|
|
}
|
|
|
- .input1{
|
|
|
- width: 60px;
|
|
|
- margin-right: 20px;
|
|
|
+ .button_box{
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ margin: 20px;
|
|
|
+ .el-button{
|
|
|
+ width: 100px;
|
|
|
+ margin-left: 20px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-.form-box,
|
|
|
-.from {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- margin-top: 5px;
|
|
|
- margin-bottom: 20px;
|
|
|
-}
|
|
|
-.button-box{
|
|
|
- display: flex;
|
|
|
- text-align: center;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- margin-top: 0.3125rem;
|
|
|
- margin-bottom: 1.25rem;
|
|
|
-}
|
|
|
-.select {
|
|
|
- margin-left: 2rem;
|
|
|
-}
|
|
|
-.makeSureAdd{
|
|
|
- width: 100px;
|
|
|
- margin-left: 3.5rem;
|
|
|
- margin-top: 0.3rem;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- text-align: center;
|
|
|
- display: flex;
|
|
|
-}
|
|
|
-.demo-form-inline {
|
|
|
- margin-left: 2rem;
|
|
|
-}
|
|
|
-.table_form {
|
|
|
- margin-left: -16rem;
|
|
|
-}
|
|
|
-.textinput {
|
|
|
- width: 50px;
|
|
|
-}
|
|
|
-.textinput1 {
|
|
|
- width: 50px;
|
|
|
- text-align: center;
|
|
|
- size: small;
|
|
|
-}
|
|
|
-.textinput2 {
|
|
|
- width: 50px;
|
|
|
- margin-right: 30px;
|
|
|
-}
|
|
|
-.textinput3 {
|
|
|
- width: 270px;
|
|
|
-}
|
|
|
-.textinput4 {
|
|
|
- width: 60px;
|
|
|
-}
|
|
|
-.textinput5 {
|
|
|
- width: 120px;
|
|
|
-}
|
|
|
</style>
|