function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,ee=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,te=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ne=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},re=/-\w/g,ie=ne(e=>e.replace(re,e=>e.slice(1).toUpperCase())),ae=/\B([A-Z])/g,oe=ne(e=>e.replace(ae,`-$1`).toLowerCase()),se=ne(e=>e.charAt(0).toUpperCase()+e.slice(1)),ce=ne(e=>e?`on${se(e)}`:``),le=(e,t)=>!Object.is(e,t),ue=(e,...t)=>{for(let n=0;n 办事指南 由学校创建,或在开放自主注册时在线申请。 首次登录修改密码,并按要求提交真实资料。 资料审核通过后,在开放期内完成报名。 使用同一报名号下载准考证、查分和查看录取。 ${String(a.value.content||``).replaceAll(`
`,` `)}一个报名号,贯穿完整考试服务
报名号是考生的长期账户。每场考试新增报名记录,不重复创建个人账户。l;m--)d[m]=f(m);d[l]=f(l),p++}while(d[l]!==c);return u[l].slice(1)};qS.fastDiff=VS;function JS(){return function e(){e.called=!0}}var YS=class{source;name;path;stop;off;return;constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=JS(),this.off=JS()}},XS=Array(256).fill(``).map((e,t)=>(`0`+t.toString(16)).slice(-2));function ZS(){let[e,t,n,r]=crypto.getRandomValues(new Uint32Array(4));return`e`+XS[e>>0&255]+XS[e>>8&255]+XS[e>>16&255]+XS[e>>24&255]+XS[t>>0&255]+XS[t>>8&255]+XS[t>>16&255]+XS[t>>24&255]+XS[n>>0&255]+XS[n>>8&255]+XS[n>>16&255]+XS[n>>24&255]+XS[r>>0&255]+XS[r>>8&255]+XS[r>>16&255]+XS[r>>24&255]}var QS={get(e=`normal`){return typeof e==`number`?e:this[e]||this.normal},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function $S(e,t){let n=QS.get(t.priority),r=0,i=e.length;for(;r>1;QS.get(e[t].priority)<br> element)`),keystroke:`Shift+Enter`}]})}};function fB(e){let t=new Set;for(let n of e.model.document.differ.getChanges())n.type==`insert`||n.type==`remove`?n.position.parent.is(`element`)&&t.add(n.position.parent):n.type==`attribute`&&n.range.start.parent.is(`element`)&&t.add(n.range.start.parent);let n=!1;for(let r of t)for(let t of r.getChildren()){if(!t.is(`element`,`softBreak`))continue;let r=t.nextSibling;if(!r||r.is(`element`))continue;let i=Array.from(t.getAttributes()).filter(([e,t])=>!pB(r,e,t));for(let[r]of i)e.removeAttribute(r,t),n=!0}return n}function pB(e,t,n){return e?.getAttribute(t)===n}var mB=class extends GN{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){let t=this.editor.model,n=t.schema,r=t.document.selection,i=Array.from(r.getSelectedBlocks()),a=e.forceValue===void 0?!this.value:e.forceValue;t.change(e=>{if(!a)this._removeQuote(e,i.filter(hB));else{let t=i.filter(e=>hB(e)||_B(n,e));this._applyQuote(e,t)}})}_getValue(){let e=this.editor.model.document.selection,t=gT(e.getSelectedBlocks());return!!(t&&hB(t))}_checkEnabled(){if(this.value)return!0;let e=this.editor.model.document.selection,t=this.editor.model.schema,n=gT(e.getSelectedBlocks());return n?_B(t,n):!1}_removeQuote(e,t){gB(e,t).reverse().forEach(t=>{if(t.start.isAtStart&&t.end.isAtEnd){e.unwrap(t.start.parent);return}if(t.start.isAtStart){let n=e.createPositionBefore(t.start.parent);e.move(t,n);return}t.end.isAtEnd||e.split(t.end);let n=e.createPositionAfter(t.end.parent);e.move(t,n)})}_applyQuote(e,t){let n=[];gB(e,t).reverse().forEach(t=>{let r=hB(t.start);r||(r=e.createElement(`blockQuote`),e.wrap(t,r)),n.push(r)}),n.reverse().reduce((t,n)=>t.nextSibling==n?(e.merge(e.createPositionAfter(t)),t):n)}};function hB(e){return e.parent.name==`blockQuote`?e.parent:null}function gB(e,t){let n,r=0,i=[];for(;r
`).replace(/\r?\n/g,`
`).replace(/\t/g,` `).replace(/^\s/,` `).replace(/\s$/,` `).replace(/\s\s/g,` `),(e.includes(`
`)||e.includes(`
`))&&(e=`
${e}
`),e}var gV=class extends dO{domEventType=[`paste`,`copy`,`cut`,`drop`,`dragover`,`dragstart`,`dragend`,`dragenter`,`dragleave`];constructor(e){super(e);let t=this.document;this.listenTo(t,`paste`,n(`clipboardInput`),{priority:`low`}),this.listenTo(t,`drop`,n(`clipboardInput`),{priority:`low`}),this.listenTo(t,`dragover`,n(`dragging`),{priority:`low`});function n(e){return(n,r)=>{r.preventDefault();let i=r.dropRange?[r.dropRange]:null,a=r.dataTransfer,o=new YS(t,e),s=``;a.getData(`text/html`)?s=a.getData(`text/html`):a.getData(`text/plain`)&&(s=hV(a.getData(`text/plain`))),t.fire(o,{dataTransfer:a,content:s,method:n.name,targetRanges:i,target:r.target,domEvent:r.domEvent}),o.stop.called&&r.stopPropagation()}}}onDomEvent(e){let t={dataTransfer:new bO(`clipboardData`in e?e.clipboardData:e.dataTransfer,{cacheFiles:e.type==`drop`||e.type==`paste`})};if(e.type==`drop`||e.type==`dragover`){let n=ow(e);t.dropRange=n&&this.view.domConverter.domRangeToView(n)}this.fire(e.type,e,t)}};function _V(e){return e.replace(/(\s+)<\/span>/g,(e,t)=>t.length==1?` `:t).replace(//g,``)}var vV=[`figcaption`,`li`],yV=[`ol`,`ul`];function bV(e,t){if(t.is(`$text`)||t.is(`$textProxy`))return t.data;if(t.is(`element`,`img`)&&t.hasAttribute(`alt`))return t.getAttribute(`alt`);if(t.is(`element`,`br`))return` `;let n=``,r=null;for(let i of t.getChildren())n+=SV(i,r)+bV(e,i),r=i;if(t.is(`rawElement`)){let r=document.implementation.createHTMLDocument(``).createElement(`div`);t.render(r,e),n+=xV(r)}return n}function xV(e){let t=``;if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.tagName===`BR`)return` `;for(let n of e.childNodes)t+=xV(n);return t}function SV(e,t){return t?e.is(`element`,`li`)&&!e.isEmpty&&e.getChild(0).is(`containerElement`)||yV.includes(e.name)&&yV.includes(t.name)?` `:!e.is(`containerElement`)&&!t.is(`containerElement`)?``:vV.includes(e.name)||vV.includes(t.name)?` `:e.is(`element`)&&e.getCustomProperty(`dataPipeline:transparentRendering`)||t.is(`element`)&&t.getCustomProperty(`dataPipeline:transparentRendering`)?``:` `:``}var CV=class extends Z{_markersToCopy=new Map;static get pluginName(){return`ClipboardMarkersUtils`}static get isOfficialPlugin(){return!0}_registerMarkerToCopy(e,t){this._markersToCopy.set(e,t)}_copySelectedFragmentWithMarkers(e,t,n=e=>e.model.getSelectedContent(e.model.document.selection)){return this.editor.model.change(r=>{let i=r.model.document.selection;r.setSelection(t);let a=this._insertFakeMarkersIntoSelection(r,r.model.document.selection,e),o=n(r),s=this._removeFakeMarkersInsideElement(r,o);for(let[e,t]of Object.entries(a)){s[e]||=r.createRangeIn(o);for(let e of t)r.remove(e)}o.markers.clear();for(let[e,t]of Object.entries(s))o.markers.set(e,t);return r.setSelection(i),o})}_pasteMarkersIntoTransformedElement(e,t){let n=this._getPasteMarkersFromRangeMap(e);return this.editor.model.change(e=>{let r=this._insertFakeMarkersElements(e,n),i=t(e),a=this._removeFakeMarkersInsideElement(e,i);for(let t of Object.values(r).flat())e.remove(t);for(let[t,n]of Object.entries(a))e.model.markers.has(t)||e.addMarker(t,{usingOperation:!0,affectsData:!0,range:n});return i})}_pasteFragmentWithMarkers(e){let t=this._getPasteMarkersFromRangeMap(e.markers);e.markers.clear();for(let n of t)e.markers.set(n.name,n.range);return this.editor.model.insertContent(e)}_forceMarkersCopy(e,t,n={allowedActions:`all`,copyPartiallySelected:!0,duplicateOnPaste:!0}){let r=this._markersToCopy.get(e);this._markersToCopy.set(e,n),t(),r?this._markersToCopy.set(e,r):this._markersToCopy.delete(e)}_isMarkerCopyable(e,t){let n=this._getMarkerClipboardConfig(e);if(!n)return!1;if(!t)return!0;let{allowedActions:r}=n;return r===`all`||r.includes(t)}_hasMarkerConfiguration(e){return!!this._getMarkerClipboardConfig(e)}_getMarkerClipboardConfig(e){let[t]=e.split(`:`);return this._markersToCopy.get(t)||null}_insertFakeMarkersIntoSelection(e,t,n){let r=this._getCopyableMarkersFromSelection(e,t,n);return this._insertFakeMarkersElements(e,r)}_getCopyableMarkersFromSelection(e,t,n){let r=Array.from(t.getRanges()),i=new Set(r.flatMap(t=>Array.from(e.model.markers.getMarkersIntersectingRange(t))));return Array.from(i).filter(e=>{if(!this._isMarkerCopyable(e.name,n))return!1;let{copyPartiallySelected:t}=this._getMarkerClipboardConfig(e.name);if(!t){let t=e.getRange();return r.some(e=>e.containsRange(t,!0))}return!0}).map(e=>({name:n===`dragstart`?this._getUniqueMarkerName(e.name):e.name,range:e.getRange()}))}_getPasteMarkersFromRangeMap(e,t=null){let{model:n}=this.editor;return(e instanceof Map?Array.from(e.entries()):Object.entries(e)).flatMap(([e,r])=>{if(!this._hasMarkerConfiguration(e))return[{name:e,range:r}];if(this._isMarkerCopyable(e,t)){let t=this._getMarkerClipboardConfig(e),i=n.markers.has(e)&&n.markers.get(e).getRange().root.rootName===`$graveyard`;return(t.duplicateOnPaste||i)&&(e=this._getUniqueMarkerName(e)),[{name:e,range:r}]}return[]})}_insertFakeMarkersElements(e,t){let n={},r=t.flatMap(e=>{let{start:t,end:n}=e.range;return[{position:t,marker:e,type:`start`},{position:n,marker:e,type:`end`}]}).sort(({position:e},{position:t})=>e.isBefore(t)?1:-1);for(let{position:t,marker:i,type:a}of r){let r=e.createElement(`$marker`,{"data-name":i.name,"data-type":a});n[i.name]||(n[i.name]=[]),n[i.name].push(r),e.insert(r,t)}return n}_removeFakeMarkersInsideElement(e,t){return vS(this._getAllFakeMarkersFromElement(e,t).reduce((t,n)=>{let r=n.markerElement&&e.createPositionBefore(n.markerElement),i=t[n.name],a=!1;return i?.start&&i?.end&&(this._getMarkerClipboardConfig(n.name).duplicateOnPaste?t[this._getUniqueMarkerName(n.name)]=t[n.name]:a=!0,i=null),a||(t[n.name]={...i,[n.type]:r}),n.markerElement&&e.remove(n.markerElement),t},{}),n=>new X(n.start||e.createPositionFromPath(t,[0]),n.end||e.createPositionAt(t,`end`)))}_getAllFakeMarkersFromElement(e,t){let n=Array.from(e.createRangeIn(t)).flatMap(({item:e})=>e.is(`element`,`$marker`)?[{markerElement:e,name:e.getAttribute(`data-name`),type:e.getAttribute(`data-type`)}]:[]),r=[],i=[];for(let e of n)e.type===`end`&&(n.some(t=>t.name===e.name&&t.type===`start`)||r.push({markerElement:null,name:e.name,type:`start`})),e.type===`start`&&(n.some(t=>t.name===e.name&&t.type===`end`)||i.unshift({markerElement:null,name:e.name,type:`end`}));return[...r,...n,...i]}_getUniqueMarkerName(e){let t=e.split(`:`),n=ZS().substring(1,6);return t.length===3?`${t.slice(0,2).join(`:`)}:${n}`:`${t.join(`:`)}:${n}`}},wV=class extends Z{static get pluginName(){return`ClipboardPipeline`}static get isOfficialPlugin(){return!0}static get requires(){return[CV]}init(){this.editor.editing.view.addObserver(gV),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(e,t,n){let r=this.editor.plugins.get(`ClipboardMarkersUtils`);this.editor.model.enqueueChange({isUndoable:n===`cut`},()=>{let i=r._copySelectedFragmentWithMarkers(n,t);this.fire(`outputTransformation`,{dataTransfer:e,content:i,method:n})})}_setupPasteDrop(){let e=this.editor,t=e.model,n=e.editing.view,r=n.document,i=this.editor.plugins.get(`ClipboardMarkersUtils`);this.listenTo(r,`clipboardInput`,(t,n)=>{n.method==`paste`&&!e.model.canEditAt(e.model.document.selection)&&t.stop()},{priority:`highest`}),this.listenTo(r,`clipboardInput`,(e,t)=>{let r=t.dataTransfer,i=new YS(this,`inputTransformation`),a=r.getData(`application/ckeditor5-editor-id`)||null,o=typeof t.content==`string`?this.editor.data.htmlProcessor.toView(_V(t.content)):t.content;this.fire(i,{content:o,dataTransfer:r,sourceEditorId:a,extraContent:t.extraContent,targetRanges:t.targetRanges,method:t.method}),i.stop.called&&e.stop(),n.scrollToTheSelection()},{priority:`low`}),this.listenTo(this,`inputTransformation`,(e,n)=>{if(n.content.isEmpty)return;let r=this.editor.data.toModel(n.content,`$clipboardHolder`);r.childCount!=0&&(e.stop(),t.change(()=>{this.fire(`contentInsertion`,{content:r,method:n.method,sourceEditorId:n.sourceEditorId,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))},{priority:`low`}),this.listenTo(this,`contentInsertion`,(e,t)=>{t.resultRange=i._pasteFragmentWithMarkers(t.content)},{priority:`low`})}_setupCopyCut(){let e=this.editor,t=e.model.document,n=e.editing.view.document,r=(e,n)=>{let r=n.dataTransfer;n.preventDefault(),this._fireOutputTransformationEvent(r,t.selection,e.name)};this.listenTo(n,`copy`,r,{priority:`low`}),this.listenTo(n,`cut`,(t,n)=>{e.model.canEditAt(e.model.document.selection)?r(t,n):n.preventDefault()},{priority:`low`}),this.listenTo(this,`outputTransformation`,(t,r)=>{let i=e.data.toView(r.content,{isClipboardPipeline:!0});n.fire(`clipboardOutput`,{dataTransfer:r.dataTransfer,content:i,method:r.method})},{priority:`low`}),this.listenTo(n,`clipboardOutput`,(n,r)=>{r.content.isEmpty||(r.dataTransfer.setData(`text/html`,this.editor.data.htmlProcessor.toData(r.content)),r.dataTransfer.setData(`text/plain`,bV(e.data.htmlProcessor.domConverter,r.content)),r.dataTransfer.setData(`application/ckeditor5-editor-id`,this.editor.id)),r.method==`cut`&&e.model.deleteContent(t.selection)},{priority:`low`})}},TV=Sw(`px`),EV=class extends ${constructor(){super();let e=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:`div`,attributes:{class:[`ck`,`ck-clipboard-drop-target-line`,e.if(`isVisible`,`ck-hidden`,e=>!e)],style:{left:e.to(`left`,e=>TV(e)),top:e.to(`top`,e=>TV(e)),width:e.to(`width`,e=>TV(e))}}})}},DV=class extends Z{removeDropMarkerDelayed=DT(()=>this.removeDropMarker(),40);_updateDropMarkerThrottled=qx(e=>this._updateDropMarker(e),40);_reconvertMarkerThrottled=qx(()=>{this.editor.model.markers.has(`drop-target`)&&this.editor.editing.reconvertMarker(`drop-target`)},0);_dropTargetLineView=new EV;_domEmitter=new($C());_scrollables=new Map;static get pluginName(){return`DragDropTarget`}static get isOfficialPlugin(){return!0}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(let{resizeObserver:e}of this._scrollables.values())e.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(e,t,n,r,i,a){this.removeDropMarkerDelayed.cancel();let o=OV(this.editor,e,t,n,r,i,a);return o?a&&a.containsRange(o)||o&&!this.editor.model.canEditAt(o)?(this.removeDropMarker(),null):(this._updateDropMarkerThrottled(o),o):null}getFinalDropRange(e,t,n,r,i,a){let o=OV(this.editor,e,t,n,r,i,a);return this.removeDropMarker(),o}removeDropMarker(){let e=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,e.markers.has(`drop-target`)&&e.change(e=>{e.removeMarker(`drop-target`)})}_setupDropMarker(){let e=this.editor;e.ui.view.body.add(this._dropTargetLineView),e.conversion.for(`editingDowncast`).markerToHighlight({model:`drop-target`,view:{classes:[`ck-clipboard-drop-target-range`]}}),e.conversion.for(`editingDowncast`).markerToElement({model:`drop-target`,view:(t,{writer:n})=>{if(e.model.schema.checkChild(t.markerRange.start,`$text`))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);t.markerRange.isCollapsed?this._updateDropTargetLine(t.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(e){let t=this.editor,n=t.model.markers;t.model.change(t=>{n.has(`drop-target`)?n.get(`drop-target`).getRange().isEqual(e)||t.updateMarker(`drop-target`,{range:e}):t.addMarker(`drop-target`,{range:e,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(e){return e.createUIElement(`span`,{class:`ck ck-clipboard-drop-target-position`},function(e){let t=this.toDomElement(e);return t.append(``,e.createElement(`span`),``),t})}_updateDropTargetLine(e){let t=this.editor.editing,n=e.start.nodeBefore,r=e.start.nodeAfter,i=e.start.parent,a=n?t.mapper.toViewElement(n):null,o=a?t.view.domConverter.mapViewToDom(a):null,s=r?t.mapper.toViewElement(r):null,c=s?t.view.domConverter.mapViewToDom(s):null,l=t.mapper.toViewElement(i);if(!l)return;let u=t.view.domConverter.mapViewToDom(l),d=this._getScrollableRect(l),{scrollX:f,scrollY:p}=W.window,m=o?new fw(o):null,h=c?new fw(c):null,g=new fw(u).excludeScrollbarsAndBorders(),_=m?m.bottom:g.top,v=h?h.top:g.bottom,y=W.window.getComputedStyle(u),b=_<=v?(_+v)/2:v;if(d.tops.schema.checkChild(a,e))){if(s.schema.checkChild(a,`$text`))return s.createRange(a);if(t)return AV(e,MV(e,t.parent),r,i)}}}else if(s.schema.isInline(l))return AV(e,l,r,i)}if(s.schema.isBlock(l))return AV(e,l,r,i);if(s.schema.checkChild(l,`$block`)){let t=Array.from(l.getChildren()).filter(t=>t.is(`element`)&&!kV(e,t)),n=0,a=t.length;if(a==0)return s.createRange(s.createPositionAt(l,`end`));for(;n<br> element)":`插入软换行(一个<br> 元素)`,"Insert a hard break (a new paragraph)":`插入硬换行(新段落)`,Emoji:`表情符号`,"Show all emoji...":`显示所有表情符号...`,"Find an emoji (min. 2 characters)":`查找表情符号(最少 2 个字符)`,'No emojis were found matching "%0".':`未找到与“%0”匹配的表情符号。`,"Keep on typing to see the emoji.":`继续键入以查看表情符号。`,"The query must contain at least two characters.":`查询必须至少包含两个字符。`,"Smileys & Expressions":`笑脸符与表情`,"Gestures & People":`手势与人物`,"Animals & Nature":`动物与自然`,"Food & Drinks":`食物与饮料`,"Travel & Places":`旅行与地点`,Activities:`活动`,Objects:`物品`,Symbols:`符号`,Flags:`旗帜`,"Select skin tone":`选择肤色`,"Default skin tone":`默认肤色`,"Light skin tone":`浅肤色`,"Medium Light skin tone":`中等偏浅肤色`,"Medium skin tone":`中等肤色`,"Medium Dark skin tone":`中等偏深肤色`,"Dark skin tone":`深肤色`,"Emoji picker":`表情符号选择器`,Cancel:`取消`,Clear:`清除`,"Remove color":`移除颜色`,"Restore default":`恢复默认`,Save:`保存`,"Show more items":`显示更多`,"%0 of %1":`第 %0 步,共 %1 步`,"Cannot upload file:":`无法上传的文件:`,"Rich Text Editor. Editing area: %0":`富文本编辑器。编辑区域:%0`,"Insert with file manager":`使用文件管理器插入`,"Replace with file manager":`使用文件管理器替换`,"Insert image with file manager":`使用文件管理器插入图片`,"Replace image with file manager":`使用文件管理器替换图片`,File:`文件`,"With file manager":`通过文件管理器`,"Toggle caption off":`关闭表标题`,"Toggle caption on":`打开表标题`,"Content editing keystrokes":`内容编辑按键`,"These keyboard shortcuts allow for quick access to content editing features.":`这些键盘快捷键允许快速访问内容编辑功能。`,"User interface and content navigation keystrokes":`用户界面和内容导航按键`,"Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.":`使用以下按键可以在 CKEditor 5 用户界面中进行更有效地导览。`,"Close contextual balloons, dropdowns, and dialogs":`关闭上下文气泡框、下拉菜单和对话框`,"Open the accessibility help dialog":`打开“无障碍辅助功能帮助”对话框`,"Move focus between form fields (inputs, buttons, etc.)":`在表单字段(输入、按钮等)之间移动焦点`,"Move focus to the menu bar, navigate between menu bars":`将焦点移到菜单栏,在菜单栏之间导航`,"Move focus to the toolbar, navigate between toolbars":`将焦点移至工具栏,在工具栏之间导览`,"Navigate through the toolbar or menu bar":`通过工具栏或菜单栏进行导航`,"Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.":`执行当前聚焦的按钮。执行与编辑器内容交互的按钮将焦点返回到内容。`,Accept:`接受`,Paragraph:`段落`,"Color picker":`颜色选择器`,"Please try a different phrase or check the spelling.":`请尝试使用不同的短语或检查拼写。`,Source:`源`,Insert:`插入`,Update:`更新`,Back:`返回`,"Wrap text":`文字环绕`,"Break text":`文字断行`,Custom:`自定义`,Original:`原始大小`,"The value must not be empty.":`该值不能为空。`,"The value should be a plain number.":`该值应当为纯数字。`,"Insert code block":`插入代码块`,"Plain text":`纯文本`,"Leaving %0 code snippet":`正在退出 %0 代码片段`,"Entering %0 code snippet":`正在输入 %0 代码片段`,"Entering code snippet":`正在输入代码片段`,"Leaving code snippet":`正在退出代码片段`,"Code block":`代码块`,"Copy selected content":`复制选定的内容`,"Paste content":`粘贴内容`,"Paste content as plain text":`将内容粘贴为纯文本`,"Insert image or file":`插入图片或文件`,"Could not obtain resized image URL.":`无法获取重设大小的图片URL`,"Selecting resized image failed":`选择重设大小的图片失败`,"Could not insert image at the current position.":`无法在当前位置插入图片`,"Inserting image failed":`插入图片失败`,"Open file manager":`打开文件管理器`,"Cannot determine a category for the uploaded file.":`无法确定上传文件的类别。`,"Cannot access default workspace.":`无法访问默认工作区`,"You have no image editing permissions.":`您没有编辑图片的权限。`,"Edit image":`编辑图片`,"Processing the edited image.":`正在处理已编辑的图片。`,"Server failed to process the image.":`服务器未能处理图片。`,"Failed to determine category of edited image.":`未能确定已编辑图片的类别。`,Bookmark:`书签`,"Edit bookmark":`编辑书签`,"Remove bookmark":`删除书签`,"Bookmark name":`书签名称`,"Enter the bookmark name without spaces.":`输入书签名称,不带空格。`,"Bookmark must not be empty.":`书签不能为空。`,"Bookmark name cannot contain space characters.":`书签名称不能包含空格。`,"Bookmark name already exists.":`书签名称已存在。`,"bookmark widget":`书签小组件`,"Bookmark toolbar":`书签工具栏`,Bookmarks:`书签`,"No bookmarks available.":`无可用书签。`,"Scroll to bookmark":`滚动到书签`,"Block quote":`块引用`,Bold:`加粗`,Italic:`倾斜`,Underline:`下划线`,Code:`代码`,Strikethrough:`删除线`,Subscript:`下标`,Superscript:`上标`,"Italic text":`斜体文本`,"Move out of an inline code style":`摆脱内联代码风格`,"Bold text":`加粗字体`,"Underline text":`给文本添加下划线`,"Strikethrough text":`给文本添加删除线`,"Saving changes":`正在保存更改`,"Revert autoformatting action":`恢复自动格式化操作`,"Align left":`左对齐`,"Align right":`右对齐`,"Align center":`居中对齐`,Justify:`两端对齐`,"Text alignment":`对齐`,"Text alignment toolbar":`对齐工具栏`},getPluralForm(e){return 0}}},gq={__name:`NoticeRichTextEditor`,props:ui({disabled:{type:Boolean,default:!1}},{modelValue:{type:String,default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Ai(e,`modelValue`),n={licenseKey:`GPL`,language:`zh-cn`,translations:[hq],plugins:[oU,vU,TU,Rz,Uz,$z,Jz,JH,YW,bB,uq,mq],toolbar:{items:[`undo`,`redo`,`|`,`heading`,`|`,`bold`,`italic`,`underline`,`strikethrough`,`|`,`link`,`bulletedList`,`numberedList`,`blockQuote`,`insertTable`],shouldNotGroupWhenFull:!1},heading:{options:[{model:`paragraph`,title:`正文`,class:`ck-heading_paragraph`},{model:`heading2`,view:`h2`,title:`一级标题`,class:`ck-heading_heading2`},{model:`heading3`,view:`h3`,title:`二级标题`,class:`ck-heading_heading3`},{model:`heading4`,view:`h4`,title:`三级标题`,class:`ck-heading_heading4`}]},link:{addTargetToExternalLinks:!0,defaultProtocol:`https://`},table:{contentToolbar:[`tableColumn`,`tableRow`,`mergeTableCells`]},placeholder:`在此编写通知正文……`},r=R(()=>String(t.value||``).replace(/<[^>]*>/g,` `).replace(/ /g,` `).replace(/\s+/g,` `).trim().length);return(i,a)=>(M(),N(`div`,{class:be([`notice-rich-editor`,{"is-disabled":e.disabled}])},[F(O(bb),{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,editor:O(QH),config:n,disabled:e.disabled},null,8,[`modelValue`,`editor`,`disabled`]),P(`footer`,null,[a[1]||=P(`span`,null,`支持标题、链接、列表、引用和表格;保存时会再次执行安全过滤。`,-1),P(`strong`,null,T(r.value)+` 字`,1)])],2))}},_q={class:`admin-system-workspace`},vq={key:0,class:`form-error`},yq={key:1,class:`record-panel center-edit-picker`},bq={class:`chip-list`},xq=[`onClick`],Sq={key:0,class:`form-callout`},Cq={class:`notice-editor-studio__header`},wq={class:`notice-editor-studio__identity`},Tq={class:`notice-editor-studio__body`},Eq={class:`notice-editor-studio__manuscript`},Dq={class:`notice-title-field`},Oq={class:`notice-editor-studio__settings`},kq=[`value`],Aq={class:`notice-pin-control`},jq={class:`notice-editor-studio__actions`},Mq=[`disabled`],Nq=[`disabled`],Pq=[`disabled`],Fq={class:`record-panel notice-ledger-panel`},Iq={class:`ledger-toolbar ledger-toolbar--wide`},Lq=[`value`],Rq={class:`table-scroll`},zq=[`onClick`],Bq=[`href`],Vq=[`onClick`],Hq={key:0},Uq={class:`record-panel notice-ledger-panel`},Wq={class:`ledger-toolbar ledger-toolbar--wide`},Gq=[`value`],Kq={class:`table-scroll`},qq=[`onClick`],Jq={key:0},Yq={key:0},Xq=[`value`],Zq={class:`form-grid`},Qq=[`value`],$q=[`disabled`],eJ=[`value`],tJ=[`disabled`],nJ=[`value`],rJ={class:`room-editor-list`},iJ={class:`form-grid`},aJ=[`onUpdate:modelValue`],oJ=[`onUpdate:modelValue`],sJ=[`onUpdate:modelValue`],cJ=[`onUpdate:modelValue`],lJ=[`onUpdate:modelValue`],uJ=[`onUpdate:modelValue`],dJ=[`onClick`],fJ={class:`record-panel`},pJ={class:`ledger-toolbar ledger-toolbar--wide`},mJ=[`value`],hJ={class:`ledger-bulk`},gJ=[`disabled`],_J={class:`table-scroll`},vJ=[`value`],yJ={class:`record-panel`},bJ={class:`ledger-toolbar ledger-toolbar--wide`},xJ={class:`ledger-bulk`},SJ=[`disabled`],CJ=[`disabled`],wJ={class:`table-scroll`},TJ=[`value`,`disabled`],EJ={key:0,class:`row-decision`},DJ=[`onUpdate:modelValue`],OJ=[`onClick`],kJ=[`onClick`],AJ={class:`ledger-toolbar ledger-toolbar--wide`},jJ=[`value`],MJ={class:`workflow-grid-vue`},NJ={class:`workflow-track-vue`},PJ=[`onUpdate:modelValue`],FJ=[`onClick`],IJ=[`onClick`],LJ=[`onClick`],RJ={key:5,class:`workflow-design-grid-vue`},zJ=[`onSubmit`],BJ=[`onClick`],VJ=[`onUpdate:modelValue`],HJ=[`onUpdate:modelValue`],UJ=[`onUpdate:modelValue`],WJ=[`onClick`],GJ={class:`number-rule-layout-vue`},KJ={class:`form-grid`},qJ={class:`rule-segment-grid`},JJ={__name:`AdminSystemWorkspace`,props:{page:{type:String,required:!0},data:{type:Object,default:()=>({})}},emits:[`reload`],setup(e,{emit:t}){let n=e,r=t,i=D(!1),a=D(``),o=D([]),s=D([]),c=E({}),l=E({id:``,category:`报名通知`,status:`draft`,title:``,summary:``,content:``,pinned:!1}),u=E({id:``,schoolId:``,code:``,name:``,provinceCode:``,cityCode:``,districtCode:``,address:``,managerName:``,managerPhone:``,contact:``,emergencyPhone:``,gateOpenTime:``,status:`active`,transport:``,notes:``,rooms:[{code:``,name:``,building:``,floor:``,capacity:30,seatPlan:``,roomType:`standard`,status:`active`,notes:``}]}),d=E({id:``,name:`固定报名号规则`,separator:`-`,year:!0,school_code:!0,gender:!1,literal:!1,literalValue:``,yearWidth:4,sequenceWidth:4}),f=R(()=>Tf.find(e=>e.code===u.provinceCode)?.cities||[]),p=R(()=>f.value.find(e=>e.code===u.cityCode)?.districts||[]),m=pm(()=>n.data.centers||[],{filters:{status:(e,t)=>e.status===t,school:(e,t)=>e.schoolId===t},searchText:e=>[e.code,e.name,e.schoolName,e.address,e.managerName,e.managerPhone,...(e.rooms||[]).map(e=>`${e.code} ${e.name} ${e.building}`)].join(` `)}),h=pm(()=>n.data.changeRequests||[],{filters:{status:(e,t)=>e.status===t,type:(e,t)=>e.requestType===t},searchText:e=>[e.name,e.code,e.schoolName,e.requestType,e.status].join(` `)}),g=pm(()=>n.data.instances||[],{filters:{status:(e,t)=>e.status===t,type:(e,t)=>e.businessType===t},searchText:e=>[e.candidateName,e.centerName,e.schoolName,e.examName,e.className,e.assignee?.displayName,e.businessType].join(` `)}),_=pm(()=>n.data.notices||[],{filters:{status:(e,t)=>e.status===t,category:(e,t)=>e.category===t},searchText:e=>[e.title,e.summary,e.category,e.author].join(` `)}),v=pm(()=>n.data.publications||[],{filters:{visibility:(e,t)=>t===`visible`?e.publicVisible:!e.publicVisible,type:(e,t)=>e.sourceType===t},searchText:e=>[e.title,e.sourceType,e.examName,e.schoolName].join(` `)}),y=R(()=>[...new Set([`报名通知`,`考试须知`,`考点公告`,`成绩通知`,`系统公告`,...(n.data.notices||[]).map(e=>e.category)].filter(Boolean))]),b=R(()=>[...new Set((n.data.publications||[]).map(e=>e.sourceType).filter(Boolean))]);function x(e){return{plan:`招生计划`,qualification:`指标资格`,admission:`录取结果`,cutoff:`录取分数线`,reporting:`报到情况`}[e]||e}let S=R(()=>[...new Set((n.data.instances||[]).map(e=>e.businessType).filter(Boolean))]);function C(e,t,n=()=>!0){let r=t.filter(n).map(e=>e.id),i=Array.isArray(e)?e:e.value,a=r.length>0&&r.every(e=>i.includes(e))?i.filter(e=>!r.includes(e)):[...new Set([...i,...r])];Array.isArray(e)?e.splice(0,e.length,...a):e.value=a}async function ee(e,t){i.value=!0,a.value=``;try{let n=await e();return t&&Wl.notify(t),r(`reload`),n}catch(e){return a.value=e.message,null}finally{i.value=!1}}function te(){Object.assign(l,{id:``,category:`报名通知`,status:`draft`,title:``,summary:``,content:``,pinned:!1})}function ne(e){Object.assign(l,{id:e.id,category:e.category,status:e.status,title:e.title,summary:e.summary||``,content:e.contentHtml||e.content||``,pinned:!!e.pinned}),window.scrollTo({top:0,behavior:`smooth`})}async function re(){let e=l.content.replace(/<[^>]*>/g,` `).replace(/ /g,` `).replace(/\s+/g,` `).trim();if(!l.title.trim()||!e){a.value=`请填写通知标题和正文`;return}if(l.content.length>2e4){a.value=`通知正文内容过长,请精简至 20000 个字符以内`;return}let t=!!l.id;await ee(()=>V(l.id?`/api/admin/notices/${l.id}`:`/api/admin/notices`,{method:l.id?`PATCH`:`POST`,body:{title:l.title.trim(),summary:l.summary.trim(),category:l.category,status:l.status,content:l.content,pinned:l.pinned}}),l.status===`published`?t?`已发布通知已更新`:`通知已发布`:t?`通知草稿已更新`:`通知草稿已保存`)&&te()}function ie(e){ee(()=>V(`/api/admin/notices/${e.id}`,{method:`PATCH`,body:{status:e.status===`published`?`draft`:`published`}}),e.status===`published`?`通知已撤回`:`通知已发布`)}function ae(e){ee(()=>V(`/api/admin/publications/${e.sourceType}/${e.id}`,{method:`PATCH`,body:{publicVisible:!e.publicVisible}}),e.publicVisible?`系统公示已隐藏`:`系统公示已公开`)}function oe(){u.rooms.push({code:``,name:``,building:``,floor:``,capacity:30,seatPlan:``,roomType:`standard`,status:`active`,notes:``})}function se(){Object.assign(u,{id:``,schoolId:``,code:``,name:``,provinceCode:``,cityCode:``,districtCode:``,address:``,managerName:``,managerPhone:``,contact:``,emergencyPhone:``,gateOpenTime:``,status:`active`,transport:``,notes:``,rooms:[{code:``,name:``,building:``,floor:``,capacity:30,seatPlan:``,roomType:`standard`,status:`active`,notes:``}]})}function ce(e){Object.assign(u,{...e,id:e.id,rooms:(e.rooms||[]).map(e=>({...e}))}),window.scrollTo({top:0,behavior:`smooth`})}function le(){let e=!!u.id;ee(()=>V(e?`/api/admin/centers/${u.id}`:`/api/admin/centers`,{method:e?`PATCH`:`POST`,body:{...u,rooms:u.rooms.map(e=>({...e,capacity:Number(e.capacity)}))}}),e?`考点变更已提交审批`:`新考点档案已提交审批`)}function ue(e,t){ee(()=>V(`/api/admin/center-change-requests/${e.id}`,{method:`PATCH`,body:{status:t,reviewNote:c[e.id]||``}}),t===`approved`?`考点变更已通过`:`考点变更已退回`)}async function w({file:e,input:t}){await ee(()=>V(`/api/admin/excel/centers`,{method:`POST`,headers:{"Content-Type":`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`},body:e}),`考点考场 Excel 已导入`),t.value=``}function de(){Dm(`centers`,o.value)}async function fe(e){let t=(n.data.changeRequests||[]).filter(e=>s.value.includes(e.id)&&e.status===`pending`);if(!t.length)return;let o=window.prompt(e===`rejected`?`请填写统一退回原因`:`填写统一审批意见(可留空)`,``);if(o===null||e===`rejected`&&!o.trim())return;i.value=!0,a.value=``;let c=0;try{for(let n of t)await V(`/api/admin/center-change-requests/${n.id}`,{method:`PATCH`,body:{status:e,reviewNote:o}}),c+=1;Wl.notify(`已处理 ${c} 条考点变更申请`),s.value=[],r(`reload`)}catch(e){a.value=`${c} 条已完成;${e.message}`}finally{i.value=!1}}function pe(e){return e.businessType===`profile_change`?`/api/admin/candidates/${e.businessId}`:e.businessType===`registration_review`?`/api/admin/registrations/${e.businessId}`:e.businessType===`center_change`?`/api/admin/center-change-requests/${e.businessId}`:e.businessType===`candidate_account_batch`?`/api/admin/candidate-account-batches/${e.businessId}`:`/api/admin/score-appeals/${e.businessId}`}function me(e,t){let n={status:t,reviewNote:c[e.id]||``};e.businessType===`score_appeal`&&t===`approved`&&(n.reviewedScore=Number(window.prompt(`请输入复议后的成绩`,e.appealResult?.score??``)||e.appealResult?.score)),ee(()=>V(pe(e),{method:`PATCH`,body:n}),t===`approved`?`流程已通过当前步骤`:`流程已退回`)}function he(e){let t=window.prompt(`请输入目标管理员 ID`,``)||``;t&&ee(()=>V(`/api/admin/workflow-instances/${e.id}/transfer`,{method:`PATCH`,body:{assigneeId:t,note:c[e.id]||``}}),`流程已转交`)}function ge(e){ee(()=>V(`/api/admin/workflows/${e.businessType}`,{method:`PUT`,body:{name:e.name,steps:e.steps.map(e=>({name:e.name,adminLevel:e.adminLevel}))}}),`审批流程已保存`)}function _e(e){e.steps.push({name:`新增审批步骤`,adminLevel:`school`,position:e.steps.length+1})}function ve(){let e=[{type:`year`,include:d.year,width:Number(d.yearWidth)},{type:`school_code`,include:d.school_code},{type:`gender`,include:d.gender},{type:`literal`,include:d.literal,value:d.literalValue},{type:`sequence`,include:!0,width:Number(d.sequenceWidth)}].filter(e=>e.include).map((e,t)=>({type:e.type,position:t+1,value:e.value||``,width:e.width||0}));ee(()=>V(`/api/admin/number-rules`,{method:`POST`,body:{id:d.id||void 0,name:d.name,separator:d.separator,segments:e}}),`报名号规则已启用`)}if(n.page===`number-rules`&&n.data.activeRule){let e=n.data.activeRule;d.id=e.id,d.name=e.name,d.separator=e.separator;for(let t of e.segments||[])d[t.type]=!0,t.type===`literal`&&(d.literalValue=t.value),t.type===`year`&&(d.yearWidth=t.width),t.type===`sequence`&&(d.sequenceWidth=t.width)}return(t,n)=>(M(),N(`div`,_q,[a.value?(M(),N(`div`,vq,T(a.value),1)):L(``,!0),e.page===`centers`&&e.data.centers?.length?(M(),N(`section`,yq,[P(`header`,null,[n[65]||=P(`div`,null,[P(`h2`,null,`维护已有考点`),P(`p`,null,`选择考点后,下面的档案表单会切换为变更申请。`)],-1),u.id?(M(),N(`button`,{key:0,class:`app-button`,type:`button`,onClick:se},` 取消编辑 `)):L(``,!0)]),P(`div`,bq,[(M(!0),N(j,null,A(e.data.centers,e=>(M(),N(`button`,{key:e.id,type:`button`,class:be({active:u.id===e.id}),onClick:t=>ce(e)},T(e.code)+` · `+T(e.name),11,xq))),128))]),u.id?(M(),N(`div`,Sq,[P(`strong`,null,`正在提交“`+T(u.name)+`”的变更`,1),n[66]||=P(`p`,null,`审批通过前,当前正式考点档案不会变化。`,-1)])):L(``,!0)])):L(``,!0),e.page===`notices`?(M(),N(j,{key:2},[P(`form`,{class:`business-form notice-editor-vue notice-editor-studio`,onSubmit:As(re,[`prevent`])},[P(`header`,Cq,[P(`div`,null,[n[67]||=P(`p`,null,`OFFICIAL NOTICE DESK`,-1),P(`h2`,null,T(l.id?`编辑人工通知`:`起草新的通知公告`),1),n[68]||=P(`span`,null,`正文由 CKEditor 编辑,发布前由服务端统一清理不安全内容。`,-1)]),P(`div`,wq,[P(`small`,null,T(l.id?`正在修改`:`新建文稿`),1),P(`strong`,null,T(l.id||`尚未生成文号`),1)])]),P(`div`,Tq,[P(`section`,Eq,[P(`label`,Dq,[n[69]||=P(`span`,null,`通知标题`,-1),k(P(`input`,{"onUpdate:modelValue":n[0]||=e=>l.title=e,maxlength:`120`,placeholder:`输入完整、明确的通知标题`,required:``},null,512),[[z,l.title]])]),P(`label`,null,[n[70]||=P(`span`,null,`首页摘要`,-1),k(P(`textarea`,{"onUpdate:modelValue":n[1]||=e=>l.summary=e,rows:`2`,maxlength:`260`,placeholder:`用于首页和公告目录,留空时将自动截取正文`},null,512),[[z,l.summary]])]),n[71]||=P(`label`,{class:`notice-editor-label`},[P(`span`,null,`通知正文`)],-1),F(gq,{modelValue:l.content,"onUpdate:modelValue":n[2]||=e=>l.content=e,disabled:i.value},null,8,[`modelValue`,`disabled`])]),P(`aside`,Oq,[n[77]||=P(`div`,null,[P(`small`,null,`发布设置`),P(`h3`,null,`公开范围与状态`),P(`p`,null,`保存草稿不会出现在公开首页;立即发布后公众可直接查看。`)],-1),P(`label`,null,[n[72]||=P(`span`,null,`公告分类`,-1),k(P(`select`,{"onUpdate:modelValue":n[3]||=e=>l.category=e},[(M(!0),N(j,null,A(y.value,e=>(M(),N(`option`,{key:e,value:e},T(e),9,kq))),128))],512),[[B,l.category]])]),P(`label`,null,[n[74]||=P(`span`,null,`保存后的状态`,-1),k(P(`select`,{"onUpdate:modelValue":n[4]||=e=>l.status=e},[...n[73]||=[P(`option`,{value:`draft`},`草稿,不公开`,-1),P(`option`,{value:`published`},`正式发布`,-1)]],512),[[B,l.status]])]),P(`label`,Aq,[k(P(`input`,{"onUpdate:modelValue":n[5]||=e=>l.pinned=e,type:`checkbox`},null,512),[[Cs,l.pinned]]),n[75]||=P(`span`,null,[P(`strong`,null,`公开首页置顶`),P(`small`,null,`仅对已发布通知生效`)],-1)]),P(`div`,{class:be([`notice-release-state`,{"is-published":l.status===`published`}])},[n[76]||=P(`i`,null,null,-1),P(`span`,null,[P(`strong`,null,T(l.status===`published`?`将正式发布`:`将保存为草稿`),1),P(`small`,null,T(l.status===`published`?`提交后立即进入公开公告目录`:`可继续编辑,不会对公众显示`),1)])],2)])]),P(`footer`,jq,[l.id?(M(),N(`button`,{key:0,type:`button`,class:`app-button`,disabled:i.value,onClick:te},` 取消编辑 `,8,Mq)):L(``,!0),P(`button`,{type:`button`,class:`app-button`,disabled:i.value,onClick:te},` 清空文稿 `,8,Nq),P(`button`,{class:`app-button app-button--primary`,disabled:i.value},T(i.value?`正在保存…`:l.status===`published`?l.id?`更新已发布通知`:`发布通知`:l.id?`更新草稿`:`保存草稿`),9,Pq)])],32),P(`section`,Fq,[P(`header`,null,[P(`div`,null,[n[78]||=P(`h2`,null,`人工通知`,-1),P(`p`,null,` 筛选结果 `+T(O(_).total)+` / 共 `+T(e.data.notices?.length||0)+` 条 `,1)])]),P(`div`,Iq,[P(`label`,null,[n[79]||=P(`span`,null,`搜索通知`,-1),k(P(`input`,{"onUpdate:modelValue":n[6]||=e=>O(_).query=e,placeholder:`标题、摘要、作者`},null,512),[[z,O(_).query]])]),P(`label`,null,[n[81]||=P(`span`,null,`发布状态`,-1),k(P(`select`,{"onUpdate:modelValue":n[7]||=e=>O(_).filters.status=e},[...n[80]||=[P(`option`,{value:``},`全部状态`,-1),P(`option`,{value:`draft`},`草稿`,-1),P(`option`,{value:`published`},`已发布`,-1)]],512),[[B,O(_).filters.status]])]),P(`label`,null,[n[83]||=P(`span`,null,`公告分类`,-1),k(P(`select`,{"onUpdate:modelValue":n[8]||=e=>O(_).filters.category=e},[n[82]||=P(`option`,{value:``},`全部分类`,-1),(M(!0),N(j,null,A(y.value,e=>(M(),N(`option`,{key:e,value:e},T(e),9,Lq))),128))],512),[[B,O(_).filters.category]])]),P(`button`,{type:`button`,class:`table-action`,onClick:n[9]||=(...e)=>O(_).clear&&O(_).clear(...e)},` 清除筛选 `)]),P(`div`,Rq,[P(`table`,null,[n[85]||=P(`thead`,null,[P(`tr`,null,[P(`th`,null,`标题`),P(`th`,null,`分类`),P(`th`,null,`状态`),P(`th`,null,`置顶`),P(`th`,null,`发布时间`),P(`th`,null,`操作`)])],-1),P(`tbody`,null,[(M(!0),N(j,null,A(O(_).rows,e=>(M(),N(`tr`,{key:e.id},[P(`td`,null,[I(T(e.title),1),P(`small`,null,T(e.summary),1)]),P(`td`,null,T(e.category),1),P(`td`,null,[F(U,{value:e.status},null,8,[`value`])]),P(`td`,null,T(e.pinned?`是`:`否`),1),P(`td`,null,T(O(ru)(e.publishAt||e.createdAt,!0)),1),P(`td`,null,[P(`button`,{type:`button`,class:`table-action`,onClick:t=>ne(e)},` 编辑`,8,zq),e.status===`published`?(M(),N(`a`,{key:0,class:`table-action`,href:`/announcements/`+e.id,target:`_blank`,rel:`noopener`},`预览`,8,Bq)):L(``,!0),P(`button`,{type:`button`,class:`table-action`,onClick:t=>ie(e)},T(e.status===`published`?`撤回`:`发布`),9,Vq)])]))),128)),O(_).rows.length?L(``,!0):(M(),N(`tr`,Hq,[...n[84]||=[P(`td`,{colspan:`6`,class:`ledger-empty`},`没有符合条件的人工通知`,-1)]]))])])]),F(dm,{page:O(_).page,"onUpdate:page":n[10]||=e=>O(_).page=e,"page-size":O(_).pageSize,"onUpdate:pageSize":n[11]||=e=>O(_).pageSize=e,total:O(_).total},null,8,[`page`,`page-size`,`total`])]),P(`section`,Uq,[P(`header`,null,[P(`div`,null,[n[86]||=P(`h2`,null,`系统自动公示`,-1),P(`p`,null,` 筛选结果 `+T(O(v).total)+` / 共 `+T(e.data.publications?.length||0)+` 条;业务事实不可编辑。 `,1)])]),P(`div`,Wq,[P(`label`,null,[n[87]||=P(`span`,null,`搜索公示`,-1),k(P(`input`,{"onUpdate:modelValue":n[12]||=e=>O(v).query=e,placeholder:`标题、考试、学校`},null,512),[[z,O(v).query]])]),P(`label`,null,[n[89]||=P(`span`,null,`公示类型`,-1),k(P(`select`,{"onUpdate:modelValue":n[13]||=e=>O(v).filters.type=e},[n[88]||=P(`option`,{value:``},`全部类型`,-1),(M(!0),N(j,null,A(b.value,e=>(M(),N(`option`,{key:e,value:e},T(x(e)),9,Gq))),128))],512),[[B,O(v).filters.type]])]),P(`label`,null,[n[91]||=P(`span`,null,`公开状态`,-1),k(P(`select`,{"onUpdate:modelValue":n[14]||=e=>O(v).filters.visibility=e},[...n[90]||=[P(`option`,{value:``},`全部状态`,-1),P(`option`,{value:`visible`},`正在公开`,-1),P(`option`,{value:`hidden`},`已隐藏`,-1)]],512),[[B,O(v).filters.visibility]])]),P(`button`,{type:`button`,class:`table-action`,onClick:n[15]||=(...e)=>O(v).clear&&O(v).clear(...e)},` 清除筛选 `)]),P(`div`,Kq,[P(`table`,null,[n[93]||=P(`thead`,null,[P(`tr`,null,[P(`th`,null,`标题`),P(`th`,null,`类型`),P(`th`,null,`状态`),P(`th`,null,`公开`),P(`th`,null,`操作`)])],-1),P(`tbody`,null,[(M(!0),N(j,null,A(O(v).rows,e=>(M(),N(`tr`,{key:e.sourceType+`-`+e.id},[P(`td`,null,T(e.title),1),P(`td`,null,T(x(e.sourceType)),1),P(`td`,null,[F(U,{value:e.status},null,8,[`value`])]),P(`td`,null,T(e.publicVisible?`公开`:`隐藏`),1),P(`td`,null,[P(`button`,{type:`button`,class:`table-action`,onClick:t=>ae(e)},T(e.publicVisible?`隐藏`:`公开`),9,qq)])]))),128)),O(v).rows.length?L(``,!0):(M(),N(`tr`,Jq,[...n[92]||=[P(`td`,{colspan:`5`,class:`ledger-empty`},`没有符合条件的系统公示`,-1)]]))])])]),F(dm,{page:O(v).page,"onUpdate:page":n[16]||=e=>O(v).page=e,"page-size":O(v).pageSize,"onUpdate:pageSize":n[17]||=e=>O(v).pageSize=e,total:O(v).total},null,8,[`page`,`page-size`,`total`])])],64)):e.page===`centers`?(M(),N(j,{key:3},[F(rm,{resource:`centers`,label:`考点考场档案`,onImport:w}),P(`form`,{class:`business-form center-editor-vue`,onSubmit:As(le,[`prevent`])},[n[119]||=P(`p`,null,`CONTROLLED DOSSIER`,-1),n[120]||=P(`h2`,null,`提交新考点档案`,-1),n[121]||=P(`span`,null,`提交后进入考点考场变更审批,通过前不会改动正式档案。`,-1),O(H).state.user?.adminLevel===`super`?(M(),N(`label`,Yq,[n[95]||=P(`span`,null,`所属学校`,-1),k(P(`select`,{"onUpdate:modelValue":n[18]||=e=>u.schoolId=e,required:``},[n[94]||=P(`option`,{value:``},`请选择`,-1),(M(!0),N(j,null,A(e.data.schools,e=>(M(),N(`option`,{key:e.id,value:e.id},T(e.name),9,Xq))),128))],512),[[B,u.schoolId]])])):L(``,!0),P(`div`,Zq,[P(`label`,null,[n[96]||=P(`span`,null,`考点代码`,-1),k(P(`input`,{"onUpdate:modelValue":n[19]||=e=>u.code=e,required:``},null,512),[[z,u.code]])]),P(`label`,null,[n[97]||=P(`span`,null,`考点名称`,-1),k(P(`input`,{"onUpdate:modelValue":n[20]||=e=>u.name=e,required:``},null,512),[[z,u.name]])]),P(`label`,null,[n[99]||=P(`span`,null,`省份`,-1),k(P(`select`,{"onUpdate:modelValue":n[21]||=e=>u.provinceCode=e,required:``,onChange:n[22]||=e=>{u.cityCode=``,u.districtCode=``}},[n[98]||=P(`option`,{value:``},`请选择`,-1),(M(!0),N(j,null,A(O(Tf),e=>(M(),N(`option`,{key:e.code,value:e.code},T(e.name),9,Qq))),128))],544),[[B,u.provinceCode]])]),P(`label`,null,[n[101]||=P(`span`,null,`城市`,-1),k(P(`select`,{"onUpdate:modelValue":n[23]||=e=>u.cityCode=e,required:``,disabled:!u.provinceCode,onChange:n[24]||=e=>u.districtCode=``},[n[100]||=P(`option`,{value:``},`请选择`,-1),(M(!0),N(j,null,A(f.value,e=>(M(),N(`option`,{key:e.code,value:e.code},T(e.name),9,eJ))),128))],40,$q),[[B,u.cityCode]])]),P(`label`,null,[n[103]||=P(`span`,null,`区县`,-1),k(P(`select`,{"onUpdate:modelValue":n[25]||=e=>u.districtCode=e,required:``,disabled:!u.cityCode},[n[102]||=P(`option`,{value:``},`请选择`,-1),(M(!0),N(j,null,A(p.value,e=>(M(),N(`option`,{key:e.code,value:e.code},T(e.name),9,nJ))),128))],8,tJ),[[B,u.districtCode]])]),P(`label`,null,[n[104]||=P(`span`,null,`详细地址`,-1),k(P(`input`,{"onUpdate:modelValue":n[26]||=e=>u.address=e,required:``},null,512),[[z,u.address]])]),P(`label`,null,[n[105]||=P(`span`,null,`负责人`,-1),k(P(`input`,{"onUpdate:modelValue":n[27]||=e=>u.managerName=e},null,512),[[z,u.managerName]])]),P(`label`,null,[n[106]||=P(`span`,null,`负责人手机`,-1),k(P(`input`,{"onUpdate:modelValue":n[28]||=e=>u.managerPhone=e},null,512),[[z,u.managerPhone]])]),P(`label`,null,[n[107]||=P(`span`,null,`值班电话`,-1),k(P(`input`,{"onUpdate:modelValue":n[29]||=e=>u.contact=e},null,512),[[z,u.contact]])]),P(`label`,null,[n[108]||=P(`span`,null,`应急电话`,-1),k(P(`input`,{"onUpdate:modelValue":n[30]||=e=>u.emergencyPhone=e},null,512),[[z,u.emergencyPhone]])]),P(`label`,null,[n[109]||=P(`span`,null,`开放时间`,-1),k(P(`input`,{"onUpdate:modelValue":n[31]||=e=>u.gateOpenTime=e,type:`time`},null,512),[[z,u.gateOpenTime]])])]),P(`label`,null,[n[110]||=P(`span`,null,`交通与入场提示`,-1),k(P(`textarea`,{"onUpdate:modelValue":n[32]||=e=>u.transport=e},null,512),[[z,u.transport]])]),P(`section`,rJ,[P(`header`,null,[n[111]||=P(`strong`,null,`考场明细`,-1),P(`button`,{type:`button`,onClick:oe},`+ 添加考场`)]),(M(!0),N(j,null,A(u.rooms,(e,t)=>(M(),N(`article`,{key:t},[P(`div`,iJ,[P(`label`,null,[n[112]||=P(`span`,null,`场地代码`,-1),k(P(`input`,{"onUpdate:modelValue":t=>e.code=t,required:``},null,8,aJ),[[z,e.code]])]),P(`label`,null,[n[113]||=P(`span`,null,`考场名称`,-1),k(P(`input`,{"onUpdate:modelValue":t=>e.name=t,required:``},null,8,oJ),[[z,e.name]])]),P(`label`,null,[n[114]||=P(`span`,null,`楼栋`,-1),k(P(`input`,{"onUpdate:modelValue":t=>e.building=t,required:``},null,8,sJ),[[z,e.building]])]),P(`label`,null,[n[115]||=P(`span`,null,`楼层`,-1),k(P(`input`,{"onUpdate:modelValue":t=>e.floor=t},null,8,cJ),[[z,e.floor]])]),P(`label`,null,[n[116]||=P(`span`,null,`容量`,-1),k(P(`input`,{"onUpdate:modelValue":t=>e.capacity=t,type:`number`,min:`1`,required:``},null,8,lJ),[[z,e.capacity]])]),P(`label`,null,[n[118]||=P(`span`,null,`考场类型`,-1),k(P(`select`,{"onUpdate:modelValue":t=>e.roomType=t},[...n[117]||=[P(`option`,{value:`standard`},`标准考场`,-1),P(`option`,{value:`computer`},`机考考场`,-1),P(`option`,{value:`accessible`},`无障碍考场`,-1),P(`option`,{value:`spare`},`备用考场`,-1)]],8,uJ),[[B,e.roomType]])])]),P(`button`,{type:`button`,onClick:e=>u.rooms.splice(t,1)},` 移除 `,8,dJ)]))),128))]),n[122]||=P(`button`,{class:`app-button app-button--primary`},`提交审批`,-1)],32),P(`section`,fJ,[P(`header`,null,[P(`div`,null,[n[123]||=P(`h2`,null,`正式考点与考场`,-1),P(`p`,null,` 筛选结果 `+T(O(m).total)+` / 共 `+T(e.data.centers?.length||0)+` 个考点 `,1)])]),P(`div`,pJ,[P(`label`,null,[n[124]||=P(`span`,null,`关键词`,-1),k(P(`input`,{"onUpdate:modelValue":n[33]||=e=>O(m).query=e,placeholder:`代码、考点、学校、地址、负责人、考场`},null,512),[[z,O(m).query]])]),P(`label`,null,[n[126]||=P(`span`,null,`所属学校`,-1),k(P(`select`,{"onUpdate:modelValue":n[34]||=e=>O(m).filters.school=e},[n[125]||=P(`option`,{value:``},`全部学校`,-1),(M(!0),N(j,null,A(e.data.schools,e=>(M(),N(`option`,{key:e.id,value:e.id},T(e.name),9,mJ))),128))],512),[[B,O(m).filters.school]])]),P(`label`,null,[n[128]||=P(`span`,null,`状态`,-1),k(P(`select`,{"onUpdate:modelValue":n[35]||=e=>O(m).filters.status=e},[...n[127]||=[P(`option`,{value:``},`全部状态`,-1),P(`option`,{value:`active`},`启用`,-1),P(`option`,{value:`inactive`},`停用`,-1)]],512),[[B,O(m).filters.status]])]),P(`button`,{class:`table-action`,onClick:n[36]||=(...e)=>O(m).clear&&O(m).clear(...e)},` 清除筛选 `)]),P(`div`,hJ,[P(`label`,null,[P(`input`,{type:`checkbox`,onChange:n[37]||=e=>C(o.value,O(m).rows)},null,32),n[129]||=I(` 选择当前页`,-1)]),P(`strong`,null,`已选 `+T(o.value.length)+` 个`,1),P(`button`,{disabled:!o.value.length,onClick:de},` 导出选中项 XLSX `,8,gJ)]),P(`div`,_J,[P(`table`,null,[n[130]||=P(`thead`,null,[P(`tr`,null,[P(`th`,null,`选择`),P(`th`,null,`考点`),P(`th`,null,`学校`),P(`th`,null,`地址`),P(`th`,null,`考场 / 席位`),P(`th`,null,`负责人`),P(`th`,null,`状态`)])],-1),P(`tbody`,null,[(M(!0),N(j,null,A(O(m).rows,e=>(M(),N(`tr`,{key:e.id},[P(`td`,null,[k(P(`input`,{"onUpdate:modelValue":n[38]||=e=>o.value=e,type:`checkbox`,value:e.id},null,8,vJ),[[Cs,o.value]])]),P(`td`,null,[I(T(e.name),1),P(`small`,null,T(e.code),1)]),P(`td`,null,T(e.schoolName),1),P(`td`,null,T(e.address),1),P(`td`,null,T(e.rooms?.length)+` 个 / `+T(e.totalCapacity)+` 席 `,1),P(`td`,null,[I(T(e.managerName),1),P(`small`,null,T(e.managerPhone),1)]),P(`td`,null,[F(U,{value:e.status},null,8,[`value`])])]))),128))])])]),F(dm,{page:O(m).page,"onUpdate:page":n[39]||=e=>O(m).page=e,"page-size":O(m).pageSize,"onUpdate:pageSize":n[40]||=e=>O(m).pageSize=e,total:O(m).total},null,8,[`page`,`page-size`,`total`])]),P(`section`,yJ,[P(`header`,null,[P(`div`,null,[n[131]||=P(`h2`,null,`考点变更审批台账`,-1),P(`p`,null,` 筛选结果 `+T(O(h).total)+` / 共 `+T(e.data.changeRequests?.length||0)+` 条 `,1)])]),P(`div`,bJ,[P(`label`,null,[n[132]||=P(`span`,null,`关键词`,-1),k(P(`input`,{"onUpdate:modelValue":n[41]||=e=>O(h).query=e,placeholder:`考点、代码、学校`},null,512),[[z,O(h).query]])]),P(`label`,null,[n[134]||=P(`span`,null,`申请类型`,-1),k(P(`select`,{"onUpdate:modelValue":n[42]||=e=>O(h).filters.type=e},[...n[133]||=[P(`option`,{value:``},`全部类型`,-1),P(`option`,{value:`create`},`新增`,-1),P(`option`,{value:`update`},`修改`,-1)]],512),[[B,O(h).filters.type]])]),P(`label`,null,[n[136]||=P(`span`,null,`审批状态`,-1),k(P(`select`,{"onUpdate:modelValue":n[43]||=e=>O(h).filters.status=e},[...n[135]||=[P(`option`,{value:``},`全部状态`,-1),P(`option`,{value:`pending`},`待审批`,-1),P(`option`,{value:`approved`},`已通过`,-1),P(`option`,{value:`rejected`},`已退回`,-1)]],512),[[B,O(h).filters.status]])])]),P(`div`,xJ,[P(`label`,null,[P(`input`,{type:`checkbox`,onChange:n[44]||=e=>C(s.value,O(h).rows,e=>e.status===`pending`)},null,32),n[137]||=I(` 选择当前页待审项`,-1)]),P(`strong`,null,`已选 `+T(s.value.length)+` 条`,1),P(`button`,{disabled:!s.value.length||i.value,onClick:n[45]||=e=>fe(`rejected`)},` 批量退回`,8,SJ),P(`button`,{disabled:!s.value.length||i.value,onClick:n[46]||=e=>fe(`approved`)},` 批量通过 `,8,CJ)]),P(`div`,wJ,[P(`table`,null,[n[138]||=P(`thead`,null,[P(`tr`,null,[P(`th`,null,`选择`),P(`th`,null,`类型`),P(`th`,null,`考点 / 学校`),P(`th`,null,`考场`),P(`th`,null,`状态`),P(`th`,null,`审批`)])],-1),P(`tbody`,null,[(M(!0),N(j,null,A(O(h).rows,e=>(M(),N(`tr`,{key:e.id},[P(`td`,null,[k(P(`input`,{"onUpdate:modelValue":n[47]||=e=>s.value=e,type:`checkbox`,value:e.id,disabled:e.status!==`pending`},null,8,TJ),[[Cs,s.value]])]),P(`td`,null,T(e.requestType===`create`?`新增`:`修改`),1),P(`td`,null,[I(T(e.name),1),P(`small`,null,T(e.schoolName),1)]),P(`td`,null,T(e.rooms?.length)+` 个`,1),P(`td`,null,[F(U,{value:e.status},null,8,[`value`])]),P(`td`,null,[e.status===`pending`?(M(),N(`div`,EJ,[k(P(`input`,{"onUpdate:modelValue":t=>c[e.id]=t,placeholder:`审批意见`},null,8,DJ),[[z,c[e.id]]]),P(`button`,{onClick:t=>ue(e,`rejected`)},` 退回`,8,OJ),P(`button`,{onClick:t=>ue(e,`approved`)},` 通过 `,8,kJ)])):L(``,!0)])]))),128))])])]),F(dm,{page:O(h).page,"onUpdate:page":n[48]||=e=>O(h).page=e,"page-size":O(h).pageSize,"onUpdate:pageSize":n[49]||=e=>O(h).pageSize=e,total:O(h).total},null,8,[`page`,`page-size`,`total`])])],64)):e.page===`flows`?(M(),N(j,{key:4},[P(`div`,AJ,[P(`label`,null,[n[139]||=P(`span`,null,`关键词`,-1),k(P(`input`,{"onUpdate:modelValue":n[50]||=e=>O(g).query=e,placeholder:`考生、学校、考试、责任人或流程`},null,512),[[z,O(g).query]])]),P(`label`,null,[n[141]||=P(`span`,null,`业务类型`,-1),k(P(`select`,{"onUpdate:modelValue":n[51]||=e=>O(g).filters.type=e},[n[140]||=P(`option`,{value:``},`全部类型`,-1),(M(!0),N(j,null,A(S.value,e=>(M(),N(`option`,{key:e,value:e},T(e),9,jJ))),128))],512),[[B,O(g).filters.type]])]),P(`label`,null,[n[143]||=P(`span`,null,`流程状态`,-1),k(P(`select`,{"onUpdate:modelValue":n[52]||=e=>O(g).filters.status=e},[...n[142]||=[P(`option`,{value:``},`全部状态`,-1),P(`option`,{value:`pending`},`处理中`,-1),P(`option`,{value:`approved`},`已通过`,-1),P(`option`,{value:`rejected`},`已退回`,-1)]],512),[[B,O(g).filters.status]])]),P(`button`,{class:`table-action`,onClick:n[53]||=(...e)=>O(g).clear&&O(g).clear(...e)},` 清除筛选 `)]),P(`section`,MJ,[(M(!0),N(j,null,A(O(g).rows,e=>(M(),N(`article`,{key:e.id,class:`record-panel flow-card-vue`},[P(`header`,null,[P(`div`,null,[P(`span`,null,T(e.businessType),1),P(`h2`,null,T(e.candidateName||e.centerName||e.schoolName||e.id),1),P(`p`,null,T(e.examName)+` `+T(e.className),1)]),F(U,{value:e.status},null,8,[`value`])]),P(`div`,NJ,[(M(!0),N(j,null,A(e.steps,t=>(M(),N(`span`,{key:t.position,class:be({done:t.position