-
{{detailData?.taskTypeId != 5 ? '执法信息' : '巡查信息'}}
+
{{detailData?.taskTypeId != 5 || detailData?.taskOriginalTypeId != 5 ? '执法信息' : '巡查信息'}}
企业名称
@@ -77,8 +77,8 @@
类 别
{{ detailData?.taskTypeName || '--' }}
-
-
{{detailData?.taskTypeId != 5 ? '执法事项' : '巡查事项'}}
+
+ {{detailData?.taskTypeId != 5 || detailData?.taskOriginalTypeId != 5 ? '执法事项' : '巡查事项'}}
{{ detailData?.lawEnforcementMatters || '--' }}
@@ -94,7 +94,7 @@
-
{{detailData?.taskTypeId != 5 ? '执法依据' : '依 据'}}
+
{{detailData?.taskTypeId != 5 || detailData?.taskOriginalTypeId != 5 ? '执法依据' : '依 据'}}
+
+
+
+
+
+ 调查信息
+ 复制
+
+
+
+ 依据“{{ noticeFileName }}”通知/公告,{{ investigationParagraph1Body }}
+
+
{{ investigationParagraph2 }}
+
+ {{ investigationParagraph3 }}
+ 检查时间{{ formattedCheckTimeCn }}
+
+
+
+
@@ -184,7 +204,7 @@
检查时间:
-
{{ detailData?.checkTime || '--' }}
+
{{detailData?.taskStatus == 5 ? detailData?.deadline : detailData?.checkTime || '--' }}
@@ -296,6 +316,18 @@ const requirementLabel = computed(() => {
return CATEGORY_REQUIREMENT_LABEL_MAP[typeName] || '';
});
+const isCompletedTask = computed(() => detailData.value?.taskStatus === 4);
+
+const noticeFileName = computed(() => detailData.value?.proclamation?.[0]?.fileName || '');
+
+const enforcementPersonNames = computed(() => {
+ return detailData.value?.lawEnforcer?.map((person) => person.lawEnforcerName).filter(Boolean).join('、') || '';
+});
+
+const requirementItems = computed(() => {
+ return detailData.value?.taskItemList?.map((item) => item.itemName).filter(Boolean).join('、') || '';
+});
+
const onBack = () => {
router.back();
};
@@ -305,6 +337,73 @@ const formatDateTime = (time?: string) => {
return parseTime(time, '{y}-{m}-{d} {h}:{i}:{s}')?.replace(/:\d{2}$/, '') || '';
};
+const formatDateTimeCn = (time?: string) => {
+ if (!time) return '';
+ const parsed = parseTime(time, '{y}年{m}月{d}日{h}时{i}分{s}秒');
+ return parsed || time;
+};
+
+const formattedCreateTimeCn = computed(() => formatDateTimeCn(detailData.value?.createTime));
+const formattedCheckTimeCn = computed(() => formatDateTimeCn(detailData.value?.checkTime));
+
+const investigationParagraph1Body = computed(() => {
+ const detail = detailData.value;
+ if (!detail) return '';
+
+ const personType = detail.taskTypeId === 5 ? '巡查人员' : '执法人员';
+ const enforcementUnit = detail.lawEnforcementAgency || '深圳市执法局';
+ return `在${formattedCreateTimeCn.value}${enforcementUnit},${personType}${enforcementPersonNames.value},对${detail.enterpriseName || ''}进行了${detail.taskTypeName || ''}。`;
+});
+
+const investigationParagraph2 = computed(() => {
+ const detail = detailData.value;
+ if (!detail) return '';
+
+ let text = '';
+ if (detail.taskTypeId === 1 || detail.taskTypeId === 5) {
+ const matterType = detail.taskTypeId === 5 ? '巡查事项' : '执法事项';
+ text += `${matterType},${detail.lawEnforcementMatters || ''};`;
+ }
+
+ text += `${requirementLabel.value}有:${requirementItems.value}。`;
+ return text;
+});
+
+const investigationParagraph3 = computed(() => {
+ return `企业已提交材料,经核验,企业通过本次${detailData.value?.taskTypeName || ''}。`;
+});
+
+const investigationText = computed(() => {
+ return `${noticeFileName.value ? `依据“${noticeFileName.value}”通知/公告,` : ''}${investigationParagraph1Body.value}\n\n${investigationParagraph2.value}\n\n${investigationParagraph3.value}\n检查时间${formattedCheckTimeCn.value}`;
+});
+
+const copyInvestigationInfo = async () => {
+ try {
+ if (navigator.clipboard && window.isSecureContext) {
+ await navigator.clipboard.writeText(investigationText.value);
+ ElMessage.success('复制成功');
+ return;
+ }
+
+ const textArea = document.createElement('textarea');
+ textArea.value = investigationText.value;
+ textArea.style.position = 'absolute';
+ textArea.style.left = '-999999px';
+ document.body.prepend(textArea);
+ textArea.select();
+ try {
+ document.execCommand('copy');
+ ElMessage.success('复制成功');
+ } catch {
+ ElMessage.error('复制失败,请手动复制');
+ } finally {
+ textArea.remove();
+ }
+ } catch {
+ ElMessage.error('复制失败,请手动复制');
+ }
+};
+
const formatLawEnforcerName = (person: LawEnforcer) => {
return `${person.lawEnforcerName || ''}${person.lawEnforcerPhone ? ` ${person.lawEnforcerPhone}` : ''}`.trim() || '--';
};
@@ -318,7 +417,8 @@ const STATUS_OPTIONS = [
{ text: "退回企业补正", value: 2 },
{ text: "待审核", value: 3 },
{ text: "已办结", value: 4 },
- { text: "已办结(超期)", value: 5 }
+ { text: "已办结(超期)", value: 5 },
+ { text: "转为待核实处置案件", value: 6 },
]
// 使用上面的类型
const getCheckResultText = (taskStatus?: number) => {
@@ -328,7 +428,7 @@ const getCheckResultText = (taskStatus?: number) => {
const getItemAuditText = (pass?: number) => {
if (pass === 1) return '通过';
- if (pass === 0) return '有异议';
+ if (pass === 0) return '不通过';
return '待审核';
};
@@ -558,6 +658,13 @@ watch(
color: #303133;
}
+.title-with-btn {
+ display: flex;
+ align-items: center;
+ gap: 20px;
+ /* justify-content: space-between; */
+}
+
.detail-row {
display: flex;
align-items: flex-start;
@@ -594,6 +701,28 @@ watch(
word-break: break-all;
}
+.investigation-content {
+ padding: 12px;
+ background: #f8f9fa;
+ border-radius: 6px;
+ font-size: 14px;
+ color: #303133;
+ line-height: 1.6;
+ word-break: break-all;
+}
+
+.investigation-content p {
+ margin: 0 0 12px 0;
+}
+
+.investigation-content p:last-child {
+ margin-bottom: 0;
+}
+
+.text-nowrap {
+ white-space: nowrap;
+}
+
.detail-value--notice {
display: flex;
align-items: center;
diff --git a/zdxt-web-client/zdxt-admin-nos-plus-ui/src/views/nos/legalTech.vue b/zdxt-web-client/zdxt-admin-nos-plus-ui/src/views/nos/legalTech.vue
index afc9548..182bd9b 100644
--- a/zdxt-web-client/zdxt-admin-nos-plus-ui/src/views/nos/legalTech.vue
+++ b/zdxt-web-client/zdxt-admin-nos-plus-ui/src/views/nos/legalTech.vue
@@ -17,13 +17,7 @@
-
+
@@ -34,21 +28,12 @@
重置
-
-
-
-