删除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-col>
<el-col :span="6">
<el-form-item label="主动安全" prop="ACTIVE_SAFETY">
<el-select v-model="searchForm.ACTIVE_SAFETY">
@ -90,7 +89,7 @@
</el-col>
<el-col :span="6">
<el-form-item label-width="10px" class="end">
<el-button >导出</el-button>
<el-button>导出</el-button>
</el-form-item>
</el-col>
</el-row>
@ -98,28 +97,38 @@
</el-card>
<layout-card>
<layout-table
:data="list"
v-model:pagination="pagination"
:data="list"
@get-data="fnGetDataTransfer"
>
<el-table-column label="序号" width="70">
<template v-slot="{ $index }">
<template #default="{ $index }">
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="GOODSSELFNUMBER" label="编号"/>
<el-table-column prop="PLATE_NUMBER" label="车牌号"/>
<el-table-column prop="GOODSSELFNUMBER" label="编号" />
<el-table-column prop="PLATE_NUMBER" label="车牌号" />
<el-table-column prop="VEHICLE_COLOR" label="车辆颜色" />
<el-table-column prop="FRAMES_NUMBER" label="车架号" width="140"/>
<el-table-column prop="CONTACT" label="联系人"/>
<el-table-column prop="CONTACT_NUMBER" 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 prop="FRAMES_NUMBER" label="车架号" width="140" />
<el-table-column prop="CONTACT" label="联系人" />
<el-table-column
prop="CONTACT_NUMBER"
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">
<template v-slot="{ row }">
<template #default="{ row }">
<el-button
type="primary"
text
@ -175,7 +184,9 @@
v-if="buttonJurisdiction.add"
type="primary"
@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,
layoutFnGetActiveSafety,
} 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 useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import { debounce } from "throttle-debounce";
@ -202,13 +216,10 @@ import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getOperationVehicleList, {
});
useListData(getOperationVehicleList, {});
const troubleshootingCycleList = await layoutFnGetVehicleColor();
const networkStatusLevelList = await layoutFnGetNetworkStatus();
const activeSafety = await layoutFnGetActiveSafety();
console.log(list,"userListData");
const fnGetDataTransfer = () => {
fnGetData({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
@ -224,7 +235,7 @@ const fnDelete = debounce(
1000,
async (OPERATING_ID) => {
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setOperationVehicleDelete({ OPERATING_ID })
await setOperationVehicleDelete({ OPERATING_ID });
ElMessage.success("删除成功");
},
{ atBegin: true }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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