forked from integrated_whb/integrated_whb_vue
BUG 优化
parent
d51784a22d
commit
a9ae574aff
|
@ -14,3 +14,11 @@ export const getUserPersonTypeListAll = (params) =>
|
||||||
|
|
||||||
export const dateteSecurityAllWaybillre = (params) =>
|
export const dateteSecurityAllWaybillre = (params) =>
|
||||||
post("/waybillregistration/deleteAll", params); // 批量删除
|
post("/waybillregistration/deleteAll", params); // 批量删除
|
||||||
|
|
||||||
|
export const getSafetyWaybillreInfo = (params) =>
|
||||||
|
post("/waybillregistration/goEdit", params); // 获取运单信息
|
||||||
|
export const getPrincipalContactList = (params) =>
|
||||||
|
post("/waybillregistration/getPrincipalContactList", params); // 委托方的联系人列表
|
||||||
|
|
||||||
|
export const editSafetyWaybillreInfo = (params) =>
|
||||||
|
upload("/waybillregistration/edit", params); // 修改运单信息
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="调度人" prop="USER_IDS">
|
<el-form-item label="调度人" prop="DISPATCHER">
|
||||||
<el-select v-model="data.form.USER_IDS" multiple>
|
<el-select v-model="data.form.DISPATCHER" multiple>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in data.userList"
|
v-for="item in data.userList"
|
||||||
:key="item.USER_ID"
|
:key="item.USER_ID"
|
||||||
|
@ -360,6 +360,9 @@ const rules = {
|
||||||
DESTINATIONADDRESS: [
|
DESTINATIONADDRESS: [
|
||||||
{ required: true, message: "请输入目的地址", trigger: "blur" },
|
{ required: true, message: "请输入目的地址", trigger: "blur" },
|
||||||
],
|
],
|
||||||
|
PRACTITIONER: [
|
||||||
|
{ required: true, message: "请选择从业人员", trigger: "change" },
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
|
|
|
@ -0,0 +1,687 @@
|
||||||
|
<template>
|
||||||
|
<layout-card>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="data.form"
|
||||||
|
:rules="rules"
|
||||||
|
label-width="175px"
|
||||||
|
>
|
||||||
|
<!-- 承运信息 -->
|
||||||
|
<el-divider content-position="left">承运信息</el-divider>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="DEPARTMENT_ID" label="部门">
|
||||||
|
<layout-department
|
||||||
|
v-model="data.form.DEPARTMENT_ID"
|
||||||
|
@update:model-value="fnDepartmentChange"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="调度人" prop="DISPATCHER">
|
||||||
|
<el-select v-model="data.form.DISPATCHER" multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.userList"
|
||||||
|
:key="item.USER_ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.USER_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="运单编号" prop="WAYBILLNUMBER">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.WAYBILLNUMBER"
|
||||||
|
placeholder="请输入运单编号"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="承运日期" prop="SHIPPINGDATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.SHIPPINGDATE"
|
||||||
|
type="date"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
placeholder="选择时间"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="运输车辆" prop="TRANSPORTVEHICLE">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.TRANSPORTVEHICLE"
|
||||||
|
placeholder="请选择运输车辆"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.OperationVehicle"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="从业人员" prop="PRACTITIONER">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.PRACTITIONER"
|
||||||
|
placeholder="请选择从业人员"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.userTypeList"
|
||||||
|
:key="item.USER_ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.USER_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="货运挂车" prop="TRUCKCART">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.TRUCKCART"
|
||||||
|
placeholder="请选择货运挂车"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.OperationTruck"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- 客户信息 -->
|
||||||
|
<el-divider content-position="left">客户信息</el-divider>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="委托方" prop="CLIENT">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.CLIENT"
|
||||||
|
placeholder="请选择委托方"
|
||||||
|
@update:model-value="fnClientChange"
|
||||||
|
>
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.clientOptionsList"
|
||||||
|
:key="item.CUSTOMERNAME_ID"
|
||||||
|
:label="item.CUSTOMERNAME"
|
||||||
|
:value="item.CUSTOMERNAME_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="联系人" prop="CLIENTCONTACTPERSON">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.CLIENTCONTACTPERSON"
|
||||||
|
placeholder="请选择委联系人"
|
||||||
|
clearable
|
||||||
|
@change="changeCLIENTCONTACTPERSON"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="contact in data.clientOptions"
|
||||||
|
:key="contact.CONTACT"
|
||||||
|
:label="contact.CONTACT"
|
||||||
|
:value="contact.CONTACT_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="联系电话" prop="CLIENTCONTACTPHONE">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.CLIENTCONTACTPHONE"
|
||||||
|
placeholder="请输入联系电话"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="确认方" prop="CONFIRMER">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.CONFIRMER"
|
||||||
|
placeholder="请选择确认方"
|
||||||
|
clearable
|
||||||
|
@update:model-value="fnConfirmerChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.confirmerOptionsList"
|
||||||
|
:key="item.CUSTOMERNAME_ID"
|
||||||
|
:label="item.CUSTOMERNAME"
|
||||||
|
:value="item.CUSTOMERNAME_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="联系人" prop="CONFIRMINGPERSON">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.CONFIRMINGPERSON"
|
||||||
|
placeholder="请选择确认方联系人"
|
||||||
|
clearable
|
||||||
|
@change="changeCONFIRMINGPERSON"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="contact in data.confirmerOptions"
|
||||||
|
:key="contact.CONTACT_ID"
|
||||||
|
:label="contact.CONTACT"
|
||||||
|
:value="contact.CONTACT_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="联系电话" prop="CONFIRMINGPHONE">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.CONFIRMINGPHONE"
|
||||||
|
placeholder="请输入联系电话"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- 地点信息 -->
|
||||||
|
<el-divider content-position="left">地点信息</el-divider>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="起运地点" prop="ORIGIN">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.ORIGIN"
|
||||||
|
placeholder="请选择起运地点"
|
||||||
|
clearable
|
||||||
|
@update:model-value="fnShipmentAddrChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.StartOptionsList"
|
||||||
|
:key="item.LOCATIONNAME_ID"
|
||||||
|
:label="item.LOCATIONNAME"
|
||||||
|
:value="item.LOCATIONNAME_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="起运地址" prop="SHIPPINGADDRESS">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.SHIPPINGADDRESS"
|
||||||
|
placeholder="请选择起运地址"
|
||||||
|
clearable
|
||||||
|
@change="changeSHIPPINGADDRESS"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.StartOptions"
|
||||||
|
:key="item.ADDRESSDETAILS_ID"
|
||||||
|
:label="item.ADDRESSDETAILS"
|
||||||
|
:value="item.ADDRESSDETAILS_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="行政区域" prop="STARTADMINISTRATIVEAREA">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.STARTADMINISTRATIVEAREA"
|
||||||
|
placeholder="请输入行政区域"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="目的地点" prop="DESTINATION">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.DESTINATION"
|
||||||
|
placeholder="请选择目的地点"
|
||||||
|
clearable
|
||||||
|
@update:model-value="fnGogalAddrChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.EndOptionsList"
|
||||||
|
:key="item.LOCATIONNAME_ID"
|
||||||
|
:label="item.LOCATIONNAME"
|
||||||
|
:value="item.LOCATIONNAME_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="目的地址" prop="DESTINATIONADDRESS">
|
||||||
|
<el-select
|
||||||
|
v-model="data.form.DESTINATIONADDRESS"
|
||||||
|
placeholder="请选择起运地址"
|
||||||
|
clearable
|
||||||
|
@change="changeDESTINATIONADDRESS"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.EndOptions"
|
||||||
|
:key="item.ADDRESSDETAILS_ID"
|
||||||
|
:label="item.ADDRESSDETAILS"
|
||||||
|
:value="item.ADDRESSDETAILS_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="行政区域" prop="ENDDMINISTRATIVEAREA">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.ENDDMINISTRATIVEAREA"
|
||||||
|
placeholder="请输入行政区域"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="tc mt-10">
|
||||||
|
<el-button type="primary" @click="fnSubmit">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</layout-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
getSafetyWaybillreInfo,
|
||||||
|
editSafetyWaybillreInfo,
|
||||||
|
getUserPersonTypeListAll,
|
||||||
|
} from "@/request/waybill_registration.js";
|
||||||
|
import { onMounted, reactive, ref, watchEffect } from "vue";
|
||||||
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
|
import { getUserListAll } from "@/request/data_dictionary.js";
|
||||||
|
import { getTrafficCustomerSelectList } from "@/request/customer_management.js";
|
||||||
|
import { getTrafficLocationSelectList } from "@/request/location_management.js";
|
||||||
|
import { getOperationVehicleList } from "@/request/operation_vehicle.js";
|
||||||
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
import { getFreightTrailerList } from "@/request/enterprise_management.js";
|
||||||
|
|
||||||
|
const formRef = ref(null);
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
|
const WAYBILLREGISTRATION_ID = route.query.WAYBILLREGISTRATION_ID;
|
||||||
|
|
||||||
|
const rules = {
|
||||||
|
CORPINFO_ID: [
|
||||||
|
{ required: true, message: "请输入运输企业名称", trigger: "blur" },
|
||||||
|
],
|
||||||
|
DISPATCHER: [
|
||||||
|
{ required: true, message: "请输入调度人姓名", trigger: "blur" },
|
||||||
|
],
|
||||||
|
SHIPPINGDATE: [
|
||||||
|
{ required: true, message: "请选择承运日期", trigger: "change" },
|
||||||
|
],
|
||||||
|
WAYBILLNUMBER: [
|
||||||
|
{ required: true, message: "请输入运单编号", trigger: "blur" },
|
||||||
|
/* { min: 7, message: "运单编号不能少于7位", trigger: "blur" },
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (!/^[A-Za-z0-9]+$/.test(value)) {
|
||||||
|
callback(new Error("运单编号只能包含大小写英文字符和数字"));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: "blur",
|
||||||
|
}, */
|
||||||
|
],
|
||||||
|
TRANSPORTVEHICLE: [
|
||||||
|
{ required: true, message: "请选择运营车辆", trigger: "change" },
|
||||||
|
],
|
||||||
|
CLIENT: [{ required: true, message: "请选择委托方名称", trigger: "change" }],
|
||||||
|
CLIENTCONTACTPERSON: [
|
||||||
|
{ required: true, message: "请输入联系人姓名", trigger: "blur" },
|
||||||
|
],
|
||||||
|
CLIENTCONTACTPHONE: [
|
||||||
|
{ required: true, message: "请输入联系电话", trigger: "blur" },
|
||||||
|
{ min: 11, message: "号码格式错误", trigger: "blur" },
|
||||||
|
],
|
||||||
|
CONFIRMINGPHONE: [
|
||||||
|
{ required: true, message: "请输入联系电话", trigger: "blur" },
|
||||||
|
{ min: 11, message: "号码格式错误", trigger: "blur" },
|
||||||
|
],
|
||||||
|
CONFIRMER: [
|
||||||
|
{ required: true, message: "请选择确认方名称", trigger: "change" },
|
||||||
|
],
|
||||||
|
CONFIRMINGPERSON: [
|
||||||
|
{ required: true, message: "请选择确认方联系人", trigger: "change" },
|
||||||
|
],
|
||||||
|
ORIGIN: [{ required: true, message: "请选择起运地点", trigger: "change" }],
|
||||||
|
SHIPPINGADDRESS: [
|
||||||
|
{ required: true, message: "请输入起运地址", trigger: "blur" },
|
||||||
|
],
|
||||||
|
DESTINATION: [
|
||||||
|
{ required: true, message: "请选择目的地点", trigger: "change" },
|
||||||
|
],
|
||||||
|
DESTINATIONADDRESS: [
|
||||||
|
{ required: true, message: "请输入目的地址", trigger: "blur" },
|
||||||
|
],
|
||||||
|
PRACTITIONER: [
|
||||||
|
{ required: true, message: "请选择从业人员", trigger: "change" },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
const data = reactive({
|
||||||
|
form: {
|
||||||
|
CORPINFO_ID: "",
|
||||||
|
DISPATCHER: [],
|
||||||
|
DEPARTMENT_ID: "",
|
||||||
|
POST_ID: "",
|
||||||
|
USER_ID: "",
|
||||||
|
SHIPPINGDATE: "",
|
||||||
|
IDENTITYID: "",
|
||||||
|
TRUCKCART: "",
|
||||||
|
EMPLOYEEPHONE: "",
|
||||||
|
PRACTITIONER: "",
|
||||||
|
TRANSPORTVEHICLE: "",
|
||||||
|
CLIENT: "",
|
||||||
|
CLIENTCONTACTPERSON: "",
|
||||||
|
CLIENTCONTACTPHONE: "",
|
||||||
|
CONFIRMER: "",
|
||||||
|
CONFIRMINGPERSON: "",
|
||||||
|
CONFIRMINGPHONE: "",
|
||||||
|
ORIGIN: "",
|
||||||
|
SHIPPINGADDRESS: "",
|
||||||
|
STARTADMINISTRATIVEAREA: "",
|
||||||
|
DESTINATION: "",
|
||||||
|
DESTINATIONADDRESS: "",
|
||||||
|
ENDDMINISTRATIVEAREA: "",
|
||||||
|
WAYBILLNUMBER: "",
|
||||||
|
},
|
||||||
|
clientOptions: [], // 委托方选项
|
||||||
|
confirmerOptions: [], // 确认方选项
|
||||||
|
StartOptions: [], // 起始地
|
||||||
|
EndOptions: [], // 目的地
|
||||||
|
OperationVehicle: [], // 运输车辆
|
||||||
|
|
||||||
|
StartOptionsList: [],
|
||||||
|
EndOptionsList: [],
|
||||||
|
clientOptionsList: [],
|
||||||
|
confirmerOptionsList: [],
|
||||||
|
USER: [],
|
||||||
|
});
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
const fnGetData = async () => {
|
||||||
|
if (!WAYBILLREGISTRATION_ID) return;
|
||||||
|
const resData = await getSafetyWaybillreInfo({ WAYBILLREGISTRATION_ID });
|
||||||
|
data.form = resData.pd;
|
||||||
|
data.form.DISPATCHER = data.form.DISPATCHER.split(",");
|
||||||
|
data.form.CLIENTCONTACTPERSON = data.form.ENTRUST_PERSON; // 委托确认方
|
||||||
|
data.form.CONFIRMINGPERSON = data.form.CONFIRM_PERSON; // 确认方地址
|
||||||
|
data.form.SHIPPINGADDRESS = data.form.SHIPPING_ADDR; // 起运地址
|
||||||
|
data.form.DESTINATIONADDRESS = data.form.DESTINATION_ADDR; // 目的地址
|
||||||
|
data.userList = data.form.names; // 获取部门下的或有人员
|
||||||
|
};
|
||||||
|
fnGetData();
|
||||||
|
const fnClientChange = () => {
|
||||||
|
data.form.CLIENTCONTACTPERSON = "";
|
||||||
|
data.form.CLIENTCONTACTPHONE = "";
|
||||||
|
data.clientOptions = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnConfirmerChange = () => {
|
||||||
|
data.form.CONFIRMINGPERSON = "";
|
||||||
|
data.form.CONFIRMINGPHONE = "";
|
||||||
|
data.confirmerOptions = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const fnShipmentAddrChange = () => {
|
||||||
|
data.form.SHIPPINGADDRESS = "";
|
||||||
|
data.form.STARTADMINISTRATIVEAREA = "";
|
||||||
|
data.StartOptions = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const fnGogalAddrChange = () => {
|
||||||
|
data.form.DESTINATIONADDRESS = "";
|
||||||
|
data.form.ENDDMINISTRATIVEAREA = "";
|
||||||
|
data.EndOptions = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const fnClientUserChange = async () => {
|
||||||
|
const selectedClient = data.clientOptionsList.find(
|
||||||
|
(item) => item.CUSTOMERNAME_ID === data.form.CLIENT
|
||||||
|
);
|
||||||
|
data.clientOptions = selectedClient ? selectedClient.CONTACTS : [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnClientConfirmedChange = async () => {
|
||||||
|
const selectedClient = data.confirmerOptionsList.find(
|
||||||
|
(item) => item.CUSTOMERNAME_ID === data.form.CONFIRMER
|
||||||
|
);
|
||||||
|
data.confirmerOptions = selectedClient ? selectedClient.CONTACTS : [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnClientShipmentAddr = async () => {
|
||||||
|
const selectedLocation = data.StartOptionsList.find(
|
||||||
|
(location) => location.LOCATIONNAME_ID === data.form.ORIGIN
|
||||||
|
);
|
||||||
|
// 更新地址选项
|
||||||
|
data.StartOptions = selectedLocation ? selectedLocation.LOCATION : [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnGoalAddrChange = async () => {
|
||||||
|
|
||||||
|
const selectedDestination = data.EndOptionsList.find(
|
||||||
|
(location) => location.LOCATIONNAME_ID === data.form.DESTINATION
|
||||||
|
);
|
||||||
|
|
||||||
|
// 更新目的地址选项
|
||||||
|
data.EndOptions = selectedDestination ? selectedDestination.LOCATION : [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const changeCLIENTCONTACTPERSON = (contactPersonId) => {
|
||||||
|
const selectedContact = data.clientOptions.find(
|
||||||
|
(item) => item.CONTACT_ID === contactPersonId
|
||||||
|
);
|
||||||
|
|
||||||
|
data.form.CLIENTCONTACTPHONE = selectedContact
|
||||||
|
? selectedContact.CONTACTPHONE
|
||||||
|
: "";
|
||||||
|
};
|
||||||
|
const changeCONFIRMINGPERSON = (contactPersonId) => {
|
||||||
|
// 在联系人列表中找到选中的联系人
|
||||||
|
const selectedContact = data.confirmerOptions.find(
|
||||||
|
(item) => item.CONTACT_ID === contactPersonId
|
||||||
|
);
|
||||||
|
|
||||||
|
// 设置联系电话
|
||||||
|
data.form.CONFIRMINGPHONE = selectedContact
|
||||||
|
? selectedContact.CONTACTPHONE
|
||||||
|
: "";
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnGetUnitsList = async () => {
|
||||||
|
const resData = await getUserPersonTypeListAll({});
|
||||||
|
data.userTypeList = resData.userList;
|
||||||
|
};
|
||||||
|
fnGetUnitsList();
|
||||||
|
|
||||||
|
const fnVehicle = async () => {
|
||||||
|
const res = await getOperationVehicleList();
|
||||||
|
const varList = res.varList || [];
|
||||||
|
data.OperationVehicle = varList.map((item) => item.PLATE_NUMBER);
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnTruck = async () => {
|
||||||
|
const res = await getFreightTrailerList();
|
||||||
|
const varList = res.varList || [];
|
||||||
|
data.OperationTruck = varList.map((item) => item.PLATE_NUMBER);
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnCustomerType = async () => {
|
||||||
|
const res = await getTrafficCustomerSelectList();
|
||||||
|
const varList = res.varList;
|
||||||
|
const clientMap = new Map();
|
||||||
|
varList.forEach((item) => {
|
||||||
|
if (item.CUSTOMERTYPE === "1") {
|
||||||
|
if (!clientMap.has(item.CUSTOMERNAME)) {
|
||||||
|
clientMap.set(item.CUSTOMERNAME, {
|
||||||
|
CUSTOMERNAME: item.CUSTOMERNAME,
|
||||||
|
CUSTOMERNAME_ID: item.CUSTOMERNAME_ID,
|
||||||
|
CONTACTS: [],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 将联系人信息添加到CUSTOMERNAME对应的数组中。
|
||||||
|
clientMap.get(item.CUSTOMERNAME).CONTACTS.push({
|
||||||
|
CONTACT: item.CONTACT,
|
||||||
|
CONTACT_ID: item.CONTACT_ID,
|
||||||
|
CONTACTPHONE: item.CONTACTPHONE,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
data.clientOptionsList = [...clientMap.values()];
|
||||||
|
|
||||||
|
const confirmerMap = new Map();
|
||||||
|
varList.forEach((item) => {
|
||||||
|
if (item.CUSTOMERTYPE === "2") {
|
||||||
|
if (!confirmerMap.has(item.CUSTOMERNAME)) {
|
||||||
|
confirmerMap.set(item.CUSTOMERNAME, {
|
||||||
|
CUSTOMERNAME: item.CUSTOMERNAME,
|
||||||
|
CUSTOMERNAME_ID: item.CUSTOMERNAME_ID,
|
||||||
|
CONTACTS: [],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 将联系人信息添加到CUSTOMERNAME对应的数组中。
|
||||||
|
confirmerMap.get(item.CUSTOMERNAME).CONTACTS.push({
|
||||||
|
CONTACT: item.CONTACT,
|
||||||
|
CONTACT_ID: item.CONTACT_ID,
|
||||||
|
CONTACTPHONE: item.CONTACTPHONE,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
data.confirmerOptionsList = [...confirmerMap.values()];
|
||||||
|
};
|
||||||
|
fnCustomerType();
|
||||||
|
const fnLocation = async () => {
|
||||||
|
const res = await getTrafficLocationSelectList();
|
||||||
|
const varList = res.varList || [];
|
||||||
|
|
||||||
|
const StartOptionstMap = new Map();
|
||||||
|
varList.forEach((item) => {
|
||||||
|
if (item.LOCATIONTYPE === "1") {
|
||||||
|
if (!StartOptionstMap.has(item.LOCATIONNAME)) {
|
||||||
|
StartOptionstMap.set(item.LOCATIONNAME, {
|
||||||
|
LOCATIONNAME: item.LOCATIONNAME,
|
||||||
|
LOCATIONNAME_ID: item.LOCATIONNAME_ID,
|
||||||
|
LOCATION: [],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 将联系人信息添加到CUSTOMERNAME对应的数组中。
|
||||||
|
StartOptionstMap.get(item.LOCATIONNAME).LOCATION.push({
|
||||||
|
ADDRESSDETAILS: item.ADDRESSDETAILS,
|
||||||
|
ADDRESSDETAILS_ID: item.ADDRESSDETAILS_ID,
|
||||||
|
ADMINISTRATIVEREGIONS: item.ADMINISTRATIVEREGIONS,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
data.StartOptionsList = [...StartOptionstMap.values()];
|
||||||
|
|
||||||
|
const EndOptionsMap = new Map();
|
||||||
|
varList.forEach((item) => {
|
||||||
|
if (item.LOCATIONTYPE === "2") {
|
||||||
|
if (!EndOptionsMap.has(item.LOCATIONNAME)) {
|
||||||
|
EndOptionsMap.set(item.LOCATIONNAME, {
|
||||||
|
LOCATIONNAME: item.LOCATIONNAME,
|
||||||
|
LOCATIONNAME_ID: item.LOCATIONNAME_ID,
|
||||||
|
LOCATION: [],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 将联系人信息添加到CUSTOMERNAME对应的数组中。
|
||||||
|
EndOptionsMap.get(item.LOCATIONNAME).LOCATION.push({
|
||||||
|
ADDRESSDETAILS: item.ADDRESSDETAILS,
|
||||||
|
ADDRESSDETAILS_ID: item.ADDRESSDETAILS_ID,
|
||||||
|
ADMINISTRATIVEREGIONS: item.ADMINISTRATIVEREGIONS,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
data.EndOptionsList = [...EndOptionsMap.values()];
|
||||||
|
};
|
||||||
|
|
||||||
|
const changeSHIPPINGADDRESS = (addressDetailsId) => {
|
||||||
|
// 找到匹配的地址信息
|
||||||
|
const matchingAddress = data.StartOptionsList.flatMap(
|
||||||
|
(item) => item.LOCATION
|
||||||
|
).find((address) => address.ADDRESSDETAILS_ID === addressDetailsId);
|
||||||
|
|
||||||
|
// 更新表单的行政区域字段
|
||||||
|
data.form.STARTADMINISTRATIVEAREA = matchingAddress
|
||||||
|
? matchingAddress.ADMINISTRATIVEREGIONS
|
||||||
|
: "";
|
||||||
|
};
|
||||||
|
const changeDESTINATIONADDRESS = (destinationAddressId) => {
|
||||||
|
// 找到匹配的目的地址信息
|
||||||
|
const matchingAddress = data.EndOptionsList.flatMap(
|
||||||
|
(item) => item.LOCATION
|
||||||
|
).find((address) => address.ADDRESSDETAILS_ID === destinationAddressId);
|
||||||
|
|
||||||
|
// 更新表单的目的地行政区域字段
|
||||||
|
data.form.ENDDMINISTRATIVEAREA = matchingAddress
|
||||||
|
? matchingAddress.ADMINISTRATIVEREGIONS
|
||||||
|
: "";
|
||||||
|
};
|
||||||
|
const fnDepartmentChange = async () => {
|
||||||
|
data.userList = [];
|
||||||
|
data.form.USER_ID = "";
|
||||||
|
data.form.DISPATCHER = "";
|
||||||
|
await fnGetUser(data.form.DEPARTMENT_ID);
|
||||||
|
};
|
||||||
|
const fnGetUser = async (DEPARTMENT_ID) => {
|
||||||
|
const resData = await getUserListAll({ DEPARTMENT_ID });
|
||||||
|
data.userList = resData.userList;
|
||||||
|
};
|
||||||
|
|
||||||
|
watchEffect(() => {
|
||||||
|
if (data.form.CLIENT) fnClientUserChange();
|
||||||
|
if (data.form.CONFIRMER) fnClientConfirmedChange();
|
||||||
|
if (data.form.ORIGIN) fnClientShipmentAddr();
|
||||||
|
if (data.form.DESTINATION) fnGoalAddrChange();
|
||||||
|
});
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
await fnCustomerType();
|
||||||
|
await fnLocation();
|
||||||
|
await fnVehicle();
|
||||||
|
await fnTruck();
|
||||||
|
});
|
||||||
|
|
||||||
|
const fnSubmit = async () => {
|
||||||
|
await useFormValidate(formRef);
|
||||||
|
const formData = new FormData();
|
||||||
|
|
||||||
|
Object.keys(data.form).forEach((key) => {
|
||||||
|
formData.append(key, data.form[key]);
|
||||||
|
});
|
||||||
|
|
||||||
|
await editSafetyWaybillreInfo(formData);
|
||||||
|
ElMessage.success("修改成功");
|
||||||
|
await router.push("/electronic_waybill_management/waybill_registration");
|
||||||
|
Object.keys(data.form).forEach((key) => {
|
||||||
|
if (Array.isArray(data.form[key])) {
|
||||||
|
data.form[key] = [];
|
||||||
|
} else {
|
||||||
|
data.form[key] = "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.flexBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
|
||||||
|
.addBtn {
|
||||||
|
margin-left: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -67,6 +67,19 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="120">
|
<el-table-column label="操作" width="120">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/electronic_waybill_management/waybill_registration/edit',
|
||||||
|
query: { WAYBILLREGISTRATION_ID: row.WAYBILLREGISTRATION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
修改
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
text
|
text
|
||||||
|
|
|
@ -209,7 +209,7 @@ const fnSubmit = async () => {
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 3000,
|
duration: 3000,
|
||||||
});
|
});
|
||||||
router.push("/safety_production_related/security_notice");
|
router.back();
|
||||||
};
|
};
|
||||||
|
|
||||||
const fnSelectPersonSubmit = (selectionData) => {
|
const fnSelectPersonSubmit = (selectionData) => {
|
||||||
|
|
Loading…
Reference in New Issue