diff --git a/api/index.js b/api/index.js
index d0ce131..030c6fe 100644
--- a/api/index.js
+++ b/api/index.js
@@ -1,4 +1,4 @@
-import {post, upload, uploads,videoApiGet} from "../utils/request";
+import {post, upload, uploads,videoApiGet} from "@/utils/request";
export const submitLogin = (params) => post("/sys/login", params) // 登录
export const getUserInfo = (params) => post("/sys/user/info/app", params); // 获取用户信息
@@ -163,3 +163,4 @@ export const setVehiclemessageUpdate = (params) => post("/vehiclemessage/updateV
export const setVehiclemessageDelete = (params) => post("/vehiclemessage/deleteVehicleMessage", params);
export const getAuditUserList = (params) => post("/sys/user/audit/user", params);
export const goCheckLicenceNo = (params) => post("/vehiclemessage/goCheckLicenceNo", params);
+export const uploadSmd = (params) => upload("/busImgfiles/upload/smd", params); // 上传图片至smd(不上传到数据库,返回文件地址)
diff --git a/pages/door_access_control/share_office_vehicle_info/add.vue b/pages/door_access_control/share_office_vehicle_info/add.vue
index cc18daa..bdd77cc 100644
--- a/pages/door_access_control/share_office_vehicle_info/add.vue
+++ b/pages/door_access_control/share_office_vehicle_info/add.vue
@@ -31,6 +31,27 @@
+
+
+
+
+
+
@@ -47,7 +68,8 @@ import {
getVehiclemessageView,
goCheckLicenceNo,
setVehiclemessageSave,
- setVehiclemessageUpdate
+ setVehiclemessageUpdate,
+ uploadSmd
} from "@/api";
export default {
@@ -79,6 +101,9 @@ export default {
QY_AUDITOR_NAME: '',
portId: '',
portName: '',
+ drivingImgFiles: [],
+ vehicleImgFiles: [],
+ deleteFileIds: [],
},
rules: {
LICENCE_TYPE: [{type: 'string', required: true, message: '请选择车牌类型', trigger: ['blur', 'change']}],
@@ -86,6 +111,8 @@ export default {
VEHICLE_TYPE: [{type: 'string', required: true, message: '请选择车辆类型', trigger: ['blur', 'change']}],
QY_AUDITOR: [{type: 'string', required: true, message: '请选择审批人', trigger: ['blur', 'change']}],
portId: [{type: 'string', required: true, message: '请选择范围', trigger: ['blur', 'change']}],
+ vehicleImgFiles: [{type: 'array', required: true, message: '请上传车辆照片', trigger: ['blur', 'change']}],
+ drivingImgFiles: [{type: 'array', required: true, message: '请上传行驶证照片', trigger: ['blur', 'change']}]
},
picker: {
show: false,
@@ -172,6 +199,24 @@ export default {
if (auditor) {
this.form.QY_AUDITOR_NAME = auditor.name;
}
+ for (let i = 0; i < resData.pd.drivingImgs.length; i++) {
+ if (!Array.isArray(this.form.drivingImgFiles)) {
+ this.$set(this.form, "drivingImgFiles", []);
+ }
+ this.form.drivingImgFiles.push({
+ url: this.$store.state.filePath + resData.pd.drivingImgs[i].filepath,
+ ...resData.pd.drivingImgs[i],
+ });
+ }
+ for (let i = 0; i < resData.pd.vehicleImgs.length; i++) {
+ if (!Array.isArray(this.form.vehicleImgFiles)) {
+ this.$set(this.form, "vehicleImgFiles", []);
+ }
+ this.form.vehicleImgFiles.push({
+ url: this.$store.state.filePath + resData.pd.vehicleImgs[i].filepath,
+ ...resData.pd.vehicleImgs[i],
+ });
+ }
},
async getUserList() {
const resData = await getAuditUserList({corpinfoId: this.userInfo.CORPINFO_ID});
@@ -189,6 +234,26 @@ export default {
uni.$u.toast('车牌号已存在')
return
}
+ const vehicleImgs = [];
+ const drivingImgs = [];
+ for (let i = 0; i < this.form.vehicleImgFiles.length; i++) {
+ if (!this.form.vehicleImgFiles[i].imgfilesId) {
+ const { imgUrl } = await uploadSmd({
+ filePath: this.form.vehicleImgFiles[i].url,
+ name: "file",
+ });
+ vehicleImgs.push(imgUrl);
+ }
+ }
+ for (let i = 0; i < this.form.drivingImgFiles.length; i++) {
+ if (!this.form.drivingImgFiles[i].imgfilesId) {
+ const { imgUrl } = await uploadSmd({
+ filePath: this.form.drivingImgFiles[i].url,
+ name: "file",
+ });
+ drivingImgs.push(imgUrl);
+ }
+ }
this.form.OLD_LICENCE_NO = this.form.LICENCE_NO;
const params = {
...this.form,
@@ -197,14 +262,44 @@ export default {
USER_NAME: this.userInfo.NAME,
VEHICLE_DEPARTMENT_ID: this.userInfo.DEPARTMENT_ID,
VEHICLE_DEPARTMENT_NAME: this.userInfo.DEPARTMENT_NAME,
+ vehicleImgs: JSON.stringify(vehicleImgs),
+ drivingImgs: JSON.stringify(drivingImgs),
+ deleteFileIds: JSON.stringify(this.form.deleteFileIds),
+ vehicleImgFiles: null,
+ drivingImgFiles: null,
}
this.VEHICLE_ID ? await setVehiclemessageUpdate(params) : await setVehiclemessageSave(params)
- console.log(params)
uni.navigateBack(); // 返回上一页
} catch {
uni.$u.toast('请补全必填项')
}
- }
+ },
+ fnAfterRead(event, key) {
+ // 统一处理为数组格式 (兼容单文件/多文件上传)
+ const fileList = Array.isArray(event.file) ? event.file : [event.file];
+ // 确保目标字段是响应式数组
+ if (!Array.isArray(this.form[key])) {
+ this.$set(this.form, key, []);
+ }
+ // 批量创建新对象并追加 (浅拷贝)
+ const newFiles = fileList.map(file => ({ ...file }));
+ this.form[key] = [...this.form[key], ...newFiles];
+ },
+ fnDeletePic(event, key) {
+ uni.showModal({
+ title: '提示',
+ content: '确定删除该图片吗?',
+ success: (res) => {
+ if (res.confirm) {
+ if (event?.file?.imgfilesId) {
+ this.form.deleteFileIds = this.form.deleteFileIds == null ? [] : this.form.deleteFileIds
+ this.form.deleteFileIds.push(event.file.imgfilesId);
+ }
+ this.form[key].splice(event.index, 1)
+ }
+ }
+ })
+ },
},
}
diff --git a/pages/door_access_control/share_office_vehicle_info/view.vue b/pages/door_access_control/share_office_vehicle_info/view.vue
index e06fe72..0f4d83e 100644
--- a/pages/door_access_control/share_office_vehicle_info/view.vue
+++ b/pages/door_access_control/share_office_vehicle_info/view.vue
@@ -26,6 +26,28 @@
车辆归属人
{{ info.U_NAME }}
+
+ 行驶证照片:
+
+
+
+
+
+
+
+
+
+ 车辆照片:
+
+
+
+
+
+
+
+
@@ -64,6 +86,19 @@ export default {
async getData() {
const resData = await getVehiclemessageView({VEHICLE_ID: this.$route.query.VEHICLE_ID });
this.info = resData.pd;
+ for (let i = 0; i < resData.pd.drivingImgs?.length; i++) {
+ this.info.drivingImgs[i].FILEPATH = this.$store.state.filePath + resData.pd.drivingImgs[i].filepath;
+ }
+ for (let i = 0; i < resData.pd.vehicleImgs?.length; i++) {
+ this.info.vehicleImgs[i].FILEPATH = this.$store.state.filePath + resData.pd.vehicleImgs[i].filepath;
+ }
+ },
+ previewImage(src, srcArr) {
+ const urls = srcArr.map((item) => item.FILEPATH);
+ uni.previewImage({
+ urls,
+ current: src,
+ });
},
}
}