# -*- coding: utf-8 -*- """优化司机-货主菜单功能描述:另存新文件 + 合并进运营端菜单清单""" from openpyxl import load_workbook from openpyxl.styles import Font, Alignment SRC = r'E:\Desktop\xst_files\test\work\司机-货主菜单资源.xlsx' NEW = r'E:\Desktop\xst_files\test\work\司机-货主菜单清单.xlsx' OPS = r'E:\Desktop\xst_files\test\work\运营端菜单清单.xlsx' # 按源文件行号(2-99)的优化后描述 D = { 2: '展示运营后台配置的首页轮播图,点击可跳转对应活动/货源页面', 3: '运单主列表:按状态Tab(待装货/待运输/待卸货等)分类展示全部运单,可执行装卸货确认、投诉、清分操作', 4: '按货主姓名、车牌号、装货地/卸货地简称、接单时间筛选运单', 5: '展示能源卡账户余额:电卡、汽卡、油卡', 6: '展示能源卡全部充值记录,可按充值时间筛选', 7: '展示能源卡全部消费记录,可按消费时间筛选', 8: '展示全部运单结算后的运费记录,可按时间、车牌号、手机号、运单筛选', 9: '站内消息列表:按消息类型点击跳转对应页面,可标记为已读', 10: '首页快捷入口:展示最新可接单货源,点击"更多"进入货源菜单', 11: '在线客服会话,与平台客服沟通', 12: '展示不同线路/货源的运价单价参考', 13: '按发货地、收货地、货物类型等条件搜索货源', 14: '调用手机摄像头扫描货源二维码直接接单', 15: '展示全部可接单货源,可按出发地、目的地筛选', 16: '查看货源完整信息,输入接单数量确认接单运输', 17: '展示已添加的全部常跑路线', 18: '选择起始地、目的地,点击新增保存常跑路线(原描述"新增长跑路线"为笔误)', 19: '点击某条常跑路线进入该线路的货源列表', 20: '展示手机号、姓名、头像等个人信息,可退出登录', 21: '输入两次新手机号及登录密码,提交更换手机号', 22: '输入旧密码和两次新密码,完成密码修改', 23: '展示账号注销需满足的条件,确认后提交注销申请', 24: '展示已开户的账户信息与余额', 25: '展示全部交易流水记录', 26: '展示全部收款记录,可按收款时间筛选', 27: '展示全部提现记录,可按状态、时间筛选', 28: '输入提现金额,确认后提交提现申请', 29: '展示已绑定的银行卡,可解绑、绑定账户、删除、设为默认卡', 30: '填写银行卡及持卡人信息,提交后完成绑卡', 31: '上传身份证照片完成实名认证', 32: '实名通过后进行视频活体认证', 33: '上传驾驶证、道路运输从业资格证等证件,完成司机认证', 34: '展示已添加的全部车辆,可按车牌号搜索、删除、设为默认车辆', 35: '填写车辆信息并上传行驶证等证件,匹配成功后提交审核', 36: '展示税务认证信息(代开发票税务登记)', 37: '展示全部车队,可按车队名称、手机号、联系人查询并申请加入', 38: '展示车队邀请记录,可按车队名称、手机号、联系人搜索', 39: '展示已加入的车队,可按车队名称、手机号、联系人搜索,可选择退出车队', 40: '展示已新增的车源(车辆运力)信息,可搜索、编辑、删除', 41: '填写车源信息,提交后新增车源', 42: '展示全部保单信息', 43: '展示全部维修申请记录,可按状态筛选', 44: '填写维修申请字段,提交维修申请', 45: '展示全部电子合同,可搜索查看', 46: '展示我发起的投诉记录', 47: '展示他人对我的投诉记录', 48: '展示平台车辆年检代办服务信息', 49: '展示我发出的评价记录', 50: '展示他人对我的评价记录', 51: '提交投诉与意见建议', 52: '展示运营后台配置的首页轮播图,点击可跳转对应活动页面', 53: '在线客服会话,与平台客服沟通', 54: '展示平台推荐的车源(车辆运力)信息', 55: '查看车源详细信息', 56: '货源发布类型选择:大厅货源、线路项目单', 57: '填写货源发布表单的全部字段并发布货源,支持管理常用路线', 58: '线路项目单列表:可修改、删除、停用、展示货源二维码', 59: '填写线路信息,新增线路项目单', 60: '查看线路详情,并可直接对该线路发布货源', 61: '展示全部账户余额数据', 62: '展示全部提现记录,可按状态、时间筛选', 63: '查看单个钱包的账户详细信息', 64: '输入提现金额,提交提现申请', 65: '发货记录统计,可筛选、查看详情', 66: '收货记录统计,可筛选、查看详情', 67: '运费记录统计,可筛选、查看详情', 68: '发票记录统计,可筛选、查看详情', 69: '站内消息列表:按消息类型点击跳转对应页面,可标记为已读', 70: '展示不同线路/货源的运价单价参考', 71: '展示全部货源,点击货源进入该货源对应的运单', 72: '展示全部运单,可筛选、评价、投诉、备注、核算、批量核算', 73: '同"首页>账户信息"入口:展示全部账户余额数据', 74: '同"首页>账户信息"入口:展示提现记录,可按状态、时间筛选', 75: '同"首页>账户信息"入口:查看单个钱包的账户详细信息', 76: '同"首页>账户信息"入口:输入提现金额提交提现申请', 77: '展示已绑定的银行卡,可解绑、绑定账户、删除、设为默认卡', 78: '填写银行卡及持卡人信息,提交后完成绑卡', 79: '上传货主证件,认证成为货主', 80: '展示全部公司成员,可筛选、添加、修改、删除', 81: '填写成员信息,提交后添加成员', 82: '展示全部保单记录', 83: '展示全部电子合同,可搜索查看', 84: '展示全部货主合同', 85: '展示可开票数据,可筛选并确认索取发票', 86: '展示全部承运分组,可新增、修改、删除分组', 87: '同"首页>车货统计"入口:发货记录统计,可筛选、查看详情', 88: '同"首页>车货统计"入口:收货记录统计,可筛选、查看详情', 89: '同"首页>车货统计"入口:运费记录统计,可筛选、查看详情', 90: '同"首页>车货统计"入口:发票记录统计,可筛选、查看详情', 91: '常用路线管理:可新增、修改、删除、查询路线', 92: '管理开票抬头信息,可新增、删除、修改', 93: '展示我发出的评价记录', 94: '展示他人对我的评价记录', 95: '展示我发起的投诉记录', 96: '展示他人对我的投诉记录', 97: '提交投诉与意见建议', 98: '展示常见问题与解决办法', 99: '展示平台车辆检测代办服务信息', } assert len(D) == 98 and set(D) == set(range(2, 100)) # ---- 1. 另存优化后的独立文件 ---- wb = load_workbook(SRC) ws = wb['Sheet1'] FONT_SONG = Font(name='宋体', size=11) WRAP = Alignment(wrap_text=True, vertical='center', horizontal='left') for r, desc in D.items(): c = ws.cell(r, 6, desc) c.font = FONT_SONG c.alignment = WRAP ws.column_dimensions['F'].width = 80 wb.save(NEW) print('saved:', NEW) # ---- 2. 合并进运营端菜单清单 Sheet1(追加行,沿用其列结构) ---- wb2 = load_workbook(OPS) ws2 = wb2['Sheet1'] assert ws2.max_row == 300 FONT_AR = Font(name='Arial', size=10) row = 301 for r in range(2, 100): sys_name = ws.cell(r, 2).value # 系统(仅组首行有值) l1 = ws.cell(r, 3).value # 一级菜单 l2 = ws.cell(r, 4).value # 二级菜单 l3 = ws.cell(r, 5).value # 三级菜单 if sys_name: ws2.cell(row, 1, sys_name) # 客户端列,沿用"组首行有值"惯例 if l1: ws2.cell(row, 2, l1) if l2: ws2.cell(row, 3, l2) if l3: ws2.cell(row, 4, l3) c = ws2.cell(row, 5, D[r]) c.font = FONT_AR c.alignment = WRAP row += 1 print('appended rows 301-%d' % (row - 1)) # ---- 3. 更新说明页 ---- ws3 = wb2['说明'] ws3['B12'] = '菜单条目数(运营端+司机端+货主端)' ws3['C12'] = '=COUNTA(菜单清单!E:E)-1' ws3['B16'] = '客户端来源' ws3['C16'] = ('司机端/货主端菜单为人工整理(原《司机-货主菜单资源.xlsx》),' '功能描述已优化;运营端菜单来自 sys_resource 表') from openpyxl.styles import Font as F2 ws3['B16'].font = F2(name='Arial', size=10, bold=True) ws3['C16'].font = F2(name='Arial', size=10) wb2.save(OPS) print('merged into:', OPS)