Browse Source

bug 修复

dev-V1.10.2-temp
wangmingyong@163.com 3 months ago
parent
commit
f21a71a8a5
  1. 8
      zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
  2. 15
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue
  3. 65
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/home/enforcementHome.vue
  4. 1
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/loginByPassword.vue

8
zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue

@ -74,9 +74,9 @@
placeholder="请输入其他原因" type="textarea" rows="3" maxlength="500" show-word-limit
:rules="[{ required: true, message: '请填写其他原因' }]" required />
<!-- 入企时间(可选,近10天内) -->
<!-- 入企时间(可选,近10天内;仅补录模式可编辑) -->
<van-field v-model="formData.enforcementTime" name="enforcementTime" label="入企时间" placeholder="请选择入企时间"
readonly is-link clearable @click="openTimePicker" />
readonly :is-link="canEditTime" :clearable="canEditTime" @click="canEditTime && openTimePicker()" />
<van-popup v-model:show="showTimePicker" position="bottom" round>
<van-date-picker v-model="datePickerValue" title="选择入企时间" :min-date="minDate" :max-date="maxDate"
@confirm="onTimeConfirm" @cancel="showTimePicker = false" />
@ -179,6 +179,10 @@ const props = defineProps({
canSelectReason: {
type: Boolean,
default: false
},
canEditTime: {
type: Boolean,
default: false
}
});

15
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue

@ -26,6 +26,7 @@
<!-- 活动信息组件(非行政执法模式) -->
<NonEnforcementInfoSection v-else :form-data="formData" :default-person="enforcementPersons[0]"
:additional-persons="additionalPersons" :can-select-reason="canSelectReason"
:can-edit-time="isSignMode"
@open-person-picker="handleOpenPersonPicker"
@remove-person="handleRemovePerson" @open-basis-picker="handleOpenBasisPicker"
@add-basis="handleAddBasis" @remove-basis="handleRemoveBasis" @add-person="handleAddPerson" />
@ -489,6 +490,13 @@ const buildFileList = () => {
// 提交表单
const onSubmit = () => {
// 验证执法人员数量(行政执法和非行政执法模式都需要至少2人)
const totalPersons = enforcementPersons.value.length + additionalPersons.value.length;
if (totalPersons < 2) {
showToast('人员至少需要2人');
return;
}
showConfirmDialog({
title: '确认提交',
message: '确认提交吗?提交后将无法修改。',
@ -529,6 +537,13 @@ const onSubmit = () => {
// 提交并转办案
const handleSubmitAndTransfer = () => {
// 验证执法人员数量(行政执法模式需要至少2人)
const totalPersons = enforcementPersons.value.length + additionalPersons.value.length;
if (totalPersons < 2) {
showToast('执法人员至少需要2人');
return;
}
showConfirmDialog({
title: '确认提交并转办案',
message: '确认提交并转办案吗?提交后将无法修改。',

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

@ -1,5 +1,10 @@
<template>
<div class="home app_content">
<!-- 全局 Loading -->
<van-loading v-if="isLoading" class="global-loading" type="spinner" size="36px" color="#2b7de9" vertical>
加载中...
</van-loading>
<!-- 顶部蓝色背景区域 -->
<div class="header-bg">
<div class="header-city-bg"></div>
@ -96,6 +101,9 @@ const { useCommon } = $globalStore;
// 是否执法人员(hasLaw=true 时所有模块可用,false 时仅非行政执法可用)
const hasLaw = computed(() => !!useCommon.hasLaw);
// ========== 全局 Loading ==========
const isLoading = ref(true);
// 非执法人员点击受限模块时的提示
const checkLawPermission = () => {
if (!hasLaw.value) {
@ -120,7 +128,6 @@ const noticeText = computed(() => {
const fetchNoticeList = () => {
getNoticeInfoList({}, (res) => {
if (res && res.rows) {
// 接口返回结构为 { total, rows, code, msg }
noticeList.value = res.rows || [];
}
}, (err) => {
@ -134,7 +141,6 @@ 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
@ -195,33 +201,44 @@ const toBannerDetail = (item) => {
// ========== 页面挂载 ==========
onMounted(() => {
// new Vconsolefrom();
console.log("执法端 Home onMounted");
let fullUrl = window.location.href;
console.log(fullUrl)
let code = fullUrl.substring(fullUrl.indexOf("code=") + 5, fullUrl.indexOf("&state="));
console.log(code)
isLoading.value = useCommon.firstLoad;
// 安全超时:20秒后强制关闭loading,防止异常导致一直转圈
setTimeout(() => {
isLoading.value = false;
}, 20000);
if (useCommon.token) {
isLoading.value = false;
fetchNoticeList();
fetchBannerList();
return;
}
// isLoading.value = useCommon.firstLoad;
getSzyptLoginAuth(code, (success) => {
console.log("登录成功: ", success.data);
useCommon.SET_USER_ID(success.data.userId);
useCommon.SET_TOKEN(success.data.token);
useCommon.SET_HAS_LAW(success.data.lawOfficer);
useCommon.SET_ORG_ID(success.data.bureauDept.deptId);
// isLoading.value = false;
//设置已经初始化
useCommon.SET_IS_FIRST_LOAD(false);
console.log(useCommon)
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 || "");
useCommon.SET_HAS_LAW(response.data.lawOfficer || "");
isLoading.value = false;
fetchNoticeList();
fetchBannerList();
}, (error) => {},
);
}, (error) => {
isLoading.value = false;
});
});
</script>
@ -235,6 +252,20 @@ onMounted(() => {
background: #fbfdff;
}
/* ===== 全局 Loading ===== */
.global-loading {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.85);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
}
/* ===== 顶部蓝色背景区域 ===== */
.header-bg {
text-align: center;

1
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/loginByPassword.vue

@ -135,6 +135,7 @@ const doLogin = (secretName, secretKey) => {
useCommon.SET_BUREAU_UNIT_ID(response.data.bureauUnitId);
useCommon.SET_BUREAU_UNIT_NAME(response.data.bureauUnitName || "");
useCommon.SET_HAS_LAW(response.data.lawOfficer || "");
useCommon.SET_IS_FIRST_LOAD(false);
console.log("bureauUnitName", response.data.bureauUnitName);
console.log("enforcement login success", useCommon.userId);
showNavigatePicker.value = true;

Loading…
Cancel
Save