From 3e9d4cbb6c67cc3d035626b355686b4b38d4fe1d Mon Sep 17 00:00:00 2001 From: wangmingyong Date: Sat, 23 May 2026 18:03:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=EF=BC=8C=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E5=85=A5=E4=BC=81=E6=8E=A5=E5=8F=A3=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/enforcement/index.js | 60 ++++--- .../src/api/enforcement/plan.js | 8 +- .../enforcement/enterpriseScanPreview.vue | 162 ++++++++++++------ .../enforcement/home/enforcementHome.vue | 39 +++-- .../src/views/enforcement/login.vue | 69 ++++++-- .../src/views/enforcement/scanEntQRCode.vue | 137 ++++----------- .../vite-config/index.js | 4 - 7 files changed, 264 insertions(+), 215 deletions(-) diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js index 23eb4fe0..19ebc3b9 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js @@ -1,35 +1,51 @@ -import { _get, _post, _form, _delete } from "../../http/index"; +import { _get, _post } from "@/http/index"; -// region 执法端接口 +const baseUrl = "/api/app-enf"; -let enforcementAppBaseUrl = "/app-enf"; +// region 认证模块 -// 执法端用户登录 -// export const enforcementLogin = (params, success, error) => _post(enforcementAppBaseUrl + "/login/do", params, success, error); -export const enforcementLogin = (params, success, error) => _post(enforcementAppBaseUrl + "/login/szyptLogin", params, success, error); +export const enforcementLogin = (params, success, error) => _post(baseUrl + "/login/szyptLogin", params, success, error); -// 扫描二维码后获取企业信息(qrContent 为前端解析二维码获取的原始文本) -export const getEntInfoByQRCode = (qrContent, success, error) => _get(enforcementAppBaseUrl + "/enterpriseInfo/getEntInfoByQRCode", { qrContent }, success, error); +// endregion + +// region 企业模块 + +export const getEntInfoByQRCode = (qrContent, success, error) => _get(baseUrl + "/enterpriseInfo/getEntInfoByQRCode", { qrContent }, success, error); + +export const getEnterpriseInformation = (enterpriseNumber, success, error) => _get(baseUrl + "/enterpriseInfo/getEnterpriseInformation", { enterpriseNumber }, success, error); + +export const searchEnterprise = (keyword, success, error) => _get(baseUrl + "/enterpriseInfo/searchEnterprise", { keyword }, success, error); + +export const queryEnterpriseListAndQrInfo = (params, success, error) => _post(baseUrl + "/enterpriseInfo/queryListAndQrInfo", params, success, error); + +export const getEvaluateDetail = (params, success, error) => _get(baseUrl + "/enterprise/evaluate", params, success, error); + +export const submitEvaluate = (params, success, error) => _post(baseUrl + "/enterprise/evaluate", params, success, error); -// 搜索企业列表(支持企业名称或统一信用代码搜索) -export const searchEnterprise = (keyword, success, error) => _get(enforcementAppBaseUrl + "/enterpriseInfo/searchEnterprise", { keyword }, success, error); +// endregion + +// region 执法登记模块 -// 执法登记列表 -export const queryEnforcementRegistrationPageList = (params, success, error) => _get(enforcementAppBaseUrl + "/enforcement_registration/queryEnforcementRegistrationPageList", params, success, error); +export const queryEnforcementRegistrationPageList = (params, success, error) => _get(baseUrl + "/enforcement_registration/queryEnforcementRegistrationPageList", params, success, error); -// 企业消息 / 执法消息详情 -export const getEnforcementRegistrationDetailById = (params, success, error) => _get(enforcementAppBaseUrl + "/enforcement_registration/queryDetailById", params, success, error); +export const getEnforcementRegistrationDetailById = (params, success, error) => _get(baseUrl + "/enforcement_registration/queryDetailById", params, success, error); -// 评价详情 -export const getEvaluateDetail = (params, success, error) => _get(enforcementAppBaseUrl + "/enterprise/evaluate", params, success, error); +export const getEducationServicesList = (params, success, error) => _get(baseUrl + "/enforcementcode/educationServices/list", params, success, error); -// 提交评价 -export const submitEvaluate = (params, success, error) => _post(enforcementAppBaseUrl + "/enterprise/evaluate", params, success, error); +export const getEducationServicesDetail = (params, success, error) => _get(baseUrl + "/enforcementcode/educationServices/details", params, success, error); + +// endregion -// 普法服务列表 -export const getEducationServicesList = (params, success, error) => _get(enforcementAppBaseUrl + "/enforcementcode/educationServices/list", params, success, error); +// region 案件模块 -// 普法服务详情 -export const getEducationServicesDetail = (params, success, error) => _get(enforcementAppBaseUrl + "/enforcementcode/educationServices/details", params, success, error); +export const queryXzjcList = (enterpriseNumber, success, error) => _get(baseUrl + "/caseInfo/queryXzjcList", { c601034: enterpriseNumber }, success, error); // endregion + +// region 首页模块 + +export const getNoticeInfoList = (params, success, error) => _get(baseUrl + "/noticeInfo/list", params, success, error); + +export const getCarouselBannerList = (params, success, error) => _get(baseUrl + "/carouselBanner/list", params, success, error); + +// endregion \ No newline at end of file diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js index 2c6e3ec3..b03073b2 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js @@ -1,8 +1,8 @@ -import { _get, _post, _put, _delete } from "../../http/index"; +import { _get, _post, _put, _delete } from "@/http/index"; // region 计划管理接口 -const planBaseUrl = "/app-enf/cpPlan"; +const planBaseUrl = "/api/app-enf/cpPlan"; // 计划列表(分页) export const getPlanList = (params, success, error) => _get(planBaseUrl + "/list", params, success, error); @@ -23,7 +23,7 @@ export const deletePlan = (ids, success, error) => _delete(planBaseUrl + "/" + i // region 计划-设置接口 -const settingBaseUrl = "/app-enf/cpSetting"; +const settingBaseUrl = "/api/app-enf/cpSetting"; // 下阶段计划提交最晚时间(每月几号前需提交下阶段计划<=) export const getSubmitDeadline = (success, error) => _get(settingBaseUrl + "/submitDeadline", {}, success, error); @@ -35,7 +35,7 @@ export const getMaxInnerUnitAcPersonNum = (success, error) => _get(settingBaseUr // region 企业检索接口 -const enterpriseSearchBaseUrl = "/enforcementcode/enterpriseSearch"; +const enterpriseSearchBaseUrl = "/api/enforcementcode/enterpriseSearch"; // 按企业名称联合检索(>=3字符) export const searchUnionByEnterpriseName = (enterpriseName, success, error) => diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enterpriseScanPreview.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enterpriseScanPreview.vue index ea97ae10..0f9a1f8a 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enterpriseScanPreview.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enterpriseScanPreview.vue @@ -50,17 +50,21 @@
注册地址
- {{ enterpriseData.enterpriseAddress }} + {{ enterpriseData.enterpriseAddress }} 展开 + v-if="enterpriseData.enterpriseAddress" @click.stop="toggleAddressExpand"> + {{ isAddressExpanded ? '收起' : '展开' }} +
经营范围
- {{ enterpriseData.businessScope }} + {{ enterpriseData.businessScope }} 展开 + v-if="enterpriseData.businessScope" @click.stop="toggleScopeExpand"> + {{ isScopeExpanded ? '收起' : '展开' }} +
@@ -94,19 +98,18 @@
-
+
-
{{ item.date }}
+
{{ item.createTime }}
{{ enterpriseData?.enterpriseName }}
-
被执法次数:{{ item.count }}次
+
{{ item.caseType || '执法检查' }}
-
+
-
{{ timeline.time }}
-
执法单位:{{ timeline.unit }}
+
{{ item.createTime }}
+
执法单位:{{ item.enforcementUnit || item.unitName }}
@@ -114,7 +117,7 @@
-
+
暂无数据
@@ -136,7 +139,33 @@ 历史强制案件
- + +
+
+
+
{{ item.createTime }}
+
{{ enterpriseData?.enterpriseName }}
+
{{ item.caseType || '执法检查' }}
+
+
+
+
+
+
{{ item.createTime }}
+
执法单位:{{ item.enforcementUnit || item.unitName }}
+
+
+
+
+ +
+
+
+ +
暂无数据
+
+
+
@@ -149,6 +178,7 @@ import { ref, onMounted } from 'vue'; import { useRouter, useRoute } from 'vue-router'; import { showFailToast } from 'vant'; +import { getEnterpriseInformation, queryXzjcList } from '@/api/enforcement/index'; const router = useRouter(); const route = useRoute(); @@ -158,35 +188,14 @@ const currentTab = ref(0); const recordTab = ref(0); const isCollapsed = ref(false); const isRecordExpanded = ref(false); +const isAddressExpanded = ref(false); +const isScopeExpanded = ref(false); const enterpriseData = ref(null); const enterpriseNumber = ref(''); const qrCodeValid = ref(false); -// 当前企业的全市执法记录假数据 -const cityRecords = ref([ - { - date: '2026-05-12 09:34:01', - count: 2, - timeline: [ - { time: '2026-05-12 09:34:01', unit: '深圳市司法局' }, - { time: '2026-05-12 09:34:01', unit: '深圳市司法局' }, - { time: '2026-05-06 15:44:27', unit: '深圳市司法局' }, - ], - }, -]); - -// 当前企业的本单位执法记录假数据 -const unitRecords = ref([ - { - date: '2026-05-11 10:15:00', - count: 3, - timeline: [ - { time: '2026-05-11 10:15:00', unit: '本单位执法大队' }, - { time: '2026-05-08 16:30:22', unit: '本单位执法大队' }, - { time: '2026-05-03 09:00:15', unit: '本单位执法大队' }, - ], - }, -]); +// 历史执法案件数据 +const cityRecords = ref([]); // ========== 方法 ========== const toggleCollapse = () => { @@ -197,26 +206,59 @@ const toggleRecordExpand = () => { isRecordExpanded.value = !isRecordExpanded.value; }; +const toggleAddressExpand = () => { + isAddressExpanded.value = !isAddressExpanded.value; +}; + +const toggleScopeExpand = () => { + isScopeExpanded.value = !isScopeExpanded.value; +}; + +// ========== 获取历史执法案件数据 ========== +const fetchXzjcList = (entNumber) => { + queryXzjcList(entNumber, (res) => { + if (res.code === 200) { + cityRecords.value = res.rows || []; + console.log('历史执法案件数据加载成功:', cityRecords.value); + } else { + console.error('获取历史执法案件失败:', res.msg); + } + }, (err) => { + console.error('获取历史执法案件接口失败', err); + }); +}; + // ========== 初始化加载 ========== onMounted(() => { - // 从 sessionStorage 读取扫码页传递的企业信息 - const cached = sessionStorage.getItem('enterpriseScanData'); - if (cached) { - try { - const data = JSON.parse(cached); - enterpriseData.value = data; - enterpriseNumber.value = data.enterpriseNumber || ''; - qrCodeValid.value = !!data.qrCodeValid; - console.log('企业详情加载成功(来自缓存):', data.enterpriseName); - } catch (e) { - console.error('解析企业缓存数据失败', e); - showFailToast('企业信息解析失败'); - } + // 从路由参数获取企业编号 + const entNumber = route.query.enterpriseNumber; + if (entNumber) { + enterpriseNumber.value = entNumber; + fetchEnterpriseInformation(entNumber); } else { - showFailToast('缺少企业信息,请重新扫码'); + showFailToast('缺少企业编号,请重新扫码'); } }); +// ========== 获取企业画像数据 ========== +const fetchEnterpriseInformation = (enterpriseNumber) => { + getEnterpriseInformation(enterpriseNumber, (res) => { + if (res.code === 200) { + // 直接使用接口返回的数据 + enterpriseData.value = res.data || res; + console.log('企业画像数据加载成功:', enterpriseData.value); + // 获取企业画像成功后,调用历史执法案件接口 + fetchXzjcList(enterpriseNumber); + } else { + console.error('获取企业画像失败:', res.msg); + showFailToast(res.msg || '获取企业画像失败'); + } + }, (err) => { + console.error('获取企业画像接口失败', err); + showFailToast('获取企业画像失败,请重试'); + }); +}; + // ========== 工具方法 ========== const formatDate = (dateStr) => { if (!dateStr) return ''; @@ -355,6 +397,20 @@ const toSign = () => { .address-text, .scope-text { flex: 1; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + text-overflow: ellipsis; + line-height: 1.6; + } + + .address-text.expanded, + .scope-text.expanded { + -webkit-line-clamp: unset; + overflow: visible; + text-overflow: unset; + white-space: normal; } .expand-text { @@ -363,6 +419,8 @@ const toSign = () => { font-size: 0.32rem; margin-left: 0.1rem; cursor: pointer; + align-self: flex-start; + padding-top: 2px; } } diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome.vue index 154be4e1..c714c562 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome.vue @@ -23,7 +23,7 @@ @@ -89,7 +89,7 @@ import { ref, computed, onMounted } from 'vue'; import { useRouter } from 'vue-router'; import FooterBar from '@/components/FooterBar.vue'; -import bannerImg from '@/assets/images/banner.jpg'; +import { getNoticeInfoList, getCarouselBannerList } from '@/api/enforcement/index'; const router = useRouter(); @@ -99,27 +99,36 @@ const noticeList = ref([]); // 多条通知拼接(van-notice-bar 使用单一文本滚动展示) const noticeText = computed(() => { return noticeList.value - .map(it => it.title) + .map(it => it.noticeContent || it.title) .filter(Boolean) .join(' '); }); // 调用系统通知接口并填充 noticeList、兼容多种字段名 const fetchNoticeList = () => { - // 模拟数据 - setTimeout(() => { - noticeList.value = [ - { id: '1', title: '深圳市司法局2026年度行政执法计划', type: '1', createTime: '2026-04-15' }, - ]; - }, 500); + getNoticeInfoList({}, (res) => { + if (res && res.rows) { + // 接口返回结构为 { total, rows, code, msg } + noticeList.value = res.rows || []; + } + }, (err) => { + console.error('获取通知列表失败', err); + }); }; // ========== 轮播图数据 ========== -const bannerList = ref([ - { image: bannerImg }, - { image: bannerImg }, - { image: bannerImg }, -]); +const bannerList = ref([]); + +const fetchBannerList = () => { + getCarouselBannerList({}, (res) => { + if (res && res.rows) { + // 接口返回结构为 { total, rows, code, msg } + bannerList.value = res.rows || []; + } + }, (err) => { + console.error('获取轮播图失败', err); + }); +}; // ========== 页面跳转 ========== @@ -155,6 +164,7 @@ const toStatisticsAnalysis = () => { // ========== 页面挂载 ========== onMounted(() => { fetchNoticeList(); + fetchBannerList(); }); @@ -311,6 +321,7 @@ onMounted(() => { .notice-scroll { flex: 1; font-size: 13px; + padding: 0px; } .notice-text { diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/login.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/login.vue index e5e22852..1ddb2716 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/login.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/login.vue @@ -68,24 +68,23 @@ // 直接触发登录 doLogin(item.account, item.password); } - - const doLogin = (secretName, secretKey) => { + const doLogin = (secretName, secretKey) => { const encryptedKey = Encrypt(secretKey); - enforcementLogin({"secretName": secretName, "secretKey": encryptedKey}, response => { + enforcementLogin({code: '12346678985288799'}, response => { if (response.code === 200) { - // 验证关键组织信息 - if (!response.data.deptId) { - showFailToast("该用户未关联部门,无法登录"); - return; - } - if (!response.data.organId) { - showFailToast("该用户未关联认证机构,无法登录"); - return; - } - if (!response.data.bureauUnitId) { - showFailToast("该用户未关联执法单位,无法登录"); - return; - } + // // 验证关键组织信息 + // if (!response.data.deptId) { + // showFailToast("该用户未关联部门,无法登录"); + // return; + // } + // if (!response.data.organId) { + // showFailToast("该用户未关联认证机构,无法登录"); + // return; + // } + // if (!response.data.bureauUnitId) { + // showFailToast("该用户未关联执法单位,无法登录"); + // return; + // } // 执法端登录成功 → 赋值用户基本信息 useCommon.SET_USER_PHONENUMBER(response.data.phonenumber || ""); useCommon.SET_USER_ID(response.data.userId); @@ -107,6 +106,44 @@ showFailToast(error?.msg || "登录失败,请检查网络"); }) }; + // const doLogin = (secretName, secretKey) => { + // const encryptedKey = Encrypt(secretKey); + // enforcementLogin({"secretName": secretName, "secretKey": encryptedKey}, response => { + // if (response.code === 200) { + // // 验证关键组织信息 + // if (!response.data.deptId) { + // showFailToast("该用户未关联部门,无法登录"); + // return; + // } + // if (!response.data.organId) { + // showFailToast("该用户未关联认证机构,无法登录"); + // return; + // } + // if (!response.data.bureauUnitId) { + // showFailToast("该用户未关联执法单位,无法登录"); + // return; + // } + // // 执法端登录成功 → 赋值用户基本信息 + // useCommon.SET_USER_PHONENUMBER(response.data.phonenumber || ""); + // useCommon.SET_USER_ID(response.data.userId); + // useCommon.SET_USER_NAME(response.data.userName || ""); + // useCommon.SET_NICK_NAME(response.data.nickName || ""); + // useCommon.SET_TOKEN(response.data.token); + // useCommon.SET_DEPT_ID(response.data.deptId); + // useCommon.SET_DEPT_NAME(response.data.deptName || ""); + // useCommon.SET_ORGAN_ID(response.data.organId); + // useCommon.SET_ORGAN_NAME(response.data.organName || ""); + // useCommon.SET_BUREAU_UNIT_ID(response.data.bureauUnitId); + // useCommon.SET_BUREAU_UNIT_NAME(response.data.bureauUnitName || ""); + // console.log("enforcement login success", useCommon.userId); + // router.push({name: "enforcementHome"}); + // } else { + // showFailToast(response.msg || "登录失败"); + // } + // }, error => { + // showFailToast(error?.msg || "登录失败,请检查网络"); + // }) + // }; const onSubmit = async () => { doLogin(loginParam.secretName, loginParam.secretKey); diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue index 24aea649..8d596f88 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue @@ -100,7 +100,8 @@ @click="selectEnterprise(item)" >
- + +
{{ item.enterpriseName }}
@@ -117,7 +118,7 @@ import { ref, reactive, onMounted, onBeforeUnmount, nextTick } from 'vue'; import { useRouter } from 'vue-router'; import { showFailToast, showSuccessToast, showToast, showConfirmDialog } from 'vant'; import { baseUrl, appEnv } from '@/config/env.js'; -import { getEntInfoByQRCode, searchEnterprise } from '@/api/enforcement/index'; +import { getEntInfoByQRCode, queryEnterpriseListAndQrInfo } from '@/api/enforcement/index'; import wx from 'weixin-js-sdk'; const router = useRouter(); @@ -373,109 +374,30 @@ const clearSearch = () => { const loadEnterprises = () => { loading.value = true; - // 测试数据 - 后端接口对接后可删除此段 - const mockData = [ - { - enterpriseName: '深圳市南山区椿立嘉源麻辣烫店', - enterpriseNumber: '92440300MA5FXXXX1', - enterpriseType: '个体工商户', - legalPerson: '张三', - registeredCapital: '5万元', - establishmentTime: '2020-03-15', - operatingTerm: '长期', - enterpriseAddress: '深圳市南山区XX街道XX路XX号', - businessScope: '餐饮服务', - enterpriseTel: '13800138001', - industry: '餐饮业', - }, - { - enterpriseName: '深圳伊腾迪新能源有限公司', - enterpriseNumber: '91440300MA5FXXXX2', - enterpriseType: '有限责任公司', - legalPerson: '李四', - registeredCapital: '500万元', - establishmentTime: '2018-06-20', - operatingTerm: '2018-06-20至2038-06-20', - enterpriseAddress: '深圳市南山区XX科技园XX栋', - businessScope: '新能源技术开发、技术咨询', - enterpriseTel: '13800138002', - industry: '新能源', - }, - { - enterpriseName: '深圳市永顺新绣花有限公司', - enterpriseNumber: '91440300MA5FXXXX3', - enterpriseType: '有限责任公司', - legalPerson: '王五', - registeredCapital: '100万元', - establishmentTime: '2015-09-10', - operatingTerm: '2015-09-10至2035-09-10', - enterpriseAddress: '深圳市宝安区XX工业区XX号', - businessScope: '绣花加工、服装辅料销售', - enterpriseTel: '13800138003', - industry: '制造业', - }, - { - enterpriseName: '深圳市中棋金业有限公司', - enterpriseNumber: '91440300MA5FXXXX4', - enterpriseType: '有限责任公司', - legalPerson: '赵六', - registeredCapital: '1000万元', - establishmentTime: '2019-01-08', - operatingTerm: '2019-01-08至2039-01-08', - enterpriseAddress: '深圳市福田区XX金融中心XX层', - businessScope: '黄金饰品销售、投资管理', - enterpriseTel: '13800138004', - industry: '金融业', - }, - { - enterpriseName: '深圳市百合隆科技有限公司', - enterpriseNumber: '91440300MA5FXXXX5', - enterpriseType: '有限责任公司', - legalPerson: '孙七', - registeredCapital: '200万元', - establishmentTime: '2021-04-22', - operatingTerm: '2021-04-22至2041-04-22', - enterpriseAddress: '深圳市龙岗区XX科技产业园XX栋', - businessScope: '电子产品研发、销售', - enterpriseTel: '13800138005', - industry: '科技服务业', - }, - ]; + const params = { + pageSize: 20, + pageNum: 1, + orderByColumn: 'createTime', + isAsc: 'desc', + searchValue: searchKeyword.value.trim() || undefined + }; - // 模拟网络请求延迟 - setTimeout(() => { + queryEnterpriseListAndQrInfo(params, (res) => { loading.value = false; - if (searchKeyword.value.trim()) { - const keyword = searchKeyword.value.trim().toLowerCase(); - const filtered = mockData.filter( - (item) => - item.enterpriseName.toLowerCase().includes(keyword) || - item.enterpriseNumber.toLowerCase().includes(keyword) - ); - enterpriseList.value = filtered; + if (res.code === 200) { + // 接口返回结构直接是 { total, rows, code, msg },没有外层 data + enterpriseList.value = res.rows || []; + finished.value = true; } else { - enterpriseList.value = mockData; + showFailToast(res.msg || '搜索企业失败'); + error.value = true; } - finished.value = true; - }, 500); - - // 后端接口对接后使用以下代码替换上面的测试数据 - // searchEnterprise(searchKeyword.value, (res) => { - // loading.value = false; - // if (res.code === 200) { - // const data = res.data || []; - // enterpriseList.value = data; - // finished.value = true; - // } else { - // showFailToast(res.msg || '搜索企业失败'); - // error.value = true; - // } - // }, (err) => { - // loading.value = false; - // error.value = true; - // console.error('搜索企业失败', err); - // showFailToast('搜索企业失败,请重试'); - // }); + }, (err) => { + loading.value = false; + error.value = true; + console.error('搜索企业失败', err); + showFailToast('搜索企业失败,请重试'); + }); }; const onLoad = () => { @@ -485,9 +407,11 @@ const onLoad = () => { const selectEnterprise = (item) => { console.log('选中企业:', item); - sessionStorage.setItem('enterpriseScanData', JSON.stringify(item)); showSearchModal.value = false; - router.push({ path: '/enforcement/enterpriseScanPreview' }); + router.push({ + path: '/enforcement/enterpriseScanPreview', + query: { enterpriseNumber: item.enterpriseNumber } + }); }; // ========== 页面跳转 ========== @@ -774,6 +698,7 @@ onBeforeUnmount(() => { justify-content: center; margin-right: 0.3rem; flex-shrink: 0; + overflow: hidden; } .item-qr .van-icon { @@ -781,6 +706,12 @@ onBeforeUnmount(() => { color: #1367fe; } +.item-qr .qr-image { + width: 100%; + height: 100%; + object-fit: cover; +} + .item-name { flex: 1; font-size: 0.35rem; diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/vite-config/index.js b/zdxt-web-client/zdxt-efcode-enforcement-app/vite-config/index.js index 976edd28..2d59123b 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/vite-config/index.js +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/vite-config/index.js @@ -47,10 +47,6 @@ const baseCfg = (viteEnv = {}) => { changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') }, - '/api-enf': { - target: 'http://139.186.148.21:8080', - changeOrigin: true - } } }, build: {