forked from integrated_whb/integrated_whb_vue
Merge remote-tracking branch 'origin/dev' into dev
commit
c2c9d83777
2
.env
2
.env
|
@ -1,4 +1,4 @@
|
||||||
VITE_BASE_URL=http://192.168.0.49:8093/
|
VITE_BASE_URL=http://192.168.0.62:8093/
|
||||||
VITE_PROXY=/api/
|
VITE_PROXY=/api/
|
||||||
VITE_PROXY_QAAQ=/qaaq_api/
|
VITE_PROXY_QAAQ=/qaaq_api/
|
||||||
VITE_QAAQ_URL=https://gateway.qhdsafety.com/
|
VITE_QAAQ_URL=https://gateway.qhdsafety.com/
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
import {
|
||||||
|
getActiveSafety, getBelongingDepartment,
|
||||||
|
getDynamicSupervision, getEmissionStandard, getFnGetFuelType, getLicenseStatus,
|
||||||
|
getNetworkStatus,
|
||||||
|
getTransportationEnterprise, getTransportCategory,
|
||||||
|
getVehicleColor, getVehicleType
|
||||||
|
} from "@/request/operation_vehicle.js";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
|
export const layoutFnGetVehicleColor = async () => {
|
||||||
|
const resData = await getVehicleColor({
|
||||||
|
DICTIONARIES_ID: "xer11f2b259a42609512dfad07c4fb53",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const layoutFnGetTransportationEnterprise = async () => {
|
||||||
|
const resData = await getTransportationEnterprise({
|
||||||
|
DICTIONARIES_ID: "73211f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const layoutFnGetNetworkStatus = async () => {
|
||||||
|
const resData = await getNetworkStatus({
|
||||||
|
DICTIONARIES_ID: "xes11f2b259a42609512dfad07c4fb53",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const layoutFnGetDynamicSupervision = async () => {
|
||||||
|
const resData = await getDynamicSupervision({
|
||||||
|
DICTIONARIES_ID: "51011f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const layoutFnGetActiveSafety = async () => {
|
||||||
|
const resData = await getActiveSafety({
|
||||||
|
DICTIONARIES_ID: "59111f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const layoutFnGetLicenseStatus = async () => {
|
||||||
|
const resData = await getLicenseStatus({
|
||||||
|
DICTIONARIES_ID: "77711f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
export const layoutFnGetTransportCategory = async () => {
|
||||||
|
const resData = await getTransportCategory({
|
||||||
|
DICTIONARIES_ID: "08411f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
export const layoutFnGetBelongingDepartment = async () => {
|
||||||
|
const resData = await getBelongingDepartment({
|
||||||
|
DICTIONARIES_ID: "80x11f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const layoutFnGetVehicleType = async () => {
|
||||||
|
const resData = await getVehicleType({
|
||||||
|
DICTIONARIES_ID: "08411f2b259a45681512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
export const layoutFnGetFuelType = async () => {
|
||||||
|
const resData = await getFnGetFuelType({
|
||||||
|
DICTIONARIES_ID: "8xe11f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
export const layoutFnGetEmissionStandard = async () => {
|
||||||
|
const resData = await getEmissionStandard({
|
||||||
|
DICTIONARIES_ID: "4xe11f2b259a42609512dfad07c4f11a",
|
||||||
|
});
|
||||||
|
return ref(resData.list);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,207 @@
|
||||||
|
<template>
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col
|
||||||
|
:span="
|
||||||
|
hiddenType === 'unqualified' || hiddenType === 'otherHidden' ? 12 : 24
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" v-if="hiddenType === 'unqualified'">
|
||||||
|
<el-form-item label="检查内容" prop="CHECK_CONTENT">
|
||||||
|
<el-input
|
||||||
|
:model-value="info.CHECK_CONTENT"
|
||||||
|
disabled
|
||||||
|
type="textarea"
|
||||||
|
autosize
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患部位" prop="HIDDENPART">
|
||||||
|
<el-input
|
||||||
|
v-model="form.HIDDENPART"
|
||||||
|
placeholder="请输入内容"
|
||||||
|
@blur="fnGetHiddenDangerDatabaseList"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患描述" prop="HIDDENDESCR">
|
||||||
|
<el-input
|
||||||
|
v-model="form.HIDDENDESCR"
|
||||||
|
placeholder="请输入内容"
|
||||||
|
type="textarea"
|
||||||
|
:autosize="{ minRows: 3 }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患级别" prop="HIDDENLEVEL">
|
||||||
|
<el-select
|
||||||
|
v-model="form.HIDDENLEVEL"
|
||||||
|
@change="
|
||||||
|
form.HIDDENLEVEL === 'hiddenLevel0002'
|
||||||
|
? (form.RECTIFICATIONTYPE = '2')
|
||||||
|
: null
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in hazardLevelList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.BIANMA"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="info.BAO_BAO_TYPE === '1'">
|
||||||
|
<el-form-item label="隐患类别" prop="HIDDEN_CATEGORY">
|
||||||
|
<el-select v-model="form.HIDDEN_CATEGORY">
|
||||||
|
<el-option
|
||||||
|
v-for="item in hazardCategoriesList"
|
||||||
|
:key="item.DICTIONARIES_ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.DICTIONARIES_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患类型" prop="HIDDENTYPE">
|
||||||
|
<layout-hidden-danger-type
|
||||||
|
v-model="form.HIDDENTYPE"
|
||||||
|
ref="hiddenDangerTypeRef"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患图片" prop="hiddenImgs">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="form.hiddenImgs"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
:limit="99"
|
||||||
|
delete-to-server
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患视频" prop="videoFiles">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="form.videoFiles"
|
||||||
|
accept=".mp4"
|
||||||
|
:size="50"
|
||||||
|
@preview="fnVideoPreview"
|
||||||
|
>
|
||||||
|
<template #tip>只能上传mp4文件,且不超过50M</template>
|
||||||
|
</layout-upload>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="隐患处置" prop="RECTIFICATIONTYPE">
|
||||||
|
<el-radio-group v-model="form.RECTIFICATIONTYPE">
|
||||||
|
<el-radio
|
||||||
|
:disabled="form.HIDDENLEVEL === 'hiddenLevel0002'"
|
||||||
|
label="1"
|
||||||
|
>
|
||||||
|
立即整改
|
||||||
|
</el-radio>
|
||||||
|
<el-radio label="2">限期整改</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<template v-if="form.RECTIFICATIONTYPE === '1'">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="RECTIFYDESCR" label="整改描述">
|
||||||
|
<el-input
|
||||||
|
v-model="form.RECTIFYDESCR"
|
||||||
|
placeholder="请输入内容"
|
||||||
|
type="textarea"
|
||||||
|
:autosize="{ minRows: 3 }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="整改后图片" prop="rectifyImgs">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="form.rectifyImgs"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
:limit="99"
|
||||||
|
delete-to-server
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
<template v-if="form.RECTIFICATIONTYPE === '2'">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="RECTIFICATIONDEADLINE" label="整改期限">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="form.RECTIFICATIONDEADLINE"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="整改部门" prop="RECTIFICATIONDEPT">
|
||||||
|
<layout-department
|
||||||
|
v-model="form.RECTIFICATIONDEPT"
|
||||||
|
@update:model-value="form.RECTIFICATIONOR = ''"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="整改人" prop="RECTIFICATIONOR">
|
||||||
|
<el-select v-model="form.RECTIFICATIONOR">
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.rectifyUserList"
|
||||||
|
:key="item.USER_ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.USER_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-col>
|
||||||
|
<el-col
|
||||||
|
:span="12"
|
||||||
|
v-if="hiddenType === 'unqualified' || hiddenType === 'otherHidden'"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="item in data.list"
|
||||||
|
:key="item.HIDDEN_LIBRARY_ID"
|
||||||
|
class="item"
|
||||||
|
@click="fnChoice(item)"
|
||||||
|
>
|
||||||
|
<el-descriptions :column="1" border>
|
||||||
|
<el-descriptions-item label="风险单元名称">
|
||||||
|
{{ item.RISK_UNIT_NAME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="隐患部位">
|
||||||
|
{{ item.HIDDEN_PART }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="隐患描述">
|
||||||
|
{{ item.INSPECTION_BASIS }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
|
||||||
|
import LayoutHiddenDangerType from "@/components/hazard_type/index.vue";
|
||||||
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
|
import LayoutUpload from "@/components/upload/index.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
|
||||||
|
</style>
|
|
@ -0,0 +1,82 @@
|
||||||
|
import { post, upload } from "@/request/axios.js";
|
||||||
|
|
||||||
|
export const getVehicleColor = (params) =>
|
||||||
|
post("/dictionaries/getVehicleColor", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getTransportationEnterprise = (params) =>
|
||||||
|
post("/dictionaries/getTransportationEnterprise", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getNetworkStatus = (params) =>
|
||||||
|
post("/dictionaries/getNetworkStatus", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getDynamicSupervision = (params) =>
|
||||||
|
post("/dictionaries/getDynamicSupervision", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getActiveSafety = (params) =>
|
||||||
|
post("/dictionaries/getActiveSafety", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getLicenseStatus = (params) =>
|
||||||
|
post("/dictionaries/getLicenseStatus", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getTransportCategory = (params) =>
|
||||||
|
post("/dictionaries/getTransportCategory", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getBelongingDepartment = (params) =>
|
||||||
|
post("/dictionaries/getBelongingDepartment", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getVehicleType = (params) =>
|
||||||
|
post("/dictionaries/getVehicleType", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getFnGetFuelType = (params) =>
|
||||||
|
post("/dictionaries/getFnGetFuelType", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getEmissionStandard = (params) =>
|
||||||
|
post("/dictionaries/getEmissionStandard", {
|
||||||
|
loading: false,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getOperationVehicleList = (params) =>
|
||||||
|
post("/operatingvehicles/list", params); // 运营车辆列表export const getOperationVehicleList = (params) =>
|
||||||
|
|
||||||
|
export const addOperatingVehicleInfo = (params) =>
|
||||||
|
upload("/operatingvehicles/add", params); // 资料课件维护添加
|
||||||
|
|
||||||
|
export const findByIdOperatingVehicleInfo = (params) =>
|
||||||
|
post("/operatingvehicles/goEdit", params); // 新增运营车辆
|
||||||
|
|
||||||
|
export const editOperatingVehicleInfo = (params) =>
|
||||||
|
upload("/operatingvehicles/edit", params); // 修改运营车辆
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,391 @@
|
||||||
|
<template>
|
||||||
|
<layout-card>
|
||||||
|
<el-divider content-position="left">基本信息</el-divider>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="data.form"
|
||||||
|
:rules="rules"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="自编号" prop="GOODSSELFNUMBER">
|
||||||
|
<el-input v-model="data.form.GOODSSELFNUMBER" placeholder="请填写自编号" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item prop="PLATE_NUMBER" label="车牌号">
|
||||||
|
<el-input v-model = "data.form.PLATE_NUMBER" placeholder = "请填写车牌号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆颜色" prop="VEHICLE_COLOR">
|
||||||
|
<el-select v-model="data.form.VEHICLE_COLOR">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getVehicleColorList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车架号" prop="FRAMES_NUMBER">
|
||||||
|
<el-input v-model="data.form.FRAMES_NUMBER" placeholder="请填写车架号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="发动机号" prop="ENGINE_NUMBER">
|
||||||
|
<el-input v-model="data.form.ENGINE_NUMBER" placeholder="请填写发动机号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="营运证号" prop="OPERATING_CERTIFICATE">
|
||||||
|
<el-input v-model="data.form.OPERATING_CERTIFICATE" placeholder="请填写营运证号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="运输企业" prop="TRANSPORT_ENTERPRISES">
|
||||||
|
<el-select v-model="data.form.TRANSPORT_ENTERPRISES">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getTransportationEnterpriseList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="运输类别" prop="TRANSPORT_TYPE">
|
||||||
|
<el-select v-model="data.form.TRANSPORT_TYPE">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getTransportCategoryList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="归属部门" prop="BELONGING_DEPARTMENT">
|
||||||
|
<el-select v-model="data.form.BELONGING_DEPARTMENT">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getBelongingDepartment"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆类型" prop="VEHICLE_TYPE">
|
||||||
|
<el-select v-model="data.form.VEHICLE_TYPE">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getVehicleTypeList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车主/业主" prop="VEHICLEOWNER">
|
||||||
|
<el-input v-model="data.form.VEHICLEOWNER" placeholder="请填写车主/业主"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车主电话" prop="VEHICLEOWNER_NUMBER">
|
||||||
|
<el-input v-model="data.form.VEHICLEOWNER_NUMBER" placeholder="请填写车主电话"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车主住址" prop="VEHICLEOWNER_ADDRESS">
|
||||||
|
<el-input v-model="data.form.VEHICLEOWNER_ADDRESS" placeholder="请填写车主住址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="联系人" prop="CONTACT">
|
||||||
|
<el-input v-model="data.form.CONTACT" placeholder="请填写联系人"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="联系电话" prop="CONTACT_NUMBER">
|
||||||
|
<el-input v-model="data.form.CONTACT_NUMBER" placeholder="请填写联系电话"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="家庭住址" prop="HOME_ADDRESS">
|
||||||
|
<el-input v-model="data.form.HOME_ADDRESS" placeholder="请输入家庭住址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="实际住址" prop="PHYSICAL_ADDRESS">
|
||||||
|
<el-input v-model="data.form.PHYSICAL_ADDRESS" placeholder="请输入实际住址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="初登日期" prop="FIRSTSHOW_DATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.FIRSTSHOW_DATE"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择初登日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="发证日期" prop="CERTIFICATE_DATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.CERTIFICATE_DATE"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择发证日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="到期日期" prop="EXPIRE_DATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.EXPIRE_DATE"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择到期日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="政府监管">
|
||||||
|
<el-switch
|
||||||
|
v-model="data.form.GOVERNMENT_OVERSIGHT"
|
||||||
|
active-value="0"
|
||||||
|
inactive-value="1"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-divider content-position="left">检查内容</el-divider>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆品牌" prop="VEHICLE_BRAND">
|
||||||
|
<el-input v-model="data.form.VEHICLE_BRAND" placeholder="请填写车辆品牌"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆型号" prop="VEHICLE_MODEL">
|
||||||
|
<el-input v-model="data.form.VEHICLE_MODEL" placeholder="请填写车辆型号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="燃料类型" prop="FUEL_TYPE">
|
||||||
|
<el-select v-model="data.form.FUEL_TYPE">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getFuelTypeList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="排放标准" prop="EMISSION_STANDARD">
|
||||||
|
<el-select v-model="data.form.EMISSION_STANDARD">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getEmissionStandardList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="核定总质量" prop="VOUCH_TOTALMASS">
|
||||||
|
<el-input v-model="data.form.VOUCH_TOTALMASS" placeholder="请填写核定总质量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="核定载人数" prop="VOUCH_NUMBERLOAD">
|
||||||
|
<el-input v-model="data.form.VOUCH_NUMBERLOAD" placeholder="请填写核定载人数"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="核定载质量" prop="VOUCH_PAYLOAD">
|
||||||
|
<el-input v-model="data.form.VOUCH_PAYLOAD" placeholder="请填写核定载质量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="准牵引质量" prop="RACTIONMASS_QUALITY">
|
||||||
|
<el-input v-model="data.form.RACTIONMASS_QUALITY" placeholder="请填写准牵引质量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="备注" prop="REMARK">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.REMARK"
|
||||||
|
placeholder="请填写备注"
|
||||||
|
type="textarea"
|
||||||
|
:autosize="{ minRows: 3 }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-divider content-position="left">相关照片</el-divider>
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="上传车头图片" prop="HEADSTOCK_PHOTO">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="data.form.HEADSTOCK_PHOTO"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="上传行驶证照片" prop="DRIVINGLICENSE_PHOTO">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="data.form.DRIVINGLICENSE_PHOTO"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="上传营运证照片" prop="OPERATING_CERTIFICATE_PHOTO">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="data.form.OPERATING_CERTIFICATE_PHOTO"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="车辆资料" prop="VEHICLE_MATERIAL">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.VEHICLE_MATERIAL"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="tc mt-10">
|
||||||
|
<el-button type="primary" @click="fnSubmit">保存</el-button>
|
||||||
|
</div>
|
||||||
|
</layout-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref } from "vue";
|
||||||
|
import {
|
||||||
|
layoutFnGetVehicleColor,
|
||||||
|
layoutFnGetTransportationEnterprise,
|
||||||
|
layoutFnGetTransportCategory,
|
||||||
|
layoutFnGetBelongingDepartment,
|
||||||
|
layoutFnGetFuelType,
|
||||||
|
layoutFnGetEmissionStandard,
|
||||||
|
layoutFnGetVehicleType
|
||||||
|
} from "@/assets/js/operation_vehicle.js";
|
||||||
|
import {
|
||||||
|
addOperatingVehicleInfo,
|
||||||
|
} from "@/request/operation_vehicle.js";
|
||||||
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
|
|
||||||
|
import LayoutUpload from "@/components/upload/index.vue";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import { debounce } from "throttle-debounce";
|
||||||
|
|
||||||
|
const rules = {
|
||||||
|
PLATE_NUMBER: [{ required: true, message: "车牌号不能为空", trigger: "blur" }],
|
||||||
|
VEHICLE_COLOR: [{required: true, message: "车辆颜色不能为空", trigger: "change"}],
|
||||||
|
FRAMES_NUMBER: [{required: true, message: "车架号不能为空", trigger: "change"}],
|
||||||
|
TRANSPORT_ENTERPRISES: [{required: true, message: "运输企业不能为空", trigger: "change"}],
|
||||||
|
TRANSPORT_TYPE: [{ required: true, message: "运输类别不能为空", trigger: "change" }],
|
||||||
|
VEHICLE_TYPE: [{ required: true, message: "车辆类型不能为空", trigger: "blur" }],
|
||||||
|
VEHICLEOWNER: [{ required: true, message: "车主/业主不能为空", trigger: "blur" }],
|
||||||
|
VEHICLEOWNER_NUMBER: [{required: true, message: "车主电话不能为空", trigger: "blur"}],
|
||||||
|
CONTACT: [{required: true, message: "联系人不能为空", trigger: "blur"}],
|
||||||
|
CONTACT_NUMBER: [{required: true, message: "联系电话不能为空", trigger: "blur"}],
|
||||||
|
FIRSTSHOW_DATE: [{required: true, message: "初登日期不能为空", trigger: "blur"}],
|
||||||
|
};
|
||||||
|
const formRef = ref(null);
|
||||||
|
const data = reactive({
|
||||||
|
form: {
|
||||||
|
GOODSSELFNUMBER: "",
|
||||||
|
PLATE_NUMBER: "",
|
||||||
|
VEHICLE_COLOR: "",
|
||||||
|
FRAMES_NUMBER: "",
|
||||||
|
ENGINE_NUMBER: "",
|
||||||
|
OPERATING_CERTIFICATE: [],
|
||||||
|
TRANSPORT_ENTERPRISES: "",
|
||||||
|
TRANSPORT_TYPE: "",
|
||||||
|
BELONGING_DEPARTMENT: "",
|
||||||
|
VEHICLE_TYPE: "",
|
||||||
|
VEHICLEOWNER: "",
|
||||||
|
VEHICLEOWNER_NUMBER: "",
|
||||||
|
VEHICLEOWNER_ADDRESS: "",
|
||||||
|
CONTACT: "",
|
||||||
|
CONTACT_NUMBER: "",
|
||||||
|
HOME_ADDRESS: "",
|
||||||
|
PHYSICAL_ADDRESS: "",
|
||||||
|
FIRSTSHOW_DATE: "",
|
||||||
|
CERTIFICATE_DATE: "",
|
||||||
|
EXPIRE_DATE: "",
|
||||||
|
GOVERNMENT_OVERSIGHT: "",
|
||||||
|
VEHICLE_BRAND: "",
|
||||||
|
VEHICLE_MODEL: "",
|
||||||
|
FUEL_TYPE: "",
|
||||||
|
EMISSION_STANDARD: "",
|
||||||
|
VOUCH_TOTALMASS: "",
|
||||||
|
VOUCH_NUMBERLOAD: "",
|
||||||
|
VOUCH_PAYLOAD: "",
|
||||||
|
RACTIONMASS_QUALITY: "",
|
||||||
|
REMARK: "",
|
||||||
|
HEADSTOCK_PHOTO: [],
|
||||||
|
DRIVINGLICENSE_PHOTO: [],
|
||||||
|
OPERATING_CERTIFICATE_PHOTO: [],
|
||||||
|
NETWORK_STATUS: "",
|
||||||
|
DYNAMIC_SUPERVISION: "",
|
||||||
|
ACTIVE_SAFETY: "",
|
||||||
|
DRIVINGPREMIT_STATUS: "",
|
||||||
|
TRANSPORT_CATEGORY: "",
|
||||||
|
VEHICLE_MATERIAL: "",
|
||||||
|
FREIGHT_TYPE: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const getVehicleColorList = await layoutFnGetVehicleColor();
|
||||||
|
const getTransportationEnterpriseList = await layoutFnGetTransportationEnterprise();
|
||||||
|
const getTransportCategoryList = await layoutFnGetTransportCategory();
|
||||||
|
const getBelongingDepartment = await layoutFnGetBelongingDepartment();
|
||||||
|
const getFuelTypeList = await layoutFnGetFuelType();
|
||||||
|
const getEmissionStandardList = await layoutFnGetEmissionStandard();
|
||||||
|
const getVehicleTypeList = await layoutFnGetVehicleType();
|
||||||
|
|
||||||
|
const fnSubmit = debounce(
|
||||||
|
1000,
|
||||||
|
async () => {
|
||||||
|
await useFormValidate(formRef);
|
||||||
|
const formData = new FormData();
|
||||||
|
Object.keys(data.form).forEach((key) => {
|
||||||
|
formData.append(key, data.form[key]);
|
||||||
|
});
|
||||||
|
formData.delete("HEADSTOCK_PHOTO");
|
||||||
|
formData.delete("DRIVINGLICENSE_PHOTO");
|
||||||
|
formData.delete("OPERATING_CERTIFICATE_PHOTO");
|
||||||
|
if (data.form.HEADSTOCK_PHOTO[0].raw) formData.append("headstockFile", data.form.HEADSTOCK_PHOTO[0].raw);
|
||||||
|
if (data.form.DRIVINGLICENSE_PHOTO[0].raw) formData.append("drivinglicenseFile", data.form.DRIVINGLICENSE_PHOTO[0].raw);
|
||||||
|
if (data.form.OPERATING_CERTIFICATE_PHOTO[0].raw) formData.append("operatingCertificateFile", data.form.OPERATING_CERTIFICATE_PHOTO[0].raw);
|
||||||
|
formData.append("headstockFileType", !!data.form.HEADSTOCK_PHOTO[0].raw);
|
||||||
|
formData.append("drivinglicenseFileType", !!data.form.DRIVINGLICENSE_PHOTO[0].raw);
|
||||||
|
formData.append("operatingCertificateFileType", !!data.form.OPERATING_CERTIFICATE_PHOTO[0].raw);
|
||||||
|
await addOperatingVehicleInfo(formData);
|
||||||
|
ElMessage.success("提交成功");
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,130 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog title="选择其他存在风险" v-model="visible" width="1500">
|
||||||
|
<el-form
|
||||||
|
:model="searchForm"
|
||||||
|
label-width="60px"
|
||||||
|
@submit.prevent="fnResetPagination"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="关键字" prop="KEYWORDS">
|
||||||
|
<el-input
|
||||||
|
v-model="searchForm.KEYWORDS"
|
||||||
|
placeholder="请输入关键字"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="部门" prop="DEPARTMENT_ID">
|
||||||
|
<layout-department v-model="searchForm.DEPARTMENT_ID" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="类型" prop="OTHERLEVELID">
|
||||||
|
<el-select v-model="searchForm.OTHERLEVELID">
|
||||||
|
<el-option
|
||||||
|
v-for="item in riskClassificationList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.BIANMA"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</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>
|
||||||
|
<layout-table
|
||||||
|
ref="tableRef"
|
||||||
|
:data="list"
|
||||||
|
v-model:pagination="pagination"
|
||||||
|
@get-data="fnGetData"
|
||||||
|
row-key="RISKCHECKITEM_ID"
|
||||||
|
>
|
||||||
|
<el-table-column reserve-selection type="selection" width="55" />
|
||||||
|
<el-table-column label="序号" width="70">
|
||||||
|
<template v-slot="{ $index }">
|
||||||
|
{{ serialNumber(pagination, $index) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="RISKUNITNAME" label="风险点(单元)" width="105" />
|
||||||
|
<el-table-column prop="PARTSNAME" label="辨识部位" width="90" />
|
||||||
|
<el-table-column prop="RISK_DESCR" label="存在风险" />
|
||||||
|
<el-table-column prop="DNAME5" label="风险分级" width="100" />
|
||||||
|
<el-table-column prop="USERNAME" label="管控负责人" width="90" />
|
||||||
|
<el-table-column prop="CHECK_CONTENT" label="检查内容" />
|
||||||
|
</layout-table>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="fnClose">取消</el-button>
|
||||||
|
<el-button type="primary" @click="fnSubmit"> 确定 </el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useVModel } from "@vueuse/core";
|
||||||
|
import { debounce } from "throttle-debounce";
|
||||||
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
import { getInventoryManagementOtherRiskList } from "@/request/hazard_investigation.js";
|
||||||
|
import { watch } from "vue";
|
||||||
|
import { serialNumber } from "@/assets/js/utils.js";
|
||||||
|
import { layoutFnGetRiskClassification } from "@/assets/js/data_dictionary.js";
|
||||||
|
import { differenceWith } from "lodash-es";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
listData: {
|
||||||
|
type: Array,
|
||||||
|
required: true,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const emits = defineEmits(["update:visible", "submit"]);
|
||||||
|
const visible = useVModel(props, "visible", emits);
|
||||||
|
const { list, searchForm, pagination, fnGetData, fnResetPagination, tableRef } =
|
||||||
|
useListData(getInventoryManagementOtherRiskList, {
|
||||||
|
immediate: false,
|
||||||
|
clearSelection: false,
|
||||||
|
});
|
||||||
|
const riskClassificationList = await layoutFnGetRiskClassification();
|
||||||
|
const stop = watch(
|
||||||
|
() => props.visible,
|
||||||
|
(value) => {
|
||||||
|
if (value) {
|
||||||
|
fnGetData();
|
||||||
|
stop && stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
const fnClose = () => {
|
||||||
|
visible.value = false;
|
||||||
|
};
|
||||||
|
const fnSubmit = debounce(
|
||||||
|
1000,
|
||||||
|
() => {
|
||||||
|
const selectionData = tableRef.value.getSelectionRows();
|
||||||
|
const listData = differenceWith(
|
||||||
|
selectionData,
|
||||||
|
props.listData,
|
||||||
|
(a, b) => a.RISKCHECKITEM_ID === b.RISKCHECKITEM_ID
|
||||||
|
);
|
||||||
|
fnClose();
|
||||||
|
emits("submit", listData);
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,412 @@
|
||||||
|
<template>
|
||||||
|
<layout-card>
|
||||||
|
<el-divider content-position="left">基本信息</el-divider>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="data.form"
|
||||||
|
:rules="rules"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="自编号" prop="GOODSSELFNUMBER">
|
||||||
|
<el-input v-model="data.form.GOODSSELFNUMBER" placeholder="请填写自编号" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item prop="PLATE_NUMBER" label="车牌号">
|
||||||
|
<el-input v-model = "data.form.PLATE_NUMBER" placeholder = "请填写车牌号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆颜色" prop="VEHICLE_COLOR">
|
||||||
|
<el-select v-model="data.form.VEHICLE_COLOR">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getVehicleColorList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车架号" prop="FRAMES_NUMBER">
|
||||||
|
<el-input v-model="data.form.FRAMES_NUMBER" placeholder="请填写车架号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="发动机号" prop="ENGINE_NUMBER">
|
||||||
|
<el-input v-model="data.form.ENGINE_NUMBER" placeholder="请填写发动机号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="营运证号" prop="OPERATING_CERTIFICATE">
|
||||||
|
<el-input v-model="data.form.OPERATING_CERTIFICATE" placeholder="请填写营运证号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="运输企业" prop="TRANSPORT_ENTERPRISES">
|
||||||
|
<el-select v-model="data.form.TRANSPORT_ENTERPRISES">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getTransportationEnterpriseList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="运输类别" prop="TRANSPORT_TYPE">
|
||||||
|
<el-select v-model="data.form.TRANSPORT_TYPE">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getTransportCategoryList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="归属部门" prop="BELONGING_DEPARTMENT">
|
||||||
|
<el-select v-model="data.form.BELONGING_DEPARTMENT">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getBelongingDepartment"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆类型" prop="VEHICLE_TYPE">
|
||||||
|
<el-select v-model="data.form.VEHICLE_TYPE">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getVehicleTypeList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车主/业主" prop="VEHICLEOWNER">
|
||||||
|
<el-input v-model="data.form.VEHICLEOWNER" placeholder="请填写车主/业主"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车主电话" prop="VEHICLEOWNER_NUMBER">
|
||||||
|
<el-input v-model="data.form.VEHICLEOWNER_NUMBER" placeholder="请填写车主电话"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车主住址" prop="VEHICLEOWNER_ADDRESS">
|
||||||
|
<el-input v-model="data.form.VEHICLEOWNER_ADDRESS" placeholder="请填写车主住址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="联系人" prop="CONTACT">
|
||||||
|
<el-input v-model="data.form.CONTACT" placeholder="请填写联系人"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="联系电话" prop="CONTACT_NUMBER">
|
||||||
|
<el-input v-model="data.form.CONTACT_NUMBER" placeholder="请填写联系电话"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="家庭住址" prop="HOME_ADDRESS">
|
||||||
|
<el-input v-model="data.form.HOME_ADDRESS" placeholder="请输入家庭住址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="实际住址" prop="PHYSICAL_ADDRESS">
|
||||||
|
<el-input v-model="data.form.PHYSICAL_ADDRESS" placeholder="请输入实际住址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="初登日期" prop="FIRSTSHOW_DATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.FIRSTSHOW_DATE"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择初登日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="发证日期" prop="CERTIFICATE_DATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.CERTIFICATE_DATE"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择发证日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="到期日期" prop="EXPIRE_DATE">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="data.form.EXPIRE_DATE"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择到期日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="政府监管">
|
||||||
|
<el-switch
|
||||||
|
v-model="data.form.GOVERNMENT_OVERSIGHT"
|
||||||
|
active-value="0"
|
||||||
|
inactive-value="1"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-divider content-position="left">检查内容</el-divider>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆品牌" prop="VEHICLE_BRAND">
|
||||||
|
<el-input v-model="data.form.VEHICLE_BRAND" placeholder="请填写车辆品牌"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆型号" prop="VEHICLE_MODEL">
|
||||||
|
<el-input v-model="data.form.VEHICLE_MODEL" placeholder="请填写车辆型号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="燃料类型" prop="FUEL_TYPE">
|
||||||
|
<el-select v-model="data.form.FUEL_TYPE">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getFuelTypeList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="排放标准" prop="EMISSION_STANDARD">
|
||||||
|
<el-select v-model="data.form.EMISSION_STANDARD">
|
||||||
|
<el-option
|
||||||
|
v-for="item in getEmissionStandardList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="核定总质量" prop="VOUCH_TOTALMASS">
|
||||||
|
<el-input v-model="data.form.VOUCH_TOTALMASS" placeholder="请填写核定总质量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="核定载人数" prop="VOUCH_NUMBERLOAD">
|
||||||
|
<el-input v-model="data.form.VOUCH_NUMBERLOAD" placeholder="请填写核定载人数"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="核定载质量" prop="VOUCH_PAYLOAD">
|
||||||
|
<el-input v-model="data.form.VOUCH_PAYLOAD" placeholder="请填写核定载质量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="准牵引质量" prop="RACTIONMASS_QUALITY">
|
||||||
|
<el-input v-model="data.form.RACTIONMASS_QUALITY" placeholder="请填写准牵引质量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="备注" prop="REMARK">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.REMARK"
|
||||||
|
placeholder="请填写备注"
|
||||||
|
type="textarea"
|
||||||
|
:autosize="{ minRows: 3 }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-divider content-position="left">相关照片</el-divider>
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="上传车头图片" prop="HEADSTOCK_PHOTO">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="data.form.HEADSTOCK_PHOTO"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="上传行驶证照片" prop="DRIVINGLICENSE_PHOTO">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="data.form.DRIVINGLICENSE_PHOTO"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="7">
|
||||||
|
<el-form-item label="上传营运证照片" prop="OPERATING_CERTIFICATE_PHOTO">
|
||||||
|
<layout-upload
|
||||||
|
v-model:file-list="data.form.OPERATING_CERTIFICATE_PHOTO"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="车辆资料" prop="VEHICLE_MATERIAL">
|
||||||
|
<el-input
|
||||||
|
v-model="data.form.VEHICLE_MATERIAL"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="tc mt-10">
|
||||||
|
<el-button type="primary" @click="fnSubmit">保存</el-button>
|
||||||
|
</div>
|
||||||
|
</layout-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref } from "vue";
|
||||||
|
import {
|
||||||
|
layoutFnGetVehicleColor,
|
||||||
|
layoutFnGetTransportationEnterprise,
|
||||||
|
layoutFnGetTransportCategory,
|
||||||
|
layoutFnGetBelongingDepartment,
|
||||||
|
layoutFnGetFuelType,
|
||||||
|
layoutFnGetEmissionStandard,
|
||||||
|
layoutFnGetVehicleType
|
||||||
|
} from "@/assets/js/operation_vehicle.js";
|
||||||
|
import {
|
||||||
|
findByIdOperatingVehicleInfo,
|
||||||
|
editOperatingVehicleInfo
|
||||||
|
} from "@/request/operation_vehicle.js";
|
||||||
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
|
|
||||||
|
import LayoutUpload from "@/components/upload/index.vue";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import { debounce } from "throttle-debounce";
|
||||||
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
|
const router = useRouter();
|
||||||
|
const { OPERATING_ID } = route.query;
|
||||||
|
|
||||||
|
const rules = {
|
||||||
|
PLATE_NUMBER: [{ required: true, message: "车牌号不能为空", trigger: "blur" }],
|
||||||
|
VEHICLE_COLOR: [{required: true, message: "车辆颜色不能为空", trigger: "change"}],
|
||||||
|
FRAMES_NUMBER: [{required: true, message: "车架号不能为空", trigger: "change"}],
|
||||||
|
TRANSPORT_ENTERPRISES: [{required: true, message: "运输企业不能为空", trigger: "change"}],
|
||||||
|
TRANSPORT_TYPE: [{ required: true, message: "运输类别不能为空", trigger: "change" }],
|
||||||
|
VEHICLE_TYPE: [{ required: true, message: "车辆类型不能为空", trigger: "blur" }],
|
||||||
|
VEHICLEOWNER: [{ required: true, message: "车主/业主不能为空", trigger: "blur" }],
|
||||||
|
VEHICLEOWNER_NUMBER: [{required: true, message: "车主电话不能为空", trigger: "blur"}],
|
||||||
|
CONTACT: [{required: true, message: "联系人不能为空", trigger: "blur"}],
|
||||||
|
CONTACT_NUMBER: [{required: true, message: "联系电话不能为空", trigger: "blur"}],
|
||||||
|
FIRSTSHOW_DATE: [{required: true, message: "初登日期不能为空", trigger: "blur"}],
|
||||||
|
};
|
||||||
|
const formRef = ref(null);
|
||||||
|
const data = reactive({
|
||||||
|
form: {
|
||||||
|
GOODSSELFNUMBER: "",
|
||||||
|
PLATE_NUMBER: "",
|
||||||
|
VEHICLE_COLOR: "",
|
||||||
|
FRAMES_NUMBER: "",
|
||||||
|
ENGINE_NUMBER: "",
|
||||||
|
OPERATING_CERTIFICATE: [],
|
||||||
|
TRANSPORT_ENTERPRISES: "",
|
||||||
|
TRANSPORT_TYPE: "",
|
||||||
|
BELONGING_DEPARTMENT: "",
|
||||||
|
VEHICLE_TYPE: "",
|
||||||
|
VEHICLEOWNER: "",
|
||||||
|
VEHICLEOWNER_NUMBER: "",
|
||||||
|
VEHICLEOWNER_ADDRESS: "",
|
||||||
|
CONTACT: "",
|
||||||
|
CONTACT_NUMBER: "",
|
||||||
|
HOME_ADDRESS: "",
|
||||||
|
PHYSICAL_ADDRESS: "",
|
||||||
|
FIRSTSHOW_DATE: "",
|
||||||
|
CERTIFICATE_DATE: "",
|
||||||
|
EXPIRE_DATE: "",
|
||||||
|
GOVERNMENT_OVERSIGHT: "",
|
||||||
|
VEHICLE_BRAND: "",
|
||||||
|
VEHICLE_MODEL: "",
|
||||||
|
FUEL_TYPE: "",
|
||||||
|
EMISSION_STANDARD: "",
|
||||||
|
VOUCH_TOTALMASS: "",
|
||||||
|
VOUCH_NUMBERLOAD: "",
|
||||||
|
VOUCH_PAYLOAD: "",
|
||||||
|
RACTIONMASS_QUALITY: "",
|
||||||
|
REMARK: "",
|
||||||
|
HEADSTOCK_PHOTO: [],
|
||||||
|
DRIVINGLICENSE_PHOTO: [],
|
||||||
|
OPERATING_CERTIFICATE_PHOTO: [],
|
||||||
|
NETWORK_STATUS: "",
|
||||||
|
DYNAMIC_SUPERVISION: "",
|
||||||
|
ACTIVE_SAFETY: "",
|
||||||
|
DRIVINGPREMIT_STATUS: "",
|
||||||
|
TRANSPORT_CATEGORY: "",
|
||||||
|
VEHICLE_MATERIAL: "",
|
||||||
|
FREIGHT_TYPE: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const getVehicleColorList = await layoutFnGetVehicleColor();
|
||||||
|
const getTransportationEnterpriseList = await layoutFnGetTransportationEnterprise();
|
||||||
|
const getTransportCategoryList = await layoutFnGetTransportCategory();
|
||||||
|
const getBelongingDepartment = await layoutFnGetBelongingDepartment();
|
||||||
|
const getFuelTypeList = await layoutFnGetFuelType();
|
||||||
|
const getEmissionStandardList = await layoutFnGetEmissionStandard();
|
||||||
|
const getVehicleTypeList = await layoutFnGetVehicleType();
|
||||||
|
|
||||||
|
const fnGetData = async () => {
|
||||||
|
if(OPERATING_ID) {
|
||||||
|
const resData = await findByIdOperatingVehicleInfo({ OPERATING_ID });
|
||||||
|
data.form = resData.pd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fnGetData();
|
||||||
|
const fnSubmit = debounce(
|
||||||
|
1000,
|
||||||
|
async () => {
|
||||||
|
await useFormValidate(formRef);
|
||||||
|
const formData = new FormData();
|
||||||
|
Object.keys(data.form).forEach((key) => {
|
||||||
|
formData.append(key, data.form[key]);
|
||||||
|
});
|
||||||
|
formData.delete("HEADSTOCK_PHOTO");
|
||||||
|
formData.delete("DRIVINGLICENSE_PHOTO");
|
||||||
|
formData.delete("OPERATING_CERTIFICATE_PHOTO");
|
||||||
|
if(data.form.HEADSTOCK_PHOTO){
|
||||||
|
if (data.form.HEADSTOCK_PHOTO[0].raw) formData.append("headstockFile", data.form.HEADSTOCK_PHOTO[0].raw);
|
||||||
|
formData.append("headstockFileType", !!data.form.HEADSTOCK_PHOTO[0].raw);
|
||||||
|
}
|
||||||
|
if(data.form.DRIVINGLICENSE_PHOTO){
|
||||||
|
if (data.form.DRIVINGLICENSE_PHOTO[0].raw) formData.append("drivinglicenseFile", data.form.DRIVINGLICENSE_PHOTO[0].raw);
|
||||||
|
formData.append("drivinglicenseFileType", !!data.form.DRIVINGLICENSE_PHOTO[0].raw);
|
||||||
|
}
|
||||||
|
if(data.form.OPERATING_CERTIFICATE_PHOTO){
|
||||||
|
if (data.form.OPERATING_CERTIFICATE_PHOTO[0].raw) formData.append("operatingCertificateFile", data.form.OPERATING_CERTIFICATE_PHOTO[0].raw);
|
||||||
|
formData.append("operatingCertificateFileType", !!data.form.OPERATING_CERTIFICATE_PHOTO[0].raw);
|
||||||
|
}
|
||||||
|
await editOperatingVehicleInfo(formData);
|
||||||
|
ElMessage.success("提交成功");
|
||||||
|
router.back();
|
||||||
|
},
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,275 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<el-form
|
||||||
|
:model="searchForm"
|
||||||
|
label-width="90px"
|
||||||
|
@submit.prevent="fnGetDataTransfer"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车牌号" prop="PLATE_NUMBER">
|
||||||
|
<el-input
|
||||||
|
v-model="searchForm.PLATE_NUMBER"
|
||||||
|
placeholder="请填写车牌号"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆颜色" prop="VEHICLE_COLOR">
|
||||||
|
<el-select v-model="searchForm.VEHICLE_COLOR">
|
||||||
|
<el-option
|
||||||
|
v-for="item in troubleshootingCycleList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车架号" prop="FRAMES_NUMBER">
|
||||||
|
<el-input
|
||||||
|
v-model="searchForm.FRAMES_NUMBER"
|
||||||
|
placeholder="请填写车架号"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="自编号" prop="GOODSSELFNUMBER">
|
||||||
|
<el-input
|
||||||
|
v-model="searchForm.GOODSSELFNUMBER"
|
||||||
|
placeholder="请填写自编号"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="归属部门" prop="BELONGING_DEPARTMENT">
|
||||||
|
<el-input
|
||||||
|
v-model="searchForm.BELONGING_DEPARTMENT"
|
||||||
|
placeholder="请填写归属部门"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="运输企业" prop="TRANSPORT_ENTERPRISES">
|
||||||
|
<el-select v-model="searchForm.TRANSPORT_ENTERPRISES">
|
||||||
|
<el-option
|
||||||
|
v-for="item in enterpriseLevelList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="入网状态" prop="NETWORK_STATUS">
|
||||||
|
<el-select v-model="searchForm.NETWORK_STATUS">
|
||||||
|
<el-option
|
||||||
|
v-for="item in networkStatusLevelList"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="动态监管" prop="DYNAMIC_SUPERVISION">
|
||||||
|
<el-select v-model="searchForm.DYNAMIC_SUPERVISION">
|
||||||
|
<el-option
|
||||||
|
v-for="item in dynamicSupervision"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="主动安全" prop="ACTIVE_SAFETY">
|
||||||
|
<el-select v-model="searchForm.ACTIVE_SAFETY">
|
||||||
|
<el-option
|
||||||
|
v-for="item in activeSafety"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="行驶证状态" prop="DRIVINGPREMIT_STATUS">
|
||||||
|
<el-select v-model="searchForm.DRIVINGPREMIT_STATUS">
|
||||||
|
<el-option
|
||||||
|
v-for="item in licenseStatus"
|
||||||
|
:key="item.BIANMA"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.NAME"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</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="fnResetPaginationTransfer">
|
||||||
|
重置
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label-width="10px" class="end">
|
||||||
|
<el-button >导出</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
<layout-card>
|
||||||
|
<layout-table
|
||||||
|
:data="list"
|
||||||
|
v-model:pagination="pagination"
|
||||||
|
@get-data="fnGetDataTransfer"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" width="70">
|
||||||
|
<template v-slot="{ $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="VEHICLE_COLOR" label="车辆颜色">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.VEHICLE_COLOR === 'vehiclecolor_001'">黄色</span>
|
||||||
|
<span v-else-if="row.VEHICLE_COLOR === 'vehiclecolor_002'">黑色</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="FRAMES_NUMBER" label="车架号" />
|
||||||
|
<el-table-column prop="CONTACT" label="联系人" width="140" show-overflow-tooltip />
|
||||||
|
<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="FIRSTSHOW_DATE" label="初登日期" width="140" show-overflow-tooltip />
|
||||||
|
<el-table-column prop="EXPIRE_DATE" label="到期日期" width="140" show-overflow-tooltip />
|
||||||
|
<el-table-column prop="BELONGING_DEPARTMENT" label="归属部门" width="140" show-overflow-tooltip>
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
{{ translationStatus(row.NAME, belongingDepartmentList)}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="TRANSPORT_ENTERPRISES" label="运输企业" width="140" show-overflow-tooltip >
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.TRANSPORT_ENTERPRISES === 'transportenterprises_001'">唐山中胜运输服务有限公司</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="150">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/enterprise_management/basics_info_management/operation_vehicle/view',
|
||||||
|
query: { OPERATING_ID: row.OPERATING_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/enterprise_management/basics_info_management/operation_vehicle/view',
|
||||||
|
query: { OPERATING_ID: row.OPERATING_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
画像
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/enterprise_management/basics_info_management/operation_vehicle/edit',
|
||||||
|
query: { OPERATING_ID: row.OPERATING_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
修改
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<template #button>
|
||||||
|
<el-button
|
||||||
|
v-if="buttonJurisdiction.add"
|
||||||
|
type="primary"
|
||||||
|
@click="
|
||||||
|
router.push({ path: '/enterprise_management/basics_info_management/operation_vehicle/add' })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</layout-table>
|
||||||
|
</layout-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { serialNumber, translationStatus } from "@/assets/js/utils.js";
|
||||||
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
import {
|
||||||
|
layoutFnGetVehicleColor,
|
||||||
|
layoutFnGetTransportationEnterprise,
|
||||||
|
layoutFnGetNetworkStatus,
|
||||||
|
layoutFnGetDynamicSupervision,
|
||||||
|
layoutFnGetActiveSafety,
|
||||||
|
layoutFnGetLicenseStatus,
|
||||||
|
layoutFnGetBelongingDepartment,
|
||||||
|
} from "@/assets/js/operation_vehicle.js";
|
||||||
|
import { getOperationVehicleList } from "@/request/operation_vehicle.js";
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
|
useListData(getOperationVehicleList, {
|
||||||
|
|
||||||
|
});
|
||||||
|
const troubleshootingCycleList = await layoutFnGetVehicleColor();
|
||||||
|
const enterpriseLevelList = await layoutFnGetTransportationEnterprise();
|
||||||
|
const networkStatusLevelList = await layoutFnGetNetworkStatus();
|
||||||
|
const dynamicSupervision = await layoutFnGetDynamicSupervision();
|
||||||
|
const activeSafety = await layoutFnGetActiveSafety();
|
||||||
|
const licenseStatus = await layoutFnGetLicenseStatus();
|
||||||
|
const belongingDepartmentList = await layoutFnGetBelongingDepartment();
|
||||||
|
console.log(list,"userListData");
|
||||||
|
const fnGetDataTransfer = () => {
|
||||||
|
fnGetData({
|
||||||
|
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const fnResetPaginationTransfer = () => {
|
||||||
|
searchForm.value = {};
|
||||||
|
fnResetPagination({
|
||||||
|
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const buttonJurisdiction = await useButtonJurisdiction("operation");
|
||||||
|
</script>
|
||||||
|
<style scoped></style>
|
|
@ -0,0 +1,165 @@
|
||||||
|
<template>
|
||||||
|
<layout-card>
|
||||||
|
<el-divider content-position="left">基本信息</el-divider>
|
||||||
|
<el-descriptions border>
|
||||||
|
<el-descriptions-item label="自编号">
|
||||||
|
{{ data.GOODSSELFNUMBER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车牌号">
|
||||||
|
{{ data.PLATE_NUMBER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车架号">
|
||||||
|
{{ data.FRAMES_NUMBER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车辆颜色">
|
||||||
|
{{ data.VEHICLE_COLOR }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="发动机号">
|
||||||
|
{{ data.ENGINE_NUMBER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车辆类型">
|
||||||
|
{{ data.VEHICLE_TYPE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车主/业主">
|
||||||
|
{{ data.VEHICLEOWNER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车主电话">
|
||||||
|
{{ data.VEHICLEOWNER_NUMBER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="货运类型">
|
||||||
|
{{ data.FREIGHT_TYPE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="营运证号">
|
||||||
|
{{ data.OPERATING_CERTIFICATE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车主地址">
|
||||||
|
{{ data.VEHICLEOWNER_ADDRESS }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="联系人">
|
||||||
|
{{ data.CONTACT }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="联系电话">
|
||||||
|
{{ data.CONTACT_NUMBER }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="家庭住址">
|
||||||
|
{{ data.HOME_ADDRESS }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="实际住址">
|
||||||
|
{{ data.PHYSICAL_ADDRESS }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="初登日期">
|
||||||
|
{{ data.FIRSTSHOW_DATE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="发证日期">
|
||||||
|
{{ data.CERTIFICATE_DATE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="到期日期">
|
||||||
|
{{ data.EXPIRE_DATE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="运输企业">
|
||||||
|
{{ data.TRANSPORT_ENTERPRISES }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
<el-divider content-position="left">车辆状态</el-divider>
|
||||||
|
<el-descriptions :column="2" border>
|
||||||
|
<el-descriptions-item label="入网状态">
|
||||||
|
<span v-if="data.NETWORK_STATUS === 'networkstatus_001'"> 已入网 </span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="动态监管">
|
||||||
|
<span v-if="data.DYNAMIC_SUPERVISION === 'dynamicsupervision_001'">
|
||||||
|
未绑定
|
||||||
|
</span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="主动安全">
|
||||||
|
<span v-if="data.ACTIVE_SAFETY === 'activesafety_001'"> 已开启 </span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="行驶证状态">
|
||||||
|
<span v-if="data.DRIVINGPREMIT_STATUS === 'licensestatus_001'">
|
||||||
|
未到期
|
||||||
|
</span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
<el-divider content-position="left">详细信息</el-divider>
|
||||||
|
<el-descriptions border>
|
||||||
|
<el-descriptions-item label="车辆品牌">
|
||||||
|
{{ data.VEHICLE_BRAND }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车辆型号">
|
||||||
|
{{ data.VEHICLE_MODEL }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="燃料类型">
|
||||||
|
{{ data.FUEL_TYPE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="排放标准">
|
||||||
|
{{ data.EMISSION_STANDARD }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="核定总质量">
|
||||||
|
{{ data.VOUCH_TOTALMASS }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="核定载质量">
|
||||||
|
{{ data.VOUCH_PAYLOAD }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="准牵引质量">
|
||||||
|
{{ data.RACTIONMASS_QUALITY }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="运输类别">
|
||||||
|
{{ data.TRANSPORT_TYPE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
<el-descriptions :column="1" border>
|
||||||
|
<el-descriptions-item label="备注">
|
||||||
|
{{ data.REMARK }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
<el-divider content-position="left">相关照片</el-divider>
|
||||||
|
<el-descriptions :column="3" border>
|
||||||
|
<el-descriptions-item label="车头照片">
|
||||||
|
<img
|
||||||
|
v-viewer
|
||||||
|
:src="VITE_FILE_URL + data.HEADSTOCK_PHOTO"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="行驶证照片">
|
||||||
|
<img
|
||||||
|
v-viewer
|
||||||
|
:src="VITE_FILE_URL + data.DRIVINGLICENSE_PHOTO"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="营运证照片">
|
||||||
|
<img
|
||||||
|
v-viewer
|
||||||
|
:src="VITE_FILE_URL + data.OPERATING_CERTIFICATE_PHOTO"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="车辆资料">
|
||||||
|
{{ data.VEHICLE_MATERIAL }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</layout-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { findByIdOperatingVehicleInfo } from "@/request/operation_vehicle.js";
|
||||||
|
import { useRoute } from "vue-router";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
|
const { OPERATING_ID } = route.query;
|
||||||
|
const data = ref({});
|
||||||
|
const getData = async () => {
|
||||||
|
const { pd } = await findByIdOperatingVehicleInfo({ OPERATING_ID });
|
||||||
|
data.value = pd;
|
||||||
|
};
|
||||||
|
getData();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
Loading…
Reference in New Issue