diff --git a/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html b/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html index 1cabfa1..5e6d4dd 100644 --- a/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html +++ b/other-module/canteen-device/clean-veg-packaging-labeler/label-preview.html @@ -452,8 +452,8 @@ panel.innerHTML = html; } - /* ---- 小标签共用模板:半长热敏纸,字段为 订单号/名称/包装规格/包装日期/保质期,二维码居右 ---- */ - function smallLabelHtml(nameLabel, name, specObj, shelfLife, code) { + /* ---- 小标签共用模板:半长热敏纸,字段为 订单号/名称/包装规格/包装日期,二维码居右 ---- */ + function smallLabelHtml(nameLabel, name, specObj, code) { return '' + '
' + '
' @@ -462,7 +462,6 @@ + '
' + nameLabel + ':' + name + '
' + '
包装规格:' + formatSpec(specObj) + '
' + '
包装日期:' + mockData.packDate + '
' - + '
保质期:' + shelfLife + '
' + '
' + '
' + qrSvg(code, 48) @@ -477,7 +476,7 @@ var specObj = typeof v.packSpec === 'object' ? v.packSpec : parseLegacyPackSpec(v.packSpec); for (var p = 0; p < v.packSize; p++) { var code = mockData.orderNo + '-V' + v.name.charAt(0) + (p + 1); - html += smallLabelHtml('净菜名称', v.name, specObj, v.shelfLife, code); + html += smallLabelHtml('净菜名称', v.name, specObj, code); } }); panel.innerHTML = html; @@ -491,7 +490,7 @@ var specObj = typeof m.packSpec === 'object' ? m.packSpec : parseLegacyPackSpec(m.packSpec); for (var p = 0; p < m.packSize; p++) { var code = mockData.orderNo + '-M' + (p + 1); - html += smallLabelHtml('餐品名称', m.name, specObj, m.shelfLife, code); + html += smallLabelHtml('餐品名称', m.name, specObj, code); } }); panel.innerHTML = html; diff --git a/web-admin/frontline-medical/config-medical-point.html b/web-admin/frontline-medical/config-medical-point.html index d8d3dd3..fc82cbd 100644 --- a/web-admin/frontline-medical/config-medical-point.html +++ b/web-admin/frontline-medical/config-medical-point.html @@ -131,9 +131,21 @@ tbody tr:hover td:last-child{background:#F8FBFF;} select.form-control{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;appearance:none;-webkit-appearance:none;padding-right:28px;cursor:pointer;} .radio-group{display:flex;align-items:center;gap:16px;height:32px;font-size:var(--font-sm);} .radio-group label{display:flex;align-items:center;gap:5px;cursor:pointer;} -.check-tags{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0;} -.check-tag{border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 12px;font-size:var(--font-xs);cursor:pointer;color:var(--text-secondary);} -.check-tag.checked{border-color:var(--primary);color:var(--primary);background:var(--primary-light);} +/* 多选下拉 */ +.multi-select{position:relative;} +.multi-select__control{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 30px 3px 8px;font-size:var(--font-sm);color:var(--text-primary);background:#fff;cursor:pointer;position:relative;} +.multi-select__control:hover{border-color:var(--primary);} +.multi-select.open .multi-select__control{border-color:var(--primary);} +.multi-select__arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;transition:transform .2s;} +.multi-select.open .multi-select__arrow{transform:translateY(-50%) rotate(180deg);} +.multi-select__tags{display:flex;flex-wrap:wrap;gap:4px;} +.multi-select__placeholder{color:var(--text-placeholder);} +.multi-select__tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;background:var(--primary-light);color:var(--primary);border:1px solid #91D5FF;border-radius:var(--radius-sm);font-size:var(--font-xs);} +.multi-select__dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px 0;max-height:240px;overflow-y:auto;z-index:30;} +.multi-select.open .multi-select__dropdown{display:block;} +.multi-select__option{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;} +.multi-select__option:hover{background:#F8FBFF;} +.multi-select__option input{width:14px;height:14px;margin:0;cursor:pointer;} .upload-row{display:flex;gap:8px;align-items:center;} .upload-box{width:80px;height:80px;border:1px dashed var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-placeholder);font-size:var(--font-sm);cursor:pointer;gap:2px;} .upload-box:hover{border-color:var(--primary);color:var(--primary);} @@ -338,13 +350,20 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
辐射范围
* 辐射单位(可多选) -
- 采油一厂 · 樊学作业区 - 采油一厂 · 麻子山作业区 - 采油二厂 · 姬圪台作业区 - 采油二厂 · 桐园作业区 - 第四采油厂 · 西谷峁作业区 - 采气一厂 · 靖边气田 +
+
+ + 请选择辐射单位 + +
+
+ + + + + + +
医疗点简介
@@ -472,6 +491,7 @@ function openForm(title){ document.getElementById('formTitle').textContent=title; editId=null; ['fName','fLeader','fPhone','fAmount','fFound','fAddr','fIntro'].forEach(function(id){document.getElementById(id).value='';}); + resetMultiDefault(); document.getElementById('formMask').classList.add('open'); document.getElementById('formDrawer').classList.add('open'); } @@ -487,6 +507,7 @@ function openEdit(id){ document.getElementById('fFound').value=p.found; document.getElementById('fAddr').value=p.addr; document.getElementById('fIntro').value=p.intro; + setMultiFromText(p.radiate); } function saveForm(){ var name=document.getElementById('fName').value.trim(); @@ -494,7 +515,39 @@ function saveForm(){ showToast(editId?('医疗点「'+name+'」已保存'):('医疗点「'+name+'」已创建')); closeDrawer('form'); } -function toggleTag(el){el.classList.toggle('checked');} +/* ===== 多选下拉 ===== */ +function toggleMulti(control){control.parentElement.classList.toggle('open');} +function updateMulti(wrap){ + var control=wrap.querySelector('.multi-select__control'); + var tagsBox=control.querySelector('.multi-select__tags'); + var ph=control.querySelector('.multi-select__placeholder'); + var checked=wrap.querySelectorAll('.multi-select__option input:checked'); + var html=''; + checked.forEach(function(cb){html+=''+cb.value+'';}); + tagsBox.innerHTML=html; + ph.style.display=checked.length?'none':''; +} +function resetMultiDefault(){ + var wrap=document.getElementById('fRadiate'); + wrap.querySelectorAll('.multi-select__option input').forEach(function(cb){ + var v=cb.value; + cb.checked=(v==='采油一厂 · 樊学作业区'||v==='采油二厂 · 桐园作业区'); + }); + updateMulti(wrap); +} +function setMultiFromText(text){ + var wrap=document.getElementById('fRadiate'); + wrap.querySelectorAll('.multi-select__option input').forEach(function(cb){ + var name=(cb.value.split(' · ')[1]||cb.value); + cb.checked=text.indexOf(name)!==-1; + }); + updateMulti(wrap); +} +document.addEventListener('click',function(e){ + document.querySelectorAll('.multi-select.open').forEach(function(ms){ + if(!ms.contains(e.target))ms.classList.remove('open'); + }); +}); /* ===== 详情抽屉 ===== */ function openDetail(id){ diff --git a/web-admin/frontline-medical/config-partner-hospital.html b/web-admin/frontline-medical/config-partner-hospital.html index 393d516..066b588 100644 --- a/web-admin/frontline-medical/config-partner-hospital.html +++ b/web-admin/frontline-medical/config-partner-hospital.html @@ -49,6 +49,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei .filter-bar{background:#fff;padding:16px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);} .filter-item{display:flex;align-items:center;gap:8px;} .filter-item label{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;} +.action-bar{display:flex;align-items:center;gap:8px;padding:16px 24px;background:#fff;margin-top:16px;border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-sm);} .filter-select{height:36px;min-width:140px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 28px 0 12px;font-size:var(--font-sm);color:var(--text-primary);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 8px center;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;} .filter-input{height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--font-sm);color:var(--text-primary);outline:none;min-width:140px;} .filter-input:focus{border-color:var(--primary);} @@ -206,6 +207,14 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
+ +
+ + +
+
@@ -272,31 +281,79 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
-
-
医院管理员
+
+
医院管理员
-
- + +
+
- +
+ + +
+ - +
账号姓名创建时间操作
账号姓名创建时间操作
+ +
+
+
新增合作医院
+
+ +
+ * 医院名称 + +
+ +
医院级别
+
+ 医院主图 +
🏥由系统管理模块维护
+
+
详细地址
+
医院简介
+
+ +
+ + + +