From 3a3b38cd78468b46f0d0b67de3391377b70a5372 Mon Sep 17 00:00:00 2001 From: python Date: Thu, 11 Dec 2025 09:23:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E5=8F=AF=E7=94=A8=E6=96=87=E4=BB=B6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=BB=A5=E4=BE=9B=E6=96=87=E6=A1=A3=E7=94=9F=E6=88=90=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=EF=BC=8C=E5=90=8C=E6=97=B6=E5=A2=9E=E5=BC=BA=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E5=A4=84=E7=90=86=E4=BF=A1=E6=81=AF=E3=80=82=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=89=8D=E7=AB=AF=E9=80=BB=E8=BE=91=E4=BB=A5=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=8A=A0=E8=BD=BD=E6=96=87=E4=BB=B6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E4=BD=93=E9=AA=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/app.cpython-312.pyc | Bin 20801 -> 24188 bytes app.py | 80 +++++++++++++++ get_available_file_ids.py | 64 ++++++++++++ .../__pycache__/ai_service.cpython-312.pyc | Bin 50804 -> 65208 bytes .../document_service.cpython-312.pyc | Bin 12652 -> 12806 bytes services/document_service.py | 7 +- static/index.html | 91 ++++++++++++++---- 7 files changed, 224 insertions(+), 18 deletions(-) create mode 100644 get_available_file_ids.py diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index 9d2c16fa86e0414b5e1203066be1dc84314861eb..1521c3ae36f927ae84e2becb4932898e87b7b765 100644 GIT binary patch delta 5150 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 diff --git a/services/__pycache__/document_service.cpython-312.pyc b/services/__pycache__/document_service.cpython-312.pyc index 15bc3b9e548887d3dc640bd89fe32795e331978f..42cff6562f76bfb852ac882de9379a88d04c1457 100644 GIT binary patch delta 317 zcmaEp)Rw|`nwOW00SK&QtTIcqHuBw3V_ZM^wVH;|$ksbnDt_R`?L8=U#wp= zIe=HBUg5>U6)*a>Kkc9PY)D>z;N@2O18vx5yFb zpeiN>jUopiqbLPPl-dFbO@-&1_0;DwGI23YKC2?ql(1z}$Z423eH;y#0AKX`49GGJ!pk7Qxg{=@(xi%fuS0RU9Mf}{Wd delta 170 zcmZomd6UF +
+ + +
- @@ -548,27 +551,81 @@ // ==================== 文档生成接口相关 ==================== - function initGenerateTab() { + async function loadAvailableFiles() { + try { + const response = await fetch('/api/file-configs'); + const result = await response.json(); + + if (result.isSuccess && result.data && result.data.fileConfigs) { + const container = document.getElementById('fileListContainer'); + container.innerHTML = ''; // 清空现有列表 + + // 只添加有filePath的文件(有模板文件的) + const filesWithPath = result.data.fileConfigs.filter(f => f.filePath); + + if (filesWithPath.length === 0) { + alert('没有找到可用的文件配置(需要有filePath)'); + return; + } + + // 添加前5个文件作为示例 + filesWithPath.slice(0, 5).forEach(file => { + addFileItem(file.fileId, file.fileName); + }); + + if (filesWithPath.length > 5) { + alert(`已加载前5个文件,共找到 ${filesWithPath.length} 个可用文件`); + } else { + alert(`已加载 ${filesWithPath.length} 个可用文件`); + } + } else { + alert('获取文件列表失败: ' + (result.errorMsg || '未知错误')); + } + } catch (error) { + alert('加载文件列表失败: ' + error.message); + } + } + + async function initGenerateTab() { // 初始化默认字段(完整的虚拟测试数据) addGenerateField('target_name', '张三'); addGenerateField('target_gender', '男'); - addGenerateField('target_age', '44'); - addGenerateField('target_date_of_birth', '198005'); - addGenerateField('target_organization_and_position', '某公司总经理'); - addGenerateField('target_organization', '某公司'); - addGenerateField('target_position', '总经理'); - addGenerateField('target_education_level', '本科'); + addGenerateField('target_age', '34'); + addGenerateField('target_date_of_birth', '199009'); + addGenerateField('target_organization_and_position', '云南省农业机械公司党支部书记、经理'); + addGenerateField('target_organization', '云南省农业机械公司'); + addGenerateField('target_position', '党支部书记、经理'); + addGenerateField('target_education_level', '研究生'); addGenerateField('target_political_status', '中共党员'); - addGenerateField('target_professional_rank', '正处级'); - addGenerateField('clue_source', '群众举报'); - addGenerateField('target_issue_description', '违反国家计划生育有关政策规定,于2010年10月生育二胎。'); - addGenerateField('department_opinion', '建议进行初步核实'); - addGenerateField('filler_name', '李四'); + addGenerateField('target_professional_rank', ''); + addGenerateField('clue_source', ''); + addGenerateField('target_issue_description', '张三多次在私下聚会、网络群组中发表抹黑党中央决策部署的言论,传播歪曲党的理论和路线方针政策的错误观点,频繁接受管理服务对象安排的高档宴请、私人会所聚餐,以及高尔夫球、高端足浴等娱乐活动,相关费用均由对方全额承担,在干部选拔任用、岗位调整工作中,利用职务便利收受他人财物,利用职权为其亲属经营的公司谋取不正当利益,帮助该公司违规承接本单位及关联单位工程项目3个,合同总额超200万元,从中收受亲属给予的"感谢费"15万元;其本人沉迷赌博活动,每周至少参与1次大额赌资赌博,单次赌资超1万元,累计赌资达数十万元。'); + addGenerateField('department_opinion', ''); + addGenerateField('filler_name', ''); - // 初始化默认文件(使用fileId,不再需要templateCode) - // fileId可以从f_polic_file_config表查询获取 - addFileItem(1765273961883544, '初步核实审批表.doc'); // 2.初步核实审批表(XXX) - addFileItem(1765273961563507, '请示报告卡.doc'); // 1.请示报告卡(XXX) + // 自动加载可用的文件列表(只加载前2个作为示例) + try { + const response = await fetch('/api/file-configs'); + const result = await response.json(); + + if (result.isSuccess && result.data && result.data.fileConfigs) { + // 只添加有filePath的文件(有模板文件的) + const filesWithPath = result.data.fileConfigs.filter(f => f.filePath); + + // 添加前2个文件作为示例 + filesWithPath.slice(0, 2).forEach(file => { + addFileItem(file.fileId, file.fileName); + }); + } else { + // 如果加载失败,使用默认的fileId + addFileItem(1765273961883544, '初步核实审批表.doc'); // 2.初步核实审批表(XXX) + addFileItem(1765273961563507, '请示报告卡.doc'); // 1.请示报告卡(XXX) + } + } catch (error) { + // 如果加载失败,使用默认的fileId + addFileItem(1765273961883544, '初步核实审批表.doc'); + addFileItem(1765273961563507, '请示报告卡.doc'); + } } function addGenerateField(fieldCode = '', fieldValue = '') {