Browse Source

给龙岗的接口临时提交

dev-V1.0.7
蟑螂恶霸 2 months ago
parent
commit
8a680c327f
  1. 37
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/externalInterface/LongGangInterfaceController.java
  2. 31
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryCaseBo.java
  3. 54
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangCaseSyncVo.java
  4. 36
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangXzcfCaseVo.java
  5. 36
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangXzjcCaseVo.java
  6. 36
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangXzqzCaseVo.java
  7. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ILongGangCaseQueryService.java
  8. 218
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/LongGangCaseQueryServiceImpl.java
  9. 485
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome-bak.vue
  10. 418
      zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/home/enterpriseHome-bak.vue

37
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/externalInterface/LongGangInterfaceController.java

@ -12,6 +12,7 @@ import com.zdxt.enforcementcode.domain.bo.externalInterface.*;
import com.zdxt.enforcementcode.domain.vo.EfcodeCpPlanVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo;
import com.zdxt.enforcementcode.domain.vo.SrzDeptVo;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangCaseSyncVo;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangCreatePlanVo;
import com.zdxt.enforcementcode.service.*;
import lombok.RequiredArgsConstructor;
@ -47,6 +48,7 @@ public class LongGangInterfaceController {
private final ISysApiPlatformConfigService sysApiPlatformConfigService;
private final IEnterpriseInformationService enterpriseInformationService;
private final ISysDeptService sysDeptService;
private final ILongGangCaseQueryService longGangCaseQueryService;
/**
* 渠道认证:校验 appKey 并返回 channelNo
@ -375,4 +377,39 @@ public class LongGangInterfaceController {
return R.ok();
}
/**
* 外部接口-同步案件信息(行政检查 / 行政处罚 / 行政强制)
* <p>
* 不传 syncDate 返回全量;传入 syncDate 只返回该自然日数据。三类主表各自按 pageNum/pageSize 分页,并整包装明细、当事人。
*
* @param appKey 请求头 App-Key,用于识别调用渠道
* @param bo 同步参数(syncDate 可选;pageNum/pageSize 可选)
* @return 三组嵌套案件数据及各自总条数
*/
@SaIgnore
@Log(title = "外部接口-同步案件信息", businessType = BusinessType.OTHER)
@PostMapping("/case/sync")
public R<LongGangCaseSyncVo> syncCase(
@RequestHeader(value = HEADER_APP_KEY, required = false) String appKey,
@RequestBody LongGangQueryCaseBo bo) {
R<String> authResult = authenticateChannel(appKey);
if (!R.isSuccess(authResult)) {
return R.fail(authResult.getMsg());
}
String channelNo = authResult.getData();
if (bo == null) {
bo = new LongGangQueryCaseBo();
}
LongGangCaseSyncVo vo = longGangCaseQueryService.syncCase(bo);
log.info("[外部接口] 同步案件信息, appKey={}, channelNo={}, syncDate={}, pageNum={}, pageSize={}, xzjc={}/{}, xzcf={}/{}, xzqz={}/{}",
appKey, channelNo, bo.getSyncDate(), vo.getPageNum(), vo.getPageSize(),
vo.getXzjcList().size(), vo.getXzjcTotal(),
vo.getXzcfList().size(), vo.getXzcfTotal(),
vo.getXzqzList().size(), vo.getXzqzTotal());
return R.ok(vo);
}
}

31
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryCaseBo.java

@ -0,0 +1,31 @@
package com.zdxt.enforcementcode.domain.bo.externalInterface;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* 外部接口-案件数据同步查询(龙岗渠道)
* <p>
* 不传 syncDate:全量同步;传入 syncDate:只返回该自然日变更/产生的数据。
*/
@Data
public class LongGangQueryCaseBo {
/**
* 同步日期(yyyy-MM-dd)。为空则全量;有值则只取当天数据
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date syncDate;
/**
* 页码,从 1 开始,默认 1
*/
private Integer pageNum = 1;
/**
* 每页条数,默认 100(三类主表各自按此分页)
*/
private Integer pageSize = 100;
}

54
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangCaseSyncVo.java

@ -0,0 +1,54 @@
package com.zdxt.enforcementcode.domain.vo.externalInterface;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 外部接口-案件同步结果(行政检查 / 行政处罚 / 行政强制)
* <p>
* 三类主表各自独立分页,pageNum/pageSize 对三类同时生效。
*/
@Data
public class LongGangCaseSyncVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Integer pageNum;
private Integer pageSize;
/**
* 行政检查
*/
private List<LongGangXzjcCaseVo> xzjcList = new ArrayList<>();
/**
* 行政检查主表总条数
*/
private Long xzjcTotal = 0L;
/**
* 行政处罚
*/
private List<LongGangXzcfCaseVo> xzcfList = new ArrayList<>();
/**
* 行政处罚主表总条数
*/
private Long xzcfTotal = 0L;
/**
* 行政强制
*/
private List<LongGangXzqzCaseVo> xzqzList = new ArrayList<>();
/**
* 行政强制主表总条数
*/
private Long xzqzTotal = 0L;
}

36
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangXzcfCaseVo.java

@ -0,0 +1,36 @@
package com.zdxt.enforcementcode.domain.vo.externalInterface;
import com.zdxt.enforcementcode.domain.vo.SxtXzcfajdsrxx594019Vo;
import com.zdxt.enforcementcode.domain.vo.SxtXzcfajjbxx026705Vo;
import com.zdxt.enforcementcode.domain.vo.SxtXzcfajjdxx778518Vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 行政处罚同步包:案件基本信息 + 决定信息 + 当事人
*/
@Data
public class LongGangXzcfCaseVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 行政处罚案件基本信息 sxt_xzcfajjbxx026705
*/
private SxtXzcfajjbxx026705Vo master;
/**
* 行政处罚案件决定信息 sxt_xzcfajjdxx778518
*/
private List<SxtXzcfajjdxx778518Vo> decisions = new ArrayList<>();
/**
* 行政处罚案件当事人信息 sxt_xzcfajdsrxx594019
*/
private List<SxtXzcfajdsrxx594019Vo> parties = new ArrayList<>();
}

36
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangXzjcCaseVo.java

@ -0,0 +1,36 @@
package com.zdxt.enforcementcode.domain.vo.externalInterface;
import com.zdxt.enforcementcode.domain.vo.SxtJcdzb107522Vo;
import com.zdxt.enforcementcode.domain.vo.SxtXzjcdsrxx016987Vo;
import com.zdxt.enforcementcode.domain.vo.SxtXzjcjcxxx050280Vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 行政检查同步包:检查单主表 + 检查项 + 当事人
*/
@Data
public class LongGangXzjcCaseVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 检查单主表 sxt_jcdzb107522
*/
private SxtJcdzb107522Vo master;
/**
* 行政检查项信息 sxt_xzjcjcxxx050280
*/
private List<SxtXzjcjcxxx050280Vo> items = new ArrayList<>();
/**
* 行政检查当事人信息 sxt_xzjcdsrxx016987
*/
private List<SxtXzjcdsrxx016987Vo> parties = new ArrayList<>();
}

36
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangXzqzCaseVo.java

@ -0,0 +1,36 @@
package com.zdxt.enforcementcode.domain.vo.externalInterface;
import com.zdxt.enforcementcode.domain.vo.SxtXzqzcsxx274939Vo;
import com.zdxt.enforcementcode.domain.vo.SxtXzqzdsrxx997874Vo;
import com.zdxt.enforcementcode.domain.vo.SxtXzqzjbxx173774Vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 行政强制同步包:基本信息 + 措施信息 + 当事人
*/
@Data
public class LongGangXzqzCaseVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 行政强制基本信息 sxt_xzqzjbxx173774
*/
private SxtXzqzjbxx173774Vo master;
/**
* 行政强制措施信息 sxt_xzqzcsxx274939
*/
private List<SxtXzqzcsxx274939Vo> measures = new ArrayList<>();
/**
* 行政强制当事人信息 sxt_xzqzdsrxx997874
*/
private List<SxtXzqzdsrxx997874Vo> parties = new ArrayList<>();
}

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ILongGangCaseQueryService.java

@ -0,0 +1,20 @@
package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryCaseBo;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangCaseSyncVo;
/**
* 龙岗外部接口-案件同步查询
*/
public interface ILongGangCaseQueryService {
/**
* 同步查询行政检查、行政处罚、行政强制三组完整数据。
* <p>
* syncDate 为空:全量;有值:只返回该自然日数据。三类主表各自按 pageNum/pageSize 分页。
*
* @param bo 同步参数
* @return 三组嵌套案件数据及各自总条数
*/
LongGangCaseSyncVo syncCase(LongGangQueryCaseBo bo);
}

218
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/LongGangCaseQueryServiceImpl.java

@ -0,0 +1,218 @@
package com.zdxt.enforcementcode.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.domain.*;
import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryCaseBo;
import com.zdxt.enforcementcode.domain.vo.*;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangCaseSyncVo;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangXzcfCaseVo;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangXzjcCaseVo;
import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangXzqzCaseVo;
import com.zdxt.enforcementcode.mapper.*;
import com.zdxt.enforcementcode.service.ILongGangCaseQueryService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 龙岗外部接口-案件同步查询。
* 按主表分页查出案件,再按主键整包装明细、当事人,供对方系统落库。
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class LongGangCaseQueryServiceImpl implements ILongGangCaseQueryService {
private static final int DEFAULT_PAGE_NUM = 1;
private static final int DEFAULT_PAGE_SIZE = 100;
private static final int MAX_PAGE_SIZE = 500;
private final SxtJcdzb107522Mapper jcdzbMapper;
private final SxtXzjcjcxxx050280Mapper xzjcItemMapper;
private final SxtXzjcdsrxx016987Mapper xzjcDsrMapper;
private final SxtXzcfajjbxx026705Mapper xzcfJbxxMapper;
private final SxtXzcfajjdxx778518Mapper xzcfJdxxMapper;
private final SxtXzcfajdsrxx594019Mapper xzcfDsrMapper;
private final SxtXzqzjbxx173774Mapper xzqzJbxxMapper;
private final SxtXzqzcsxx274939Mapper xzqzCsxxMapper;
private final SxtXzqzdsrxx997874Mapper xzqzDsrMapper;
@Override
public LongGangCaseSyncVo syncCase(LongGangQueryCaseBo bo) {
int pageNum = bo.getPageNum() == null || bo.getPageNum() < 1 ? DEFAULT_PAGE_NUM : bo.getPageNum();
int pageSize = bo.getPageSize() == null || bo.getPageSize() < 1 ? DEFAULT_PAGE_SIZE : Math.min(bo.getPageSize(), MAX_PAGE_SIZE);
PageQuery pageQuery = new PageQuery(pageSize, pageNum);
Date dayBegin = null;
Date dayEnd = null;
if (bo.getSyncDate() != null) {
dayBegin = DateUtil.beginOfDay(bo.getSyncDate());
dayEnd = DateUtil.endOfDay(bo.getSyncDate());
}
LongGangCaseSyncVo vo = new LongGangCaseSyncVo();
vo.setPageNum(pageNum);
vo.setPageSize(pageSize);
fillXzjc(vo, pageQuery, dayBegin, dayEnd);
fillXzcf(vo, pageQuery, dayBegin, dayEnd);
fillXzqz(vo, pageQuery, dayBegin, dayEnd);
return vo;
}
/**
* 检查单主表.sign_id = 检查项.c601000 = 当事人.c601000
* 按日过滤:检查日期 inspectionDate
*/
private void fillXzjc(LongGangCaseSyncVo vo, PageQuery pageQuery, Date dayBegin, Date dayEnd) {
LambdaQueryWrapper<SxtJcdzb107522> lqw = Wrappers.lambdaQuery();
if (dayBegin != null && dayEnd != null) {
lqw.between(SxtJcdzb107522::getInspectionDate, dayBegin, dayEnd);
}
lqw.orderByDesc(SxtJcdzb107522::getInspectionDate).orderByAsc(SxtJcdzb107522::getId);
Page<SxtJcdzb107522Vo> page = jcdzbMapper.selectVoPage(pageQuery.build(), lqw);
vo.setXzjcTotal(page.getTotal());
List<SxtJcdzb107522Vo> masters = page.getRecords();
if (CollUtil.isEmpty(masters)) {
vo.setXzjcList(Collections.emptyList());
return;
}
Set<String> signIds = collectIds(masters, SxtJcdzb107522Vo::getSignId);
Map<String, List<SxtXzjcjcxxx050280Vo>> itemMap = groupBy(
xzjcItemMapper.selectVoList(
Wrappers.<SxtXzjcjcxxx050280>lambdaQuery().in(SxtXzjcjcxxx050280::getC601000, signIds)),
SxtXzjcjcxxx050280Vo::getC601000);
Map<String, List<SxtXzjcdsrxx016987Vo>> partyMap = groupBy(
xzjcDsrMapper.selectVoList(
Wrappers.<SxtXzjcdsrxx016987>lambdaQuery().in(SxtXzjcdsrxx016987::getC601000, signIds)),
SxtXzjcdsrxx016987Vo::getC601000);
List<LongGangXzjcCaseVo> list = new ArrayList<>();
for (SxtJcdzb107522Vo master : masters) {
LongGangXzjcCaseVo caseVo = new LongGangXzjcCaseVo();
caseVo.setMaster(master);
caseVo.setItems(itemMap.getOrDefault(master.getSignId(), Collections.emptyList()));
caseVo.setParties(partyMap.getOrDefault(master.getSignId(), Collections.emptyList()));
list.add(caseVo);
}
vo.setXzjcList(list);
}
/**
* 处罚基本信息.c201000 = 决定.c201000 = 当事人.c201000
* 按日过滤:最后变更时间 cdTime
*/
private void fillXzcf(LongGangCaseSyncVo vo, PageQuery pageQuery, Date dayBegin, Date dayEnd) {
LambdaQueryWrapper<SxtXzcfajjbxx026705> lqw = Wrappers.lambdaQuery();
if (dayBegin != null && dayEnd != null) {
lqw.between(SxtXzcfajjbxx026705::getCdTime, dayBegin, dayEnd);
}
lqw.orderByDesc(SxtXzcfajjbxx026705::getCdTime).orderByAsc(SxtXzcfajjbxx026705::getId);
Page<SxtXzcfajjbxx026705Vo> page = xzcfJbxxMapper.selectVoPage(pageQuery.build(), lqw);
vo.setXzcfTotal(page.getTotal());
List<SxtXzcfajjbxx026705Vo> masters = page.getRecords();
if (CollUtil.isEmpty(masters)) {
vo.setXzcfList(Collections.emptyList());
return;
}
Set<String> jbxxIds = collectIds(masters, SxtXzcfajjbxx026705Vo::getC201000);
Map<String, List<SxtXzcfajjdxx778518Vo>> decisionMap = groupBy(
xzcfJdxxMapper.selectVoList(
Wrappers.<SxtXzcfajjdxx778518>lambdaQuery().in(SxtXzcfajjdxx778518::getC201000, jbxxIds)),
SxtXzcfajjdxx778518Vo::getC201000);
Map<String, List<SxtXzcfajdsrxx594019Vo>> partyMap = groupBy(
xzcfDsrMapper.selectVoList(
Wrappers.<SxtXzcfajdsrxx594019>lambdaQuery().in(SxtXzcfajdsrxx594019::getC201000, jbxxIds)),
SxtXzcfajdsrxx594019Vo::getC201000);
List<LongGangXzcfCaseVo> list = new ArrayList<>();
for (SxtXzcfajjbxx026705Vo master : masters) {
LongGangXzcfCaseVo caseVo = new LongGangXzcfCaseVo();
caseVo.setMaster(master);
caseVo.setDecisions(decisionMap.getOrDefault(master.getC201000(), Collections.emptyList()));
caseVo.setParties(partyMap.getOrDefault(master.getC201000(), Collections.emptyList()));
list.add(caseVo);
}
vo.setXzcfList(list);
}
/**
* 强制基本信息.c301000 = 措施.c301000 = 当事人.c301000
* 按日过滤:最后变更时间 cdTime
*/
private void fillXzqz(LongGangCaseSyncVo vo, PageQuery pageQuery, Date dayBegin, Date dayEnd) {
LambdaQueryWrapper<SxtXzqzjbxx173774> lqw = Wrappers.lambdaQuery();
if (dayBegin != null && dayEnd != null) {
lqw.between(SxtXzqzjbxx173774::getCdTime, dayBegin, dayEnd);
}
lqw.orderByDesc(SxtXzqzjbxx173774::getCdTime).orderByAsc(SxtXzqzjbxx173774::getId);
Page<SxtXzqzjbxx173774Vo> page = xzqzJbxxMapper.selectVoPage(pageQuery.build(), lqw);
vo.setXzqzTotal(page.getTotal());
List<SxtXzqzjbxx173774Vo> masters = page.getRecords();
if (CollUtil.isEmpty(masters)) {
vo.setXzqzList(Collections.emptyList());
return;
}
Set<String> jbxxIds = collectIds(masters, SxtXzqzjbxx173774Vo::getC301000);
Map<String, List<SxtXzqzcsxx274939Vo>> measureMap = groupBy(
xzqzCsxxMapper.selectVoList(
Wrappers.<SxtXzqzcsxx274939>lambdaQuery().in(SxtXzqzcsxx274939::getC301000, jbxxIds)),
SxtXzqzcsxx274939Vo::getC301000);
Map<String, List<SxtXzqzdsrxx997874Vo>> partyMap = groupBy(
xzqzDsrMapper.selectVoList(
Wrappers.<SxtXzqzdsrxx997874>lambdaQuery().in(SxtXzqzdsrxx997874::getC301000, jbxxIds)),
SxtXzqzdsrxx997874Vo::getC301000);
List<LongGangXzqzCaseVo> list = new ArrayList<>();
for (SxtXzqzjbxx173774Vo master : masters) {
LongGangXzqzCaseVo caseVo = new LongGangXzqzCaseVo();
caseVo.setMaster(master);
caseVo.setMeasures(measureMap.getOrDefault(master.getC301000(), Collections.emptyList()));
caseVo.setParties(partyMap.getOrDefault(master.getC301000(), Collections.emptyList()));
list.add(caseVo);
}
vo.setXzqzList(list);
}
private <T> Set<String> collectIds(List<T> list, Function<T, String> idGetter) {
if (CollUtil.isEmpty(list)) {
return Collections.emptySet();
}
return list.stream()
.map(idGetter)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toCollection(LinkedHashSet::new));
}
private <T> Map<String, List<T>> groupBy(List<T> list, Function<T, String> keyGetter) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream()
.filter(item -> StrUtil.isNotBlank(keyGetter.apply(item)))
.collect(Collectors.groupingBy(keyGetter));
}
}

485
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome-bak.vue

@ -0,0 +1,485 @@
<!--<template>-->
<!-- <div class="home app_content">-->
<!-- &lt;!&ndash; 顶部蓝色背景区域 &ndash;&gt;-->
<!-- <div class="header-bg">-->
<!-- <div class="header-city-bg"></div>-->
<!-- <div class="header-city-info"></div>-->
<!-- <div class="header-badge"></div>-->
<!-- <div class="header-badge-text"></div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 内容区域 &ndash;&gt;-->
<!-- <div class="content-area">-->
<!-- &lt;!&ndash; 通知栏 &ndash;&gt;-->
<!-- <div class="notice-bar">-->
<!-- <img src="@/assets/images/icon_notice.png" class="notice-icon" alt="" />-->
<!-- <van-notice-bar v-if="noticeList.length > 0" class="notice-scroll"-->
<!-- :scrollable="noticeList.length > 0 || (noticeList[0]?.title || '').length > 16"-->
<!-- background="transparent" color="#8c8c8c" :text="noticeText" />-->
<!-- <span v-else class="notice-text">暂无新通知</span>-->
<!-- </div>-->
<!-- &lt;!&ndash; 轮播图 &ndash;&gt;-->
<!-- <div class="banner-card">-->
<!-- <van-swipe :autoplay="3000" indicator-color="rgba(255,255,255,0.9)" :loop="true">-->
<!-- <van-swipe-item v-for="(item, index) in bannerList" :key="index">-->
<!-- <div class="banner-inner">-->
<!-- <img :src="item.imageUrl" class="banner-img" alt="" @click="toBannerDetail(item)" />-->
<!-- </div>-->
<!-- </van-swipe-item>-->
<!-- </van-swipe>-->
<!-- </div>-->
<!-- &lt;!&ndash; 扫码入企双卡片行 &ndash;&gt;-->
<!-- <div class="card-row">-->
<!-- &lt;!&ndash; 行政执法 - 扫码入企 &ndash;&gt;-->
<!-- <div class="function-card enforcement-card" @click="toScanEntQRCode('enforcement')">-->
<!-- <div class="card-label-wrap">-->
<!-- <img src="@/assets/images/bg_label_xzzf.png" class="card-label" />-->
<!-- <div class="card-title">扫码入企</div>-->
<!-- </div>-->
<!-- <div class="card-content">-->
<!-- <div class="card-text">行政执法</div>-->
<!-- <img src="@/assets/images/icon_xzrq.jpg" class="card-icon" />-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 非行政执法 - 扫码入企 &ndash;&gt;-->
<!-- <div class="function-card other-card" @click="toScanEntQRCode('non-enforcement')">-->
<!-- <div class="card-label-wrap">-->
<!-- <img src="@/assets/images/bg_label_fxzzf.png" class="card-label" />-->
<!-- <div class="card-title">扫码入企</div>-->
<!-- </div>-->
<!-- <div class="card-content">-->
<!-- <div class="card-text">非行政执法</div>-->
<!-- <img src="@/assets/images/icon_fxzrq.jpg" class="card-icon" />-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 行政执法信息 + 统计分析 双卡片行 &ndash;&gt;-->
<!-- <div class="card-row">-->
<!-- &lt;!&ndash; 行政执法信息 &ndash;&gt;-->
<!-- <div class="function-card information-card" @click="toEnforcementList">-->
<!-- <div class="card-content">-->
<!-- <div class="cardOther-text">行政执法信息</div>-->
<!-- <img src="@/assets/images/icon_zfxx.jpg" class="card-icon" />-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 统计分析 &ndash;&gt;-->
<!-- <div class="function-card statistics-card" @click="toStatisticsAnalysis">-->
<!-- <div class="card-content">-->
<!-- <div class="cardOther-text">统计分析</div>-->
<!-- <img src="@/assets/images/icon_tjfx.jpg" class="card-icon" />-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 底部导航栏 &ndash;&gt;-->
<!-- <FooterBar active="home" />-->
<!-- </div>-->
<!--</template>-->
<!--<script setup name="enforcementHome">-->
<!--import { ref, computed, onMounted } from 'vue';-->
<!--import { useRouter } from 'vue-router';-->
<!--import FooterBar from '@/components/FooterBar.vue';-->
<!--import { getNoticeInfoList, getCarouselBannerList } from '@/api/enforcement/index';-->
<!--import { baseUrl } from '@/config/env';-->
<!--const router = useRouter();-->
<!--// ========== 通知数据 ==========-->
<!--const noticeList = ref([]);-->
<!--// 多条通知拼接(van-notice-bar 使用单一文本滚动展示)-->
<!--const noticeText = computed(() => {-->
<!-- return noticeList.value-->
<!-- .map(it => it.noticeContent || it.title)-->
<!-- .filter(Boolean)-->
<!-- .join(' ');-->
<!--});-->
<!--// 调用系统通知接口并填充 noticeList、兼容多种字段名-->
<!--const fetchNoticeList = () => {-->
<!-- getNoticeInfoList({}, (res) => {-->
<!-- if (res && res.rows) {-->
<!-- // 接口返回结构为 { total, rows, code, msg }-->
<!-- noticeList.value = res.rows || [];-->
<!-- }-->
<!-- }, (err) => {-->
<!-- console.error('获取通知列表失败', err);-->
<!-- });-->
<!--};-->
<!--// ========== 轮播图数据 ==========-->
<!--const bannerList = ref([]);-->
<!--const fetchBannerList = () => {-->
<!-- getCarouselBannerList({}, (res) => {-->
<!-- if (res && res.rows) {-->
<!-- // 接口返回结构为 { total, rows, code, msg }-->
<!-- bannerList.value = (res.rows || []).map(item => ({-->
<!-- ...item,-->
<!-- imageUrl: baseUrl + item.imageUrl-->
<!-- }));-->
<!-- }-->
<!-- }, (err) => {-->
<!-- console.error('获取轮播图失败', err);-->
<!-- });-->
<!--};-->
<!--// ========== 页面跳转 ==========-->
<!--/**-->
<!-- * 跳转扫码入企页面-->
<!-- * @param {string} type 执法类型:enforcement=行政执法,non-enforcement=非行政执法-->
<!-- */-->
<!--const toScanEntQRCode = (type) => {-->
<!-- router.push({-->
<!-- path: '/enforcement/scanEntQRCode',-->
<!-- query: { type },-->
<!-- });-->
<!--};-->
<!--/**-->
<!-- * 跳转行政执法信息列表页面-->
<!-- */-->
<!--const toEnforcementList = () => {-->
<!-- router.push({-->
<!-- path: '/enforcement/enforcementList',-->
<!-- });-->
<!--};-->
<!--/**-->
<!-- * 跳转统计分析页面-->
<!-- */-->
<!--const toStatisticsAnalysis = () => {-->
<!-- router.push({-->
<!-- path: '/enforcement/statisticsAnalysis',-->
<!-- });-->
<!--};-->
<!--/**-->
<!-- * 跳转banner详情页面-->
<!-- * @param {Object} item banner项-->
<!-- */-->
<!--const toBannerDetail = (item) => {-->
<!-- router.push({-->
<!-- path: '/enforcement/bannerDetail',-->
<!-- query: {-->
<!-- id: item.id-->
<!-- },-->
<!-- });-->
<!--};-->
<!--// ========== 页面挂载 ==========-->
<!--onMounted(() => {-->
<!-- fetchNoticeList();-->
<!-- fetchBannerList();-->
<!--});-->
<!--</script>-->
<!--<style lang="less" scoped>-->
<!--.home {-->
<!-- display: flex;-->
<!-- flex-direction: column;-->
<!-- height: 100%;-->
<!-- overflow: hidden;-->
<!-- background: #f0f6ff;-->
<!-- font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;-->
<!--}-->
<!--/* ===== 顶部蓝色背景区域 ===== */-->
<!--.header-bg {-->
<!-- text-align: center;-->
<!-- position: relative;-->
<!-- overflow: hidden;-->
<!-- flex-shrink: 0;-->
<!-- position: relative;-->
<!-- height: 152px;-->
<!--}-->
<!--.header-city-bg {-->
<!-- height: 150px;-->
<!-- background: url('@/assets/images/bg_top.jpg') no-repeat center center;-->
<!-- background-size: 100% 100%;-->
<!--}-->
<!--.header-city-info {-->
<!-- width: 100%;-->
<!-- height: 138px;-->
<!-- background: url('@/assets/images/logo_top.png') no-repeat center center;-->
<!-- background-size: 100% 100%;-->
<!-- position: absolute;-->
<!-- top: 0;-->
<!-- left: 0;-->
<!-- z-index: 1;-->
<!--}-->
<!--.header-badge {-->
<!-- height: 30px;-->
<!-- width: 65px;-->
<!-- background: url('@/assets/images/label_zfd.png') no-repeat center center;-->
<!-- background-size: 100% 100%;-->
<!-- position: absolute;-->
<!-- bottom:38px;-->
<!-- left: 42%;-->
<!-- z-index: 1;-->
<!--}-->
<!--.header-badge-text {-->
<!-- height: 34px;-->
<!-- width: 62%;-->
<!-- background: url('@/assets/images/slogan_top.png') no-repeat center center;-->
<!-- background-size: 100% 100%;-->
<!-- position: absolute;-->
<!-- bottom: 6px;-->
<!-- left: 72px;-->
<!-- z-index: 1;-->
<!--}-->
<!--.badge-inner {-->
<!-- display: flex;-->
<!-- flex-direction: column;-->
<!-- align-items: center;-->
<!--}-->
<!--.badge-icon {-->
<!-- width: 80px;-->
<!-- height: 80px;-->
<!-- background: linear-gradient(135deg, #2563eb, #1d4ed8);-->
<!-- border-radius: 50%;-->
<!-- display: flex;-->
<!-- align-items: center;-->
<!-- justify-content: center;-->
<!-- box-shadow: 0 8px 24px rgba(37, 99, 235, 0.4);-->
<!-- border: 3px solid rgba(255, 255, 255, 0.3);-->
<!--}-->
<!--.badge-svg {-->
<!-- width: 70px;-->
<!-- height: 70px;-->
<!--}-->
<!--.badge-label {-->
<!-- margin-top: 8px;-->
<!-- font-size: 14px;-->
<!-- color: rgba(255, 255, 255, 0.9);-->
<!-- font-weight: 500;-->
<!-- letter-spacing: 2px;-->
<!--}-->
<!--/* 标语 */-->
<!--.header-slogan {-->
<!-- position: relative;-->
<!-- z-index: 2;-->
<!-- display: flex;-->
<!-- align-items: center;-->
<!-- justify-content: center;-->
<!-- gap: 12px;-->
<!--}-->
<!--.slogan-text {-->
<!-- font-size: 18px;-->
<!-- color: #fff;-->
<!-- font-weight: 600;-->
<!-- letter-spacing: 3px;-->
<!--}-->
<!--.slogan-divider {-->
<!-- color: rgba(255, 255, 255, 0.6);-->
<!-- font-size: 18px;-->
<!--}-->
<!--/* ===== 内容区域 ===== */-->
<!--.content-area {-->
<!-- padding: 12px;-->
<!-- position: relative;-->
<!-- z-index: 2;-->
<!-- flex: 1;-->
<!-- overflow-y: auto;-->
<!-- padding-bottom: 16px;-->
<!-- border-radius: 10px 10px 0 0;-->
<!-- top: -10px;-->
<!-- bottom: 0px;-->
<!-- background: #fff;-->
<!-- // height: calc(100% - 20px);-->
<!--}-->
<!--/* 通知栏 */-->
<!--.notice-bar {-->
<!-- background: #fffbe6;-->
<!-- border-radius: 10px;-->
<!-- padding: 0px 10px;-->
<!-- margin-bottom: 8px;-->
<!-- display: flex;-->
<!-- align-items: center;-->
<!-- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);-->
<!-- border: 1px solid rgba(255, 220, 120, 0.4);-->
<!-- box-sizing: border-box;-->
<!-- .notice-icon {-->
<!-- width: 18px;-->
<!-- height: 18px;-->
<!-- min-width: 18px;-->
<!-- margin-right: 10px;-->
<!-- object-fit: contain;-->
<!-- }-->
<!-- /* 通知滚动 */-->
<!-- .notice-scroll {-->
<!-- flex: 1;-->
<!-- font-size: 13px;-->
<!-- padding: 0px;-->
<!-- }-->
<!-- .notice-text {-->
<!-- flex: 1;-->
<!-- font-size: 13px;-->
<!-- color: #8c8c8c;-->
<!-- line-height: 1.4;-->
<!-- }-->
<!--}-->
<!--/* 轮播图 */-->
<!--.banner-card {-->
<!-- border-radius: 16px;-->
<!-- overflow: hidden;-->
<!-- margin-bottom: 14px;-->
<!-- position: relative;-->
<!-- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);-->
<!--}-->
<!--.banner-inner {-->
<!-- width: 100%;-->
<!-- height: 130px;-->
<!-- position: relative;-->
<!-- overflow: hidden;-->
<!--}-->
<!--.banner-img {-->
<!-- width: 100%;-->
<!-- height: 100%;-->
<!-- // object-fit: cover;-->
<!--}-->
<!--:deep(.van-swipe__indicator) {-->
<!-- width: 8px;-->
<!-- height: 8px;-->
<!-- border-radius: 4px;-->
<!-- background: rgba(255, 255, 255, 0.5);-->
<!-- transition: all 0.3s;-->
<!--}-->
<!--:deep(.van-swipe__indicator&#45;&#45;active) {-->
<!-- width: 20px;-->
<!-- background: rgba(255, 255, 255, 0.9);-->
<!--}-->
<!--/* ===== 卡片行 ===== */-->
<!--.card-row {-->
<!-- display: flex;-->
<!-- gap: 12px;-->
<!-- margin-bottom: 14px;-->
<!--}-->
<!--.enforcement-card {-->
<!-- height: 140px;-->
<!-- background: url('@/assets/images/bg_xzzf.png') no-repeat center center, linear-gradient(180deg, #7cc5fe 0%, #fff 60%);-->
<!-- background-size: 100% 100%;-->
<!--}-->
<!--.other-card {-->
<!-- height: 140px;-->
<!-- background: url('@/assets/images/bg_fxzzf.png') no-repeat center center, linear-gradient(180deg, #aacbfd 0%, #fff 60%);-->
<!-- background-size: 100% 100%;-->
<!--}-->
<!--.information-card {-->
<!-- height: 120px;-->
<!-- background: url('@/assets/images/bg_zfxx.png') no-repeat center center, linear-gradient(180deg, #bbecfd 0%, #fff 60%);-->
<!-- background-size: 100% 100%;-->
<!--}-->
<!--.statistics-card {-->
<!-- height: 120px;-->
<!-- background: url('@/assets/images/bg_tjfx.png') no-repeat center center, linear-gradient(180deg, #a3d4f7 0%, #fff 60%);-->
<!-- background-size: 100% 100%;-->
<!--}-->
<!--/* 功能卡片 */-->
<!--.function-card {-->
<!-- flex: 1;-->
<!-- border-radius: 16px;-->
<!-- padding: 0;-->
<!-- position: relative;-->
<!-- overflow: hidden;-->
<!-- // min-height: 140px;-->
<!-- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);-->
<!-- .card-label-wrap {-->
<!-- .card-title {-->
<!-- font-size: 12px;-->
<!-- color: #fff;-->
<!-- letter-spacing: 1px;-->
<!-- position: absolute;-->
<!-- top: 6px;-->
<!-- left: 12px;-->
<!-- }-->
<!-- }-->
<!-- .card-label {-->
<!-- width: 100px;-->
<!-- height: 38px;-->
<!-- display: block;-->
<!-- }-->
<!-- .card-content {-->
<!-- position: relative;-->
<!-- z-index: 2;-->
<!-- padding: 0 16px 16px;-->
<!-- }-->
<!-- .card-icon {-->
<!-- width: 52px;-->
<!-- height: 38px;-->
<!-- border-radius: 18px;-->
<!-- margin-top: 8px;-->
<!-- display: block;-->
<!-- }-->
<!-- .card-text {-->
<!-- font-size: 15px;-->
<!-- color: #000;-->
<!-- position: relative;-->
<!-- z-index: 1;-->
<!-- }-->
<!-- .cardOther-text {-->
<!-- font-size: 15px;-->
<!-- color: #000;-->
<!-- position: relative;-->
<!-- z-index: 1;-->
<!-- margin-top: 12px;-->
<!-- }-->
<!-- .card-bg-decor {-->
<!-- position: absolute;-->
<!-- bottom: 0;-->
<!-- left: 0;-->
<!-- width: 100%;-->
<!-- height: 100%;-->
<!-- object-fit: cover;-->
<!-- opacity: 0.06;-->
<!-- pointer-events: none;-->
<!-- }-->
<!--}-->
<!--</style>-->

418
zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/home/enterpriseHome-bak.vue

@ -0,0 +1,418 @@
<!--<template>-->
<!-- &lt;!&ndash; <Loading class="loading-div" type="spinner" v-show="isLoading" color="#1989fa"/>-->
<!-- <div class="home app_content" v-if="!isLoading"> &ndash;&gt;-->
<!-- <div class="home app_content">-->
<!-- &lt;!&ndash; 导航栏 &ndash;&gt;-->
<!-- &lt;!&ndash; <div class="header_body">&ndash;&gt;-->
<!-- &lt;!&ndash; <header-nav :leftArrow="false" titelText="执法监督码"></header-nav>&ndash;&gt;-->
<!-- &lt;!&ndash; </div>&ndash;&gt;-->
<!-- &lt;!&ndash; 中间 &ndash;&gt;-->
<!-- <div class="warp_body">-->
<!-- <div class="logobox">-->
<!-- <div class="logobox-title" style="position: absolute;top: 100px;left: 50%;transform: translateX(-50%);background: #0d8ddb;z-index: 100;padding: 10px 20px;color: #fff;border-radius: 8px;" @click="toDemoList">demo-list</div>-->
<!-- </div>-->
<!-- &lt;!&ndash; <refresh-list v-model:freshMap="freshMap" @refresh="onRefresh" @onLoad="onLoad"> &ndash;&gt;-->
<!--&lt;!&ndash; <div class="carousel_box" @onLoad="onLoad">-->
<!-- <carousel-card v-if="carouselList.length" v-model:carouselList="carouselList"></carousel-card>-->
<!-- </div>&ndash;&gt;-->
<!-- <div class="boutique_box">-->
<!-- &lt;!&ndash; <van-cell :border="false" title="精品" /> &ndash;&gt;-->
<!-- <div class="boutique_body">-->
<!-- &lt;!&ndash; <goodsCard :goodsList="boutique" :cardAttr="boutiqueAttr"></goodsCard> &ndash;&gt;-->
<!-- <div class="box-qr-code" @click="showEnterpriseQRCode">-->
<!-- <span class="box-qr-code-text">执法监督码</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="boutique_body">-->
<!-- &lt;!&ndash; <goodsCard :goodsList="boutique" :cardAttr="boutiqueAttr"></goodsCard> &ndash;&gt;-->
<!-- <div class="box-info" @click="toRegistrationListView">-->
<!-- <span class="box-info-text">历史执法信息</span>-->
<!-- </div>-->
<!-- <div class="box-complaint" @click="toComplaintView">-->
<!-- <span class="box-complaint-text">执法投诉</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; </refresh-list> &ndash;&gt;-->
<!-- </div>-->
<!-- &lt;!&ndash; 底部 &ndash;&gt;-->
<!-- <div class="footer_body">-->
<!-- <footer-nav></footer-nav>-->
<!-- </div>-->
<!-- </div>-->
<!--</template>-->
<!--<script setup name="enterpriseHome">-->
<!--import * as w6s from 'szient-js-sdk';-->
<!--import sha1 from 'crypto-js/sha1';-->
<!--import {getEnterpriseMerchantAuthorization, getSiqLoginAuth, siqCode} from '../../../api/enterprise';-->
<!--import 'vant/es/toast/style';-->
<!--import Vconsolefrom from 'vconsole';-->
<!--const {useCommon} = $globalStore;-->
<!--const router = useRouter();-->
<!--const isLoading = ref(true);-->
<!--let freshMap = reactive({-->
<!-- refreshLoad: false, // 是否刷新-->
<!-- listLoading: false, // 是否加载中-->
<!-- listFinished: false, // 是否加载完成标识-->
<!--});-->
<!--const showEnterpriseQRCode = async () => {-->
<!-- /*if (useCommon.enterpriseNumber == null || useCommon.enterpriseNumber == "") {-->
<!-- router.push({path: "/enterprise/register"});-->
<!-- } else {*/-->
<!-- router.push({-->
<!-- path: "/enterprise/qrCode",-->
<!-- query: {-->
<!-- enterpriseNumber: useCommon.enterpriseNumber,-->
<!-- }-->
<!-- });-->
<!-- //}-->
<!--};-->
<!--const toRegistrationListView = async () => {-->
<!-- router.push({-->
<!-- path: "/enterprise/registrationList",-->
<!-- });-->
<!--}-->
<!--const toDemoList = () => {-->
<!-- router.push({ path: "/demo/enfDemoList" });-->
<!--};-->
<!--const toComplaintView = async () => {-->
<!-- router.push({-->
<!-- path: "/enterprise/complaint",-->
<!-- query: {-->
<!-- comOrOpi: 0,-->
<!-- isSelect: true-->
<!-- }-->
<!-- });-->
<!--}-->
<!--//下拉刷新-->
<!--const onRefresh = () => {-->
<!-- freshMap.listFinished = false;-->
<!-- freshMap.listLoading = true;-->
<!-- freshMap.refreshLoad = true;-->
<!--};-->
<!--// 触底加载-->
<!--const onLoad = () => {-->
<!--};-->
<!--const generateRandomNumber = () => {-->
<!-- const min = 100000;-->
<!-- const max = 999999;-->
<!-- const randomNum = (Math.floor(Math.random() * (max - min + 1)) + min);-->
<!-- return randomNum.toString().padStart(6, '0');-->
<!--}-->
<!--const getEnterpriseMerchant = (enterpriseNum, phoneNumber) => {-->
<!-- getEnterpriseMerchantAuthorization({enterpriseNumber: enterpriseNum, merchantTel: phoneNumber}, success => {-->
<!-- if (success.data != null && success.data.length > 0) {-->
<!-- useCommon.SET_USER_ENTERPRISE_NUMBER(success.data[0].enterpriseNumber);-->
<!-- }-->
<!-- }, error => {-->
<!-- })-->
<!--}-->
<!--/** 登录成功后写入 store(与一期 Home.vue 一致,并补充企业名称/ID) */-->
<!--const applyLoginResult = (data) => {-->
<!-- useCommon.SET_USER_PHONENUMBER(data.phonenumber.toString());-->
<!-- useCommon.SET_USER_ID(data.userId);-->
<!-- useCommon.SET_USER_ENTERPRISE_NUMBER(data.enterpriseNumber);-->
<!-- if (data.enterpriseName) {-->
<!-- useCommon.SET_USER_ENTERPRISE_NAME(data.enterpriseName);-->
<!-- }-->
<!-- if (data.enterpriseId) {-->
<!-- useCommon.SET_USER_ENTERPRISE_ID(data.enterpriseId);-->
<!-- }-->
<!-- useCommon.SET_TOKEN(data.token);-->
<!-- useCommon.SET_IS_FIRST_LOAD(false);-->
<!-- if (useCommon.firstLoad) {-->
<!-- isLoading.value = false;-->
<!-- }-->
<!-- getEnterpriseMerchant(data.enterpriseNumber.toString(), data.phonenumber.toString());-->
<!--}-->
<!--onMounted(() => {-->
<!-- console.log("企业端 Home onMounted");-->
<!-- // new Vconsolefrom();-->
<!-- console.log(useCommon.firstLoad);-->
<!-- isLoading.value = useCommon.firstLoad;-->
<!-- siqCode(null, success => {-->
<!-- console.log("-&ndash;&gt; 获取密钥", success);-->
<!-- let access_key = "";-->
<!-- let access_secret = "";-->
<!-- if (success.success) {-->
<!-- access_key = success.data.accessKey;-->
<!-- access_secret = success.data.accessSecret;-->
<!-- }-->
<!-- const nonce = generateRandomNumber();-->
<!-- const timestamp = `${Date.now()}`;-->
<!-- const str = [access_secret, nonce, timestamp]-->
<!-- .sort()-->
<!-- .reduce((str, item) => str += item, '');-->
<!-- // 最终还需要转成全小写-->
<!-- const signature = sha1(str).toString().toLowerCase();-->
<!-- w6s.config({-->
<!-- access_key: access_key,-->
<!-- nonce: nonce,-->
<!-- timestamp: timestamp,-->
<!-- signature: signature,-->
<!-- }).then((res) => {-->
<!-- console.log("鉴权", res);-->
<!-- }).catch((err) => {-->
<!-- console.log("鉴权", err);-->
<!-- getEnterpriseMerchant(useCommon.enterpriseNumber.toString(), useCommon.phonenumber.toString());-->
<!-- });-->
<!-- w6s.ready(() => {-->
<!-- w6s.header.setTitle('深圳市行政执法监督码');-->
<!-- w6s.szient.getAuthCode({-->
<!-- success: function (res) {-->
<!-- console.log(res)-->
<!-- console.log("认证", res);-->
<!-- console.log("code: " + res.result.result.code);-->
<!-- getSiqLoginAuth({code: res.result.result.code}, success => {-->
<!-- console.log(success.data);-->
<!-- applyLoginResult(success.data);-->
<!-- }, error => {-->
<!-- console.log("error : " + error)-->
<!-- })-->
<!-- },-->
<!-- fail: function (err) {-->
<!-- console.log(err)-->
<!-- console.log("认证", err);-->
<!-- },-->
<!-- });-->
<!-- });-->
<!-- });-->
<!-- const {VITE_BASE_URL, access_key, access_secret} = import.meta.env;-->
<!-- console.log(VITE_BASE_URL);-->
<!-- const apiUrl = ref(import.meta.env.accessKey);-->
<!-- console.log(access_key);-->
<!-- console.log(access_secret);-->
<!--});-->
<!--</script>-->
<!--<style lang="less" scoped>-->
<!--.home {-->
<!-- display: flex;-->
<!-- flex-direction: column;-->
<!-- height: 100%;-->
<!-- overflow: hidden;-->
<!-- background-color: #f4f4f4;-->
<!-- .warp_body {-->
<!-- position: relative;-->
<!-- margin: 0;-->
<!-- width: 100%;-->
<!-- height: 100%;-->
<!-- background: #c6e6ff url("../../../assets/images/bg_c.jpg") no-repeat top;-->
<!-- background-size: auto 100%;-->
<!-- overflow-x: hidden;-->
<!-- overflow-y: auto;-->
<!-- .carousel_box {-->
<!-- height: 4rem;-->
<!-- width: 100%;-->
<!-- padding-bottom: 0.27rem;-->
<!-- }-->
<!-- }-->
<!-- .boutique_box {-->
<!-- position: absolute;-->
<!-- width: 100%;-->
<!-- bottom: 1%;-->
<!-- .boutique_body {-->
<!-- padding: 0 0 0.27rem 0;-->
<!-- display: flex;-->
<!-- justify-content: center;-->
<!-- }-->
<!-- .box-qr-code {-->
<!-- position: relative;-->
<!-- margin: 2% 0;-->
<!-- width: 90%;-->
<!-- height: 3.67rem;-->
<!-- text-align: right;-->
<!-- border-radius: 0.27rem;-->
<!-- .box-qr-code-text {-->
<!-- position: absolute;-->
<!-- z-index: 10;-->
<!-- top: 0.35rem;-->
<!-- right: 0.35rem;-->
<!-- display: block;-->
<!-- font-size: 0.5rem;-->
<!-- }-->
<!-- }-->
<!-- .box-qr-code::before {-->
<!-- content: "";-->
<!-- position: absolute;-->
<!-- top: -0.14rem;-->
<!-- left: -0.14rem;-->
<!-- z-index: 0;-->
<!-- width: calc(100% + 0.13rem);-->
<!-- height: calc(100% + 0.13rem);-->
<!-- background-color: #fff;-->
<!-- border: 0.14rem solid rgba(255, 255, 255, 0.5);-->
<!-- border-radius: 0.27rem;-->
<!-- }-->
<!-- .box-qr-code::after {-->
<!-- content: "";-->
<!-- position: absolute;-->
<!-- top: 0;-->
<!-- left: 0;-->
<!-- z-index: 1;-->
<!-- width: 100%;-->
<!-- height: 100%;-->
<!-- border-radius: 0.27rem;-->
<!-- background: #fff url("../../../assets/images/item_code.jpg") no-repeat left;-->
<!-- background-size: auto 100%;-->
<!-- border: 1px solid #8db4ff;-->
<!-- }-->
<!-- .box-info {-->
<!-- position: relative;-->
<!-- margin-right: 2%;-->
<!-- width: 50%;-->
<!-- height: 3.67rem;-->
<!-- text-align: right;-->
<!-- border-radius: 0.27rem;-->
<!-- .box-info-text {-->
<!-- position: absolute;-->
<!-- z-index: 10;-->
<!-- top: 0.35rem;-->
<!-- right: 0.35rem;-->
<!-- display: block;-->
<!-- font-size: 0.5rem;-->
<!-- }-->
<!-- }-->
<!-- .box-info::before {-->
<!-- content: "";-->
<!-- position: absolute;-->
<!-- top: -0.14rem;-->
<!-- left: -0.14rem;-->
<!-- z-index: 0;-->
<!-- width: calc(100% + 0.13rem);-->
<!-- height: calc(100% + 0.13rem);-->
<!-- background-color: #fff;-->
<!-- border: 0.14rem solid rgba(255, 255, 255, 0.5);-->
<!-- border-radius: 0.27rem;-->
<!-- }-->
<!-- .box-info::after {-->
<!-- content: "";-->
<!-- position: absolute;-->
<!-- top: 0;-->
<!-- left: 0;-->
<!-- z-index: 1;-->
<!-- width: 100%;-->
<!-- height: 100%;-->
<!-- border-radius: 0.27rem;-->
<!-- background: #fff url("../../../assets/images/item_checkc.jpg") no-repeat left;-->
<!-- background-size: auto 100%;-->
<!-- border: 1px solid #8db4ff;-->
<!-- }-->
<!-- .box-complaint {-->
<!-- position: relative;-->
<!-- margin-left: 3%;-->
<!-- width: 35%;-->
<!-- height: 3.67rem;-->
<!-- text-align: right;-->
<!-- border-radius: 0.27rem;-->
<!-- .box-complaint-text {-->
<!-- position: absolute;-->
<!-- z-index: 10;-->
<!-- top: 0.35rem;-->
<!-- right: 0.35rem;-->
<!-- display: block;-->
<!-- font-size: 0.5rem;-->
<!-- }-->
<!-- }-->
<!-- }-->
<!-- .box-complaint::before {-->
<!-- content: "";-->
<!-- position: absolute;-->
<!-- top: -0.14rem;-->
<!-- left: -0.14rem;-->
<!-- z-index: 0;-->
<!-- width: calc(100% + 0.13rem);-->
<!-- height: calc(100% + 0.13rem);-->
<!-- background-color: #fff;-->
<!-- border: 0.14rem solid rgba(255, 255, 255, 0.5);-->
<!-- border-radius: 0.27rem;-->
<!-- }-->
<!-- .box-complaint::after {-->
<!-- content: "";-->
<!-- position: absolute;-->
<!-- top: 0;-->
<!-- left: 0;-->
<!-- z-index: 1;-->
<!-- width: 100%;-->
<!-- height: 100%;-->
<!-- border-radius: 0.27rem;-->
<!-- background: #fff url("../../../assets/images/item_complain.jpg") no-repeat left;-->
<!-- background-size: auto 100%;-->
<!-- border: 1px solid #8db4ff;-->
<!-- }-->
<!-- .recommend_box {-->
<!-- .recommend_body {-->
<!-- width: 100%;-->
<!-- }-->
<!-- }-->
<!--}-->
<!--.logobox {-->
<!-- position: relative;-->
<!-- top: 4%;-->
<!-- left: 5%;-->
<!-- z-index: 99;-->
<!-- width: 82%;-->
<!-- height: 10vh;-->
<!-- background: url("../../../assets/images/logo.png") no-repeat;-->
<!-- background-size: 100% auto;-->
<!--}-->
<!--@media screen and (max-width: 380px) {-->
<!-- .home .warp_body {-->
<!-- background: #c6e6ff url("../../../assets/images/bg_c.jpg") no-repeat top;-->
<!-- background-size: 100% auto;-->
<!-- }-->
<!--}-->
<!--@media screen and (min-width: 540px) {-->
<!-- .home .warp_body {-->
<!-- background: #c6e6ff url("../../../assets/images/bg_c.jpg") no-repeat top;-->
<!-- background-size: 100% auto;-->
<!-- }-->
<!--}-->
<!--.loading-div {-->
<!-- position: absolute;-->
<!-- top: 45%;-->
<!-- left: 48%;-->
<!--}-->
<!--</style>-->
Loading…
Cancel
Save