删除console和禁止使用Object.assign

dev
LiuJiaNan 2024-03-14 10:46:49 +08:00
parent c28033032f
commit 1ad0b76160
14 changed files with 1052 additions and 916 deletions

View File

@ -67,7 +67,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="主动安全" prop="ACTIVE_SAFETY"> <el-form-item label="主动安全" prop="ACTIVE_SAFETY">
<el-select v-model="searchForm.ACTIVE_SAFETY"> <el-select v-model="searchForm.ACTIVE_SAFETY">
@ -90,7 +89,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label-width="10px" class="end"> <el-form-item label-width="10px" class="end">
<el-button >导出</el-button> <el-button>导出</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -98,28 +97,38 @@
</el-card> </el-card>
<layout-card> <layout-card>
<layout-table <layout-table
:data="list"
v-model:pagination="pagination" v-model:pagination="pagination"
:data="list"
@get-data="fnGetDataTransfer" @get-data="fnGetDataTransfer"
> >
<el-table-column label="序号" width="70"> <el-table-column label="序号" width="70">
<template v-slot="{ $index }"> <template #default="{ $index }">
{{ serialNumber(pagination, $index) }} {{ serialNumber(pagination, $index) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="GOODSSELFNUMBER" label="编号"/> <el-table-column prop="GOODSSELFNUMBER" label="编号" />
<el-table-column prop="PLATE_NUMBER" label="车牌号"/> <el-table-column prop="PLATE_NUMBER" label="车牌号" />
<el-table-column prop="VEHICLE_COLOR" label="车辆颜色" /> <el-table-column prop="VEHICLE_COLOR" label="车辆颜色" />
<el-table-column prop="FRAMES_NUMBER" label="车架号" width="140"/> <el-table-column prop="FRAMES_NUMBER" label="车架号" width="140" />
<el-table-column prop="CONTACT" label="联系人"/> <el-table-column prop="CONTACT" label="联系人" />
<el-table-column prop="CONTACT_NUMBER" label="联系电话" width="140" show-overflow-tooltip /> <el-table-column
<el-table-column prop="VEHICLE_TYPE" label="车辆类型" width="140"/> prop="CONTACT_NUMBER"
<el-table-column prop="TRANSPORT_TYPE" label="运输类别" width="140"/> label="联系电话"
<el-table-column prop="FIRSTSHOW_DATE" label="初登日期"/> width="140"
<el-table-column prop="EXPIRE_DATE" label="到期日期"/> show-overflow-tooltip
<el-table-column prop="BELONGING_DEPARTMENT" label="归属部门" width="140" show-overflow-tooltip /> />
<el-table-column prop="VEHICLE_TYPE" label="车辆类型" width="140" />
<el-table-column prop="TRANSPORT_TYPE" label="运输类别" width="140" />
<el-table-column prop="FIRSTSHOW_DATE" label="初登日期" />
<el-table-column prop="EXPIRE_DATE" label="到期日期" />
<el-table-column
prop="BELONGING_DEPARTMENT"
label="归属部门"
width="140"
show-overflow-tooltip
/>
<el-table-column label="操作" width="150"> <el-table-column label="操作" width="150">
<template v-slot="{ row }"> <template #default="{ row }">
<el-button <el-button
type="primary" type="primary"
text text
@ -175,7 +184,9 @@
v-if="buttonJurisdiction.add" v-if="buttonJurisdiction.add"
type="primary" type="primary"
@click=" @click="
router.push({ path: '/enterprise_management/basics_info_management/operation_vehicle/add' }) router.push({
path: '/enterprise_management/basics_info_management/operation_vehicle/add',
})
" "
> >
新增 新增
@ -194,7 +205,10 @@ import {
layoutFnGetNetworkStatus, layoutFnGetNetworkStatus,
layoutFnGetActiveSafety, layoutFnGetActiveSafety,
} from "@/assets/js/operation_vehicle.js"; } from "@/assets/js/operation_vehicle.js";
import { getOperationVehicleList, setOperationVehicleDelete } from "@/request/operation_vehicle.js"; import {
getOperationVehicleList,
setOperationVehicleDelete,
} from "@/request/operation_vehicle.js";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js"; import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
@ -202,13 +216,10 @@ import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter(); const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } = const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getOperationVehicleList, { useListData(getOperationVehicleList, {});
});
const troubleshootingCycleList = await layoutFnGetVehicleColor(); const troubleshootingCycleList = await layoutFnGetVehicleColor();
const networkStatusLevelList = await layoutFnGetNetworkStatus(); const networkStatusLevelList = await layoutFnGetNetworkStatus();
const activeSafety = await layoutFnGetActiveSafety(); const activeSafety = await layoutFnGetActiveSafety();
console.log(list,"userListData");
const fnGetDataTransfer = () => { const fnGetDataTransfer = () => {
fnGetData({ fnGetData({
DEPTIDS: searchForm.value.DEPTIDS?.join(","), DEPTIDS: searchForm.value.DEPTIDS?.join(","),
@ -224,7 +235,7 @@ const fnDelete = debounce(
1000, 1000,
async (OPERATING_ID) => { async (OPERATING_ID) => {
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" }); await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setOperationVehicleDelete({ OPERATING_ID }) await setOperationVehicleDelete({ OPERATING_ID });
ElMessage.success("删除成功"); ElMessage.success("删除成功");
}, },
{ atBegin: true } { atBegin: true }

View File

@ -385,9 +385,8 @@ const addStandard = () => {
data.addOrEditDialog.visible = true; data.addOrEditDialog.visible = true;
}; };
const fnAddStandardSubmit = (item) => { const fnAddStandardSubmit = (item) => {
const obj = Object.assign({}, item); data.list.push({ ...item });
data.list.push(obj); data.listAll.push(JSON.stringify({ ...item }));
data.listAll.push(JSON.stringify(obj));
fnTableSelection(); fnTableSelection();
}; };
const fnSelectStandardSubmit = (listData) => { const fnSelectStandardSubmit = (listData) => {

View File

@ -20,7 +20,6 @@ const loading = ref(true); // 用于指示文件是否正在加载
onMounted(async () => { onMounted(async () => {
const response = await infoStaffingView({ STAFFING_ID }); const response = await infoStaffingView({ STAFFING_ID });
loading.value = false; // loading.value = false; //
console.log(response.pd.ATTACHMENT_ROUTE, "111111111111111111111111111");
window.open(response.pd.ATTACHMENT_ROUTE, "_blank"); window.open(response.pd.ATTACHMENT_ROUTE, "_blank");
}); });
</script> </script>

View File

@ -1,23 +1,22 @@
<template> <template>
<layout-card> <layout-card>
<el-divider content-position="left">车辆选择</el-divider> <el-divider content-position="left">车辆选择</el-divider>
<el-form <el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
ref="formRef"
:model="form"
:rules="rules"
label-width="100px"
>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="登记编号" prop="RECORD_NUMBER"> <el-form-item label="登记编号" prop="RECORD_NUMBER">
<el-input v-model="form.RECORD_NUMBER" placeholder="请输入登记编号"/> <el-input
v-model="form.RECORD_NUMBER"
placeholder="请输入登记编号"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="过户车型" prop="ASSIGNED_VEHICLE_MODEL"> <el-form-item label="过户车型" prop="ASSIGNED_VEHICLE_MODEL">
<el-select v-model="form.ASSIGNED_VEHICLE_MODEL" <el-select
placeholder="请选择过户车型" v-model="form.ASSIGNED_VEHICLE_MODEL"
@change="fnEditVehicleModel" placeholder="请选择过户车型"
@change="fnEditVehicleModel"
> >
<el-option <el-option
v-for="item in assignedVehicleModelList" v-for="item in assignedVehicleModelList"
@ -49,43 +48,51 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="原车牌号" prop="RAW_PLATE_NUMBER"> <el-form-item label="原车牌号" prop="RAW_PLATE_NUMBER">
<el-input v-model="form.VEHICLE.PLATE_NUMBER" <el-input
placeholder="--" v-model="form.VEHICLE.PLATE_NUMBER"
disabled placeholder="--"
disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="原车主/业主" prop="RAW_OWNERS"> <el-form-item label="原车主/业主" prop="RAW_OWNERS">
<el-input v-model="form.VEHICLE.RAW_OWNERS" <el-input
placeholder="--" v-model="form.VEHICLE.RAW_OWNERS"
disabled placeholder="--"
disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="原车主电话" prop="RAW_OWNERS_NUMBER"> <el-form-item label="原车主电话" prop="RAW_OWNERS_NUMBER">
<el-input v-model="form.VEHICLE.RAW_OWNERS_NUMBER" <el-input
placeholder="--" v-model="form.VEHICLE.RAW_OWNERS_NUMBER"
disabled placeholder="--"
disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="原车辆营运证" prop="RAW_VEHICLE_OPERATION_CERTIFICATE"> <el-form-item
<el-input v-model="form.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE" label="原车辆营运证"
placeholder="--" prop="RAW_VEHICLE_OPERATION_CERTIFICATE"
disabled >
<el-input
v-model="form.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE"
placeholder="--"
disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="车架号" prop="FRAMES_NUMBER"> <el-form-item label="车架号" prop="FRAMES_NUMBER">
<el-input v-model="form.VEHICLE.FRAMES_NUMBER" <el-input
placeholder="--" v-model="form.VEHICLE.FRAMES_NUMBER"
disabled placeholder="--"
disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -105,7 +112,10 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="过户类型" prop="ASSIGNED_TYPE"> <el-form-item label="过户类型" prop="ASSIGNED_TYPE">
<el-select v-model="form.ASSIGNED_TYPE" placeholder="请选择过户类型"> <el-select
v-model="form.ASSIGNED_TYPE"
placeholder="请选择过户类型"
>
<el-option <el-option
v-for="item in relatedClassificationList" v-for="item in relatedClassificationList"
:key="item.BIANMA" :key="item.BIANMA"
@ -117,8 +127,10 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="过户方式" prop="ASSIGNED_WAY"> <el-form-item label="过户方式" prop="ASSIGNED_WAY">
<el-select v-model="form.ASSIGNED_WAY" placeholder="请选择过户方式" <el-select
@change="fnEditAssignedWay" v-model="form.ASSIGNED_WAY"
placeholder="请选择过户方式"
@change="fnEditAssignedWay"
> >
<el-option <el-option
v-for="item in assignedWayList" v-for="item in assignedWayList"
@ -144,12 +156,18 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="现车主/业主" prop="NOW_OWNERS"> <el-form-item label="现车主/业主" prop="NOW_OWNERS">
<el-input v-model="form.NOW_OWNERS" placeholder="请填写现车主/业主" /> <el-input
v-model="form.NOW_OWNERS"
placeholder="请填写现车主/业主"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="现车主电话" prop="NOW_OWNERS_NUMBER"> <el-form-item label="现车主电话" prop="NOW_OWNERS_NUMBER">
<el-input v-model="form.NOW_OWNERS_NUMBER" placeholder="请填写现车主电话" /> <el-input
v-model="form.NOW_OWNERS_NUMBER"
placeholder="请填写现车主电话"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -161,17 +179,21 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="现车牌号" prop="NOW_PLATE_NUMBER"> <el-form-item label="现车牌号" prop="NOW_PLATE_NUMBER">
<el-input v-model="form.NOW_PLATE_NUMBER" <el-input
:disabled="form.ASSIGNED_WAY === '协议过户'" label="1" v-model="form.NOW_PLATE_NUMBER"
placeholder="请填写现车牌号" :disabled="form.ASSIGNED_WAY === '协议过户'"
label="1"
placeholder="请填写现车牌号"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="现营运证号" prop="NOW_OPERATION_CERTIFICATE"> <el-form-item label="现营运证号" prop="NOW_OPERATION_CERTIFICATE">
<el-input v-model="form.NOW_OPERATION_CERTIFICATE" <el-input
:disabled="form.ASSIGNED_WAY === '协议过户'" label="1" v-model="form.NOW_OPERATION_CERTIFICATE"
placeholder="请填写现营运证号" :disabled="form.ASSIGNED_WAY === '协议过户'"
label="1"
placeholder="请填写现营运证号"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -183,14 +205,18 @@
format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" type="date"
placeholder="请填写现登记日期" placeholder="请填写现登记日期"
:disabled = "form.ASSIGNED_WAY === '协议过户'" label="1" :disabled="form.ASSIGNED_WAY === '协议过户'"
label="1"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="现车辆营运证照片" prop="NOW_VEHICLE_OPERATION_CERTIFICATE"> <el-form-item
label="现车辆营运证照片"
prop="NOW_VEHICLE_OPERATION_CERTIFICATE"
>
<layout-upload <layout-upload
v-model:file-list="form.NOW_VEHICLE_OPERATION_CERTIFICATE" v-model:file-list="form.NOW_VEHICLE_OPERATION_CERTIFICATE"
list-type="picture-card" list-type="picture-card"
@ -241,16 +267,16 @@
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import { import {
layoutFnGetAssignedWay, layoutFnGetAssignedWay,
layoutFnGetAssignedVehicleModel layoutFnGetAssignedVehicleModel,
} from "@/assets/js/assigned_manage.js"; } from "@/assets/js/assigned_manage.js";
import { import {
getFreightTrailerList, getFreightTrailerList,
getFreightTrailerView getFreightTrailerView,
} from "@/request/enterprise_management.js" } from "@/request/enterprise_management.js";
import { import {
getOperationVehicleList, getOperationVehicleList,
findByIdOperatingVehicleInfo findByIdOperatingVehicleInfo,
} from "@/request/operation_vehicle.js" } from "@/request/operation_vehicle.js";
import LayoutUpload from "@/components/upload/index.vue"; import LayoutUpload from "@/components/upload/index.vue";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js"; import useFormValidate from "@/assets/js/useFormValidate.js";
@ -266,7 +292,7 @@ import { useRoute, useRouter } from "vue-router";
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const ASSIGNED_ID = route.query.ASSIGNED_ID const ASSIGNED_ID = route.query.ASSIGNED_ID;
const assignedVehicleModelList = await layoutFnGetAssignedVehicleModel(); const assignedVehicleModelList = await layoutFnGetAssignedVehicleModel();
@ -279,18 +305,31 @@ onMounted(async () => {
const getFreightVehicleList = await getFreightTrailerList(); const getFreightVehicleList = await getFreightTrailerList();
const getOperationList = await getOperationVehicleList(); const getOperationList = await getOperationVehicleList();
console.log(getOperationList,'55555555');
const assignedWayList = await layoutFnGetAssignedWay(); const assignedWayList = await layoutFnGetAssignedWay();
const rules = { const rules = {
ASSIGNED_VEHICLE_MODEL: [{ required: true, message: "过户车型不能为空", trigger: "change" }], ASSIGNED_VEHICLE_MODEL: [
ASSIGNED_VEHICLE: [{ required: true, message: "过户车辆不能为空", trigger: "blur" }], { required: true, message: "过户车型不能为空", trigger: "change" },
ASSIGNED_TYPE: [{ required: true, message: "过户类型不能为空", trigger: "change" }], ],
ASSIGNED_WAY: [{ required: true, message: "过户方式不能为空", trigger: "change" }], ASSIGNED_VEHICLE: [
TRANSACTION_DATE: [{required: true, message: "办理日期不能为空", trigger: "change"}], { required: true, message: "过户车辆不能为空", trigger: "blur" },
REGISTRANT: [{required: true, message: "登记人不能为空", trigger: "blur"}], ],
NOW_VEHICLE_OPERATION_CERTIFICATE: [{required: true, message: "现车辆营运证照片不能为空", trigger: "blur"}], ASSIGNED_TYPE: [
NOW_DRIVINGLICENSE_IMG: [{required: true, message: "现行驶证照片不能为空", trigger: "blur"}], { required: true, message: "过户类型不能为空", trigger: "change" },
],
ASSIGNED_WAY: [
{ required: true, message: "过户方式不能为空", trigger: "change" },
],
TRANSACTION_DATE: [
{ required: true, message: "办理日期不能为空", trigger: "change" },
],
REGISTRANT: [{ required: true, message: "登记人不能为空", trigger: "blur" }],
NOW_VEHICLE_OPERATION_CERTIFICATE: [
{ required: true, message: "现车辆营运证照片不能为空", trigger: "blur" },
],
NOW_DRIVINGLICENSE_IMG: [
{ required: true, message: "现行驶证照片不能为空", trigger: "blur" },
],
}; };
const formRef = ref(null); const formRef = ref(null);
const form = ref({ const form = ref({
@ -341,66 +380,76 @@ const form = ref({
ALLVEHICLE: {}, ALLVEHICLE: {},
OPERATIONVEHICLELIST: [], OPERATIONVEHICLELIST: [],
FREIGHTVEHICLELIST: [], FREIGHTVEHICLELIST: [],
VEHICLE:{ VEHICLE: {
PLATE_NUMBER: "", PLATE_NUMBER: "",
RAW_OWNERS: "", RAW_OWNERS: "",
RAW_OWNERS_NUMBER: "", RAW_OWNERS_NUMBER: "",
RAW_VEHICLE_OPERATION_CERTIFICATE: "", RAW_VEHICLE_OPERATION_CERTIFICATE: "",
FRAMES_NUMBER: "", FRAMES_NUMBER: "",
RAW_DRIVINGLICENSE_IMG: "" RAW_DRIVINGLICENSE_IMG: "",
} },
}); });
const info = ref({}); const info = ref({});
const fnEditVehicleModel = async () => { const fnEditVehicleModel = async () => {
form.value.VEHICLE_PLATE_NUMBER = null; form.value.VEHICLE_PLATE_NUMBER = null;
form.value.VEHICLE = {}; form.value.VEHICLE = {};
if(form.value.ASSIGNED_VEHICLE_MODEL === "运输车辆") { if (form.value.ASSIGNED_VEHICLE_MODEL === "运输车辆") {
form.value.ALLVEHICLE = getOperationList.varList form.value.ALLVEHICLE = getOperationList.varList;
form.value.OPERATIONVEHICLELIST = form.value.ALLVEHICLE form.value.OPERATIONVEHICLELIST = form.value.ALLVEHICLE;
}else if(form.value.ASSIGNED_VEHICLE_MODEL === "货运挂车") { } else if (form.value.ASSIGNED_VEHICLE_MODEL === "货运挂车") {
form.value.ALLVEHICLE = getFreightVehicleList.varList form.value.ALLVEHICLE = getFreightVehicleList.varList;
form.value.FREIGHTVEHICLELIST = form.value.ALLVEHICLE form.value.FREIGHTVEHICLELIST = form.value.ALLVEHICLE;
} }
}; };
const fnGetVehicleInfo = async () => { const fnGetVehicleInfo = async () => {
if(form.value.ASSIGNED_VEHICLE_MODEL === "运输车辆") { if (form.value.ASSIGNED_VEHICLE_MODEL === "运输车辆") {
for (let i = 0; i < form.value.OPERATIONVEHICLELIST.length; i++) { for (let i = 0; i < form.value.OPERATIONVEHICLELIST.length; i++) {
if(form.value.OPERATIONVEHICLELIST[i].PLATE_NUMBER === form.value.VEHICLE_PLATE_NUMBER) { if (
const OPERATING_ID = form.value.OPERATIONVEHICLELIST[i].OPERATING_ID form.value.OPERATIONVEHICLELIST[i].PLATE_NUMBER ===
form.value.VEHICLE_PLATE_NUMBER
) {
const OPERATING_ID = form.value.OPERATIONVEHICLELIST[i].OPERATING_ID;
const resData = await findByIdOperatingVehicleInfo({ OPERATING_ID }); const resData = await findByIdOperatingVehicleInfo({ OPERATING_ID });
info.value = resData.pd; info.value = resData.pd;
form.value.VEHICLE.PLATE_NUMBER = info.value.PLATE_NUMBER form.value.VEHICLE.PLATE_NUMBER = info.value.PLATE_NUMBER;
form.value.VEHICLE.RAW_OWNERS = info.value.VEHICLEOWNER form.value.VEHICLE.RAW_OWNERS = info.value.VEHICLEOWNER;
form.value.VEHICLE.RAW_OWNERS_NUMBER = info.value.VEHICLEOWNER_NUMBER form.value.VEHICLE.RAW_OWNERS_NUMBER = info.value.VEHICLEOWNER_NUMBER;
form.value.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE = info.value.OPERATING_CERTIFICATE form.value.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE =
form.value.VEHICLE.FRAMES_NUMBER = info.value.FRAMES_NUMBER info.value.OPERATING_CERTIFICATE;
form.value.VEHICLE.RAW_DRIVINGLICENSE_IMG = info.value.DRIVINGLICENSE_PHOTO form.value.VEHICLE.FRAMES_NUMBER = info.value.FRAMES_NUMBER;
form.value.VEHICLE.RAW_DRIVINGLICENSE_IMG =
info.value.DRIVINGLICENSE_PHOTO;
form.value.FRAMES_NUMBER = info.value.FRAMES_NUMBER form.value.FRAMES_NUMBER = info.value.FRAMES_NUMBER;
form.value.VEHICLE_BRAND = info.value.VEHICLE_BRAND form.value.VEHICLE_BRAND = info.value.VEHICLE_BRAND;
form.value.VEHICLE_MODEL = info.value.VEHICLE_MODEL form.value.VEHICLE_MODEL = info.value.VEHICLE_MODEL;
form.value.ENGINE_NUMBER = info.value.ENGINE_NUMBER form.value.ENGINE_NUMBER = info.value.ENGINE_NUMBER;
form.value.POWER_TYPE = info.value.FUEL_TYPE form.value.POWER_TYPE = info.value.FUEL_TYPE;
form.value.EMISSION_STANDARD = info.value.EMISSION_STANDARD form.value.EMISSION_STANDARD = info.value.EMISSION_STANDARD;
form.value.RAW_PLATE_NUMBER = info.value.PLATE_NUMBER form.value.RAW_PLATE_NUMBER = info.value.PLATE_NUMBER;
form.value.RAW_OWNERS = info.value.VEHICLEOWNER form.value.RAW_OWNERS = info.value.VEHICLEOWNER;
form.value.RAW_CONTACT_NUMBER = info.value.CONTACT_NUMBER form.value.RAW_CONTACT_NUMBER = info.value.CONTACT_NUMBER;
form.value.RAW_OPERATION_CERTIFICATE = info.value.OPERATING_CERTIFICATE form.value.RAW_OPERATION_CERTIFICATE = info.value.OPERATING_CERTIFICATE;
} }
} }
}else if(form.value.ASSIGNED_VEHICLE_MODEL === "货运挂车") { } else if (form.value.ASSIGNED_VEHICLE_MODEL === "货运挂车") {
for (let i = 0; i < form.value.FREIGHTVEHICLELIST.length; i++) { for (let i = 0; i < form.value.FREIGHTVEHICLELIST.length; i++) {
if(form.value.FREIGHTVEHICLELIST[i].PLATE_NUMBER === form.value.VEHICLE_PLATE_NUMBER) { if (
const FREIGHTTRAILER_ID = form.value.FREIGHTVEHICLELIST[i].FREIGHTTRAILER_ID form.value.FREIGHTVEHICLELIST[i].PLATE_NUMBER ===
form.value.VEHICLE_PLATE_NUMBER
) {
const FREIGHTTRAILER_ID =
form.value.FREIGHTVEHICLELIST[i].FREIGHTTRAILER_ID;
const resData = await getFreightTrailerView({ FREIGHTTRAILER_ID }); const resData = await getFreightTrailerView({ FREIGHTTRAILER_ID });
console.log("选中的货运挂车信息",resData);
info.value = resData.pd; info.value = resData.pd;
form.value.VEHICLE.PLATE_NUMBER = info.value.PLATE_NUMBER form.value.VEHICLE.PLATE_NUMBER = info.value.PLATE_NUMBER;
form.value.VEHICLE.RAW_OWNERS = info.value.CAR_OWNERS form.value.VEHICLE.RAW_OWNERS = info.value.CAR_OWNERS;
form.value.VEHICLE.RAW_OWNERS_NUMBER = info.value.CAR_OWNERS_TEL form.value.VEHICLE.RAW_OWNERS_NUMBER = info.value.CAR_OWNERS_TEL;
form.value.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE = info.value.OPER_CERTIFICATE_NUM form.value.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE =
form.value.VEHICLE.FRAMES_NUMBER = info.value.VIN info.value.OPER_CERTIFICATE_NUM;
form.value.VEHICLE.RAW_DRIVINGLICENSE_IMG = info.value.DRIVING_LICENSE_IMG form.value.VEHICLE.FRAMES_NUMBER = info.value.VIN;
form.value.VEHICLE.RAW_DRIVINGLICENSE_IMG =
info.value.DRIVING_LICENSE_IMG;
form.value.VEHICLE_BRAND = info.value.TRAILER_BRAND; form.value.VEHICLE_BRAND = info.value.TRAILER_BRAND;
form.value.VEHICLE_MODEL = info.value.TRAILER_MODEL; form.value.VEHICLE_MODEL = info.value.TRAILER_MODEL;
form.value.RAW_PLATE_NUMBER = info.value.PLATE_NUMBER; form.value.RAW_PLATE_NUMBER = info.value.PLATE_NUMBER;
@ -414,9 +463,9 @@ const fnGetVehicleInfo = async () => {
} }
} }
} }
} };
const fnEditAssignedWay = async () => { const fnEditAssignedWay = async () => {
if(form.value.ASSIGNED_WAY === '协议过户') { if (form.value.ASSIGNED_WAY === "协议过户") {
form.value.NOW_PLATE_NUMBER = null; form.value.NOW_PLATE_NUMBER = null;
form.value.NOW_OPERATION_CERTIFICATE = null; form.value.NOW_OPERATION_CERTIFICATE = null;
form.value.NOW_RECORD_DATE = null; form.value.NOW_RECORD_DATE = null;
@ -440,15 +489,30 @@ const fnSubmit = debounce(
await useFormValidate(formRef); await useFormValidate(formRef);
const resData = !ASSIGNED_ID const resData = !ASSIGNED_ID
? await setAssignedManageAdd({ ...form.value }) ? await setAssignedManageAdd({ ...form.value })
: await setAssignedManageEdit({ ...form.value ,ASSIGNED_ID:ASSIGNED_ID}); : await setAssignedManageEdit({
const currentAssignedId =resData.pd.ASSIGNED_ID ...form.value,
for (let i = 0; i < form.value.NOW_VEHICLE_OPERATION_CERTIFICATE.length; i++) { ASSIGNED_ID,
});
const currentAssignedId = resData.pd.ASSIGNED_ID;
for (
let i = 0;
i < form.value.NOW_VEHICLE_OPERATION_CERTIFICATE.length;
i++
) {
if (form.value.NOW_VEHICLE_OPERATION_CERTIFICATE[i].raw) if (form.value.NOW_VEHICLE_OPERATION_CERTIFICATE[i].raw)
await fnUploadImage(currentAssignedId, form.value.NOW_VEHICLE_OPERATION_CERTIFICATE[i].raw, 120); await fnUploadImage(
currentAssignedId,
form.value.NOW_VEHICLE_OPERATION_CERTIFICATE[i].raw,
120
);
} }
for (let i = 0; i < form.value.NOW_DRIVINGLICENSE_IMG.length; i++) { for (let i = 0; i < form.value.NOW_DRIVINGLICENSE_IMG.length; i++) {
if (form.value.NOW_DRIVINGLICENSE_IMG[i].raw) if (form.value.NOW_DRIVINGLICENSE_IMG[i].raw)
await fnUploadImage(currentAssignedId, form.value.NOW_DRIVINGLICENSE_IMG[i].raw, 121); await fnUploadImage(
currentAssignedId,
form.value.NOW_DRIVINGLICENSE_IMG[i].raw,
121
);
} }
ElMessage.success("提交成功"); ElMessage.success("提交成功");
router.back(); router.back();
@ -462,7 +526,6 @@ const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
formData.append("FFILE", FFILE); formData.append("FFILE", FFILE);
await setUploadImg(formData); await setUploadImg(formData);
}; };
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss"></style>

View File

@ -1,391 +1,428 @@
<template> <template>
<layout-card> <layout-card>
<el-form ref="formRef" :rules="rules" :model="form" label-width="140px"> <el-form ref="formRef" :rules="rules" :model="form" label-width="140px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">车辆选择</el-divider> <el-divider content-position="left">车辆选择</el-divider>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年检车型" prop="VEHICLE_MODEL"> <el-form-item label="年检车型" prop="VEHICLE_MODEL">
<el-select v-model="form.VEHICLE_MODEL" @change="getVehicle"> <el-select v-model="form.VEHICLE_MODEL" @change="getVehicle">
<el-option <el-option
v-for="item in OPERATING_VEHICLE_TYPE_LIST" v-for="item in OPERATING_VEHICLE_TYPE_LIST"
:key="item.ID" :key="item.ID"
:label="item.NAME" :label="item.NAME"
:value="item.ID" :value="item.ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年检车辆" prop="VEHICLE"> <el-form-item label="年检车辆" prop="VEHICLE">
<el-select v-model="form.VEHICLE" @change="getBusInfo"> <el-select v-model="form.VEHICLE" @change="getBusInfo">
<el-option <el-option
v-for="item in data.vehicleList" v-for="item in data.vehicleList"
:key="item.ID" :key="item.ID"
:label="item.PLATE_NUMBER" :label="item.PLATE_NUMBER"
:value="item.ID" :value="item.ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">基本信息</el-divider> <el-divider content-position="left">基本信息</el-divider>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG"> <el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG">
<layout-upload <layout-upload
v-model:file-list="data.busInfo.DRIVING_LICENSE_IMG" v-model:file-list="data.busInfo.DRIVING_LICENSE_IMG"
list-type="picture-card" list-type="picture-card"
accept=".jpg,.jpeg,.png" accept=".jpg,.jpeg,.png"
delete-to-server delete-to-server
disabled disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER"> <el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled /> <el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车架号" prop="VIN"> <el-form-item label="车架号" prop="VIN">
<el-input v-model="data.busInfo.VIN" disabled/> <el-input v-model="data.busInfo.VIN" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车辆类型" prop="TRAILER_TYPE"> <el-form-item label="车辆类型" prop="TRAILER_TYPE">
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled/> <el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS "> <el-form-item label="车主/业户" prop="CAR_OWNERS ">
<el-input v-model="data.busInfo.CAR_OWNERS " disabled/> <el-input v-model="data.busInfo.CAR_OWNERS" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> <el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled/> <el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE"> <el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
<el-date-picker <el-date-picker
v-model="data.busInfo.INITIAL_REGISTRATION_DATE" v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" type="date"
disabled disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属区域" prop="COMPANY_AREA"> <el-form-item label="所属区域" prop="COMPANY_AREA">
<el-input v-model="data.busInfo.COMPANY_AREA" disabled/> <el-input v-model="data.busInfo.COMPANY_AREA" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">年检信息</el-divider> <el-divider content-position="left">年检信息</el-divider>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="编号" prop="NUM"> <el-form-item label="编号" prop="NUM">
<el-input v-model="form.NUM" maxlength="50" show-word-limit/> <el-input v-model="form.NUM" maxlength="50" show-word-limit />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主业户" prop="CAR_OWNERS"> <el-form-item label="车主业户" prop="CAR_OWNERS">
<el-input v-model="form.CAR_OWNERS" maxlength="50" show-word-limit/> <el-input
</el-form-item> v-model="form.CAR_OWNERS"
</el-col> maxlength="50"
<el-col :span="12"> show-word-limit
<el-form-item label="联系电话" prop="TELEPHONE"> />
<el-input v-model="form.TELEPHONE" maxlength="11" show-word-limit/> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12">
<el-col :span="12"> <el-form-item label="联系电话" prop="TELEPHONE">
<el-form-item label="登记人" prop="REGISTRANT"> <el-input v-model="form.TELEPHONE" maxlength="11" show-word-limit />
<el-input v-model="form.REGISTRANT" maxlength="50" show-word-limit/> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12">
<el-col :span="12"> <el-form-item label="登记人" prop="REGISTRANT">
<el-form-item label="办理日期" prop="PROCESSING_DATE"> <el-input
<el-date-picker v-model="form.REGISTRANT"
v-model="form.PROCESSING_DATE" maxlength="50"
value-format="YYYY-MM-DD" show-word-limit
format="YYYY-MM-DD" />
type="date" </el-form-item>
@change="getDueDate" </el-col>
/> <el-col :span="12">
</el-form-item> <el-form-item label="办理日期" prop="PROCESSING_DATE">
</el-col> <el-date-picker
<el-col :span="12"> v-model="form.PROCESSING_DATE"
<el-form-item label="年检周期" prop="ANNUAL_INSPECTION_CYCLE"> value-format="YYYY-MM-DD"
<el-select v-model="form.ANNUAL_INSPECTION_CYCLE" @change="getDueDate"> format="YYYY-MM-DD"
<el-option type="date"
v-for="item in annualInspectionCycleList" @change="getDueDate"
:key="item.DICTIONARIES_ID" />
:label="item.NAME" </el-form-item>
:value="item.DICTIONARIES_ID" </el-col>
/> <el-col :span="12">
</el-select> <el-form-item label="年检周期" prop="ANNUAL_INSPECTION_CYCLE">
</el-form-item> <el-select
</el-col> v-model="form.ANNUAL_INSPECTION_CYCLE"
<el-col :span="12"> @change="getDueDate"
<el-form-item label="到期日期" prop="DUE_DATE"> >
<el-date-picker <el-option
v-model="form.DUE_DATE" v-for="item in annualInspectionCycleList"
value-format="YYYY-MM-DD" :key="item.DICTIONARIES_ID"
format="YYYY-MM-DD" :label="item.NAME"
type="date" :value="item.DICTIONARIES_ID"
disabled />
/> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年检费用" prop="INSPECTFEES"> <el-form-item label="到期日期" prop="DUE_DATE">
<el-input v-model="form.INSPECTFEES" maxlength="50" show-word-limit/> <el-date-picker
</el-form-item> v-model="form.DUE_DATE"
</el-col> value-format="YYYY-MM-DD"
<el-col :span="12"> format="YYYY-MM-DD"
<el-form-item label="实收费用" prop="ACTUAL_COLLECTION"> type="date"
<el-input v-model="form.ACTUAL_COLLECTION" maxlength="50" show-word-limit/> disabled
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="年检地址" prop="ADDRESS"> <el-col :span="12">
<el-input v-model="form.ADDRESS" maxlength="100" show-word-limit/> <el-form-item label="年检费用" prop="INSPECTFEES">
</el-form-item> <el-input
</el-col> v-model="form.INSPECTFEES"
<el-col :span="12"> maxlength="50"
<el-form-item label="提醒天数" prop="REMINDER_DAYS"> show-word-limit
<el-input v-model.number="form.REMINDER_DAYS" maxlength="50" show-word-limit @change="getRemiderDate"/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="提醒日期" prop="REMINDER_DATE"> <el-form-item label="实收费用" prop="ACTUAL_COLLECTION">
<el-date-picker <el-input
v-model="form.REMINDER_DATE" v-model="form.ACTUAL_COLLECTION"
value-format="YYYY-MM-DD" maxlength="50"
format="YYYY-MM-DD" show-word-limit
type="date" />
disabled </el-form-item>
/> </el-col>
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="年检地址" prop="ADDRESS">
<el-col :span="12"> <el-input v-model="form.ADDRESS" maxlength="100" show-word-limit />
<el-form-item label="提醒状态" prop="REMINDER_STATUS"> </el-form-item>
<el-switch </el-col>
v-model="form.REMINDER_STATUS" <el-col :span="12">
inline-prompt <el-form-item label="提醒天数" prop="REMINDER_DAYS">
active-text="开" <el-input
inactive-text="关" v-model.number="form.REMINDER_DAYS"
active-value="1" maxlength="50"
inactive-value="0" show-word-limit
/> @change="getRemiderDate"
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="车检资料" prop="INSPECTINFO"> <el-col :span="12">
<layout-upload <el-form-item label="提醒日期" prop="REMINDER_DATE">
v-model:file-list="form.INSPECTINFO" <el-date-picker
list-type="picture-card" v-model="form.REMINDER_DATE"
accept=".jpg,.jpeg,.png" value-format="YYYY-MM-DD"
:limit="99" format="YYYY-MM-DD"
delete-to-server type="date"
/> disabled
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="备注" prop="NOTES"> <el-col :span="12">
<el-input <el-form-item label="提醒状态" prop="REMINDER_STATUS">
v-model="form.NOTES" <el-switch
type="textarea" v-model="form.REMINDER_STATUS"
:autosize="{ minRows: 3 }" inline-prompt
maxlength="250" show-word-limit active-text="开"
/> inactive-text="关"
</el-form-item> active-value="1"
</el-col> inactive-value="0"
</el-row> />
</el-form> </el-form-item>
<div class="mt-10 tc"> </el-col>
<el-button type="primary" @click="fnSubmit"></el-button> <el-col :span="12">
</div> <el-form-item label="车检资料" prop="INSPECTINFO">
</layout-card> <layout-upload
v-model:file-list="form.INSPECTINFO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
:limit="99"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="NOTES">
<el-input
v-model="form.NOTES"
type="textarea"
:autosize="{ minRows: 3 }"
maxlength="250"
show-word-limit
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="mt-10 tc">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
</layout-card>
</template> </template>
<script setup> <script setup>
import LayoutUpload from "@/components/upload/index.vue"; import LayoutUpload from "@/components/upload/index.vue";
import { ref ,reactive} from "vue"; import { ref, reactive } from "vue";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import {getInspectAnnuallyView, setInspectAnnuallyAdd ,setInspectAnnuallyEdit,getTrailerList} from "@/request/mechanical_files.js"; import {
import {OPERATING_VEHICLE_TYPE_LIST} from "@/assets/js/constant.js" getInspectAnnuallyView,
import {layoutFnGetAnnualInspectionCycle} from "@/assets/js/data_dictionary.js" setInspectAnnuallyAdd,
import { setUploadImg } from "@/request/api.js"; setInspectAnnuallyEdit,
import { ElMessage } from "element-plus"; getTrailerList,
import { useRoute, useRouter, } from "vue-router"; } from "@/request/mechanical_files.js";
import useFormValidate from "@/assets/js/useFormValidate.js"; import { OPERATING_VEHICLE_TYPE_LIST } from "@/assets/js/constant.js";
import { addingPrefixToFile ,timeTransformation,subtractDaysFromDate} from "@/assets/js/utils.js"; import { layoutFnGetAnnualInspectionCycle } from "@/assets/js/data_dictionary.js";
const route = useRoute(); import { setUploadImg } from "@/request/api.js";
const router = useRouter(); import { ElMessage } from "element-plus";
const INSPECTANNUALLY_ID = route.query.INSPECTANNUALLY_ID import { useRoute, useRouter } from "vue-router";
const annualInspectionCycleList = await layoutFnGetAnnualInspectionCycle() import useFormValidate from "@/assets/js/useFormValidate.js";
const formRef = ref(null); import {
const form = ref({ addingPrefixToFile,
VEHICLE_MODEL : '', timeTransformation,
VEHICLE : '', subtractDaysFromDate,
NUM:'', } from "@/assets/js/utils.js";
CAR_OWNERS : '', const route = useRoute();
TELEPHONE : '', const router = useRouter();
REGISTRANT : '', const INSPECTANNUALLY_ID = route.query.INSPECTANNUALLY_ID;
PROCESSING_DATE : '', const annualInspectionCycleList = await layoutFnGetAnnualInspectionCycle();
ANNUAL_INSPECTION_CYCLE : '', const formRef = ref(null);
DUE_DATE : '', const form = ref({
INSPECTFEES : '', VEHICLE_MODEL: "",
ACTUAL_COLLECTION : '', VEHICLE: "",
ADDRESS : '', NUM: "",
REMINDER_DAYS : '', CAR_OWNERS: "",
REMINDER_DATE : '', TELEPHONE: "",
REMINDER_STATUS : '', REGISTRANT: "",
INSPECTINFO : [] PROCESSING_DATE: "",
}); ANNUAL_INSPECTION_CYCLE: "",
const data = reactive({ DUE_DATE: "",
vehicleList: [], INSPECTFEES: "",
busInfo:{ ACTUAL_COLLECTION: "",
DRIVING_LICENSE_IMG : [], ADDRESS: "",
PLATE_NUMBER : '', REMINDER_DAYS: "",
VIN : '', REMINDER_DATE: "",
TRAILER_TYPE : '', REMINDER_STATUS: "",
CAR_OWNERS : '', INSPECTINFO: [],
CAR_OWNERS_TEL : '', });
INITIAL_REGISTRATION_DATE : '', const data = reactive({
COMPANY_AREA:'', vehicleList: [],
} busInfo: {
}); DRIVING_LICENSE_IMG: [],
const rules = { PLATE_NUMBER: "",
VEHICLE_MODEL: [{ required: true, message: "请输入", trigger: "blur" }], VIN: "",
VEHICLE: [{ required: true, message: "请输入", trigger: "blur" }], TRAILER_TYPE: "",
CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }], CAR_OWNERS: "",
TELEPHONE: [ CAR_OWNERS_TEL: "",
{ required: true, message: "请输入", trigger: "blur" }, INITIAL_REGISTRATION_DATE: "",
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" }, COMPANY_AREA: "",
{ },
pattern: });
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/, const rules = {
message: "请输入正确的手机号码", VEHICLE_MODEL: [{ required: true, message: "请输入", trigger: "blur" }],
}, VEHICLE: [{ required: true, message: "请输入", trigger: "blur" }],
], CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }],
REGISTRANT: [{ required: true, message: "请输入", trigger: "blur" }], TELEPHONE: [
PROCESSING_DATE: [{ required: true, message: "请输入", trigger: "blur" }], { required: true, message: "请输入", trigger: "blur" },
ANNUAL_INSPECTION_CYCLE: [{ required: true, message: "请输入", trigger: "blur" }], { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
DUE_DATE: [{ required: true, message: "请输入", trigger: "blur" }], {
REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }], pattern:
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }], /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
message: "请输入正确的手机号码",
},
],
REGISTRANT: [{ required: true, message: "请输入", trigger: "blur" }],
PROCESSING_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
ANNUAL_INSPECTION_CYCLE: [
{ required: true, message: "请输入", trigger: "blur" },
],
DUE_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
};
const getDueDate = () => {
if (form.value.PROCESSING_DATE && form.value.ANNUAL_INSPECTION_CYCLE) {
const list = annualInspectionCycleList._rawValue;
let num = 0;
for (let i = 0; i < list.length; i++) {
const _item = list[i];
if (form.value.ANNUAL_INSPECTION_CYCLE === _item.DICTIONARIES_ID) {
num = Number(_item.BIANMA);
}
} }
const getDueDate = ()=>{ form.value.DUE_DATE = timeTransformation(form.value.PROCESSING_DATE, num);
if(form.value.PROCESSING_DATE&&form.value.ANNUAL_INSPECTION_CYCLE){ if (form.value.REMINDER_DAYS) {
const list = annualInspectionCycleList._rawValue form.value.REMINDER_DATE = subtractDaysFromDate(
let num = 0 form.value.DUE_DATE,
for(let i=0;i<list.length;i++){ form.value.REMINDER_DAYS
const _item = list[i] );
if(form.value.ANNUAL_INSPECTION_CYCLE === _item.DICTIONARIES_ID){
num = Number(_item.BIANMA)
}
}
form.value.DUE_DATE = timeTransformation(form.value.PROCESSING_DATE,num)
if(form.value.REMINDER_DAYS){
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,form.value.REMINDER_DAYS)
}
}else {
form.value.DUE_DATE = ''
form.value.REMINDER_DATE = ''
}
} }
const getRemiderDate = (val)=>{ } else {
if(val){ form.value.DUE_DATE = "";
if(form.value.DUE_DATE){ form.value.REMINDER_DATE = "";
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,val) }
} };
}else { const getRemiderDate = (val) => {
form.value.REMINDER_DATE = '' if (val) {
} if (form.value.DUE_DATE) {
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE, val);
} }
const getVehicle = async (event) =>{ } else {
const resData = await getTrailerList({TRAFFIC_TYPE:event}) form.value.REMINDER_DATE = "";
data.vehicleList = resData.list }
form.value.VEHICLE = '' };
data.busInfo.DRIVING_LICENSE_IMG = [] const getVehicle = async (event) => {
data.busInfo.PLATE_NUMBER = '' const resData = await getTrailerList({ TRAFFIC_TYPE: event });
data.busInfo.VIN = '' data.vehicleList = resData.list;
data.busInfo.TRAILER_TYPE = '' form.value.VEHICLE = "";
data.busInfo.CAR_OWNERS = '' data.busInfo.DRIVING_LICENSE_IMG = [];
data.busInfo.CAR_OWNERS_TEL = '' data.busInfo.PLATE_NUMBER = "";
data.busInfo.INITIAL_REGISTRATION_DATE = '' data.busInfo.VIN = "";
data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile( data.busInfo.TRAILER_TYPE = "";
[] data.busInfo.CAR_OWNERS = "";
); data.busInfo.CAR_OWNERS_TEL = "";
} data.busInfo.INITIAL_REGISTRATION_DATE = "";
const fnBusChange = async (event) => { data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile([]);
const resData = await getTrailerList({ID:event}) };
data.busInfo = resData.list[0] const fnBusChange = async (event) => {
data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile( const resData = await getTrailerList({ ID: event });
resData.drivingLicenseImgs data.busInfo = resData.list[0];
); data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile(
}; resData.drivingLicenseImgs
const getBusInfo = (val)=>{ );
console.log(val) };
if(val){ const getBusInfo = (val) => {
fnBusChange(val) if (val) {
}else { fnBusChange(val);
data.busInfo.DRIVING_LICENSE_IMG = [] } else {
data.busInfo.PLATE_NUMBER = '' data.busInfo.DRIVING_LICENSE_IMG = [];
data.busInfo.VIN = '' data.busInfo.PLATE_NUMBER = "";
data.busInfo.TRAILER_TYPE = '' data.busInfo.VIN = "";
data.busInfo.CAR_OWNERS = '' data.busInfo.TRAILER_TYPE = "";
data.busInfo.CAR_OWNERS_TEL = '' data.busInfo.CAR_OWNERS = "";
data.busInfo.INITIAL_REGISTRATION_DATE = '' data.busInfo.CAR_OWNERS_TEL = "";
data.busInfo.COMPANY_AREA = '' data.busInfo.INITIAL_REGISTRATION_DATE = "";
data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile( data.busInfo.COMPANY_AREA = "";
[] data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile([]);
); }
} };
} const fnGetData = async () => {
const fnGetData = async () => { if (!INSPECTANNUALLY_ID) return;
if (!INSPECTANNUALLY_ID) return; const resData = await getInspectAnnuallyView({ INSPECTANNUALLY_ID });
const resData = await getInspectAnnuallyView({ INSPECTANNUALLY_ID }); form.value = resData.pd;
form.value = resData.pd; const listData = await getTrailerList({
const listData = await getTrailerList({TRAFFIC_TYPE:form.value.VEHICLE_MODEL}) TRAFFIC_TYPE: form.value.VEHICLE_MODEL,
data.vehicleList = listData.list });
fnBusChange(form.value.VEHICLE) data.vehicleList = listData.list;
form.value.INSPECTINFO = addingPrefixToFile( fnBusChange(form.value.VEHICLE);
resData.inspectinfoImgs form.value.INSPECTINFO = addingPrefixToFile(resData.inspectinfoImgs);
); };
}; fnGetData();
fnGetData();
const fnSubmit = debounce( const fnSubmit = debounce(
1000, 1000,
async () => { async () => {
await useFormValidate(formRef); await useFormValidate(formRef);
const resData = !INSPECTANNUALLY_ID const resData = !INSPECTANNUALLY_ID
? await setInspectAnnuallyAdd({ ...form.value }) ? await setInspectAnnuallyAdd({ ...form.value })
: await setInspectAnnuallyEdit({ ...form.value ,INSPECTANNUALLY_ID:INSPECTANNUALLY_ID}); : await setInspectAnnuallyEdit({
const currentId =resData.pd.INSPECTANNUALLY_ID ...form.value,
for (let i = 0; i < form.value.INSPECTINFO.length; i++) { INSPECTANNUALLY_ID,
if (form.value.INSPECTINFO[i].raw) });
await fnUploadImage(currentId, form.value.INSPECTINFO[i].raw, 124); const currentId = resData.pd.INSPECTANNUALLY_ID;
} for (let i = 0; i < form.value.INSPECTINFO.length; i++) {
ElMessage.success("保存成功"); if (form.value.INSPECTINFO[i].raw)
router.back(); await fnUploadImage(currentId, form.value.INSPECTINFO[i].raw, 124);
}, }
{ atBegin: true } ElMessage.success("保存成功");
); router.back();
const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => { },
const formData = new FormData(); { atBegin: true }
formData.append("FOREIGN_KEY", HIDDEN_ID); );
formData.append("TYPE", TYPE); const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
formData.append("FFILE", FFILE); const formData = new FormData();
await setUploadImg(formData); formData.append("FOREIGN_KEY", HIDDEN_ID);
}; formData.append("TYPE", TYPE);
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss"></style>

View File

@ -1,391 +1,428 @@
<template> <template>
<layout-card> <layout-card>
<el-form ref="formRef" :rules="rules" :model="form" label-width="140px"> <el-form ref="formRef" :rules="rules" :model="form" label-width="140px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">车辆选择</el-divider> <el-divider content-position="left">车辆选择</el-divider>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年检车型" prop="VEHICLE_MODEL"> <el-form-item label="年检车型" prop="VEHICLE_MODEL">
<el-select v-model="form.VEHICLE_MODEL" @change="getVehicle"> <el-select v-model="form.VEHICLE_MODEL" @change="getVehicle">
<el-option <el-option
v-for="item in OPERATING_VEHICLE_TYPE_LIST" v-for="item in OPERATING_VEHICLE_TYPE_LIST"
:key="item.ID" :key="item.ID"
:label="item.NAME" :label="item.NAME"
:value="item.ID" :value="item.ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年检车辆" prop="VEHICLE"> <el-form-item label="年检车辆" prop="VEHICLE">
<el-select v-model="form.VEHICLE" @change="getBusInfo"> <el-select v-model="form.VEHICLE" @change="getBusInfo">
<el-option <el-option
v-for="item in data.vehicleList" v-for="item in data.vehicleList"
:key="item.ID" :key="item.ID"
:label="item.PLATE_NUMBER" :label="item.PLATE_NUMBER"
:value="item.ID" :value="item.ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">基本信息</el-divider> <el-divider content-position="left">基本信息</el-divider>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG"> <el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG">
<layout-upload <layout-upload
v-model:file-list="data.busInfo.DRIVING_LICENSE_IMG" v-model:file-list="data.busInfo.DRIVING_LICENSE_IMG"
list-type="picture-card" list-type="picture-card"
accept=".jpg,.jpeg,.png" accept=".jpg,.jpeg,.png"
delete-to-server delete-to-server
disabled disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车牌号" prop="PLATE_NUMBER"> <el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled /> <el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车架号" prop="VIN"> <el-form-item label="车架号" prop="VIN">
<el-input v-model="data.busInfo.VIN" disabled/> <el-input v-model="data.busInfo.VIN" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车辆类型" prop="TRAILER_TYPE"> <el-form-item label="车辆类型" prop="TRAILER_TYPE">
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled/> <el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主/业户" prop="CAR_OWNERS "> <el-form-item label="车主/业户" prop="CAR_OWNERS ">
<el-input v-model="data.busInfo.CAR_OWNERS " disabled/> <el-input v-model="data.busInfo.CAR_OWNERS" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> <el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled/> <el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE"> <el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
<el-date-picker <el-date-picker
v-model="data.busInfo.INITIAL_REGISTRATION_DATE" v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" type="date"
disabled disabled
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属区域" prop="COMPANY_AREA"> <el-form-item label="所属区域" prop="COMPANY_AREA">
<el-input v-model="data.busInfo.COMPANY_AREA" disabled/> <el-input v-model="data.busInfo.COMPANY_AREA" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">年检信息</el-divider> <el-divider content-position="left">年检信息</el-divider>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="编号" prop="NUM"> <el-form-item label="编号" prop="NUM">
<el-input v-model="form.NUM" maxlength="50" show-word-limit/> <el-input v-model="form.NUM" maxlength="50" show-word-limit />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车主业户" prop="CAR_OWNERS"> <el-form-item label="车主业户" prop="CAR_OWNERS">
<el-input v-model="form.CAR_OWNERS" maxlength="50" show-word-limit/> <el-input
</el-form-item> v-model="form.CAR_OWNERS"
</el-col> maxlength="50"
<el-col :span="12"> show-word-limit
<el-form-item label="联系电话" prop="TELEPHONE"> />
<el-input v-model="form.TELEPHONE" maxlength="11" show-word-limit/> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12">
<el-col :span="12"> <el-form-item label="联系电话" prop="TELEPHONE">
<el-form-item label="登记人" prop="REGISTRANT"> <el-input v-model="form.TELEPHONE" maxlength="11" show-word-limit />
<el-input v-model="form.REGISTRANT" maxlength="50" show-word-limit/> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12">
<el-col :span="12"> <el-form-item label="登记人" prop="REGISTRANT">
<el-form-item label="办理日期" prop="PROCESSING_DATE"> <el-input
<el-date-picker v-model="form.REGISTRANT"
v-model="form.PROCESSING_DATE" maxlength="50"
value-format="YYYY-MM-DD" show-word-limit
format="YYYY-MM-DD" />
type="date" </el-form-item>
@change="getDueDate" </el-col>
/> <el-col :span="12">
</el-form-item> <el-form-item label="办理日期" prop="PROCESSING_DATE">
</el-col> <el-date-picker
<el-col :span="12"> v-model="form.PROCESSING_DATE"
<el-form-item label="年检周期" prop="ANNUAL_INSPECTION_CYCLE"> value-format="YYYY-MM-DD"
<el-select v-model="form.ANNUAL_INSPECTION_CYCLE" @change="getDueDate"> format="YYYY-MM-DD"
<el-option type="date"
v-for="item in annualInspectionCycleList" @change="getDueDate"
:key="item.DICTIONARIES_ID" />
:label="item.NAME" </el-form-item>
:value="item.DICTIONARIES_ID" </el-col>
/> <el-col :span="12">
</el-select> <el-form-item label="年检周期" prop="ANNUAL_INSPECTION_CYCLE">
</el-form-item> <el-select
</el-col> v-model="form.ANNUAL_INSPECTION_CYCLE"
<el-col :span="12"> @change="getDueDate"
<el-form-item label="到期日期" prop="DUE_DATE"> >
<el-date-picker <el-option
v-model="form.DUE_DATE" v-for="item in annualInspectionCycleList"
value-format="YYYY-MM-DD" :key="item.DICTIONARIES_ID"
format="YYYY-MM-DD" :label="item.NAME"
type="date" :value="item.DICTIONARIES_ID"
disabled />
/> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年检费用" prop="INSPECTFEES"> <el-form-item label="到期日期" prop="DUE_DATE">
<el-input v-model="form.INSPECTFEES" maxlength="50" show-word-limit/> <el-date-picker
</el-form-item> v-model="form.DUE_DATE"
</el-col> value-format="YYYY-MM-DD"
<el-col :span="12"> format="YYYY-MM-DD"
<el-form-item label="实收费用" prop="ACTUAL_COLLECTION"> type="date"
<el-input v-model="form.ACTUAL_COLLECTION" maxlength="50" show-word-limit/> disabled
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="年检地址" prop="ADDRESS"> <el-col :span="12">
<el-input v-model="form.ADDRESS" maxlength="100" show-word-limit/> <el-form-item label="年检费用" prop="INSPECTFEES">
</el-form-item> <el-input
</el-col> v-model="form.INSPECTFEES"
<el-col :span="12"> maxlength="50"
<el-form-item label="提醒天数" prop="REMINDER_DAYS"> show-word-limit
<el-input v-model.number="form.REMINDER_DAYS" maxlength="50" show-word-limit @change="getRemiderDate"/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="提醒日期" prop="REMINDER_DATE"> <el-form-item label="实收费用" prop="ACTUAL_COLLECTION">
<el-date-picker <el-input
v-model="form.REMINDER_DATE" v-model="form.ACTUAL_COLLECTION"
value-format="YYYY-MM-DD" maxlength="50"
format="YYYY-MM-DD" show-word-limit
type="date" />
disabled </el-form-item>
/> </el-col>
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="年检地址" prop="ADDRESS">
<el-col :span="12"> <el-input v-model="form.ADDRESS" maxlength="100" show-word-limit />
<el-form-item label="提醒状态" prop="REMINDER_STATUS"> </el-form-item>
<el-switch </el-col>
v-model="form.REMINDER_STATUS" <el-col :span="12">
inline-prompt <el-form-item label="提醒天数" prop="REMINDER_DAYS">
active-text="开" <el-input
inactive-text="关" v-model.number="form.REMINDER_DAYS"
active-value="1" maxlength="50"
inactive-value="0" show-word-limit
/> @change="getRemiderDate"
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="车检资料" prop="INSPECTINFO"> <el-col :span="12">
<layout-upload <el-form-item label="提醒日期" prop="REMINDER_DATE">
v-model:file-list="form.INSPECTINFO" <el-date-picker
list-type="picture-card" v-model="form.REMINDER_DATE"
accept=".jpg,.jpeg,.png" value-format="YYYY-MM-DD"
:limit="99" format="YYYY-MM-DD"
delete-to-server type="date"
/> disabled
</el-form-item> />
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="备注" prop="NOTES"> <el-col :span="12">
<el-input <el-form-item label="提醒状态" prop="REMINDER_STATUS">
v-model="form.NOTES" <el-switch
type="textarea" v-model="form.REMINDER_STATUS"
:autosize="{ minRows: 3 }" inline-prompt
maxlength="250" show-word-limit active-text="开"
/> inactive-text="关"
</el-form-item> active-value="1"
</el-col> inactive-value="0"
</el-row> />
</el-form> </el-form-item>
<div class="mt-10 tc"> </el-col>
<el-button type="primary" @click="fnSubmit"></el-button> <el-col :span="12">
</div> <el-form-item label="车检资料" prop="INSPECTINFO">
</layout-card> <layout-upload
v-model:file-list="form.INSPECTINFO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
:limit="99"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="NOTES">
<el-input
v-model="form.NOTES"
type="textarea"
:autosize="{ minRows: 3 }"
maxlength="250"
show-word-limit
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="mt-10 tc">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
</layout-card>
</template> </template>
<script setup> <script setup>
import LayoutUpload from "@/components/upload/index.vue"; import LayoutUpload from "@/components/upload/index.vue";
import { ref ,reactive} from "vue"; import { ref, reactive } from "vue";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import {getInspectAnnuallyView, setInspectAnnuallyAdd ,setInspectAnnuallyEdit,getTrailerList} from "@/request/mechanical_files.js"; import {
import {OPERATING_VEHICLE_TYPE_LIST} from "@/assets/js/constant.js" getInspectAnnuallyView,
import {layoutFnGetAnnualInspectionCycle} from "@/assets/js/data_dictionary.js" setInspectAnnuallyAdd,
import { setUploadImg } from "@/request/api.js"; setInspectAnnuallyEdit,
import { ElMessage } from "element-plus"; getTrailerList,
import { useRoute, useRouter, } from "vue-router"; } from "@/request/mechanical_files.js";
import useFormValidate from "@/assets/js/useFormValidate.js"; import { OPERATING_VEHICLE_TYPE_LIST } from "@/assets/js/constant.js";
import { addingPrefixToFile ,timeTransformation,subtractDaysFromDate} from "@/assets/js/utils.js"; import { layoutFnGetAnnualInspectionCycle } from "@/assets/js/data_dictionary.js";
const route = useRoute(); import { setUploadImg } from "@/request/api.js";
const router = useRouter(); import { ElMessage } from "element-plus";
const INSPECTANNUALLY_ID = route.query.INSPECTANNUALLY_ID import { useRoute, useRouter } from "vue-router";
const annualInspectionCycleList = await layoutFnGetAnnualInspectionCycle() import useFormValidate from "@/assets/js/useFormValidate.js";
const formRef = ref(null); import {
const form = ref({ addingPrefixToFile,
VEHICLE_MODEL : '', timeTransformation,
VEHICLE : '', subtractDaysFromDate,
NUM:'', } from "@/assets/js/utils.js";
CAR_OWNERS : '', const route = useRoute();
TELEPHONE : '', const router = useRouter();
REGISTRANT : '', const INSPECTANNUALLY_ID = route.query.INSPECTANNUALLY_ID;
PROCESSING_DATE : '', const annualInspectionCycleList = await layoutFnGetAnnualInspectionCycle();
ANNUAL_INSPECTION_CYCLE : '', const formRef = ref(null);
DUE_DATE : '', const form = ref({
INSPECTFEES : '', VEHICLE_MODEL: "",
ACTUAL_COLLECTION : '', VEHICLE: "",
ADDRESS : '', NUM: "",
REMINDER_DAYS : '', CAR_OWNERS: "",
REMINDER_DATE : '', TELEPHONE: "",
REMINDER_STATUS : '', REGISTRANT: "",
INSPECTINFO : [] PROCESSING_DATE: "",
}); ANNUAL_INSPECTION_CYCLE: "",
const data = reactive({ DUE_DATE: "",
vehicleList: [], INSPECTFEES: "",
busInfo:{ ACTUAL_COLLECTION: "",
DRIVING_LICENSE_IMG : [], ADDRESS: "",
PLATE_NUMBER : '', REMINDER_DAYS: "",
VIN : '', REMINDER_DATE: "",
TRAILER_TYPE : '', REMINDER_STATUS: "",
CAR_OWNERS : '', INSPECTINFO: [],
CAR_OWNERS_TEL : '', });
INITIAL_REGISTRATION_DATE : '', const data = reactive({
COMPANY_AREA:'', vehicleList: [],
} busInfo: {
}); DRIVING_LICENSE_IMG: [],
const rules = { PLATE_NUMBER: "",
VEHICLE_MODEL: [{ required: true, message: "请输入", trigger: "blur" }], VIN: "",
VEHICLE: [{ required: true, message: "请输入", trigger: "blur" }], TRAILER_TYPE: "",
CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }], CAR_OWNERS: "",
TELEPHONE: [ CAR_OWNERS_TEL: "",
{ required: true, message: "请输入", trigger: "blur" }, INITIAL_REGISTRATION_DATE: "",
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" }, COMPANY_AREA: "",
{ },
pattern: });
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/, const rules = {
message: "请输入正确的手机号码", VEHICLE_MODEL: [{ required: true, message: "请输入", trigger: "blur" }],
}, VEHICLE: [{ required: true, message: "请输入", trigger: "blur" }],
], CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }],
REGISTRANT: [{ required: true, message: "请输入", trigger: "blur" }], TELEPHONE: [
PROCESSING_DATE: [{ required: true, message: "请输入", trigger: "blur" }], { required: true, message: "请输入", trigger: "blur" },
ANNUAL_INSPECTION_CYCLE: [{ required: true, message: "请输入", trigger: "blur" }], { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
DUE_DATE: [{ required: true, message: "请输入", trigger: "blur" }], {
REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }], pattern:
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }], /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
message: "请输入正确的手机号码",
},
],
REGISTRANT: [{ required: true, message: "请输入", trigger: "blur" }],
PROCESSING_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
ANNUAL_INSPECTION_CYCLE: [
{ required: true, message: "请输入", trigger: "blur" },
],
DUE_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
};
const getDueDate = () => {
if (form.value.PROCESSING_DATE && form.value.ANNUAL_INSPECTION_CYCLE) {
const list = annualInspectionCycleList._rawValue;
let num = 0;
for (let i = 0; i < list.length; i++) {
const _item = list[i];
if (form.value.ANNUAL_INSPECTION_CYCLE === _item.DICTIONARIES_ID) {
num = Number(_item.BIANMA);
}
} }
const getDueDate = ()=>{ form.value.DUE_DATE = timeTransformation(form.value.PROCESSING_DATE, num);
if(form.value.PROCESSING_DATE&&form.value.ANNUAL_INSPECTION_CYCLE){ if (form.value.REMINDER_DAYS) {
const list = annualInspectionCycleList._rawValue form.value.REMINDER_DATE = subtractDaysFromDate(
let num = 0 form.value.DUE_DATE,
for(let i=0;i<list.length;i++){ form.value.REMINDER_DAYS
const _item = list[i] );
if(form.value.ANNUAL_INSPECTION_CYCLE === _item.DICTIONARIES_ID){
num = Number(_item.BIANMA)
}
}
form.value.DUE_DATE = timeTransformation(form.value.PROCESSING_DATE,num)
if(form.value.REMINDER_DAYS){
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,form.value.REMINDER_DAYS)
}
}else {
form.value.DUE_DATE = ''
form.value.REMINDER_DATE = ''
}
} }
const getRemiderDate = (val)=>{ } else {
if(val){ form.value.DUE_DATE = "";
if(form.value.DUE_DATE){ form.value.REMINDER_DATE = "";
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,val) }
} };
}else { const getRemiderDate = (val) => {
form.value.REMINDER_DATE = '' if (val) {
} if (form.value.DUE_DATE) {
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE, val);
} }
const getVehicle = async (event) =>{ } else {
const resData = await getTrailerList({TRAFFIC_TYPE:event}) form.value.REMINDER_DATE = "";
data.vehicleList = resData.list }
form.value.VEHICLE = '' };
data.busInfo.DRIVING_LICENSE_IMG = [] const getVehicle = async (event) => {
data.busInfo.PLATE_NUMBER = '' const resData = await getTrailerList({ TRAFFIC_TYPE: event });
data.busInfo.VIN = '' data.vehicleList = resData.list;
data.busInfo.TRAILER_TYPE = '' form.value.VEHICLE = "";
data.busInfo.CAR_OWNERS = '' data.busInfo.DRIVING_LICENSE_IMG = [];
data.busInfo.CAR_OWNERS_TEL = '' data.busInfo.PLATE_NUMBER = "";
data.busInfo.INITIAL_REGISTRATION_DATE = '' data.busInfo.VIN = "";
data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile( data.busInfo.TRAILER_TYPE = "";
[] data.busInfo.CAR_OWNERS = "";
); data.busInfo.CAR_OWNERS_TEL = "";
} data.busInfo.INITIAL_REGISTRATION_DATE = "";
const fnBusChange = async (event) => { data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile([]);
const resData = await getTrailerList({ID:event}) };
data.busInfo = resData.list[0] const fnBusChange = async (event) => {
data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile( const resData = await getTrailerList({ ID: event });
resData.drivingLicenseImgs data.busInfo = resData.list[0];
); data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile(
}; resData.drivingLicenseImgs
const getBusInfo = (val)=>{ );
console.log(val) };
if(val){ const getBusInfo = (val) => {
fnBusChange(val) if (val) {
}else { fnBusChange(val);
data.busInfo.DRIVING_LICENSE_IMG = [] } else {
data.busInfo.PLATE_NUMBER = '' data.busInfo.DRIVING_LICENSE_IMG = [];
data.busInfo.VIN = '' data.busInfo.PLATE_NUMBER = "";
data.busInfo.TRAILER_TYPE = '' data.busInfo.VIN = "";
data.busInfo.CAR_OWNERS = '' data.busInfo.TRAILER_TYPE = "";
data.busInfo.CAR_OWNERS_TEL = '' data.busInfo.CAR_OWNERS = "";
data.busInfo.INITIAL_REGISTRATION_DATE = '' data.busInfo.CAR_OWNERS_TEL = "";
data.busInfo.COMPANY_AREA = '' data.busInfo.INITIAL_REGISTRATION_DATE = "";
data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile( data.busInfo.COMPANY_AREA = "";
[] data.busInfo.DRIVING_LICENSE_IMG = addingPrefixToFile([]);
); }
} };
} const fnGetData = async () => {
const fnGetData = async () => { if (!INSPECTANNUALLY_ID) return;
if (!INSPECTANNUALLY_ID) return; const resData = await getInspectAnnuallyView({ INSPECTANNUALLY_ID });
const resData = await getInspectAnnuallyView({ INSPECTANNUALLY_ID }); form.value = resData.pd;
form.value = resData.pd; const listData = await getTrailerList({
const listData = await getTrailerList({TRAFFIC_TYPE:form.value.VEHICLE_MODEL}) TRAFFIC_TYPE: form.value.VEHICLE_MODEL,
data.vehicleList = listData.list });
fnBusChange(form.value.VEHICLE) data.vehicleList = listData.list;
form.value.INSPECTINFO = addingPrefixToFile( fnBusChange(form.value.VEHICLE);
resData.inspectinfoImgs form.value.INSPECTINFO = addingPrefixToFile(resData.inspectinfoImgs);
); };
}; fnGetData();
fnGetData();
const fnSubmit = debounce( const fnSubmit = debounce(
1000, 1000,
async () => { async () => {
await useFormValidate(formRef); await useFormValidate(formRef);
const resData = !INSPECTANNUALLY_ID const resData = !INSPECTANNUALLY_ID
? await setInspectAnnuallyAdd({ ...form.value }) ? await setInspectAnnuallyAdd({ ...form.value })
: await setInspectAnnuallyEdit({ ...form.value ,INSPECTANNUALLY_ID:INSPECTANNUALLY_ID}); : await setInspectAnnuallyEdit({
const currentId =resData.pd.INSPECTANNUALLY_ID ...form.value,
for (let i = 0; i < form.value.INSPECTINFO.length; i++) { INSPECTANNUALLY_ID,
if (form.value.INSPECTINFO[i].raw) });
await fnUploadImage(currentId, form.value.INSPECTINFO[i].raw, 124); const currentId = resData.pd.INSPECTANNUALLY_ID;
} for (let i = 0; i < form.value.INSPECTINFO.length; i++) {
ElMessage.success("保存成功"); if (form.value.INSPECTINFO[i].raw)
router.back(); await fnUploadImage(currentId, form.value.INSPECTINFO[i].raw, 124);
}, }
{ atBegin: true } ElMessage.success("保存成功");
); router.back();
const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => { },
const formData = new FormData(); { atBegin: true }
formData.append("FOREIGN_KEY", HIDDEN_ID); );
formData.append("TYPE", TYPE); const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
formData.append("FFILE", FFILE); const formData = new FormData();
await setUploadImg(formData); formData.append("FOREIGN_KEY", HIDDEN_ID);
}; formData.append("TYPE", TYPE);
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss"></style>

View File

@ -287,12 +287,12 @@
</template> </template>
<script setup> <script setup>
import { onMounted, reactive } from "vue"; import { ref } from "vue";
import { getSafetyDrivingLogView } from "@/request/traffic_driving_log.js"; import { getSafetyDrivingLogView } from "@/request/traffic_driving_log.js";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
const route = useRoute(); const route = useRoute();
const { DRIVING_LOG_ID } = route.query; const { DRIVING_LOG_ID } = route.query;
const detailItems = reactive({ const detailItems = ref({
WAYBILLNUMBER: "", WAYBILLNUMBER: "",
TRANSPORTATIONCOMPANY: "", TRANSPORTATIONCOMPANY: "",
TRANSPORTVEHICLE: "", TRANSPORTVEHICLE: "",
@ -331,10 +331,11 @@ const detailItems = reactive({
CHECKSIGNATURE: "", CHECKSIGNATURE: "",
}); });
onMounted(async () => { const fnGetData = async () => {
const response = await getSafetyDrivingLogView({ DRIVING_LOG_ID }); const response = await getSafetyDrivingLogView({ DRIVING_LOG_ID });
Object.assign(detailItems, response.pd); detailItems.value = response.pd;
}); };
fnGetData();
</script> </script>
<style scoped></style> <style scoped></style>

View File

@ -30,9 +30,9 @@
</el-card> </el-card>
<layout-card> <layout-card>
<layout-table <layout-table
v-model:pagination="pagination"
:data="list" :data="list"
@get-data="fnGetData" @get-data="fnGetData"
v-model:pagination="pagination"
> >
<el-table-column label="序号" width="60"> <el-table-column label="序号" width="60">
<template #default="{ $index }"> <template #default="{ $index }">
@ -55,7 +55,7 @@
<el-table-column prop="ARRIVALTIME" label="收车时间" /> <el-table-column prop="ARRIVALTIME" label="收车时间" />
<el-table-column prop="TRANSPORTCOMPANY" label="运输企业" /> <el-table-column prop="TRANSPORTCOMPANY" label="运输企业" />
<el-table-column label="操作" width="180"> <el-table-column label="操作" width="180">
<template v-slot:default="{ row }"> <template #default="{ row }">
<el-button <el-button
type="primary" type="primary"
text text
@ -127,7 +127,6 @@ const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, { await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning", type: "warning",
}); });
console.log("Sent to backend:", { DRIVING_LOG_ID: value });
await setDrivingLogDelete({ DRIVING_LOG_ID: value }); await setDrivingLogDelete({ DRIVING_LOG_ID: value });
ElMessage.success("删除成功"); ElMessage.success("删除成功");
fnGetData(); fnGetData();

View File

@ -238,10 +238,6 @@ const fnSelectAllRiskSubmit = (allData) => {
data.form.allStatus = 1; data.form.allStatus = 1;
data.form.PERSON = "已全部选择"; data.form.PERSON = "已全部选择";
console.log("选中的用户ID:", userIds);
console.log("选中的用户姓名:", names);
console.log("是否全选:", data.form.allStatus);
}; };
</script> </script>

View File

@ -91,13 +91,13 @@
</template> </template>
<script setup> <script setup>
import { onMounted, reactive } from "vue"; import { ref } from "vue";
import { getSafetyMeetingView } from "@/request/traffic_safety_meeting.js"; import { getSafetyMeetingView } from "@/request/traffic_safety_meeting.js";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
const route = useRoute(); const route = useRoute();
const VITE_FILE_URL = import.meta.env.VITE_FILE_URL; const VITE_FILE_URL = import.meta.env.VITE_FILE_URL;
const { SAFETY_MEETING_ID } = route.query; const { SAFETY_MEETING_ID } = route.query;
const detailItems = reactive({ const detailItems = ref({
MEETING_TITLE: "", MEETING_TITLE: "",
TRANSPORTATIONCOMPANY: "", TRANSPORTATIONCOMPANY: "",
HOST_PERSON: "", HOST_PERSON: "",
@ -113,11 +113,11 @@ const detailItems = reactive({
realPersonNum: "", realPersonNum: "",
}); });
onMounted(async () => { const fnGetData = async () => {
const response = await getSafetyMeetingView({ SAFETY_MEETING_ID }); const response = await getSafetyMeetingView({ SAFETY_MEETING_ID });
console.log(response, "1111111111111111111111"); detailItems.value = response.pd;
Object.assign(detailItems, response.pd); };
}); fnGetData();
</script> </script>
<style scoped></style> <style scoped></style>

View File

@ -207,10 +207,6 @@ const fnSelectAllRiskSubmit = (allData) => {
data.form.allStatus = 1; data.form.allStatus = 1;
data.form.PERSON = "已全部选择"; data.form.PERSON = "已全部选择";
console.log("选中的用户ID:", userIds);
console.log("选中的用户姓名:", names);
console.log("是否全选:", data.form.allStatus);
}; };
</script> </script>

View File

@ -38,23 +38,24 @@
</template> </template>
<script setup> <script setup>
import { onMounted, reactive } from "vue"; import { ref } from "vue";
import { getSecurityNoticeInfo } from "@/request/safety_production_related.js"; import { getSecurityNoticeInfo } from "@/request/safety_production_related.js";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
const route = useRoute(); const route = useRoute();
const { NOTIFICATION_ID } = route.query; const { NOTIFICATION_ID } = route.query;
const detailItems = reactive({ const detailItems = ref({
LEVEL: "", LEVEL: "",
PERSON: "", PERSON: "",
TRANSPORTATIONCOMPANY: "", TRANSPORTATIONCOMPANY: "",
NOTIFICATIONCONTENT: "", NOTIFICATIONCONTENT: "",
}); });
onMounted(async () => { const fnGetData = async () => {
const response = await getSecurityNoticeInfo({ NOTIFICATION_ID }); const response = await getSecurityNoticeInfo({ NOTIFICATION_ID });
Object.assign(detailItems, response.pd); detailItems.value = response.pd;
}); };
fnGetData();
</script> </script>
<style scoped></style> <style scoped></style>

View File

@ -126,7 +126,6 @@ const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, { await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning", type: "warning",
}); });
console.log("Sent to backend:", { DRIVING_LOG_ID: value });
await setDrivingLogDelete({ DRIVING_LOG_ID: value }); await setDrivingLogDelete({ DRIVING_LOG_ID: value });
ElMessage.success("删除成功"); ElMessage.success("删除成功");
fnGetData(); fnGetData();
@ -262,7 +261,6 @@ const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, { await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning", type: "warning",
}); });
console.log("Sent to backend:", { DRIVING_LOG_ID: value });
await setDrivingLogDelete({ DRIVING_LOG_ID: value }); await setDrivingLogDelete({ DRIVING_LOG_ID: value });
ElMessage.success("删除成功"); ElMessage.success("删除成功");
fnGetData(); fnGetData();

View File

@ -336,7 +336,6 @@ const fnView = async (BUS_TEXT_LIBRARY_ID) => {
data.viewDialog.info = resData.data; data.viewDialog.info = resData.data;
data.viewDialog.info.TEXT_INFO = info.TEXT_INFO; data.viewDialog.info.TEXT_INFO = info.TEXT_INFO;
data.viewDialog.visible = true; data.viewDialog.visible = true;
console.log(data, 7979);
}; };
const fnAddOrEdit = async (BUS_TEXT_LIBRARY_ID, type) => { const fnAddOrEdit = async (BUS_TEXT_LIBRARY_ID, type) => {
data.addOrEditDialog.visible = true; data.addOrEditDialog.visible = true;