From 1ef6de3028aa781d9f05f10489ec1b83044ca946 Mon Sep 17 00:00:00 2001 From: "wangmingyong@163.com" Date: Tue, 4 Aug 2026 10:00:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E8=AE=B0=E9=A1=B5=E9=9D=A2=E5=8A=A0?= =?UTF-8?q?=E6=89=A7=E6=B3=95=E8=BD=AC=E5=8A=9E=E6=A1=88=EF=BC=8C=E9=9D=9E?= =?UTF-8?q?=E7=8E=B0=E5=9C=BA=E6=B7=BB=E5=8A=A0=E4=BA=BA=E6=95=B0=E5=A4=A7?= =?UTF-8?q?=E4=BA=8E2=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/enforcement/index.js | 3 + .../enforce/enforcementRegister.vue | 63 +++++++++++++++++-- .../src/views/enforcement/nos/nosAdd.vue | 11 +++- 3 files changed, 71 insertions(+), 6 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 79acca5a..5bd42818 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 @@ -130,6 +130,9 @@ export const getComprehensiveAnalysis = (params, success, error) => _get(baseUrl // 查询字典数据(公共) export const queryDict = (params, success, error) => _get("/system/dict/data/dictType", params, success, error); +// 获取系统配置 +export const getSystemConfig = (configKey, success, error) => _get(`/system/config/configKey/${configKey}`, null, success, error); + // endregion // region 消息模块 diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue index 2402df71..1ff737a2 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue @@ -34,6 +34,7 @@
保存 提交 + 提交并转办案
@@ -52,7 +53,7 @@ import { ref, reactive, computed, onMounted } from 'vue'; import { useRouter, useRoute } from 'vue-router'; import { showConfirmDialog, showSuccessToast, showToast } from 'vant'; import { loadDict } from '@/util/dictUtil'; -import { saveEnfRegistration, submitEnfRegistration, addNonRegistration, getEnforcementRegistrationDetailById } from '@/api/enforcement/index'; +import { saveEnfRegistration, submitEnfRegistration, addNonRegistration, getEnforcementRegistrationDetailById, getSystemConfig } from '@/api/enforcement/index'; import EnterpriseInfoSection from '@/components/enforcement/register/EnterpriseInfoSection.vue'; import EnforcementInfoSection from '@/components/enforcement/register/EnforcementInfoSection.vue'; import NonEnforcementInfoSection from '@/components/enforcement/register/NonEnforcementInfoSection.vue'; @@ -77,6 +78,9 @@ const canSelectReason = computed(() => { // 是否为非行政执法模式 const isNonEnforcement = ref(false); +// 是否显示"提交并转办案"按钮(由系统配置控制) +const showTransferButton = ref(false); + // 编辑模式:是否有编辑的ID const editId = ref(''); @@ -523,6 +527,35 @@ const onSubmit = () => { }); }; +// 提交并转办案 +const handleSubmitAndTransfer = () => { + showConfirmDialog({ + title: '确认提交并转办案', + message: '确认提交并转办案吗?提交后将无法修改。', + width: '80%', + }).then(() => { + const payload = buildSubmitPayload(); + // 标记为转办案 + payload.isTransfer = 1; + submitEnfRegistration(payload, (res) => { + if (res.code === 200 || res.code === 0) { + showSuccessToast('提交成功,已转办案'); + sessionStorage.removeItem('enterpriseScanData'); + sessionStorage.removeItem('outOfCityEnterprise'); + sessionStorage.removeItem('scanReason'); + router.push('/enforcement/enforcementList'); + } else { + showToast(res.msg || '提交失败'); + } + }, (err) => { + console.error('提交并转办案接口失败', err); + showToast('提交失败'); + }); + }).catch(() => { + // 用户取消 + }); +}; + // ========== 获取详情数据 ========== const fetchDetail = (id) => { getEnforcementRegistrationDetailById({ id }, (res) => { @@ -595,6 +628,17 @@ onMounted(() => { const enforceType = route.query.type; isNonEnforcement.value = enforceType === 'non-enforcement'; + // 获取系统配置:是否显示"提交并转办案"按钮 + getSystemConfig('sys.show.function', (res) => { + if (res && res.code === 200) { + const configValue = res.data || res.configValue || res.value; + showTransferButton.value = String(configValue) === '1'; + } + }, () => { + // 配置获取失败则默认不显示 + showTransferButton.value = false; + }); + // 判断是否为编辑模式 const id = route.query.id; if (id) { @@ -736,18 +780,19 @@ onMounted(() => { left: 0; right: 0; display: flex; - gap: 0.24rem; + gap: 0.2rem; padding: 0.28rem 0.32rem; background: #fff; box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08); z-index: 99; .btn-save, - .btn-submit { + .btn-submit, + .btn-transfer { flex: 1; height: 0.92rem; border-radius: 0.46rem; - font-size: 0.34rem; + font-size: 0.32rem; font-weight: 500; border: none; transition: all 0.2s; @@ -780,5 +825,15 @@ onMounted(() => { box-shadow: 0 2px 8px rgba(19, 103, 254, 0.2); } } + + .btn-transfer { + background: linear-gradient(135deg, #ff9f43 0%, #ff7a45 100%); + color: #fff; + box-shadow: 0 4px 12px rgba(255, 159, 67, 0.3); + + &:active { + box-shadow: 0 2px 8px rgba(255, 159, 67, 0.2); + } + } } diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/nos/nosAdd.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/nos/nosAdd.vue index 4e34c480..f0c96e57 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/nos/nosAdd.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/nos/nosAdd.vue @@ -1,12 +1,12 @@