From c6d5f461c078270109fabb483dd34a429b3c24b6 Mon Sep 17 00:00:00 2001 From: Esacpe <1113279529@qq.com> Date: Fri, 24 Apr 2026 18:01:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/traffic.js | 41 +++++++++++++++++++ src/pages/sspReport/index.vue | 75 ++++++++++++++++++++++++++--------- 2 files changed, 97 insertions(+), 19 deletions(-) diff --git a/src/api/traffic.js b/src/api/traffic.js index 04bf816..945a4e4 100644 --- a/src/api/traffic.js +++ b/src/api/traffic.js @@ -146,3 +146,44 @@ export function getEventUnfinished(params) { params }); } + +/** + * 新增随时拍 + * @param {Object} data - 随时拍数据 + * @param {string} data.hphm - 号牌号码(必填) + * @param {string} data.sbbh - 设备编号 + * @param {string} data.zqmj - 执勤民警 + * @param {string} data.clfl - 车辆分类 + * @param {string} data.hpzl - 号牌种类 + * @param {string} data.xzqh - 违法地行政区划 + * @param {string} data.wfdd - 违法地点 + * @param {string} data.lddm - 路段代码 + * @param {number} data.kms - 公里数 + * @param {string} data.ddms - 地点米数 + * @param {string} data.wfdz - 违法地址 + * @param {string} data.wfsj - 违法时间 + * @param {string} data.wfsj1 - 违法时间1 + * @param {string} data.wfxw - 违法行为 + * @param {string} data.scz - 实测值 + * @param {string} data.bzz - 标准值 + * @param {string} data.zpsl - 照片数量 + * @param {string} data.zpxm - 图片文件名 + * @param {string} data.zpstr1 - 照片1 (base64) + * @param {string} data.zpstr2 - 照片2 (base64) + * @param {string} data.zpstr3 - 照片3 (base64) + * @param {string} data.wfspdz - 违法视频地址 + * @param {string} data.fxjg - 违法发现机关 + * @param {string} data.tpfs - 图片方式 + * @param {string} data.zpur11 - 照片链接1 + * @param {string} data.zpur12 - 照片链接2 + * @param {string} data.zpur13 - 照片链接3 + * @param {string} data.tzsh - 通知书号 + * @param {string} data.tzrq - 通知日期 + */ +export function addSsPai(data) { + return service({ + url: '/api/traffic/sspai', + method: 'post', + data + }); +} diff --git a/src/pages/sspReport/index.vue b/src/pages/sspReport/index.vue index 7793b5f..49fa3b9 100644 --- a/src/pages/sspReport/index.vue +++ b/src/pages/sspReport/index.vue @@ -15,7 +15,6 @@
-
@@ -68,7 +67,7 @@ - + @@ -146,6 +145,7 @@ import { ref, reactive, onMounted } from "vue"; import { useRouter } from "vue-router"; import { Toast } from "vant"; import { upImage } from "@/api/common"; +import { addSsPai } from "@/api/traffic"; const isLoading = ref(false); const router = useRouter(); const chooseType = ref(null) //选择的类型 @@ -292,14 +292,6 @@ function openPicker(name,type) { } -const officerColumns = [ - { text: "张三", value: "001" }, - { text: "李四", value: "002" }, - { text: "王五", value: "003" } -]; - - - // 切换区域展开状态 function toggleSection(key) { openSections[key] = !openSections[key]; @@ -325,17 +317,62 @@ function goBack() { } // 提交表单 -function handleSubmit() { +async function handleSubmit() { isLoading.value = true; - // 提交数据 - const submitData = { - ...formData, - photos: photoList.value.filter(p => p.url).map(p => p.url) - }; - console.log("提交数据:", submitData); - Toast("提交成功"); - router.back(); + try { + // 字段映射:页面字段 -> API字段 + const submitData = { + sbbh: formData.sbbhdm || formData.sbbh, + zqmj: formData.zfmj, + clfl: formData.clfldm || formData.clfl, + hpzl: formData.hpzldm || formData.hpzl, + hphm: formData.hppch, + xzqh: formData.wgxzqdm || formData.wgxzq, + wfdd: formData.wgdd, + lddm: formData.ldmkms, + ddms: formData.ddmcs, + wfdz: formData.wfdz, + wfsj: formData.wffssj, + wfsj1: formData.wfsj, + scz: formData.scz, + bzz: formData.bzz, + zpsl: formData.zpsl, + zpxm: formData.tpmc, + wfspdz: formData.wfspdz, + fxjg: formData.wffxjg, + tpfs: formData.tpfsdm || formData.tpfs, + tzsh: formData.qtlx, + tzrq: formData.tzrq, + }; + + // 照片处理:base64 或 URL + const uploadedPhotos = photoList.value.filter(p => p.url); + uploadedPhotos.forEach((photo, index) => { + if (index < 3) { + // 判断是 base64 还是 URL + if (photo.url.startsWith('data:')) { + submitData[`zpstr${index + 1}`] = photo.url; + } else { + submitData[`zpur1${index + 1}`] = photo.url; + } + } + }); + + console.log("提交数据:", submitData); + const res = await addSsPai(submitData); + if (res.code === 200 || res.code === 0) { + Toast("提交成功"); + router.back(); + } else { + Toast(res.msg || "提交失败"); + } + } catch (error) { + console.error("提交失败:", error); + Toast("提交失败,请重试"); + } finally { + isLoading.value = false; + } } onMounted(() => {