#!/usr/bin/env python3
"""一次性完成5项修改"""
import re

filepath = '/data/www/files/pad-cadre-appointment.html'

with open(filepath, 'r', encoding='utf-8') as f:
    content = f.read()

# ============================================================
# 修改1: c.education → c.fullTimeEdu, c.school → c.fullTimeSchool
# ============================================================
content = content.replace('c.education', 'c.fullTimeEdu')
content = content.replace('c.school', 'c.fullTimeSchool')
# 同样处理 cc.education (名册表格中)
content = content.replace('cc.education', 'cc.fullTimeEdu')
content = content.replace('cc.school', 'cc.fullTimeSchool')

# ============================================================
# 修改2: 去掉临时名册tab，调整tab索引
# ============================================================
# 删除临时名册tab按钮
content = content.replace(
    '    <div class="material-tab" onclick="switchMaterial(1)">临时名册</div>\n',
    ''
)
# 调整tab索引：原来是 汇报(0) 名册(1) 审批表(2) 考察(3)
# 现在改为 汇报(0) 审批表(1) 考察(2)
content = content.replace(
    '<div class="material-tab" onclick="switchMaterial(2)">任免审批表</div>',
    '<div class="material-tab" onclick="switchMaterial(1)">任免审批表</div>'
)
content = content.replace(
    '<div class="material-tab" onclick="switchMaterial(3)">考察材料</div>',
    '<div class="material-tab" onclick="switchMaterial(2)">考察材料</div>'
)

# 调整switchMaterial函数中的idx判断
# 原来: idx===0汇报, idx===1名册, idx===2审批表, idx===3考察
# 现在: idx===0汇报, idx===1审批表, idx===2考察
# 需要把 idx===2 改成 idx===1, idx===3 改成 idx===2
# 但要注意顺序，先改3→2，再改2→1
# 先把原来的idx===1（名册）整段删掉
# 名册代码在 else if(idx===1) 到 else if(idx===2) 之间

# 找到名册段并删除
roster_start = content.find('else if(idx===1){')
roster_end = content.find('else if(idx===2){')
if roster_start > 0 and roster_end > 0:
    content = content[:roster_start] + 'else if(idx===1){' + content[roster_end + len('else if(idx===2){'):]

# 现在 idx===2 是原来的考察材料，改为 idx===2 保持不变（因为名册删了，汇报0 审批1 考察2）
# 但我们上面已经把 onclick 改为 switchMaterial(1) 和 switchMaterial(2)
# 原来 idx===2 是审批表，现在需要改成 idx===1
# 原来 idx===3 是考察，现在需要改成 idx===2

# 先把 idx===3 改成临时标记
content = content.replace('else if(idx===3){', 'else if(idx===TEMP3){')
# 把 idx===2 改成 idx===1
content = content.replace('else if(idx===2){', 'else if(idx===1){')
# 把临时标记改成 idx===2
content = content.replace('else if(idx===TEMP3){', 'else if(idx===2){')

# ============================================================
# 修改3: 分页功能修复 - 实现真正分页
# ============================================================
# 替换 prevPage 和 nextPage 函数
old_pager = """function prevPage(){showToast('上一页');}
function nextPage(){showToast('下一页');}"""

new_pager = """var currentReportPage=1;
var reportTotalPages=2;
function prevPage(){if(currentReportPage>1){currentReportPage--;renderReportPage();}}
function nextPage(){if(currentReportPage<reportTotalPages){currentReportPage++;renderReportPage();}}
function renderReportPage(){
var c=cadres[currentCadreIdx];
var content=document.getElementById('materialContent');
if(currentReportPage===1){
content.innerHTML='<div class=\"doc-header\"><h3>'+c.name+'同志任免方案汇报说明</h3><div class=\"doc-info\">海东市委组织部 · 2026年7月</div></div><div class=\"doc-body\"><p>根据工作需要和干部考察情况，经海东市委组织部部务会议研究，现将'+c.name+'同志任免方案汇报如下：</p><h4>一、基本情况</h4><p>'+c.name+'，'+c.gender+'，'+c.ethnic+'，'+c.birth+'出生，'+c.native+'人，'+c.party+'入党，'+c.fullTimeEdu+'学历，'+c.fullTimeSchool+'毕业。现任'+c.current+'。</p><h4>二、任职经历</h4><p>'+c.resume.replace(/\\n/g,'<br>')+'</p></div><div class=\"pager\"><button onclick=\"prevPage()\">上一页</button><span class=\"page-info\">第'+currentReportPage+'页 / 共'+reportTotalPages+'页</span><button onclick=\"nextPage()\">下一页</button></div>';
}else{
content.innerHTML='<div class=\"doc-header\"><h3>'+c.name+'同志任免方案汇报说明（续）</h3><div class=\"doc-info\">海东市委组织部 · 2026年7月</div></div><div class=\"doc-body\"><h4>三、任免理由</h4><p>'+c.reason+'</p><h4>四、主要表现</h4><p>'+c.assessment+'</p><h4>五、常委会审议建议</h4><p>建议提请海东市委常委会议审议表决。</p></div><div class=\"pager\"><button onclick=\"prevPage()\">上一页</button><span class=\"page-info\">第'+currentReportPage+'页 / 共'+reportTotalPages+'页</span><button onclick=\"nextPage()\">下一页</button></div>';
}
}"""

content = content.replace(old_pager, new_pager)

# 修改汇报材料的渲染，改为调用renderReportPage
# 找到idx===0中的分页代码，改为初始化分页
old_report = """content.innerHTML='<div class=\"doc-header\"><h3>'+c.name+'同志任免方案汇报说明</h3><div class=\"doc-info\">省委组织部 · 2026年7月</div></div><div class=\"doc-body\"><p>根据工作需要和干部考察情况，经省委组织部部务会议研究，现将'+c.name+'同志任免方案汇报如下：</p><h4>一、基本情况</h4><p>'+c.name+'，'+c.gender+'，'+c.ethnic+'，'+c.birth+'出生，'+c.native+'人，'+c.party+'入党，'+c.fullTimeEdu+'学历，'+c.fullTimeSchool+'毕业。现任'+c.current+'。</p><h4>二、任职经历</h4><p>'+c.resume.replace(/\\n/g,'<br>')+'</p><h4>三、任免理由</h4><p>根据'+c.proposed+'岗位工作需要，'+c.name+'同志政治素质好，工作能力强，符合任职条件。拟任'+c.proposed+'。</p><h4>四、常委会审议建议</h4><p>建议提请省委常委会议审议表决。</p></div><div class=\"pager\"><button onclick=\"prevPage()\">上一页</button><span class=\"page-info\">第1页 / 共2页</span><button onclick=\"nextPage()\">下一页</button></div>';"""

new_report = """currentReportPage=1;renderReportPage();"""

content = content.replace(old_report, new_report)

# ============================================================
# 修改4: 省委 → 海东市委
# ============================================================
# 会议标题
content = content.replace('中共青海省委常委会议', '中共海东市委常委会议')
content = content.replace('省委常委会议室', '海东市委常委会议室')
content = content.replace('省委组织部汇报本次干部任免方案及说明', '海东市委组织部汇报本次干部任免方案及说明')
content = content.replace('省委书记总结讲话，部署后续工作', '海东市委书记总结讲话，部署后续工作')
content = content.replace('省委常委 · 省纪委书记', '海东市委常委 · 市纪委书记')
# 审批表中的"省委组织部"→"海东市委组织部"
content = content.replace('省委组织部', '海东市委组织部')
# 名册标题
content = content.replace('中共青海省委干部任免临时名册', '中共海东市委干部任免临时名册')
# 汇报材料中的"省委常委会议"
content = content.replace('省委常委会议', '海东市委常委会议')

# 干部数据中的职务调整：海东市下辖乐都区、平安区、民和县、互助县、化隆县、循化县
# 把原来的各州委书记改为海东市下属区县领导
content = content.replace('海东市委书记', '海东市乐都区委书记')
# 其他州市的干部，改为海东市下属区县
content = content.replace('海西州委书记', '海东市平安区委书记')
content = content.replace('海南州委书记', '海东市民和县委书记')
content = content.replace('海北州委书记', '海东市互助县委书记')
content = content.replace('玉树州委书记', '海东市化隆县委书记')
content = content.replace('果洛州委书记', '海东市循化县委书记')
content = content.replace('黄南州委书记', '海东市平安区委副书记')
# 省直部门改为海东市直部门
content = content.replace('省发改委主任', '海东市发改委主任')
content = content.replace('省教育厅厅长', '海东市教育局局长')
content = content.replace('省财政厅厅长', '海东市财政局局长')
content = content.replace('省公安厅厅长', '海东市公安局局长')
content = content.replace('省委统战部部长', '海东市委统战部部长')
content = content.replace('省人大民族委员会主任', '海东市人大常委会民族华侨委员会主任')
content = content.replace('省农业农村厅厅长', '海东市农业农村局局长')
content = content.replace('省生态环境厅厅长', '海东市生态环境局局长')
content = content.replace('省民政厅厅长', '海东市民政局局长')
content = content.replace('省文旅厅厅长', '海东市文旅局局长')
content = content.replace('省民宗委主任', '海东市民宗委主任')
content = content.replace('省政府秘书长', '海东市政府秘书长')
content = content.replace('省委宣传部副部长', '海东市委宣传部副部长')
content = content.replace('省人大常委会副主任', '海东市人大常委会副主任')
content = content.replace('省政法委副书记', '海东市委政法委副书记')

# 名册中的学历字段也改为fullTimeEdu（已经在修改1中处理）

# ============================================================
# 修改5: 呈报单位等字段 - 确认所有干部都有
# ============================================================
# 唐大军已有 reportDate:"2023 年 12 月", filler:"唐厚湖"
# 其他干部已有 reportDate:"2024年3月", filler:"马晓燕"
# showApprovalDetail函数已有渲染逻辑(928-939行)
# 无需额外修改

# ============================================================
# 写回文件
# ============================================================
with open(filepath, 'w', encoding='utf-8') as f:
    f.write(content)

# 验证
with open(filepath, 'r', encoding='utf-8') as f:
    verify = f.read()

print("=== 验证修改结果 ===")
print(f"1. c.education 残留: {verify.count('c.education')} (应为0)")
print(f"   c.school 残留: {verify.count('c.school')} (应为0)")
print(f"   cc.education 残留: {verify.count('cc.education')} (应为0)")
print(f"   c.fullTimeEdu 使用: {verify.count('c.fullTimeEdu')} (应>0)")
print(f"   c.fullTimeSchool 使用: {verify.count('c.fullTimeSchool')} (应>0)")
print(f"2. 临时名册tab: {verify.count('switchMaterial(1)">临时名册</div>')} (应为0)")
print(f"   审批表tab为idx=1: {verify.count('switchMaterial(1)">任免审批表')} (应>0)")
print(f"   考察tab为idx=2: {verify.count('switchMaterial(2)">考察材料')} (应>0)")
print(f"3. prevPage toast残留: {verify.count("prevPage(){showToast")} (应为0)")
print(f"   renderReportPage: {verify.count('renderReportPage')} (应>0)")
print(f"4. 海东市委常委会议: {verify.count('海东市委常委会议')} (应>0)")
print(f"   省委常委会议残留: {verify.count('省委常委会议')} (应为0)")
print(f"   海东市委组织部: {verify.count('海东市委组织部')} (应>0)")
print(f"   省委组织部残留: {verify.count('省委组织部')} (应为0)")
print(f"5. 呈报单位渲染: {verify.count('呈 报<br>单 位')} (应>0)")
print(f"   审批机关意见: {verify.count('审意')} (应>0)")
print(f"   行政机关意见: {verify.count('行任')} (应>0)")
print(f"   填表人: {verify.count('填表人')} (应>0)")
print(f"\n文件大小: {len(verify)} 字符")
print("=== 修改完成 ===")
