diff --git a/index.html b/index.html index 59f908e..c12c64f 100644 --- a/index.html +++ b/index.html @@ -260,6 +260,9 @@ const SITE_MAP = [ { file:'din-order-line.html', label:'排队取餐' }, { file:'din-order-pickup.html', label:'取餐管理' }, { file:'din-innovation.html', label:'菜品创新' }, + { file:'din-canteen.html', label:'食堂管理' }, + { file:'din-canteen-add.html', label:'新增食堂' }, + { file:'din-canteen-line.html', label:'餐线管理' }, { file:'din-dict-mgmt.html', label:'字典管理' }, { file:'din-dict-config.html', label:'字典配置' }, { file:'din-algo-population.html', label:'群体算法' }, @@ -280,6 +283,7 @@ const SITE_MAP = [ { file:'prod-qc-daily.html', label:'日常质检' }, { file:'prod-qc-nutrition.html', label:'营养质检' }, { file:'prod-qc-nutrition-add.html', label:'营养质检-新增' }, + { file:'prod-qc-nutrition-sync.html', label:'营养质检-同步记录' }, { file:'ano-dirty.html', label:'系统脏数据' }, { file:'ano-result.html', label:'结果异常' } ]}, diff --git a/web-admin/nutrition/din-algo-population.html b/web-admin/nutrition/din-algo-population.html index d1bb15a..8ed6c89 100644 --- a/web-admin/nutrition/din-algo-population.html +++ b/web-admin/nutrition/din-algo-population.html @@ -47,10 +47,6 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei .stat-card__icon.blue{background:var(--primary-light);} .stat-card__icon.green{background:#F6FFED;} .stat-card__icon.orange{background:#FFF7E6;} -.stat-card__icon.red{background:#FFF1F0;} -.stat-card__info{display:flex;flex-direction:column;gap:4px;} -.stat-card__value{font-size:var(--font-xl);font-weight:700;color:var(--text-primary);} -.stat-card__label{font-size:var(--font-sm);color:var(--text-secondary);} .page-tabs{display:flex;gap:0;background:#fff;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:0 24px;box-shadow:var(--shadow-sm);border-bottom:2px solid var(--border);} .page-tab{padding:14px 20px;font-size:var(--font-sm);cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;display:flex;align-items:center;gap:6px;} .page-tab:hover{color:var(--primary);} @@ -66,6 +62,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei .btn{height:36px;padding:0 16px;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:6px;} .btn-primary{background:var(--primary);color:#fff;}.btn-primary:hover{background:#40a9ff;} .btn-default{background:#fff;color:var(--text-primary);border:1px solid var(--border);}.btn-default:hover{color:var(--primary);border-color:var(--primary);} +.btn-danger-text{background:none;border:none;color:var(--danger);cursor:pointer;font-size:var(--font-sm);padding:0;}.btn-danger-text:hover{color:#ff7875;} .table-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;} .table-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);} .table-card__title{font-size:var(--font-base);font-weight:600;} @@ -83,16 +80,44 @@ tbody tr:hover{background:#F8FBFF;} .tag-orange{background:#FFF7E6;color:var(--warning);} .tag-red{background:#FFF1F0;color:var(--danger);} .tag-gray{background:#F5F5F5;color:#999;} -.link{color:var(--primary);cursor:pointer;font-size:var(--font-sm);}.link:hover{color:#40a9ff;} -.pagination{display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;gap:8px;border-top:1px solid var(--border);} -.pagination span{font-size:var(--font-sm);color:var(--text-secondary);} -.page-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:var(--font-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .2s;} +.link{color:var(--primary);cursor:pointer;font-size:var(--font-sm);text-decoration:none;}.link:hover{color:#40a9ff;} +.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--border);} +.pagination__info{font-size:var(--font-xs);color:var(--text-placeholder);} +.pagination__btns{display:flex;gap:4px;align-items:center;} +.page-btn{min-width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:var(--font-sm);display:inline-flex;align-items:center;justify-content:center;padding:0 8px;transition:all .2s;} .page-btn:hover,.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);} +.page-btn.disabled{cursor:not-allowed;color:var(--text-placeholder);background:#F5F5F5;} +.page-btn.disabled:hover{background:#F5F5F5;color:var(--text-placeholder);border-color:var(--border);} .action-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;} /* 操作列固定右侧 */ thead th:last-child,tbody td.td-actions{position:sticky;right:0;background:#fff;box-shadow:-4px 0 8px rgba(0,0,0,0.04);z-index:2;white-space:nowrap;} thead th:last-child{background:#FAFAFA;} tbody tr:hover td.td-actions{background:#F8FBFF;} +.td-actions .link{margin-right:10px;} +.td-actions .link:last-child,.td-actions .btn-danger-text:last-child{margin-right:0;} +.td-actions .btn-danger-text{margin-right:0;} + +/* 弹窗 */ +.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:200;display:none;align-items:center;justify-content:center;} +.modal-mask.open{display:flex;} +.modal{background:#fff;border-radius:var(--radius-lg);width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);} +.modal--sm{width:480px;} +.modal--lg{width:800px;} +.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);} +.modal__title{font-size:var(--font-lg);font-weight:600;} +.modal__close{width:28px;height:28px;border:none;background:none;font-size:18px;cursor:pointer;color:var(--text-placeholder);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s;} +.modal__close:hover{background:#F5F5F5;color:var(--text-primary);} +.modal__body{padding:20px 24px;overflow-y:auto;flex:1;} +.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border);} +.form-row{display:flex;gap:16px;margin-bottom:16px;} +.form-group{flex:1;display:flex;flex-direction:column;gap:6px;} +.form-group label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500;} +.form-group label .required{color:var(--danger);margin-left:2px;} +.form-group input,.form-group select,.form-group textarea{height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--font-sm);outline:none;background:#fff;width:100%;} +.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);} +.form-group select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E") no-repeat right 10px center;padding-right:28px;} +.form-group textarea{height:80px;padding:10px 12px;resize:vertical;} +.form-group .hint{font-size:var(--font-xs);color:var(--text-placeholder);}
@@ -121,6 +146,7 @@ tbody tr:hover td.td-actions{background:#F8FBFF;}