代码格式化

dev
wangpeng 2024-05-15 09:51:40 +08:00
parent 861cef7aa5
commit 274b58f12f
12 changed files with 1049 additions and 986 deletions

View File

@ -55,15 +55,26 @@ export const setBeidouEdit2 = (params) => post("/beidou/edit2", params); // 维
export const getTrailerListCompass = (params) => export const getTrailerListCompass = (params) =>
post("/beidou/vehicleList", params); post("/beidou/vehicleList", params);
export const getTankTruckInspectionList = (params) => post("/tankTruckInspection/list", params); // 罐检项配置列表 export const getTankTruckInspectionList = (params) =>
export const getTankTruckInspectionListAll = (params) => post("/tankTruckInspection/tankTruckInspectionListAll", params); // 罐检项配置不分页列表 post("/tankTruckInspection/list", params); // 罐检项配置列表
export const getTankTruckInspectionView = (params) => post("/tankTruckInspection/goEdit", params); // 罐检项配置查看 export const getTankTruckInspectionListAll = (params) =>
export const setTankTruckInspectionAdd = (params) => post("/tankTruckInspection/add", params); // 罐检项配置新增 post("/tankTruckInspection/tankTruckInspectionListAll", params); // 罐检项配置不分页列表
export const setTankTruckInspectionEdit = (params) => post("/tankTruckInspection/edit", params); // 罐检项配置修改 export const getTankTruckInspectionView = (params) =>
export const setTankTruckInspectionDelete = (params) => post("/tankTruckInspection/delete", params); // 罐检项配置删除 post("/tankTruckInspection/goEdit", params); // 罐检项配置查看
export const setTankTruckInspectionAdd = (params) =>
post("/tankTruckInspection/add", params); // 罐检项配置新增
export const setTankTruckInspectionEdit = (params) =>
post("/tankTruckInspection/edit", params); // 罐检项配置修改
export const setTankTruckInspectionDelete = (params) =>
post("/tankTruckInspection/delete", params); // 罐检项配置删除
export const getTankTruckInspectionRecordList = (params) => post("/tankTruckInspectionRecord/list", params); // 罐检项检查列表 export const getTankTruckInspectionRecordList = (params) =>
export const getTankTruckInspectionRecordView = (params) => post("/tankTruckInspectionRecord/goEdit", params); // 罐检项检查查看 post("/tankTruckInspectionRecord/list", params); // 罐检项检查列表
export const setTankTruckInspectionRecordAdd = (params) => post("/tankTruckInspectionRecord/add", params); // 罐检项检查新增 export const getTankTruckInspectionRecordView = (params) =>
export const setTankTruckInspectionRecordEdit = (params) => post("/tankTruckInspectionRecord/edit", params); // 罐检项检查修改 post("/tankTruckInspectionRecord/goEdit", params); // 罐检项检查查看
export const setTankTruckInspectionRecordDelete = (params) => post("/tankTruckInspectionRecord/delete", params); // 罐检项检查删除 export const setTankTruckInspectionRecordAdd = (params) =>
post("/tankTruckInspectionRecord/add", params); // 罐检项检查新增
export const setTankTruckInspectionRecordEdit = (params) =>
post("/tankTruckInspectionRecord/edit", params); // 罐检项检查修改
export const setTankTruckInspectionRecordDelete = (params) =>
post("/tankTruckInspectionRecord/delete", params); // 罐检项检查删除

View File

@ -55,8 +55,8 @@
row.CHECKTYPE_NAME row.CHECKTYPE_NAME
}}</el-tag> }}</el-tag>
<el-tag v-if="row.CHECKTYPE_NAME === '待承诺'" type="error">{{ <el-tag v-if="row.CHECKTYPE_NAME === '待承诺'" type="error">{{
row.CHECKTYPE_NAME row.CHECKTYPE_NAME
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="REMARKS" label="检查项说明" /> <el-table-column prop="REMARKS" label="检查项说明" />

View File

@ -53,7 +53,7 @@
{{ data.info.ORIGIN_NAME }} {{ data.info.ORIGIN_NAME }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="起运地址"> <el-descriptions-item label="起运地址">
{{ data.info.SHIPPING_ADDR}} {{ data.info.SHIPPING_ADDR }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="行政区域"> <el-descriptions-item label="行政区域">
{{ data.info.DEPARTURE_ADDR }} {{ data.info.DEPARTURE_ADDR }}

View File

@ -298,13 +298,13 @@ import {
setInsureEdit, setInsureEdit,
getTrailerList, getTrailerList,
getTrailerList2, getTrailerList2,
getInsureList getInsureList,
} from "@/request/mechanical_files.js"; } from "@/request/mechanical_files.js";
import { import {
INSURANCE_TYPE, INSURANCE_TYPE,
INSURANCEMENU, INSURANCEMENU,
OPERATING_VEHICLE_TYPE_LIST, OPERATING_VEHICLE_TYPE_LIST,
REMIND_DAYS REMIND_DAYS,
} from "@/assets/js/constant.js"; } from "@/assets/js/constant.js";
import { setUploadImg } from "@/request/api.js"; import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
@ -352,16 +352,16 @@ const data = reactive({
INITIAL_REGISTRATION_DATE: "", INITIAL_REGISTRATION_DATE: "",
COMPANY_AREA: "", COMPANY_AREA: "",
}, },
info: {} info: {},
}); });
const insureType = async (rule, insureType, callback) => { const insureType = async (rule, insureType, callback) => {
if(!INSURE_ID) { if (!INSURE_ID) {
if (insureType) { if (insureType) {
data.info = await getInsureList(); data.info = await getInsureList();
data.info.varList.forEach((item) => { data.info.varList.forEach((item) => {
if(item.VEHICLE === data.busInfo.ID) { if (item.VEHICLE === data.busInfo.ID) {
if(insureType === item.INSURANCE_COVERAGE) { if (insureType === item.INSURANCE_COVERAGE) {
callback(new Error("该保险已被此车辆重复选择")); callback(new Error("该保险已被此车辆重复选择"));
} }
} }
@ -369,16 +369,16 @@ const insureType = async (rule, insureType, callback) => {
} else { } else {
callback(); callback();
} }
}else{ } else {
if (insureType) { if (insureType) {
const resData = await getInsureView({ INSURE_ID }) const resData = await getInsureView({ INSURE_ID });
if(insureType === resData.pd.INSURANCE_COVERAGE) { if (insureType === resData.pd.INSURANCE_COVERAGE) {
callback(); callback();
}else{ } else {
data.info = await getInsureList(); data.info = await getInsureList();
data.info.varList.forEach((item) => { data.info.varList.forEach((item) => {
if(item.VEHICLE === data.busInfo.ID) { if (item.VEHICLE === data.busInfo.ID) {
if(insureType === item.INSURANCE_COVERAGE) { if (insureType === item.INSURANCE_COVERAGE) {
callback(new Error("该保险已被此车辆重复选择")); callback(new Error("该保险已被此车辆重复选择"));
} }
} }

View File

@ -139,8 +139,12 @@
<el-table-column prop="PLATE_NUMBER" label="车牌号" /> <el-table-column prop="PLATE_NUMBER" label="车牌号" />
<el-table-column prop="CAR_OWNERS" label="车主业户" /> <el-table-column prop="CAR_OWNERS" label="车主业户" />
<el-table-column prop="TELEPHONE" label="联系电话" width="100" /> <el-table-column prop="TELEPHONE" label="联系电话" width="100" />
<el-table-column prop="PROCESSING_DATE_YEAR" label="保险年份" width="80" /> <el-table-column
<el-table-column prop="INSURANCE_COVERAGE" label="保险项目" width="160" > prop="PROCESSING_DATE_YEAR"
label="保险年份"
width="80"
/>
<el-table-column prop="INSURANCE_COVERAGE" label="保险项目" width="160">
<template #default="{ row }"> <template #default="{ row }">
{{ row.INSURANCE_COVERAGE === "0" ? "承运人责任险" : "" }} {{ row.INSURANCE_COVERAGE === "0" ? "承运人责任险" : "" }}
{{ row.INSURANCE_COVERAGE === "1" ? "强制险" : "" }} {{ row.INSURANCE_COVERAGE === "1" ? "强制险" : "" }}

View File

@ -16,13 +16,12 @@
</el-form-item> </el-form-item>
<el-form-item label="规定状态" prop="REGULATORY_STATUS"> <el-form-item label="规定状态" prop="REGULATORY_STATUS">
<el-input <el-input
v-model="form.REGULATORY_STATUS" v-model="form.REGULATORY_STATUS"
placeholder="请输入" placeholder="请输入"
maxlength="100" maxlength="100"
style="width: 300px" style="width: 300px"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="fnClose"></el-button> <el-button @click="fnClose"></el-button>
@ -36,8 +35,8 @@ import { ref, toRaw } from "vue";
import { useVModels } from "@vueuse/core"; import { useVModels } from "@vueuse/core";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { import {
setTankTruckInspectionAdd, setTankTruckInspectionAdd,
setTankTruckInspectionEdit, setTankTruckInspectionEdit,
} from "@/request/mechanical_files.js"; } from "@/request/mechanical_files.js";
const props = defineProps({ const props = defineProps({
@ -70,8 +69,8 @@ const props = defineProps({
const emits = defineEmits(["update:visible", "update:form", "get-data"]); const emits = defineEmits(["update:visible", "update:form", "get-data"]);
const { visible, form } = useVModels(props, emits); const { visible, form } = useVModels(props, emits);
const rules = { const rules = {
INSPECTION_SITE: [{ required: true, message: "请输入", trigger: "blur" },], INSPECTION_SITE: [{ required: true, message: "请输入", trigger: "blur" }],
REGULATORY_STATUS: [{ required: true, message: "请输入", trigger: "blur" },], REGULATORY_STATUS: [{ required: true, message: "请输入", trigger: "blur" }],
}; };
const formRef = ref(null); const formRef = ref(null);
@ -88,9 +87,8 @@ const fnSubmit = async () => {
const formData = new FormData(); const formData = new FormData();
Object.keys(rawFormValue).forEach((key) => { Object.keys(rawFormValue).forEach((key) => {
formData.append(key, rawFormValue[key]); formData.append(key, rawFormValue[key]);
}); });
console.log(rawFormValue,formData)
// //
if (props.type === "add") { if (props.type === "add") {
await setTankTruckInspectionAdd(rawFormValue); await setTankTruckInspectionAdd(rawFormValue);

View File

@ -17,7 +17,6 @@
<script setup> <script setup>
import { useVModel } from "@vueuse/core"; import { useVModel } from "@vueuse/core";
const props = defineProps({ const props = defineProps({
visible: { visible: {
type: Boolean, type: Boolean,

View File

@ -1,165 +1,165 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<el-form <el-form
:model="searchForm" :model="searchForm"
label-width="100px" label-width="100px"
@submit.prevent="fnResetPagination" @submit.prevent="fnResetPagination"
>
<el-row>
<el-col :span="6">
<el-form-item label="检查部位" prop="INSPECTION_SITE">
<el-input
v-model="searchForm.INSPECTION_SITE"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规定状态" prop="REGULATORY_STATUS">
<el-input
v-model="searchForm.REGULATORY_STATUS"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPagination">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<layout-card>
<layout-table
ref="tableRef"
v-model:pagination="pagination"
:data="list"
row-key="MANAGEMENTAGREEMENT_ID"
@get-data="fnGetData"
>
<el-table-column label="序号" width="60">
<template #default="{ $index }">
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="INSPECTION_SITE" label="检查部位" />
<el-table-column prop="REGULATORY_STATUS" label="规定状态" />
<el-table-column label="操作" width="180">
<template #default="{ row }">
<el-button
type="primary"
text
link
@click="fnView(row.TANKTRUCKINSPECTION_ID)"
> >
<el-row> 查看
<el-col :span="6"> </el-button>
<el-form-item label="检查部位" prop="INSPECTION_SITE"> <el-button
<el-input type="primary"
v-model="searchForm.INSPECTION_SITE" text
placeholder="请输入" link
/> @click="fnAddOrEdit(row.TANKTRUCKINSPECTION_ID, 'edit')"
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规定状态" prop="REGULATORY_STATUS">
<el-input
v-model="searchForm.REGULATORY_STATUS"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPagination">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<layout-card>
<layout-table
ref="tableRef"
v-model:pagination="pagination"
:data="list"
row-key="MANAGEMENTAGREEMENT_ID"
@get-data="fnGetData"
> >
<el-table-column label="序号" width="60"> 编辑
<template #default="{ $index }"> </el-button>
{{ serialNumber(pagination, $index) }} <el-button
</template> text
</el-table-column> link
<el-table-column prop="INSPECTION_SITE" label="检查部位"/> type="danger"
<el-table-column prop="REGULATORY_STATUS" label="规定状态"/> @click="deleteItem(row.TANKTRUCKINSPECTION_ID)"
<el-table-column label="操作" width="180"> >
<template #default="{ row }"> 删除
<el-button </el-button>
type="primary" </template>
text </el-table-column>
link <template #button>
@click="fnView(row.TANKTRUCKINSPECTION_ID)" <el-button type="primary" @click="fnAddOrEdit('', 'add')">
> 新增
查看 </el-button>
</el-button> </template>
<el-button </layout-table>
type="primary" </layout-card>
text <add
link v-model:visible="data.addOrEditDialog.visible"
@click="fnAddOrEdit(row.TANKTRUCKINSPECTION_ID, 'edit')" v-model:form="data.addOrEditDialog.form"
> :type="data.addOrEditDialog.type"
编辑 :options="[]"
</el-button> :loading="false"
<el-button @get-data="fnResetPagination"
text />
link <view-info
type="danger" v-model:visible="data.viewDialog.visible"
@click="deleteItem(row.TANKTRUCKINSPECTION_ID)" :info="data.viewDialog.info"
> label-name="详情"
删除 />
</el-button> </div>
</template>
</el-table-column>
<template #button>
<el-button type="primary" @click="fnAddOrEdit('', 'add')">
新增
</el-button>
</template>
</layout-table>
</layout-card>
<add
v-model:visible="data.addOrEditDialog.visible"
v-model:form="data.addOrEditDialog.form"
:type="data.addOrEditDialog.type"
:options="[]"
:loading="false"
@get-data="fnResetPagination"
/>
<view-info
v-model:visible="data.viewDialog.visible"
:info="data.viewDialog.info"
label-name="详情"
/>
</div>
</template> </template>
<script setup> <script setup>
import {serialNumber} from "@/assets/js/utils"; import { serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import Add from "./components/add.vue"; import Add from "./components/add.vue";
import {nextTick, reactive} from "vue"; import { nextTick, reactive } from "vue";
import ViewInfo from "./components/view.vue"; import ViewInfo from "./components/view.vue";
import { import {
setTankTruckInspectionDelete, setTankTruckInspectionDelete,
getTankTruckInspectionList, getTankTruckInspectionList,
getTankTruckInspectionView, getTankTruckInspectionView,
} from "@/request/mechanical_files.js"; } from "@/request/mechanical_files.js";
import {ElMessage, ElMessageBox} from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
const {list, pagination, searchForm, fnGetData, fnResetPagination} = const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getTankTruckInspectionList); useListData(getTankTruckInspectionList);
const data = reactive({ const data = reactive({
addOrEditDialog: { addOrEditDialog: {
visible: false, visible: false,
type: "", type: "",
form: {}, form: {},
}, },
viewDialog: { viewDialog: {
visible: false, visible: false,
info: {}, info: {},
}, },
});
const fnAddOrEdit = async (TANKTRUCKINSPECTION_ID = "", type = "add") => {
data.addOrEditDialog.visible = true;
data.addOrEditDialog.type = type;
if (type === "edit" && TANKTRUCKINSPECTION_ID) {
const resData = await getTankTruckInspectionView({
TANKTRUCKINSPECTION_ID,
}); });
data.addOrEditDialog.form = resData.pd;
} else {
data.addOrEditDialog.form = {
INSPECTION_SITE: "",
REGULATORY_STATUS: "",
}; //
}
await nextTick();
};
const fnAddOrEdit = async (TANKTRUCKINSPECTION_ID = "", type = "add") => { //
data.addOrEditDialog.visible = true; const deleteItem = async (value) => {
data.addOrEditDialog.type = type; await ElMessageBox.confirm(`确定要删除吗?`, {
if (type === "edit" && TANKTRUCKINSPECTION_ID) { type: "warning",
const resData = await getTankTruckInspectionView({ });
TANKTRUCKINSPECTION_ID, await setTankTruckInspectionDelete({ TANKTRUCKINSPECTION_ID: value });
}); ElMessage.success("删除成功");
data.addOrEditDialog.form = resData.pd fnGetData();
} else { };
data.addOrEditDialog.form = { const fnView = async (TANKTRUCKINSPECTION_ID) => {
INSPECTION_SITE:'', const resData = await getTankTruckInspectionView({
REGULATORY_STATUS:'', TANKTRUCKINSPECTION_ID,
}; // });
} data.viewDialog.info = resData.pd;
await nextTick(); data.viewDialog.visible = true;
}; };
//
const deleteItem = async (value) => {
await ElMessageBox.confirm(`确定要删除吗?`, {
type: "warning",
});
await setTankTruckInspectionDelete({TANKTRUCKINSPECTION_ID: value});
ElMessage.success("删除成功");
fnGetData();
};
const fnView = async (TANKTRUCKINSPECTION_ID) => {
const resData = await getTankTruckInspectionView({
TANKTRUCKINSPECTION_ID,
});
data.viewDialog.info = resData.pd;
data.viewDialog.visible = true;
};
</script> </script>
<style scoped></style> <style scoped></style>

View File

@ -1,450 +1,463 @@
<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"> <el-form-item label="罐检车辆" prop="VEHICLE">
<el-select <el-select v-model="form.VEHICLE" @change="getBusInfo">
v-model="form.VEHICLE" <el-option
@change="getBusInfo" v-for="item in data.vehicleList"
> :key="item.ID"
<el-option :label="item.PLATE_NUMBER"
v-for="item in data.vehicleList" :value="item.ID"
:key="item.ID" />
:label="item.PLATE_NUMBER" </el-select>
:value="item.ID" </el-form-item>
/> </el-col>
</el-select> <el-col :span="24">
</el-form-item> <el-divider content-position="left">基本信息</el-divider>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="13">
<el-divider content-position="left">基本信息</el-divider> <el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG">
</el-col> <layout-upload
<el-col :span="13"> v-model:file-list="data.busInfo.DRIVING_LICENSE_IMG"
<el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG"> list-type="picture-card"
<layout-upload accept=".jpg,.jpeg,.png"
v-model:file-list="data.busInfo.DRIVING_LICENSE_IMG" delete-to-server
list-type="picture-card" disabled
accept=".jpg,.jpeg,.png" />
delete-to-server </el-form-item>
disabled </el-col>
/> <el-col :span="12">
</el-form-item> <el-form-item label="车牌号" prop="PLATE_NUMBER">
</el-col> <el-input v-model="data.busInfo.PLATE_NUMBER" disabled />
<el-col :span="12"> </el-form-item>
<el-form-item label="车牌号" prop="PLATE_NUMBER"> </el-col>
<el-input v-model="data.busInfo.PLATE_NUMBER" disabled/> <el-col :span="12">
</el-form-item> <el-form-item label="车架号" prop="VIN">
</el-col> <el-input v-model="data.busInfo.VIN" disabled />
<el-col :span="12"> </el-form-item>
<el-form-item label="车架号" prop="VIN"> </el-col>
<el-input v-model="data.busInfo.VIN" disabled/> <el-col :span="12">
</el-form-item> <el-form-item label="车辆类型" prop="TRAILER_TYPE">
</el-col> <el-input v-model="data.busInfo.TRAILER_TYPE" disabled />
<el-col :span="12"> </el-form-item>
<el-form-item label="车辆类型" prop="TRAILER_TYPE"> </el-col>
<el-input v-model="data.busInfo.TRAILER_TYPE" disabled/> <el-col :span="12">
</el-form-item> <el-form-item label="车主/业户" prop="CAR_OWNERS ">
</el-col> <el-input v-model="data.busInfo.CAR_OWNERS" disabled />
<el-col :span="12"> </el-form-item>
<el-form-item label="车主/业户" prop="CAR_OWNERS "> </el-col>
<el-input v-model="data.busInfo.CAR_OWNERS" disabled/> <el-col :span="12">
</el-form-item> <el-form-item label="车主电话" prop="CAR_OWNERS_TEL">
</el-col> <el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled />
<el-col :span="12"> </el-form-item>
<el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> </el-col>
<el-input v-model="data.busInfo.CAR_OWNERS_TEL" disabled/> <el-col :span="12">
</el-form-item> <el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE">
</el-col> <el-date-picker
<el-col :span="12"> v-model="data.busInfo.INITIAL_REGISTRATION_DATE"
<el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE"> value-format="YYYY-MM-DD"
<el-date-picker format="YYYY-MM-DD"
v-model="data.busInfo.INITIAL_REGISTRATION_DATE" type="date"
value-format="YYYY-MM-DD" disabled
format="YYYY-MM-DD" />
type="date" </el-form-item>
disabled </el-col>
/> <el-col :span="12">
</el-form-item> <el-form-item label="所属区域" prop="COMPANY_AREA">
</el-col> <el-input v-model="data.busInfo.COMPANY_AREA" disabled />
<el-col :span="12"> </el-form-item>
<el-form-item label="所属区域" prop="COMPANY_AREA"> </el-col>
<el-input v-model="data.busInfo.COMPANY_AREA" disabled/> <el-col :span="24">
</el-form-item> <el-divider content-position="left">罐检信息</el-divider>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-divider content-position="left">罐检信息</el-divider> <layout-table :data="data.childList" :show-pagination="false">
</el-col> <el-table-column type="index" label="序号" width="50" />
<el-col :span="24"> <el-table-column prop="INSPECTION_SITE" label="检查部位" />
<layout-table :data="data.childList" :show-pagination="false"> <el-table-column prop="REGULATORY_STATUS" label="规定状态" />
<el-table-column type="index" label="序号" width="50"/> <el-table-column label="操作" width="300">
<el-table-column prop="INSPECTION_SITE" label="检查部位"/> <template #default="{ row }">
<el-table-column prop="REGULATORY_STATUS" label="规定状态"/> <el-radio-group v-model="row.INSPECTION_STATUS">
<el-table-column label="操作" width="300"> <el-radio value="1">合格</el-radio>
<template #default="{ row }"> <el-radio value="2">不合格</el-radio>
<el-radio-group v-model="row.INSPECTION_STATUS"> <el-radio value="3">不涉及</el-radio>
<el-radio value="1">合格</el-radio> </el-radio-group>
<el-radio value="2">不合格</el-radio> </template>
<el-radio value="3">不涉及</el-radio> </el-table-column>
</el-radio-group> </layout-table>
</template> </el-col>
</el-table-column> <el-col :span="12">
</layout-table> <el-form-item label="检查日期" prop="INSPECTION_DATE">
</el-col> <el-date-picker
<el-col :span="12"> v-model="form.INSPECTION_DATE"
<el-form-item label="检查日期" prop="INSPECTION_DATE"> value-format="YYYY-MM-DD"
<el-date-picker format="YYYY-MM-DD"
v-model="form.INSPECTION_DATE" type="date"
value-format="YYYY-MM-DD" @change="getDueDate"
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="INSPECTIONTOR">
</el-col> <el-select v-model="form.INSPECTIONTOR" multiple filterable>
<el-col :span="12"> <el-option
<el-form-item label="检查人" prop="INSPECTIONTOR"> v-for="item in data.userList"
<el-select v-model="form.INSPECTIONTOR" multiple filterable> :key="item.USER_ID"
<el-option :label="item.NAME"
v-for="item in data.userList" :value="item.USER_ID"
:key="item.USER_ID" />
:label="item.NAME" </el-select>
:value="item.USER_ID" </el-form-item>
/> </el-col>
</el-select> <el-col :span="12">
</el-form-item> <el-form-item label="检查周期(天)" prop="INSPECTION_CYCLE">
</el-col> <el-input
<el-col :span="12"> v-model.number="form.INSPECTION_CYCLE"
<el-form-item label="检查周期(天)" prop="INSPECTION_CYCLE"> type="number"
<el-input maxlength="50"
v-model.number="form.INSPECTION_CYCLE" show-word-limit
type="number" @change="getDueDate"
maxlength="50" />
show-word-limit </el-form-item>
@change="getDueDate" </el-col>
/> <el-col :span="12">
</el-form-item> <el-form-item label="到期日期" prop="DUE_DATE">
</el-col> <el-date-picker
<el-col :span="12"> v-model="form.DUE_DATE"
<el-form-item label="到期日期" prop="DUE_DATE"> value-format="YYYY-MM-DD"
<el-date-picker format="YYYY-MM-DD"
v-model="form.DUE_DATE" type="date"
value-format="YYYY-MM-DD" @change="getRemiderDate"
format="YYYY-MM-DD" />
type="date" </el-form-item>
@change="getRemiderDate" </el-col>
/>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="提醒天数" prop="REMINDER_DAYS"> <el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-select v-model="form.REMINDER_DAYS" @change="getRemiderDate"> <el-select v-model="form.REMINDER_DAYS" @change="getRemiderDate">
<el-option <el-option
v-for="item in REMIND_DAYS" v-for="item in REMIND_DAYS"
:key="item.NAME" :key="item.NAME"
:label="item.NAME" :label="item.NAME"
:value="item.NUM" :value="item.NUM"
/> />
</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="REMINDER_DATE"> <el-form-item label="提醒日期" prop="REMINDER_DATE">
<el-date-picker <el-date-picker
v-model="form.REMINDER_DATE" v-model="form.REMINDER_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="24"> <el-col :span="24">
<el-form-item label="提醒状态" prop="REMINDER_STATUS"> <el-form-item label="提醒状态" prop="REMINDER_STATUS">
<el-switch <el-switch
v-model="form.REMINDER_STATUS" v-model="form.REMINDER_STATUS"
inline-prompt inline-prompt
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
active-value="1" active-value="1"
inactive-value="0" inactive-value="0"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检查附件" prop="INSPECTION_ATTACHMENT"> <el-form-item label="检查附件" prop="INSPECTION_ATTACHMENT">
<layout-upload <layout-upload
v-model:file-list="form.INSPECTION_ATTACHMENT" v-model:file-list="form.INSPECTION_ATTACHMENT"
accept=".pdf" accept=".pdf"
delete-to-server delete-to-server
:limit="99" :limit="99"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检查图片" prop="INSPECTION_IMG"> <el-form-item label="检查图片" prop="INSPECTION_IMG">
<layout-upload <layout-upload
v-model:file-list="form.INSPECTION_IMG" v-model:file-list="form.INSPECTION_IMG"
list-type="picture-card" list-type="picture-card"
accept=".jpg,.jpeg,.png" accept=".jpg,.jpeg,.png"
:limit="99" :limit="99"
delete-to-server delete-to-server
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="NOTES"> <el-form-item label="备注" prop="NOTES">
<el-input <el-input
v-model="form.NOTES" v-model="form.NOTES"
type="textarea" type="textarea"
:autosize="{ minRows: 3 }" :autosize="{ minRows: 3 }"
maxlength="250" maxlength="250"
show-word-limit show-word-limit
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="mt-10 tc"> <div class="mt-10 tc">
<el-button type="primary" @click="fnSubmit"></el-button> <el-button type="primary" @click="fnSubmit"></el-button>
</div> </div>
</layout-card> </layout-card>
</template> </template>
<script setup> <script setup>
import {getUserListAll} from "@/request/data_dictionary.js"; import { getUserListAll } from "@/request/data_dictionary.js";
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 { import {
getTankTruckInspectionRecordView, getTankTruckInspectionRecordView,
setTankTruckInspectionRecordAdd, setTankTruckInspectionRecordAdd,
setTankTruckInspectionRecordEdit, setTankTruckInspectionRecordEdit,
getTankTruckInspectionListAll, getTankTruckInspectionListAll,
getTrailerList, getTrailerList,
} from "@/request/mechanical_files.js"; } from "@/request/mechanical_files.js";
import {setUploadImg} from "@/request/api.js"; import { setUploadImg } from "@/request/api.js";
import {ElMessage} from "element-plus"; import { ElMessage } from "element-plus";
import {useRoute, useRouter} from "vue-router"; import { useRoute, useRouter } from "vue-router";
import useFormValidate from "@/assets/js/useFormValidate.js"; import useFormValidate from "@/assets/js/useFormValidate.js";
import {addingPrefixToFile, subtractDaysFromDate} from "@/assets/js/utils.js"; import { addingPrefixToFile, subtractDaysFromDate } from "@/assets/js/utils.js";
import {REMIND_DAYS} from "@/assets/js/constant.js"; import { REMIND_DAYS } from "@/assets/js/constant.js";
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const TANKTRUCKINSPECTIONRECORD_ID = route.query.TANKTRUCKINSPECTIONRECORD_ID; const TANKTRUCKINSPECTIONRECORD_ID = route.query.TANKTRUCKINSPECTIONRECORD_ID;
const formRef = ref(null); const formRef = ref(null);
const form = ref({ const form = ref({
VEHICLE: '', VEHICLE: "",
INSPECTION_DATE: '', INSPECTION_DATE: "",
INSPECTIONTOR: [], INSPECTIONTOR: [],
DUE_DATE: '', DUE_DATE: "",
INSPECTION_CYCLE: '', INSPECTION_CYCLE: "",
REMINDER_DAYS: '', REMINDER_DAYS: "",
REMINDER_DATE: '', REMINDER_DATE: "",
REMINDER_STATUS: '', REMINDER_STATUS: "",
INSPECTION_ATTACHMENT: [], INSPECTION_ATTACHMENT: [],
INSPECTION_IMG: [], INSPECTION_IMG: [],
NOTES: '' NOTES: "",
}); });
const data = reactive({ const data = reactive({
vehicleList: [], vehicleList: [],
busInfo: { busInfo: {
DRIVING_LICENSE_IMG: [], DRIVING_LICENSE_IMG: [],
PLATE_NUMBER: "", PLATE_NUMBER: "",
VIN: "", VIN: "",
TRAILER_TYPE: "", TRAILER_TYPE: "",
CAR_OWNERS: "", CAR_OWNERS: "",
CAR_OWNERS_TEL: "", CAR_OWNERS_TEL: "",
INITIAL_REGISTRATION_DATE: "", INITIAL_REGISTRATION_DATE: "",
COMPANY_AREA: "", COMPANY_AREA: "",
}, },
userList: [], userList: [],
childList: [] childList: [],
}); });
const rules = { const rules = {
VEHICLE: [{required: true, message: "请输入", trigger: "blur"}], VEHICLE: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTION_DATE: [{required: true, message: "请输入", trigger: "blur"}], INSPECTION_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTIONTOR: [{required: true, message: "请输入", trigger: "blur"}], INSPECTIONTOR: [{ required: true, message: "请输入", trigger: "blur" }],
DUE_DATE: [{required: true, message: "请输入", trigger: "blur"}], DUE_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTION_CYCLE: [{required: true, message: "请输入", trigger: "blur"}], INSPECTION_CYCLE: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DAYS: [{required: true, message: "请输入", trigger: "blur"}], REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DATE: [{required: true, message: "请输入", trigger: "blur"}], REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_STATUS: [{required: true, message: "请输入", trigger: "blur"}], REMINDER_STATUS: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTION_ATTACHMENT: [{required: true, message: "请添加附件", trigger: "blur"}], INSPECTION_ATTACHMENT: [
INSPECTION_IMG: [{required: true, message: "请添加图片", trigger: "blur"}], { required: true, message: "请添加附件", trigger: "blur" },
}; ],
const getDueDate = () => { INSPECTION_IMG: [{ required: true, message: "请添加图片", trigger: "blur" }],
if (form.value.INSPECTION_DATE && form.value.INSPECTION_CYCLE) { };
form.value.DUE_DATE = subtractDaysFromDate( const getDueDate = () => {
form.value.INSPECTION_DATE, if (form.value.INSPECTION_DATE && form.value.INSPECTION_CYCLE) {
form.value.INSPECTION_CYCLE, form.value.DUE_DATE = subtractDaysFromDate(
true form.value.INSPECTION_DATE,
); form.value.INSPECTION_CYCLE,
if (form.value.REMINDER_DAYS) { true
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) => {
if (val) {
if (form.value.DUE_DATE) {
//
const reminderDateStr = subtractDaysFromDate(form.value.DUE_DATE, val);
const reminderDate = new Date(reminderDateStr);
const today = new Date();
//
if (reminderDate < today) {
//
ElMessage.error("输入的提醒天数错误,提醒日期不能早于当前日期。");
form.value.REMINDER_DATE = ""; //
} else {
//
form.value.REMINDER_DATE = reminderDateStr;
}
}
} else {
form.value.REMINDER_DATE = "";
}
};
const getUserList = async () => {
const resData = await getUserListAll();
data.userList = resData.userList;
};
getUserList()
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([]);
};
getVehicle("2");
const fnBusChange = async (event) => {
const resData = await getTrailerList({ID: event});
data.busInfo = resData.list[0];
if (form.value.TELEPHONE === "") {
form.value.TELEPHONE = data.busInfo.CAR_OWNERS_TEL;
}
if (form.value.CAR_OWNERS === "") {
form.value.CAR_OWNERS = data.busInfo.CAR_OWNERS;
}
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 (!TANKTRUCKINSPECTIONRECORD_ID) {
const tableData = await getTankTruckInspectionListAll()
const childList = []
tableData.list.forEach(item => {
const _obj = {
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: '1'
}
childList.push(_obj)
})
data.childList = childList
return;
}
const resData = await getTankTruckInspectionRecordView({TANKTRUCKINSPECTIONRECORD_ID});
resData.pd.INSPECTIONTOR = resData.pd.INSPECTIONTOR.split(",")
form.value = resData.pd;
data.childList = resData.detail
form.value.INSPECTION_ATTACHMENT = [];
form.value.INSPECTION_IMG = [];
fnBusChange(form.value.VEHICLE);
form.value.INSPECTION_ATTACHMENT = addingPrefixToFile(resData.inspectionAttachmentImgs);
form.value.INSPECTION_IMG = addingPrefixToFile(resData.inspectionImgs);
};
fnGetData();
const fnUploadImage = async (currentId, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", currentId);
formData.append("TYPE", TYPE); // TYPE
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = {};
Object.keys(form.value).forEach((key) => {
if(key!=='INSPECTIONTOR'&&key!=='INSPECTION_ATTACHMENT'&&key!=='INSPECTION_IMG'){
formData[key] = form.value[key]
}
});
formData.INSPECTIONTOR = form.value.INSPECTIONTOR.join(',')
const DETAILS =[]
data.childList.forEach(item=>{
DETAILS.push({
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: item.INSPECTION_STATUS
})
})
formData.DETAILS = JSON.stringify(DETAILS)
const resData = !TANKTRUCKINSPECTIONRECORD_ID
? await setTankTruckInspectionRecordAdd({...formData})
: await setTankTruckInspectionRecordEdit({...formData, TANKTRUCKINSPECTIONRECORD_ID});
const currentId = resData.pd.TANKTRUCKINSPECTIONRECORD_ID;
//
for (let i = 0; i < form.value.INSPECTION_ATTACHMENT.length; i++) {
if (form.value.INSPECTION_ATTACHMENT[i].raw) {
await fnUploadImage(currentId, form.value.INSPECTION_ATTACHMENT[i].raw, "130"); //
}
}
//
for (let i = 0; i < form.value.INSPECTION_IMG.length; i++) {
if (form.value.INSPECTION_IMG[i].raw) {
await fnUploadImage(currentId, form.value.INSPECTION_IMG[i].raw, "131"); //
}
}
ElMessage.success("保存成功");
router.back();
},
{atBegin: true}
); );
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) => {
if (val) {
if (form.value.DUE_DATE) {
//
const reminderDateStr = subtractDaysFromDate(form.value.DUE_DATE, val);
const reminderDate = new Date(reminderDateStr);
const today = new Date();
//
if (reminderDate < today) {
//
ElMessage.error("输入的提醒天数错误,提醒日期不能早于当前日期。");
form.value.REMINDER_DATE = ""; //
} else {
//
form.value.REMINDER_DATE = reminderDateStr;
}
}
} else {
form.value.REMINDER_DATE = "";
}
};
const getUserList = async () => {
const resData = await getUserListAll();
data.userList = resData.userList;
};
getUserList();
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([]);
};
getVehicle("2");
const fnBusChange = async (event) => {
const resData = await getTrailerList({ ID: event });
data.busInfo = resData.list[0];
if (form.value.TELEPHONE === "") {
form.value.TELEPHONE = data.busInfo.CAR_OWNERS_TEL;
}
if (form.value.CAR_OWNERS === "") {
form.value.CAR_OWNERS = data.busInfo.CAR_OWNERS;
}
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 (!TANKTRUCKINSPECTIONRECORD_ID) {
const tableData = await getTankTruckInspectionListAll();
const childList = [];
tableData.list.forEach((item) => {
const _obj = {
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: "1",
};
childList.push(_obj);
});
data.childList = childList;
return;
}
const resData = await getTankTruckInspectionRecordView({
TANKTRUCKINSPECTIONRECORD_ID,
});
resData.pd.INSPECTIONTOR = resData.pd.INSPECTIONTOR.split(",");
form.value = resData.pd;
data.childList = resData.detail;
form.value.INSPECTION_ATTACHMENT = [];
form.value.INSPECTION_IMG = [];
fnBusChange(form.value.VEHICLE);
form.value.INSPECTION_ATTACHMENT = addingPrefixToFile(
resData.inspectionAttachmentImgs
);
form.value.INSPECTION_IMG = addingPrefixToFile(resData.inspectionImgs);
};
fnGetData();
const fnUploadImage = async (currentId, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", currentId);
formData.append("TYPE", TYPE); // TYPE
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = {};
Object.keys(form.value).forEach((key) => {
if (
key !== "INSPECTIONTOR" &&
key !== "INSPECTION_ATTACHMENT" &&
key !== "INSPECTION_IMG"
) {
formData[key] = form.value[key];
}
});
formData.INSPECTIONTOR = form.value.INSPECTIONTOR.join(",");
const DETAILS = [];
data.childList.forEach((item) => {
DETAILS.push({
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: item.INSPECTION_STATUS,
});
});
formData.DETAILS = JSON.stringify(DETAILS);
const resData = !TANKTRUCKINSPECTIONRECORD_ID
? await setTankTruckInspectionRecordAdd({ ...formData })
: await setTankTruckInspectionRecordEdit({
...formData,
TANKTRUCKINSPECTIONRECORD_ID,
});
const currentId = resData.pd.TANKTRUCKINSPECTIONRECORD_ID;
//
for (let i = 0; i < form.value.INSPECTION_ATTACHMENT.length; i++) {
if (form.value.INSPECTION_ATTACHMENT[i].raw) {
await fnUploadImage(
currentId,
form.value.INSPECTION_ATTACHMENT[i].raw,
"130"
); //
}
}
//
for (let i = 0; i < form.value.INSPECTION_IMG.length; i++) {
if (form.value.INSPECTION_IMG[i].raw) {
await fnUploadImage(currentId, form.value.INSPECTION_IMG[i].raw, "131"); //
}
}
ElMessage.success("保存成功");
router.back();
},
{ atBegin: true }
);
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss"></style>

View File

@ -7,15 +7,12 @@
</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 <el-select v-model="form.VEHICLE" @change="getBusInfo">
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>
@ -26,53 +23,53 @@
<el-col :span="13"> <el-col :span="13">
<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">
@ -80,9 +77,9 @@
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<layout-table :data="data.childList" :show-pagination="false"> <layout-table :data="data.childList" :show-pagination="false">
<el-table-column type="index" label="序号" width="50"/> <el-table-column type="index" label="序号" width="50" />
<el-table-column prop="INSPECTION_SITE" label="检查部位"/> <el-table-column prop="INSPECTION_SITE" label="检查部位" />
<el-table-column prop="REGULATORY_STATUS" label="规定状态"/> <el-table-column prop="REGULATORY_STATUS" label="规定状态" />
<el-table-column label="操作" width="300"> <el-table-column label="操作" width="300">
<template #default="{ row }"> <template #default="{ row }">
<el-radio-group v-model="row.INSPECTION_STATUS"> <el-radio-group v-model="row.INSPECTION_STATUS">
@ -97,11 +94,11 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检查日期" prop="INSPECTION_DATE"> <el-form-item label="检查日期" prop="INSPECTION_DATE">
<el-date-picker <el-date-picker
v-model="form.INSPECTION_DATE" v-model="form.INSPECTION_DATE"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" type="date"
@change="getDueDate" @change="getDueDate"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -109,10 +106,10 @@
<el-form-item label="检查人" prop="INSPECTIONTOR"> <el-form-item label="检查人" prop="INSPECTIONTOR">
<el-select v-model="form.INSPECTIONTOR" multiple filterable> <el-select v-model="form.INSPECTIONTOR" multiple filterable>
<el-option <el-option
v-for="item in data.userList" v-for="item in data.userList"
:key="item.USER_ID" :key="item.USER_ID"
:label="item.NAME" :label="item.NAME"
:value="item.USER_ID" :value="item.USER_ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -120,22 +117,22 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检查周期(天)" prop="INSPECTION_CYCLE"> <el-form-item label="检查周期(天)" prop="INSPECTION_CYCLE">
<el-input <el-input
v-model.number="form.INSPECTION_CYCLE" v-model.number="form.INSPECTION_CYCLE"
type="number" type="number"
maxlength="50" maxlength="50"
show-word-limit show-word-limit
@change="getDueDate" @change="getDueDate"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="到期日期" prop="DUE_DATE"> <el-form-item label="到期日期" prop="DUE_DATE">
<el-date-picker <el-date-picker
v-model="form.DUE_DATE" v-model="form.DUE_DATE"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" type="date"
@change="getRemiderDate" @change="getRemiderDate"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -144,10 +141,10 @@
<el-form-item label="提醒天数" prop="REMINDER_DAYS"> <el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-select v-model="form.REMINDER_DAYS" @change="getRemiderDate"> <el-select v-model="form.REMINDER_DAYS" @change="getRemiderDate">
<el-option <el-option
v-for="item in REMIND_DAYS" v-for="item in REMIND_DAYS"
:key="item.NAME" :key="item.NAME"
:label="item.NAME" :label="item.NAME"
:value="item.NUM" :value="item.NUM"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -155,55 +152,55 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="提醒日期" prop="REMINDER_DATE"> <el-form-item label="提醒日期" prop="REMINDER_DATE">
<el-date-picker <el-date-picker
v-model="form.REMINDER_DATE" v-model="form.REMINDER_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="24"> <el-col :span="24">
<el-form-item label="提醒状态" prop="REMINDER_STATUS"> <el-form-item label="提醒状态" prop="REMINDER_STATUS">
<el-switch <el-switch
v-model="form.REMINDER_STATUS" v-model="form.REMINDER_STATUS"
inline-prompt inline-prompt
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
active-value="1" active-value="1"
inactive-value="0" inactive-value="0"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检查附件" prop="INSPECTION_ATTACHMENT"> <el-form-item label="检查附件" prop="INSPECTION_ATTACHMENT">
<layout-upload <layout-upload
v-model:file-list="form.INSPECTION_ATTACHMENT" v-model:file-list="form.INSPECTION_ATTACHMENT"
accept=".pdf" accept=".pdf"
delete-to-server delete-to-server
:limit="99" :limit="99"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检查图片" prop="INSPECTION_IMG"> <el-form-item label="检查图片" prop="INSPECTION_IMG">
<layout-upload <layout-upload
v-model:file-list="form.INSPECTION_IMG" v-model:file-list="form.INSPECTION_IMG"
list-type="picture-card" list-type="picture-card"
accept=".jpg,.jpeg,.png" accept=".jpg,.jpeg,.png"
:limit="99" :limit="99"
delete-to-server delete-to-server
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="NOTES"> <el-form-item label="备注" prop="NOTES">
<el-input <el-input
v-model="form.NOTES" v-model="form.NOTES"
type="textarea" type="textarea"
:autosize="{ minRows: 3 }" :autosize="{ minRows: 3 }"
maxlength="250" maxlength="250"
show-word-limit show-word-limit
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -216,233 +213,249 @@
</template> </template>
<script setup> <script setup>
import {getUserListAll} from "@/request/data_dictionary.js"; import { getUserListAll } from "@/request/data_dictionary.js";
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 { import {
getTankTruckInspectionRecordView, getTankTruckInspectionRecordView,
setTankTruckInspectionRecordAdd, setTankTruckInspectionRecordAdd,
setTankTruckInspectionRecordEdit, setTankTruckInspectionRecordEdit,
getTankTruckInspectionListAll, getTankTruckInspectionListAll,
getTrailerList, getTrailerList,
} from "@/request/mechanical_files.js"; } from "@/request/mechanical_files.js";
import {setUploadImg} from "@/request/api.js"; import { setUploadImg } from "@/request/api.js";
import {ElMessage} from "element-plus"; import { ElMessage } from "element-plus";
import {useRoute, useRouter} from "vue-router"; import { useRoute, useRouter } from "vue-router";
import useFormValidate from "@/assets/js/useFormValidate.js"; import useFormValidate from "@/assets/js/useFormValidate.js";
import {addingPrefixToFile, subtractDaysFromDate} from "@/assets/js/utils.js"; import { addingPrefixToFile, subtractDaysFromDate } from "@/assets/js/utils.js";
import {REMIND_DAYS} from "@/assets/js/constant.js"; import { REMIND_DAYS } from "@/assets/js/constant.js";
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const TANKTRUCKINSPECTIONRECORD_ID = route.query.TANKTRUCKINSPECTIONRECORD_ID; const TANKTRUCKINSPECTIONRECORD_ID = route.query.TANKTRUCKINSPECTIONRECORD_ID;
const formRef = ref(null); const formRef = ref(null);
const form = ref({ const form = ref({
VEHICLE: '', VEHICLE: "",
INSPECTION_DATE: '', INSPECTION_DATE: "",
INSPECTIONTOR: [], INSPECTIONTOR: [],
DUE_DATE: '', DUE_DATE: "",
INSPECTION_CYCLE: '', INSPECTION_CYCLE: "",
REMINDER_DAYS: '', REMINDER_DAYS: "",
REMINDER_DATE: '', REMINDER_DATE: "",
REMINDER_STATUS: '', REMINDER_STATUS: "",
INSPECTION_ATTACHMENT: [], INSPECTION_ATTACHMENT: [],
INSPECTION_IMG: [], INSPECTION_IMG: [],
NOTES: '' NOTES: "",
}); });
const data = reactive({ const data = reactive({
vehicleList: [], vehicleList: [],
busInfo: { busInfo: {
DRIVING_LICENSE_IMG: [], DRIVING_LICENSE_IMG: [],
PLATE_NUMBER: "", PLATE_NUMBER: "",
VIN: "", VIN: "",
TRAILER_TYPE: "", TRAILER_TYPE: "",
CAR_OWNERS: "", CAR_OWNERS: "",
CAR_OWNERS_TEL: "", CAR_OWNERS_TEL: "",
INITIAL_REGISTRATION_DATE: "", INITIAL_REGISTRATION_DATE: "",
COMPANY_AREA: "", COMPANY_AREA: "",
}, },
userList: [], userList: [],
childList: [] childList: [],
}); });
const rules = { const rules = {
VEHICLE: [{required: true, message: "请输入", trigger: "blur"}], VEHICLE: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTION_DATE: [{required: true, message: "请输入", trigger: "blur"}], INSPECTION_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTIONTOR: [{required: true, message: "请输入", trigger: "blur"}], INSPECTIONTOR: [{ required: true, message: "请输入", trigger: "blur" }],
DUE_DATE: [{required: true, message: "请输入", trigger: "blur"}], DUE_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTION_CYCLE: [{required: true, message: "请输入", trigger: "blur"}], INSPECTION_CYCLE: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DAYS: [{required: true, message: "请输入", trigger: "blur"}], REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DATE: [{required: true, message: "请输入", trigger: "blur"}], REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_STATUS: [{required: true, message: "请输入", trigger: "blur"}], REMINDER_STATUS: [{ required: true, message: "请输入", trigger: "blur" }],
INSPECTION_ATTACHMENT: [{required: true, message: "请添加附件", trigger: "blur"}], INSPECTION_ATTACHMENT: [
INSPECTION_IMG: [{required: true, message: "请添加图片", trigger: "blur"}], { required: true, message: "请添加附件", trigger: "blur" },
}; ],
const getDueDate = () => { INSPECTION_IMG: [{ required: true, message: "请添加图片", trigger: "blur" }],
if (form.value.INSPECTION_DATE && form.value.INSPECTION_CYCLE) { };
form.value.DUE_DATE = subtractDaysFromDate( const getDueDate = () => {
form.value.INSPECTION_DATE, if (form.value.INSPECTION_DATE && form.value.INSPECTION_CYCLE) {
form.value.INSPECTION_CYCLE, form.value.DUE_DATE = subtractDaysFromDate(
true form.value.INSPECTION_DATE,
); form.value.INSPECTION_CYCLE,
if (form.value.REMINDER_DAYS) { true
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) => {
if (val) {
if (form.value.DUE_DATE) {
//
const reminderDateStr = subtractDaysFromDate(form.value.DUE_DATE, val);
const reminderDate = new Date(reminderDateStr);
const today = new Date();
//
if (reminderDate < today) {
//
ElMessage.error("输入的提醒天数错误,提醒日期不能早于当前日期。");
form.value.REMINDER_DATE = ""; //
} else {
//
form.value.REMINDER_DATE = reminderDateStr;
}
}
} else {
form.value.REMINDER_DATE = "";
}
};
const getUserList = async () => {
const resData = await getUserListAll();
data.userList = resData.userList;
};
getUserList()
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([]);
};
getVehicle("2");
const fnBusChange = async (event) => {
const resData = await getTrailerList({ID: event});
data.busInfo = resData.list[0];
if (form.value.TELEPHONE === "") {
form.value.TELEPHONE = data.busInfo.CAR_OWNERS_TEL;
}
if (form.value.CAR_OWNERS === "") {
form.value.CAR_OWNERS = data.busInfo.CAR_OWNERS;
}
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 (!TANKTRUCKINSPECTIONRECORD_ID) {
const tableData = await getTankTruckInspectionListAll()
const childList = []
tableData.list.forEach(item => {
const _obj = {
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: 1
}
childList.push(_obj)
})
data.childList = childList
return;
}
const resData = await getTankTruckInspectionRecordView({TANKTRUCKINSPECTIONRECORD_ID});
form.value = resData.pd;
form.value.INSPECTION_ATTACHMENT = [];
form.value.INSPECTION_IMG = [];
fnBusChange(form.value.VEHICLE);
form.value.INSPECTION_ATTACHMENT = addingPrefixToFile(resData.inspectionAttachmentImgs);
form.value.INSPECTION_IMG = addingPrefixToFile(resData.inspectionImgs);
};
fnGetData();
const fnUploadImage = async (currentId, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", currentId);
formData.append("TYPE", TYPE); // TYPE
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = {};
Object.keys(form.value).forEach((key) => {
if(key!=='INSPECTIONTOR'&&key!=='INSPECTION_ATTACHMENT'&&key!=='INSPECTION_IMG'){
formData[key] = form.value[key]
}
});
formData.INSPECTIONTOR = form.value.INSPECTIONTOR.join(',')
const DETAILS =[]
data.childList.forEach(item=>{
DETAILS.push({
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: item.INSPECTION_STATUS
})
})
formData.DETAILS = JSON.stringify(DETAILS)
const resData = !TANKTRUCKINSPECTIONRECORD_ID
? await setTankTruckInspectionRecordAdd({...formData})
: await setTankTruckInspectionRecordEdit({...formData, TANKTRUCKINSPECTIONRECORD_ID});
const currentId = resData.pd.TANKTRUCKINSPECTIONRECORD_ID;
//
for (let i = 0; i < form.value.INSPECTION_ATTACHMENT.length; i++) {
if (form.value.INSPECTION_ATTACHMENT[i].raw) {
await fnUploadImage(currentId, form.value.INSPECTION_ATTACHMENT[i].raw, "130"); //
}
}
//
for (let i = 0; i < form.value.INSPECTION_IMG.length; i++) {
if (form.value.INSPECTION_IMG[i].raw) {
await fnUploadImage(currentId, form.value.INSPECTION_IMG[i].raw, "131"); //
}
}
ElMessage.success("保存成功");
router.back();
},
{atBegin: true}
); );
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) => {
if (val) {
if (form.value.DUE_DATE) {
//
const reminderDateStr = subtractDaysFromDate(form.value.DUE_DATE, val);
const reminderDate = new Date(reminderDateStr);
const today = new Date();
//
if (reminderDate < today) {
//
ElMessage.error("输入的提醒天数错误,提醒日期不能早于当前日期。");
form.value.REMINDER_DATE = ""; //
} else {
//
form.value.REMINDER_DATE = reminderDateStr;
}
}
} else {
form.value.REMINDER_DATE = "";
}
};
const getUserList = async () => {
const resData = await getUserListAll();
data.userList = resData.userList;
};
getUserList();
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([]);
};
getVehicle("2");
const fnBusChange = async (event) => {
const resData = await getTrailerList({ ID: event });
data.busInfo = resData.list[0];
if (form.value.TELEPHONE === "") {
form.value.TELEPHONE = data.busInfo.CAR_OWNERS_TEL;
}
if (form.value.CAR_OWNERS === "") {
form.value.CAR_OWNERS = data.busInfo.CAR_OWNERS;
}
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 (!TANKTRUCKINSPECTIONRECORD_ID) {
const tableData = await getTankTruckInspectionListAll();
const childList = [];
tableData.list.forEach((item) => {
const _obj = {
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: 1,
};
childList.push(_obj);
});
data.childList = childList;
return;
}
const resData = await getTankTruckInspectionRecordView({
TANKTRUCKINSPECTIONRECORD_ID,
});
form.value = resData.pd;
form.value.INSPECTION_ATTACHMENT = [];
form.value.INSPECTION_IMG = [];
fnBusChange(form.value.VEHICLE);
form.value.INSPECTION_ATTACHMENT = addingPrefixToFile(
resData.inspectionAttachmentImgs
);
form.value.INSPECTION_IMG = addingPrefixToFile(resData.inspectionImgs);
};
fnGetData();
const fnUploadImage = async (currentId, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", currentId);
formData.append("TYPE", TYPE); // TYPE
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = {};
Object.keys(form.value).forEach((key) => {
if (
key !== "INSPECTIONTOR" &&
key !== "INSPECTION_ATTACHMENT" &&
key !== "INSPECTION_IMG"
) {
formData[key] = form.value[key];
}
});
formData.INSPECTIONTOR = form.value.INSPECTIONTOR.join(",");
const DETAILS = [];
data.childList.forEach((item) => {
DETAILS.push({
INSPECTION_SITE: item.INSPECTION_SITE,
REGULATORY_STATUS: item.REGULATORY_STATUS,
INSPECTION_STATUS: item.INSPECTION_STATUS,
});
});
formData.DETAILS = JSON.stringify(DETAILS);
const resData = !TANKTRUCKINSPECTIONRECORD_ID
? await setTankTruckInspectionRecordAdd({ ...formData })
: await setTankTruckInspectionRecordEdit({
...formData,
TANKTRUCKINSPECTIONRECORD_ID,
});
const currentId = resData.pd.TANKTRUCKINSPECTIONRECORD_ID;
//
for (let i = 0; i < form.value.INSPECTION_ATTACHMENT.length; i++) {
if (form.value.INSPECTION_ATTACHMENT[i].raw) {
await fnUploadImage(
currentId,
form.value.INSPECTION_ATTACHMENT[i].raw,
"130"
); //
}
}
//
for (let i = 0; i < form.value.INSPECTION_IMG.length; i++) {
if (form.value.INSPECTION_IMG[i].raw) {
await fnUploadImage(currentId, form.value.INSPECTION_IMG[i].raw, "131"); //
}
}
ElMessage.success("保存成功");
router.back();
},
{ atBegin: true }
);
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss"></style>

View File

@ -11,10 +11,10 @@
<el-form-item label="检查车辆" prop="VEHICLE"> <el-form-item label="检查车辆" prop="VEHICLE">
<el-select v-model="searchForm.VEHICLE"> <el-select v-model="searchForm.VEHICLE">
<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>
@ -32,12 +32,12 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="检查人" prop="INSPECTIONTOR"> <el-form-item label="检查人" prop="INSPECTIONTOR">
<el-select v-model="searchForm.INSPECTIONTOR" filterable> <el-select v-model="searchForm.INSPECTIONTOR" filterable>
<el-option <el-option
v-for="item in data.userList" v-for="item in data.userList"
:key="item.USER_ID" :key="item.USER_ID"
:label="item.NAME" :label="item.NAME"
:value="item.USER_ID" :value="item.USER_ID"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -85,7 +85,10 @@
@click=" @click="
router.push({ router.push({
path: '/mechanical_files/tank_truck_record/tank_truck_inspection_record/view', path: '/mechanical_files/tank_truck_record/tank_truck_inspection_record/view',
query: { TANKTRUCKINSPECTIONRECORD_ID: row.TANKTRUCKINSPECTIONRECORD_ID }, query: {
TANKTRUCKINSPECTIONRECORD_ID:
row.TANKTRUCKINSPECTIONRECORD_ID,
},
}) })
" "
> >
@ -98,13 +101,21 @@
@click=" @click="
router.push({ router.push({
path: '/mechanical_files/tank_truck_record/tank_truck_inspection_record/edit', path: '/mechanical_files/tank_truck_record/tank_truck_inspection_record/edit',
query: { TANKTRUCKINSPECTIONRECORD_ID: row.TANKTRUCKINSPECTIONRECORD_ID }, query: {
TANKTRUCKINSPECTIONRECORD_ID:
row.TANKTRUCKINSPECTIONRECORD_ID,
},
}) })
" "
> >
编辑 编辑
</el-button> </el-button>
<el-button type="danger" text link @click="fnDelete(row.TANKTRUCKINSPECTIONRECORD_ID)"> <el-button
type="danger"
text
link
@click="fnDelete(row.TANKTRUCKINSPECTIONRECORD_ID)"
>
删除 删除
</el-button> </el-button>
</template> </template>
@ -112,7 +123,11 @@
<template #button> <template #button>
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/mechanical_files/tank_truck_record/tank_truck_inspection_record/add' })" @click="
router.push({
path: '/mechanical_files/tank_truck_record/tank_truck_inspection_record/add',
})
"
> >
新增 新增
</el-button> </el-button>
@ -123,31 +138,31 @@
</template> </template>
<script setup> <script setup>
import { reactive} from "vue"; import { reactive } from "vue";
import {getUserListAll} from "@/request/data_dictionary.js"; import { getUserListAll } from "@/request/data_dictionary.js";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { serialNumber } from "@/assets/js/utils"; import { serialNumber } from "@/assets/js/utils";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { import {
getTankTruckInspectionRecordList, getTankTruckInspectionRecordList,
setTankTruckInspectionRecordDelete, setTankTruckInspectionRecordDelete,
getTrailerList, getTrailerList,
} from "@/request/mechanical_files.js"; } from "@/request/mechanical_files.js";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import { ElMessageBox, ElMessage } from "element-plus"; import { ElMessageBox, ElMessage } from "element-plus";
const router = useRouter(); const router = useRouter();
const data = reactive({ const data = reactive({
vehicleList: [], vehicleList: [],
userList: [], userList: [],
}); });
const getUserList = async () => { const getUserList = async () => {
const resData = await getUserListAll(); const resData = await getUserListAll();
data.userList = resData.userList; data.userList = resData.userList;
}; };
getUserList() getUserList();
const getVehicle = async (event) => { const getVehicle = async (event) => {
const resData = await getTrailerList({TRAFFIC_TYPE: event}); const resData = await getTrailerList({ TRAFFIC_TYPE: event });
data.vehicleList = resData.list; data.vehicleList = resData.list;
}; };
getVehicle("2"); getVehicle("2");
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } = const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
@ -160,7 +175,6 @@ const fnGetDataTransfer = () => {
}); });
}; };
const fnResetPaginationTransfer = () => { const fnResetPaginationTransfer = () => {
console.log()
fnResetPagination({ fnResetPagination({
VEHICLE: searchForm.value.VEHICLE, VEHICLE: searchForm.value.VEHICLE,
INSPECTION_DATE: searchForm.value.INSPECTION_DATE, INSPECTION_DATE: searchForm.value.INSPECTION_DATE,

View File

@ -29,20 +29,20 @@
</el-descriptions> </el-descriptions>
<el-divider content-position="left">罐检信息</el-divider> <el-divider content-position="left">罐检信息</el-divider>
<layout-table :data="data.childList" :show-pagination="false"> <layout-table :data="data.childList" :show-pagination="false">
<el-table-column type="index" label="序号" width="50"/> <el-table-column type="index" label="序号" width="50" />
<el-table-column prop="INSPECTION_SITE" label="检查部位"/> <el-table-column prop="INSPECTION_SITE" label="检查部位" />
<el-table-column prop="REGULATORY_STATUS" label="规定状态"/> <el-table-column prop="REGULATORY_STATUS" label="规定状态" />
<el-table-column label="操作" width="300"> <el-table-column label="操作" width="300">
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.INSPECTION_STATUS==='1'"></span> <span v-if="row.INSPECTION_STATUS === '1'"></span>
<span v-if="row.INSPECTION_STATUS==='2'"></span> <span v-if="row.INSPECTION_STATUS === '2'"></span>
<span v-if="row.INSPECTION_STATUS==='3'"></span> <span v-if="row.INSPECTION_STATUS === '3'"></span>
</template> </template>
</el-table-column> </el-table-column>
</layout-table> </layout-table>
<el-descriptions :column="2" border> <el-descriptions :column="2" border>
<el-descriptions-item label-class-name="width_200" label="检查日期"> <el-descriptions-item label-class-name="width_200" label="检查日期">
{{ info.INSPECTION_DATE }} {{ info.INSPECTION_DATE }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="检查人"> <el-descriptions-item label-class-name="width_200" label="检查人">
{{ info.INSPECTIONTOR_NAME }} {{ info.INSPECTIONTOR_NAME }}
@ -50,7 +50,10 @@
<el-descriptions-item label-class-name="width_200" label="到期日期"> <el-descriptions-item label-class-name="width_200" label="到期日期">
{{ info.DUE_DATE }} {{ info.DUE_DATE }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="检查周期(天)"> <el-descriptions-item
label-class-name="width_200"
label="检查周期(天)"
>
{{ info.INSPECTION_CYCLE }} {{ info.INSPECTION_CYCLE }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="提醒天数"> <el-descriptions-item label-class-name="width_200" label="提醒天数">
@ -59,7 +62,11 @@
<el-descriptions-item label-class-name="width_200" label="提醒日期"> <el-descriptions-item label-class-name="width_200" label="提醒日期">
{{ info.REMINDER_DATE }} {{ info.REMINDER_DATE }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name="width_200" label="提醒状态" span="2"> <el-descriptions-item
label-class-name="width_200"
label="提醒状态"
span="2"
>
{{ info.REMINDER_STATUS === "1" ? "开启" : "关闭" }} {{ info.REMINDER_STATUS === "1" ? "开启" : "关闭" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item <el-descriptions-item
@ -67,19 +74,16 @@
label="检查附件" label="检查附件"
span="2" span="2"
> >
<div v-for="item in info.INSPECTION_ATTACHMENT" <div v-for="item in info.INSPECTION_ATTACHMENT" :key="item.FILEPATH">
:key="item.FILEPATH">
<el-button <el-button
type="primary"
type="primary" text
text link
link @click="useDownloadFile(item.FILEPATH)"
@click="useDownloadFile(item.FILEPATH)"
> >
{{item.name}} 下载 {{ item.name }} 下载
</el-button> </el-button>
</div> </div>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item <el-descriptions-item
label-class-name="width_200" label-class-name="width_200"
@ -116,7 +120,10 @@
<script setup> <script setup>
import useDownloadFile from "@/assets/js/useDownloadFile.js"; import useDownloadFile from "@/assets/js/useDownloadFile.js";
import { ref, reactive } from "vue"; import { ref, reactive } from "vue";
import { getTankTruckInspectionRecordView, getTrailerList } from "@/request/mechanical_files.js"; import {
getTankTruckInspectionRecordView,
getTrailerList,
} from "@/request/mechanical_files.js";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { addingPrefixToFile } from "@/assets/js/utils.js"; import { addingPrefixToFile } from "@/assets/js/utils.js";
const route = useRoute(); const route = useRoute();
@ -134,7 +141,7 @@ const data = reactive({
CAR_OWNERS_TEL: "", CAR_OWNERS_TEL: "",
INITIAL_REGISTRATION_DATE: "", INITIAL_REGISTRATION_DATE: "",
}, },
childList:[] childList: [],
}); });
const fnBusChange = async (event) => { const fnBusChange = async (event) => {
const resData = await getTrailerList({ ID: event }); const resData = await getTrailerList({ ID: event });
@ -145,15 +152,19 @@ const fnBusChange = async (event) => {
}; };
const fnGetData = async () => { const fnGetData = async () => {
if (!TANKTRUCKINSPECTIONRECORD_ID) return; if (!TANKTRUCKINSPECTIONRECORD_ID) return;
const resData = await getTankTruckInspectionRecordView({TANKTRUCKINSPECTIONRECORD_ID}); const resData = await getTankTruckInspectionRecordView({
resData.pd.INSPECTIONTOR = resData.pd.INSPECTIONTOR.split(",") TANKTRUCKINSPECTIONRECORD_ID,
info.value = resData.pd; });
data.childList = resData.detail resData.pd.INSPECTIONTOR = resData.pd.INSPECTIONTOR.split(",");
info.value.INSPECTION_ATTACHMENT = []; info.value = resData.pd;
info.value.INSPECTION_IMG = []; data.childList = resData.detail;
fnBusChange(info.value.VEHICLE); info.value.INSPECTION_ATTACHMENT = [];
info.value.INSPECTION_ATTACHMENT = addingPrefixToFile(resData.inspectionAttachmentImgs); info.value.INSPECTION_IMG = [];
info.value.INSPECTION_IMG = addingPrefixToFile(resData.inspectionImgs); fnBusChange(info.value.VEHICLE);
info.value.INSPECTION_ATTACHMENT = addingPrefixToFile(
resData.inspectionAttachmentImgs
);
info.value.INSPECTION_IMG = addingPrefixToFile(resData.inspectionImgs);
}; };
fnGetData(); fnGetData();
</script> </script>