diff --git a/web-admin/nutrition/din-terminal.html b/web-admin/nutrition/din-terminal.html index 979e47e..c13e55d 100644 --- a/web-admin/nutrition/din-terminal.html +++ b/web-admin/nutrition/din-terminal.html @@ -320,6 +320,14 @@ tbody tr:hover{background:#F8FBFF;} .th-filter-pop__item{padding:6px 10px;font-size:var(--font-sm);color:var(--text-primary);border-radius:4px;cursor:pointer;white-space:nowrap;} .th-filter-pop__item:hover{background:#f5f8ff;} .th-filter-pop__item.active{color:var(--primary);background:#e8f1ff;font-weight:500;} +.th-filter-pop--dt{min-width:240px;max-height:none;overflow:visible;padding:10px;} +.th-filter-pop__dt-label{font-size:var(--font-xs);color:var(--text-secondary);margin-bottom:6px;} +.th-filter-pop__dt-input{width:100%;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 8px;font-size:var(--font-sm);box-sizing:border-box;color:var(--text-primary);} +.th-filter-pop__dt-actions{display:flex;gap:6px;margin-top:10px;justify-content:flex-end;} +.th-filter-pop__dt-actions .dt-btn{height:28px;padding:0 14px;border:1px solid var(--border);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-xs);color:var(--text-secondary);} +.th-filter-pop__dt-actions .dt-btn:hover{border-color:var(--primary);color:var(--primary);} +.th-filter-pop__dt-actions .dt-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff;} +.th-filter-pop__dt-actions .dt-btn--primary:hover{color:#fff;opacity:.9;} /* ===== 餐线营养秤概览(子页切换) ===== */ .scale-sub-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);} .scale-sub-tab{padding:8px 16px;font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;user-select:none;transition:all .15s;} @@ -789,23 +797,23 @@ var SCALE_FILTERS={status:{},face:{},weight:{},log:{}}; /* 每个 Tab 的列定义:key 列标识 / label 表头文字 / field 数据字段 */ var SCALE_COLS={ status:[ - {key:'time',label:'日期/时间',field:'time'}, + {key:'time',label:'日期/时间',field:'time',type:'datetime'}, {key:'item',label:'监控项',field:'item'}, {key:'event',label:'事件',field:'event'} ], face:[ - {key:'start',label:'开始时间',field:'start'}, - {key:'end',label:'结束时间',field:'end'}, + {key:'start',label:'开始时间',field:'start',type:'datetime'}, + {key:'end',label:'结束时间',field:'end',type:'datetime'}, {key:'status',label:'状态',field:'status'} ], weight:[ - {key:'start',label:'日期/时间',field:'start'}, + {key:'start',label:'日期/时间',field:'start',type:'datetime'}, {key:'target',label:'用户',field:'target'}, - {key:'submit',label:'提交重量',field:'submit'}, - {key:'total',label:'当前重量',field:'total'} + {key:'delta',label:'较上次变化',field:'delta',filterable:false}, + {key:'total',label:'当前余量',field:'total',filterable:false} ], log:[ - {key:'time',label:'日期/时间',field:'time'}, + {key:'time',label:'日期/时间',field:'time',type:'datetime'}, {key:'type',label:'报错类型',field:'type'}, {key:'content',label:'报错内容',field:'code'} ] @@ -816,13 +824,14 @@ var SCALE_WEIGHT_RECORDS=[]; var SCALE_LOG_RECORDS=[]; /* 生成带筛选图标的表头单元格 */ -function scaleTh(colKey,label,tabKey){ +function scaleTh(colKey,label,tabKey,filterable){ + if(filterable===false)return label; var active=SCALE_FILTERS[tabKey]&&SCALE_FILTERS[tabKey][colKey]; return label+'▾'; } /* 生成表头(可选追加操作列,操作列不可筛选) */ function scaleThead(tabKey,actionLabel){ - var ths=SCALE_COLS[tabKey].map(function(c){return '