forked from integrated_whb/integrated_whb_vue
				
			货运挂车
							parent
							
								
									bd44a63496
								
							
						
					
					
						commit
						0bd143e47d
					
				|  | @ -1,5 +1,5 @@ | |||
| import { post, upload } from "@/request/axios.js"; | ||||
| 
 | ||||
| import { ref } from "vue"; | ||||
| export const getEnterpriseList = (params) => post("/corpinfo/list", params); // 获取企业列表
 | ||||
| export const getEnterpriseInfo = (params) => post("/corpinfo/goEdit", params); // 获取企业信息
 | ||||
| export const setEnterpriseInfo = (params) => upload("/corpinfo/edit", params); // 修改企业信息
 | ||||
|  | @ -53,3 +53,17 @@ export const setElectronicFenceEdit = (params) => | |||
|   post("/electronicfence/edit", params); // 电子围栏区域新增
 | ||||
| export const getElectronicFenceView = (params) => | ||||
|   post("/electronicfence/goEdit", params); // 电子围栏区域详情
 | ||||
| export const getFreightTrailerList = (params) => post("/freightTrailer/list", params); // 货运挂车列表
 | ||||
| export const getFreightTrailerView = (params) => post("/freightTrailer/goEdit", params); // 货运挂车查看
 | ||||
| export const setFreightTrailerAdd = (params) => post("/freightTrailer/add", params); // 货运挂车新增
 | ||||
| export const setFreightTrailerEdit = (params) => post("/freightTrailer/edit", params); // 货运挂车修改
 | ||||
| export const setFreightTrailerDelete = (params) => post("/freightTrailer/delete", params); // 货运挂车删除
 | ||||
| const getCorpList = (params) => post("/freightTrailer/corpList", params) | ||||
| export const getFreightTrailerCorpList = async () => { | ||||
|     const resData = await getCorpList() | ||||
|     return ref(resData.list); | ||||
| };// 货运挂车 企业列表
 | ||||
| export const getFreightTrailerCorpList1 = async () => { | ||||
|     const resData = await getCorpList() | ||||
|     return resData.list; | ||||
| };// 货运挂车 企业列表
 | ||||
|  | @ -0,0 +1,293 @@ | |||
| <template> | ||||
|     <layout-card> | ||||
|         <el-form ref="formRef" :rules="rules" :model="form" label-width="140px"> | ||||
|             <el-row :gutter="20"> | ||||
|                 <el-col :span="24"> | ||||
|                     <el-divider content-position="left">基本信息</el-divider> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="自编号" prop="NUM"> | ||||
|                         <el-input v-model.number="form.NUM" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车牌号" prop="PLATE_NUMBER"> | ||||
|                         <el-input v-model="form.PLATE_NUMBER" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车架号" prop="VIN"> | ||||
|                         <el-input v-model="form.VIN" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车身编号" prop="VEHICLE_BODY_NUMBER"> | ||||
|                         <el-input v-model="form.VEHICLE_BODY_NUMBER" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车类型" prop="TRAILER_TYPE"> | ||||
|                         <el-input v-model="form.TRAILER_TYPE" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="营运证号" prop="OPER_CERTIFICATE_NUM"> | ||||
|                         <el-input v-model="form.OPER_CERTIFICATE_NUM" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="归属部门" prop="BELONGING_DEPT"> | ||||
|                         <layout-department v-model="form.BELONGING_DEPT"/> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车主/业户" prop="CAR_OWNERS"> | ||||
|                         <el-input v-model="form.CAR_OWNERS" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> | ||||
|                         <el-input v-model="form.CAR_OWNERS_TEL" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="联系人" prop="CONTACTS"> | ||||
|                         <el-input v-model="form.CONTACTS" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="联系电话" prop="CONTACT_PHONE"> | ||||
|                         <el-input v-model="form.CONTACT_PHONE" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE"> | ||||
|                         <el-date-picker | ||||
|                                 v-model="form.INITIAL_REGISTRATION_DATE" | ||||
|                                 value-format="YYYY-MM-DD" | ||||
|                                 format="YYYY-MM-DD" | ||||
|                                 type="date" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="发证日期" prop="CERTIFICATE_DATE"> | ||||
|                         <el-date-picker | ||||
|                                 v-model="form.CERTIFICATE_DATE" | ||||
|                                 value-format="YYYY-MM-DD" | ||||
|                                 format="YYYY-MM-DD" | ||||
|                                 type="date" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="到期日期" prop="DUE_DATE"> | ||||
|                         <el-date-picker | ||||
|                                 v-model="form.DUE_DATE" | ||||
|                                 value-format="YYYY-MM-DD" | ||||
|                                 format="YYYY-MM-DD" | ||||
|                                 type="date" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="24"> | ||||
|                     <el-divider content-position="left">详细信息</el-divider> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车品牌" prop="TRAILER_BRAND"> | ||||
|                         <el-input v-model="form.TRAILER_BRAND" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车型号" prop="TRAILER_MODEL"> | ||||
|                         <el-input v-model="form.TRAILER_MODEL" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="核定总质量" prop="APPROVED_TOTAL_MASS"> | ||||
|                         <el-input v-model="form.APPROVED_TOTAL_MASS" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="核定载质量" prop="APPROVED_LOAD_CAPACITY"> | ||||
|                         <el-input v-model="form.APPROVED_LOAD_CAPACITY" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="容积/体积" prop="VOLUME"> | ||||
|                         <el-input v-model="form.TEAM_NAME" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="备注" prop="NOTES"> | ||||
|                         <el-input | ||||
|                                 v-model="form.NOTES" | ||||
|                                 type="textarea" | ||||
|                                 :autosize="{ minRows: 3 }" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="24"> | ||||
|                     <el-divider content-position="left">相关照片</el-divider> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车照片" prop="TRAILER_IMG"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.TRAILER_IMG" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.DRIVING_LICENSE_IMG" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="运营证照片" prop="OPER_CERTIFICATE_IMG"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.OPER_CERTIFICATE_IMG" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车资料" prop="TRAILER_INFO"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.TRAILER_INFO" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|             </el-row> | ||||
|         </el-form> | ||||
|         <div class="mt-10 tc"> | ||||
|             <el-button type="primary" @click="fnSubmit">保存</el-button> | ||||
|         </div> | ||||
|     </layout-card> | ||||
| </template> | ||||
| 
 | ||||
| <script setup> | ||||
|     import LayoutUpload from "@/components/upload/index.vue"; | ||||
|     import LayoutDepartment from "@/components/department/index.vue"; | ||||
|     import { ref } from "vue"; | ||||
|     import { debounce } from "throttle-debounce"; | ||||
|     import {getFreightTrailerView, setFreightTrailerAdd ,setFreightTrailerEdit,} from "@/request/enterprise_management.js"; | ||||
|     import { setUploadImg } from "@/request/api.js"; | ||||
|     import { ElMessage } from "element-plus"; | ||||
|     import { useRoute, useRouter, } from "vue-router"; | ||||
|     import useFormValidate from "@/assets/js/useFormValidate.js"; | ||||
|     import { addingPrefixToFile } from "@/assets/js/utils.js"; | ||||
|     const route = useRoute(); | ||||
|     const router = useRouter(); | ||||
|     const FREIGHTTRAILER_ID = route.query.FREIGHTTRAILER_ID | ||||
|     const formRef = ref(null); | ||||
|     const form = ref({ | ||||
|         NUM:'', | ||||
|         PLATE_NUMBER:'', | ||||
|         VIN:'', | ||||
|         VEHICLE_BODY_NUMBER:'', | ||||
|         TRAILER_TYPE:'', | ||||
|         OPER_CERTIFICATE_NUM:'', | ||||
|         BELONGING_DEPT:'', | ||||
|         CAR_OWNERS:'', | ||||
|         CAR_OWNERS_TEL:'', | ||||
|         CONTACTS:'', | ||||
|         CONTACT_PHONE:'', | ||||
|         INITIAL_REGISTRATION_DATE:'', | ||||
|         CERTIFICATE_DATE:'', | ||||
|         DUE_DATE:'', | ||||
|         TRAILER_BRAND:'', | ||||
|         TRAILER_MODEL:'', | ||||
|         APPROVED_TOTAL_MASS:'', | ||||
|         APPROVED_LOAD_CAPACITY:'', | ||||
|         VOLUME:'', | ||||
|         NOTES:'', | ||||
|         TRAILER_IMG:[], | ||||
|         DRIVING_LICENSE_IMG:[], | ||||
|         OPER_CERTIFICATE_IMG:[], | ||||
|         TRAILER_INFO:[], | ||||
|     }); | ||||
|     const rules = { | ||||
|         PLATE_NUMBER: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         VIN: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         TRAILER_TYPE: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CAR_OWNERS_TEL: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CONTACTS: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CONTACT_PHONE: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         INITIAL_REGISTRATION_DATE: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|     } | ||||
|     const fnGetData = async () => { | ||||
|         if (!FREIGHTTRAILER_ID) return; | ||||
|         const resData = await getFreightTrailerView({ FREIGHTTRAILER_ID }); | ||||
|         form.value = resData.pd; | ||||
|         form.value.TRAILER_IMG = addingPrefixToFile( | ||||
|             resData.trailerImgs | ||||
|         ); | ||||
|         form.value.DRIVING_LICENSE_IMG = addingPrefixToFile( | ||||
|             resData.drivingLicenseImgs | ||||
|         ); | ||||
|         form.value.OPER_CERTIFICATE_IMG = addingPrefixToFile( | ||||
|             resData.operCertificateImgs | ||||
|         ); | ||||
|         form.value.TRAILER_INFO = addingPrefixToFile( | ||||
|             resData.trailerInfoImgs | ||||
|         ); | ||||
|     }; | ||||
|     fnGetData(); | ||||
| 
 | ||||
|     const fnSubmit = debounce( | ||||
|         1000, | ||||
|         async () => { | ||||
|             await useFormValidate(formRef); | ||||
|             const resData = !FREIGHTTRAILER_ID | ||||
|                 ? await setFreightTrailerAdd({ ...form.value }) | ||||
|                 : await setFreightTrailerEdit({ ...form.value ,FREIGHTTRAILER_ID:FREIGHTTRAILER_ID}); | ||||
|             const currentFreighttrailerId =resData.pd.FREIGHTTRAILER_ID | ||||
|             for (let i = 0; i < form.value.TRAILER_IMG.length; i++) { | ||||
|                 if (form.value.TRAILER_IMG[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.TRAILER_IMG[i].raw, 120); | ||||
|             } | ||||
|             for (let i = 0; i < form.value.DRIVING_LICENSE_IMG.length; i++) { | ||||
|                 if (form.value.DRIVING_LICENSE_IMG[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.DRIVING_LICENSE_IMG[i].raw, 121); | ||||
|             } | ||||
|             for (let i = 0; i < form.value.OPER_CERTIFICATE_IMG.length; i++) { | ||||
|                 if (form.value.OPER_CERTIFICATE_IMG[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.OPER_CERTIFICATE_IMG[i].raw, 122); | ||||
|             } | ||||
|             for (let i = 0; i < form.value.TRAILER_INFO.length; i++) { | ||||
|                 if (form.value.TRAILER_INFO[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.TRAILER_INFO[i].raw, 123); | ||||
|             } | ||||
|             ElMessage.success("保存成功"); | ||||
|             router.back(); | ||||
|         }, | ||||
|         { atBegin: true } | ||||
|     ); | ||||
|     const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => { | ||||
|         const formData = new FormData(); | ||||
|         formData.append("FOREIGN_KEY", HIDDEN_ID); | ||||
|         formData.append("TYPE", TYPE); | ||||
|         formData.append("FFILE", FFILE); | ||||
|         await setUploadImg(formData); | ||||
|     }; | ||||
| </script> | ||||
| 
 | ||||
| <style scoped lang="scss"></style> | ||||
|  | @ -0,0 +1,135 @@ | |||
| <template> | ||||
|   <el-dialog v-model="visible" title="导出" :on-close="fnClose"> | ||||
|     <el-checkbox | ||||
|       :indeterminate="isIndeterminate" | ||||
|       v-model="checkAll" | ||||
|       @change="fnCheckAllChange" | ||||
|     > | ||||
|       全选 | ||||
|     </el-checkbox> | ||||
|     <el-checkbox v-model="havePicture"> | ||||
|       导出带图片的excel(最多10条) | ||||
|     </el-checkbox> | ||||
|     <el-divider /> | ||||
|     <el-checkbox-group v-model="checkOptions" @change="fnCheckedChange"> | ||||
|       <el-row> | ||||
|         <el-col v-for="(item, index) in options" :span="4" :key="index"> | ||||
|           <el-checkbox :label="item" :value="item" /> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
|     </el-checkbox-group> | ||||
|     <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 { ref } from "vue"; | ||||
| import { debounce } from "throttle-debounce"; | ||||
| import { ElMessage } from "element-plus"; | ||||
| import useDownloadBlob from "@/assets/js/useDownloadBlob.js"; | ||||
| import QS from "qs"; | ||||
| 
 | ||||
| const props = defineProps({ | ||||
|   visible: { | ||||
|     type: Boolean, | ||||
|     required: true, | ||||
|     default: false, | ||||
|   }, | ||||
|   searchForm: { | ||||
|     type: Object, | ||||
|     required: true, | ||||
|     default: () => {}, | ||||
|   }, | ||||
|   ids: { | ||||
|     type: Array, | ||||
|     required: true, | ||||
|     default: () => [], | ||||
|   }, | ||||
| }); | ||||
| const emits = defineEmits(["update:visible"]); | ||||
| const visible = useVModel(props, "visible", emits); | ||||
| const options = [ | ||||
|   "自编号", | ||||
|   "车牌号", | ||||
|   "车架号", | ||||
|   "挂车类型", | ||||
|   "营运证号", | ||||
|   "运输企业", | ||||
|   "归属部门", | ||||
|   "车主/业户", | ||||
|   "车主电话", | ||||
|   "联系人", | ||||
|   "联系电话", | ||||
|   "初登日期", | ||||
|   "发证日期", | ||||
|   "到期日期", | ||||
|   "挂车品牌", | ||||
|   "挂车型号", | ||||
|   "核定总质量", | ||||
|   "核定载质量", | ||||
|   "容积/体积", | ||||
|   "备注", | ||||
|   "挂车照片", | ||||
|   "行驶证照片", | ||||
|   "运营证照片", | ||||
|   "挂车资料", | ||||
| ]; | ||||
| const checkAll = ref(true); | ||||
| const isIndeterminate = ref(false); | ||||
| const checkOptions = ref(options); | ||||
| const havePicture = ref(false); | ||||
| const fnCheckAllChange = (val) => { | ||||
|   checkOptions.value = val ? options : []; | ||||
|   isIndeterminate.value = false; | ||||
| }; | ||||
| const fnCheckedChange = (value) => { | ||||
|   const checkedCount = value.length; | ||||
|   checkAll.value = checkedCount === options.length; | ||||
|   isIndeterminate.value = checkedCount > 0 && checkedCount < options.length; | ||||
| }; | ||||
| const fnClose = () => { | ||||
|   visible.value = false; | ||||
|   checkOptions.value = options; | ||||
|   isIndeterminate.value = false; | ||||
|   checkAll.value = true; | ||||
|   havePicture.value = false; | ||||
| }; | ||||
| const fnSubmit = debounce( | ||||
|   1000, | ||||
|   () => { | ||||
|     let data = { | ||||
|       havePicture: havePicture.value ? "1" : "0", | ||||
|       options: JSON.stringify(checkOptions.value), | ||||
|     }; | ||||
|     if (havePicture.value) { | ||||
|       const ids = props.ids; | ||||
|       if (ids.length === 0) { | ||||
|         ElMessage.warning("请选择要导出的数据"); | ||||
|         return; | ||||
|       } | ||||
|       if (ids.length > 10) { | ||||
|         ElMessage.warning("选择的数据超过10条"); | ||||
|         return; | ||||
|       } | ||||
|       data = { | ||||
|         ...data, FREIGHTTRAILER_IDs: ids.join(","), | ||||
|       }; | ||||
|     } else { | ||||
|       const searchForm = props.searchForm; | ||||
|       data = { | ||||
|         ...data, | ||||
|         PLATE_NUMBER: searchForm.PLATE_NUMBER, | ||||
|         VIN: searchForm.VIN, | ||||
|       }; | ||||
|     } | ||||
|     useDownloadBlob("/freightTrailer/excel" + "?" + QS.stringify(data)); | ||||
|   }, | ||||
|   { atBegin: true } | ||||
| ); | ||||
| </script> | ||||
| 
 | ||||
| <style scoped lang="scss"></style> | ||||
|  | @ -0,0 +1,293 @@ | |||
| <template> | ||||
|     <layout-card> | ||||
|         <el-form ref="formRef" :rules="rules" :model="form" label-width="140px"> | ||||
|             <el-row :gutter="20"> | ||||
|                 <el-col :span="24"> | ||||
|                     <el-divider content-position="left">基本信息</el-divider> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="自编号" prop="NUM"> | ||||
|                         <el-input v-model.number="form.NUM" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车牌号" prop="PLATE_NUMBER"> | ||||
|                         <el-input v-model="form.PLATE_NUMBER" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车架号" prop="VIN"> | ||||
|                         <el-input v-model="form.VIN" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车身编号" prop="VEHICLE_BODY_NUMBER"> | ||||
|                         <el-input v-model="form.VEHICLE_BODY_NUMBER" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车类型" prop="TRAILER_TYPE"> | ||||
|                         <el-input v-model="form.TRAILER_TYPE" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="营运证号" prop="OPER_CERTIFICATE_NUM"> | ||||
|                         <el-input v-model="form.OPER_CERTIFICATE_NUM" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="归属部门" prop="BELONGING_DEPT"> | ||||
|                         <layout-department v-model="form.BELONGING_DEPT"/> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车主/业户" prop="CAR_OWNERS"> | ||||
|                         <el-input v-model="form.CAR_OWNERS" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="车主电话" prop="CAR_OWNERS_TEL"> | ||||
|                         <el-input v-model="form.CAR_OWNERS_TEL" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="联系人" prop="CONTACTS"> | ||||
|                         <el-input v-model="form.CONTACTS" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="联系电话" prop="CONTACT_PHONE"> | ||||
|                         <el-input v-model="form.CONTACT_PHONE" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="初登日期" prop="INITIAL_REGISTRATION_DATE"> | ||||
|                         <el-date-picker | ||||
|                                 v-model="form.INITIAL_REGISTRATION_DATE" | ||||
|                                 value-format="YYYY-MM-DD" | ||||
|                                 format="YYYY-MM-DD" | ||||
|                                 type="date" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="发证日期" prop="CERTIFICATE_DATE"> | ||||
|                         <el-date-picker | ||||
|                                 v-model="form.CERTIFICATE_DATE" | ||||
|                                 value-format="YYYY-MM-DD" | ||||
|                                 format="YYYY-MM-DD" | ||||
|                                 type="date" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="到期日期" prop="DUE_DATE"> | ||||
|                         <el-date-picker | ||||
|                                 v-model="form.DUE_DATE" | ||||
|                                 value-format="YYYY-MM-DD" | ||||
|                                 format="YYYY-MM-DD" | ||||
|                                 type="date" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="24"> | ||||
|                     <el-divider content-position="left">详细信息</el-divider> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车品牌" prop="TRAILER_BRAND"> | ||||
|                         <el-input v-model="form.TRAILER_BRAND" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车型号" prop="TRAILER_MODEL"> | ||||
|                         <el-input v-model="form.TRAILER_MODEL" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="核定总质量" prop="APPROVED_TOTAL_MASS"> | ||||
|                         <el-input v-model="form.APPROVED_TOTAL_MASS" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="核定载质量" prop="APPROVED_LOAD_CAPACITY"> | ||||
|                         <el-input v-model="form.APPROVED_LOAD_CAPACITY" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="容积/体积" prop="VOLUME"> | ||||
|                         <el-input v-model="form.TEAM_NAME" /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="备注" prop="NOTES"> | ||||
|                         <el-input | ||||
|                                 v-model="form.NOTES" | ||||
|                                 type="textarea" | ||||
|                                 :autosize="{ minRows: 3 }" | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="24"> | ||||
|                     <el-divider content-position="left">相关照片</el-divider> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车照片" prop="TRAILER_IMG"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.TRAILER_IMG" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="行驶证照片" prop="DRIVING_LICENSE_IMG"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.DRIVING_LICENSE_IMG" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="运营证照片" prop="OPER_CERTIFICATE_IMG"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.OPER_CERTIFICATE_IMG" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|                 <el-col :span="12"> | ||||
|                     <el-form-item label="挂车资料" prop="TRAILER_INFO"> | ||||
|                         <layout-upload | ||||
|                                 v-model:file-list="form.TRAILER_INFO" | ||||
|                                 list-type="picture-card" | ||||
|                                 accept=".jpg,.jpeg,.png" | ||||
| 
 | ||||
|                                 delete-to-server | ||||
|                         /> | ||||
|                     </el-form-item> | ||||
|                 </el-col> | ||||
|             </el-row> | ||||
|         </el-form> | ||||
|         <div class="mt-10 tc"> | ||||
|             <el-button type="primary" @click="fnSubmit">保存</el-button> | ||||
|         </div> | ||||
|     </layout-card> | ||||
| </template> | ||||
| 
 | ||||
| <script setup> | ||||
|     import LayoutUpload from "@/components/upload/index.vue"; | ||||
|     import LayoutDepartment from "@/components/department/index.vue"; | ||||
|     import { ref } from "vue"; | ||||
|     import { debounce } from "throttle-debounce"; | ||||
|     import {getFreightTrailerView, setFreightTrailerAdd ,setFreightTrailerEdit,} from "@/request/enterprise_management.js"; | ||||
|     import { setUploadImg } from "@/request/api.js"; | ||||
|     import { ElMessage } from "element-plus"; | ||||
|     import { useRoute, useRouter, } from "vue-router"; | ||||
|     import useFormValidate from "@/assets/js/useFormValidate.js"; | ||||
|     import { addingPrefixToFile } from "@/assets/js/utils.js"; | ||||
|     const route = useRoute(); | ||||
|     const router = useRouter(); | ||||
|     const FREIGHTTRAILER_ID = route.query.FREIGHTTRAILER_ID | ||||
|     const formRef = ref(null); | ||||
|     const form = ref({ | ||||
|         NUM:'', | ||||
|         PLATE_NUMBER:'', | ||||
|         VIN:'', | ||||
|         VEHICLE_BODY_NUMBER:'', | ||||
|         TRAILER_TYPE:'', | ||||
|         OPER_CERTIFICATE_NUM:'', | ||||
|         BELONGING_DEPT:'', | ||||
|         CAR_OWNERS:'', | ||||
|         CAR_OWNERS_TEL:'', | ||||
|         CONTACTS:'', | ||||
|         CONTACT_PHONE:'', | ||||
|         INITIAL_REGISTRATION_DATE:'', | ||||
|         CERTIFICATE_DATE:'', | ||||
|         DUE_DATE:'', | ||||
|         TRAILER_BRAND:'', | ||||
|         TRAILER_MODEL:'', | ||||
|         APPROVED_TOTAL_MASS:'', | ||||
|         APPROVED_LOAD_CAPACITY:'', | ||||
|         VOLUME:'', | ||||
|         NOTES:'', | ||||
|         TRAILER_IMG:[], | ||||
|         DRIVING_LICENSE_IMG:[], | ||||
|         OPER_CERTIFICATE_IMG:[], | ||||
|         TRAILER_INFO:[], | ||||
|     }); | ||||
|     const rules = { | ||||
|         PLATE_NUMBER: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         VIN: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         TRAILER_TYPE: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CAR_OWNERS: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CAR_OWNERS_TEL: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CONTACTS: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         CONTACT_PHONE: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|         INITIAL_REGISTRATION_DATE: [{ required: true, message: "请输入", trigger: "blur" }], | ||||
|     } | ||||
|     const fnGetData = async () => { | ||||
|         if (!FREIGHTTRAILER_ID) return; | ||||
|         const resData = await getFreightTrailerView({ FREIGHTTRAILER_ID }); | ||||
|         form.value = resData.pd; | ||||
|         form.value.TRAILER_IMG = addingPrefixToFile( | ||||
|             resData.trailerImgs | ||||
|         ); | ||||
|         form.value.DRIVING_LICENSE_IMG = addingPrefixToFile( | ||||
|             resData.drivingLicenseImgs | ||||
|         ); | ||||
|         form.value.OPER_CERTIFICATE_IMG = addingPrefixToFile( | ||||
|             resData.operCertificateImgs | ||||
|         ); | ||||
|         form.value.TRAILER_INFO = addingPrefixToFile( | ||||
|             resData.trailerInfoImgs | ||||
|         ); | ||||
|     }; | ||||
|     fnGetData(); | ||||
| 
 | ||||
|     const fnSubmit = debounce( | ||||
|         1000, | ||||
|         async () => { | ||||
|             await useFormValidate(formRef); | ||||
|             const resData = !FREIGHTTRAILER_ID | ||||
|                 ? await setFreightTrailerAdd({ ...form.value }) | ||||
|                 : await setFreightTrailerEdit({ ...form.value ,FREIGHTTRAILER_ID:FREIGHTTRAILER_ID}); | ||||
|             const currentFreighttrailerId =resData.pd.FREIGHTTRAILER_ID | ||||
|             for (let i = 0; i < form.value.TRAILER_IMG.length; i++) { | ||||
|                 if (form.value.TRAILER_IMG[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.TRAILER_IMG[i].raw, 120); | ||||
|             } | ||||
|             for (let i = 0; i < form.value.DRIVING_LICENSE_IMG.length; i++) { | ||||
|                 if (form.value.DRIVING_LICENSE_IMG[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.DRIVING_LICENSE_IMG[i].raw, 121); | ||||
|             } | ||||
|             for (let i = 0; i < form.value.OPER_CERTIFICATE_IMG.length; i++) { | ||||
|                 if (form.value.OPER_CERTIFICATE_IMG[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.OPER_CERTIFICATE_IMG[i].raw, 122); | ||||
|             } | ||||
|             for (let i = 0; i < form.value.TRAILER_INFO.length; i++) { | ||||
|                 if (form.value.TRAILER_INFO[i].raw) | ||||
|                     await fnUploadImage(currentFreighttrailerId, form.value.TRAILER_INFO[i].raw, 123); | ||||
|             } | ||||
|             ElMessage.success("保存成功"); | ||||
|             router.back(); | ||||
|         }, | ||||
|         { atBegin: true } | ||||
|     ); | ||||
|     const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => { | ||||
|         const formData = new FormData(); | ||||
|         formData.append("FOREIGN_KEY", HIDDEN_ID); | ||||
|         formData.append("TYPE", TYPE); | ||||
|         formData.append("FFILE", FFILE); | ||||
|         await setUploadImg(formData); | ||||
|     }; | ||||
| </script> | ||||
| 
 | ||||
| <style scoped lang="scss"></style> | ||||
|  | @ -0,0 +1,165 @@ | |||
| <template> | ||||
|     <div> | ||||
|         <el-card> | ||||
|             <el-form | ||||
|                     :model="searchForm" | ||||
|                     label-width="100px" | ||||
|                     @submit.prevent="fnResetPaginationTransfer" | ||||
|             > | ||||
|                 <el-row> | ||||
|                     <el-col :span="5"> | ||||
|                         <el-form-item label="车牌号" prop="PLATE_NUMBER"> | ||||
|                             <el-input v-model="searchForm.PLATE_NUMBER" /> | ||||
|                         </el-form-item> | ||||
|                     </el-col> | ||||
|                     <el-col :span="5"> | ||||
|                         <el-form-item label="车架号" prop="VIN"> | ||||
|                             <el-input v-model="searchForm.VIN" /> | ||||
|                         </el-form-item> | ||||
|                     </el-col> | ||||
|                     <el-col :span="5"> | ||||
|                         <el-form-item label="自编号" prop="NUM"> | ||||
|                             <el-input v-model="searchForm.NUM" /> | ||||
|                         </el-form-item> | ||||
|                     </el-col> | ||||
|                     <el-col :span="5"> | ||||
|                         <el-form-item label="归属部门" prop="DEPARTMENT_NAME"> | ||||
|                             <el-input v-model="searchForm.DEPARTMENT_NAME" /> | ||||
|                         </el-form-item> | ||||
|                     </el-col> | ||||
|                     <el-col :span="3"> | ||||
|                         <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="1"> | ||||
|                         <el-form-item label-width="10px" class="end"> | ||||
|                             <el-button @click="fnExport">导出</el-button> | ||||
|                         </el-form-item> | ||||
|                     </el-col> | ||||
|                 </el-row> | ||||
|             </el-form> | ||||
|         </el-card> | ||||
|         <layout-card> | ||||
|             <layout-table | ||||
|                     :data="list" | ||||
|                     @get-data="fnGetDataTransfer" | ||||
|                     v-model:pagination="pagination" | ||||
|                     ref="tableRef" | ||||
|                     row-key="HIDDEN_ID" | ||||
|             > | ||||
|                 <el-table-column reserve-selection type="selection" width="55" /> | ||||
|                 <el-table-column label="序号" width="60"> | ||||
|                     <template #default="{ $index }"> | ||||
|                         {{ serialNumber(pagination, $index) }} | ||||
|                     </template> | ||||
|                 </el-table-column> | ||||
|                 <el-table-column prop="NUM" label="自编号" width="150"/> | ||||
|                 <el-table-column prop="PLATE_NUMBER" label="车牌号" width="150"/> | ||||
|                 <el-table-column prop="CONTACTS" label="联系人" width="150"/> | ||||
|                 <el-table-column prop="CONTACT_PHONE" label="联系电话" width="150"/> | ||||
|                 <el-table-column prop="TRAILER_TYPE" label="挂车类型" width="150"/> | ||||
|                 <el-table-column prop="INITIAL_REGISTRATION_DATE" label="初登日期" width="150"/> | ||||
|                 <el-table-column prop="DUE_DATE" label="到期日期" width="150"/> | ||||
|                 <el-table-column prop="DEPARTMENT_NAME" label="归属部门" width="150"/> | ||||
|                 <el-table-column label="操作" width="150"> | ||||
|                     <template #default="{ row }"> | ||||
|                         <el-button | ||||
|                                 type="primary" | ||||
|                                 text | ||||
|                                 link | ||||
|                                 @click="router.push({path: '/enterprise_management/basics_info_management/freight_trailer/view',query: { FREIGHTTRAILER_ID: row.FREIGHTTRAILER_ID },})"> | ||||
|                             查看 | ||||
|                         </el-button> | ||||
|                         <el-button | ||||
|                                 type="primary" | ||||
|                                 text | ||||
|                                 link | ||||
|                                 @click="router.push({path: '/enterprise_management/basics_info_management/freight_trailer/edit',query: { FREIGHTTRAILER_ID: row.FREIGHTTRAILER_ID },})"> | ||||
|                             编辑 | ||||
|                         </el-button> | ||||
|                         <el-button | ||||
|                                 type="primary" | ||||
|                                 text | ||||
|                                 link | ||||
|                                 @click="fnDelete(row.FREIGHTTRAILER_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/freight_trailer/add' })"> | ||||
|                         新增 | ||||
|                     </el-button> | ||||
|                 </template> | ||||
|             </layout-table> | ||||
|         </layout-card> | ||||
|         <export-excel | ||||
|                 v-model:visible="data.exportExcelDialog.visible" | ||||
|                 :search-form="searchForm" | ||||
|                 :ids="data.exportExcelDialog.ids" | ||||
|         /> | ||||
|     </div> | ||||
| </template> | ||||
| 
 | ||||
| <script setup> | ||||
|     import { useRouter } from "vue-router"; | ||||
|     import { serialNumber } from "@/assets/js/utils"; | ||||
|     import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js"; | ||||
|     import useListData from "@/assets/js/useListData.js"; | ||||
|     import { getFreightTrailerList ,setFreightTrailerDelete} from "@/request/enterprise_management.js"; | ||||
|     import ExportExcel from "./components/export_excel.vue"; | ||||
|     import { reactive } from "vue"; | ||||
|     import { debounce } from "throttle-debounce"; | ||||
|     import { ElMessageBox ,ElMessage} from "element-plus"; | ||||
|     const router = useRouter(); | ||||
|     const data = reactive({ | ||||
|         exportExcelDialog: { | ||||
|             visible: false, | ||||
|             ids: [], | ||||
|         }, | ||||
|     }); | ||||
|     const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } = | ||||
|         useListData(getFreightTrailerList); | ||||
|     const fnGetDataTransfer = () => { | ||||
|         fnGetData({ | ||||
|             PLATE_NUMBER: searchForm.value.PLATE_NUMBER, | ||||
|             VIN: searchForm.value.VIN, | ||||
|             NUM: searchForm.value.NUM, | ||||
|             DEPARTMENT_NAME: searchForm.value.DEPARTMENT_NAME, | ||||
|         }); | ||||
|     }; | ||||
|     const fnResetPaginationTransfer = () => { | ||||
|         fnResetPagination({ | ||||
|             PLATE_NUMBER: searchForm.value.PLATE_NUMBER, | ||||
|             VIN: searchForm.value.VIN, | ||||
|             NUM: searchForm.value.NUM, | ||||
|             DEPARTMENT_NAME: searchForm.value.DEPARTMENT_NAME, | ||||
|         }); | ||||
|     }; | ||||
|     const fnDelete = debounce( | ||||
|         1000, | ||||
|         async (FREIGHTTRAILER_ID) => { | ||||
|             await ElMessageBox.confirm("确定要删除吗?", { type: "warning" }); | ||||
|             await setFreightTrailerDelete({ FREIGHTTRAILER_ID }); | ||||
|             ElMessage.success("删除成功"); | ||||
|             fnResetPaginationTransfer(); | ||||
|         }, | ||||
|         { atBegin: true } | ||||
|     ); | ||||
|     const buttonJurisdiction = await useButtonJurisdiction("hidden"); | ||||
|     const fnExport = () => { | ||||
|         const selectionData = tableRef.value.getSelectionRows(); | ||||
|         data.exportExcelDialog.ids = selectionData.map((item) => item.FREIGHTTRAILER_ID); | ||||
|         data.exportExcelDialog.visible = true; | ||||
|     }; | ||||
| </script> | ||||
| 
 | ||||
| <style scoped></style> | ||||
|  | @ -0,0 +1,177 @@ | |||
| <template> | ||||
|     <layout-card> | ||||
|         <div id="printContainer"> | ||||
|             <el-divider content-position="left">基本信息</el-divider> | ||||
|             <el-descriptions :column="2" border> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="自编号"> | ||||
|                     {{ info.NUM }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="车牌号"> | ||||
|                     {{ info.PLATE_NUMBER }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="车架号"> | ||||
|                     {{ info.VIN }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="车身编号"> | ||||
|                     {{ info.VEHICLE_BODY_NUMBER }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="挂车类型"> | ||||
|                     {{ info.TRAILER_TYPE }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="营运证号"> | ||||
|                     {{ info.OPER_CERTIFICATE_NUM }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="运输企业"> | ||||
|                     {{ info.TRANSPORT_ENTERPRISESNAME }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="归属部门"> | ||||
|                     {{ info.DEPARTMENT_NAME }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="车主/业户"> | ||||
|                     {{ info.CAR_OWNERS }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="车主电话"> | ||||
|                     {{ info.CAR_OWNERS_TEL }} | ||||
|                 </el-descriptions-item> | ||||
| 
 | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="联系人"> | ||||
|                     {{ info.CONTACTS }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="车主电话"> | ||||
|                     {{ info.CAR_OWNERS_TEL }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="联系电话"> | ||||
|                     {{ info.CONTACT_PHONE }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="初登日期"> | ||||
|                     {{ info.INITIAL_REGISTRATION_DATE }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="发证日期"> | ||||
|                     {{ info.CERTIFICATE_DATE }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="到期日期"> | ||||
|                     {{ info.DUE_DATE }} | ||||
|                 </el-descriptions-item> | ||||
|             </el-descriptions> | ||||
|             <el-divider content-position="left">详细信息</el-divider> | ||||
|             <el-descriptions :column="2" border> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="挂车品牌"> | ||||
|                     {{ info.TRAILER_BRAND }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="挂车型号"> | ||||
|                     {{ info.TRAILER_MODEL }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="核定总质量"> | ||||
|                     {{ info.APPROVED_TOTAL_MASS }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="核定载质量"> | ||||
|                     {{ info.APPROVED_LOAD_CAPACITY }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="容积/体积"> | ||||
|                     {{ info.VOLUME }} | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="备注"> | ||||
|                     {{ info.NOTES }} | ||||
|                 </el-descriptions-item> | ||||
|             </el-descriptions> | ||||
|             <el-divider content-position="left">相关照片</el-divider> | ||||
|             <el-descriptions :column="2" border> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="挂车照片"> | ||||
|                     <img | ||||
|                             v-for="item in info.TRAILER_IMG" | ||||
|                             :key="item.FILEPATH" | ||||
|                             v-viewer | ||||
|                             :src="item.url" | ||||
|                             width="100" | ||||
|                             height="100" | ||||
|                             alt="" | ||||
|                             class="ml-10" | ||||
|                     /> | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="行驶证照片"> | ||||
|                     <img | ||||
|                             v-for="item in info.DRIVING_LICENSE_IMG" | ||||
|                             :key="item.FILEPATH" | ||||
|                             v-viewer | ||||
|                             :src="item.url" | ||||
|                             width="100" | ||||
|                             height="100" | ||||
|                             alt="" | ||||
|                             class="ml-10" | ||||
|                     /> | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="运营证照片"> | ||||
|                     <img | ||||
|                             v-for="item in info.OPER_CERTIFICATE_IMG" | ||||
|                             :key="item.FILEPATH" | ||||
|                             v-viewer | ||||
|                             :src="item.url" | ||||
|                             width="100" | ||||
|                             height="100" | ||||
|                             alt="" | ||||
|                             class="ml-10" | ||||
|                     /> | ||||
|                 </el-descriptions-item> | ||||
|                 <el-descriptions-item label-class-name="width_200"  label="挂车资料"> | ||||
|                     <img | ||||
|                             v-for="item in info.TRAILER_INFO" | ||||
|                             :key="item.FILEPATH" | ||||
|                             v-viewer | ||||
|                             :src="item.url" | ||||
|                             width="100" | ||||
|                             height="100" | ||||
|                             alt="" | ||||
|                             class="ml-10" | ||||
|                     /> | ||||
|                 </el-descriptions-item> | ||||
| 
 | ||||
|             </el-descriptions> | ||||
|         </div> | ||||
|         <div class="mt-10 tc"> | ||||
|             <el-button v-print="'#printContainer'" type="primary">打印</el-button> | ||||
|         </div> | ||||
|         <div v-html="PRINT_STYLE" /> | ||||
|     </layout-card> | ||||
| </template> | ||||
| 
 | ||||
| <script setup> | ||||
|     import { ref } from "vue"; | ||||
|     import { getFreightTrailerView,getFreightTrailerCorpList1 } from "@/request/enterprise_management.js"; | ||||
|     import { useRoute } from "vue-router"; | ||||
|     import { addingPrefixToFile } from "@/assets/js/utils.js"; | ||||
|     const transportEnterprisesList = await getFreightTrailerCorpList1() | ||||
|     const route = useRoute(); | ||||
|     const FREIGHTTRAILER_ID = route.query; | ||||
|     const info = ref({}); | ||||
|     const fnGetData = async () => { | ||||
|         if (!FREIGHTTRAILER_ID) return; | ||||
|         const resData = await getFreightTrailerView(FREIGHTTRAILER_ID); | ||||
|         info.value = resData.pd; | ||||
|         for(let i=0;i<transportEnterprisesList.length;i++){ | ||||
|            const item = transportEnterprisesList[i] | ||||
|            if(item.CORPINFO_ID === info.value.TRANSPORT_ENTERPRISES){ | ||||
|                info.value.TRANSPORT_ENTERPRISESNAME =  item.CORP_NAME | ||||
|            } | ||||
|         } | ||||
|         info.value.TRAILER_IMG = addingPrefixToFile( | ||||
|             resData.trailerImgs | ||||
|         ); | ||||
|         info.value.DRIVING_LICENSE_IMG = addingPrefixToFile( | ||||
|             resData.drivingLicenseImgs | ||||
|         ); | ||||
|         info.value.OPER_CERTIFICATE_IMG = addingPrefixToFile( | ||||
|             resData.operCertificateImgs | ||||
|         ); | ||||
|         info.value.TRAILER_INFO = addingPrefixToFile( | ||||
|             resData.trailerInfoImgs | ||||
|         ); | ||||
| 
 | ||||
|     }; | ||||
|     fnGetData(); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="scss" scoped> | ||||
|     .width_200{ | ||||
|         width: 200px; | ||||
|     } | ||||
| </style> | ||||
		Loading…
	
		Reference in New Issue