{"version":3,"file":"js/app.99c3419b.js","mappings":"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","sources":["webpack://yuejuan5.0/./src/App.vue?2a5e","webpack://yuejuan5.0/./src/App.vue","webpack://yuejuan5.0/./src/App.vue?7ccd","webpack://yuejuan5.0/./src/directives/v-drag.js","webpack://yuejuan5.0/./src/directives/v-reclick.js","webpack://yuejuan5.0/./src/directives/v-permission.js","webpack://yuejuan5.0/./src/directives/v-resize.js","webpack://yuejuan5.0/./src/directives/v-preview.js","webpack://yuejuan5.0/./src/main.ts","webpack://yuejuan5.0/./src/components/common/MainHeader.vue?feac","webpack://yuejuan5.0/./src/components/common/MainHeader.vue","webpack://yuejuan5.0/./src/components/common/MainHeader.vue?222c","webpack://yuejuan5.0/./src/views/task/components/TaskProgress.vue?698f","webpack://yuejuan5.0/./src/views/task/components/TaskProgress.vue","webpack://yuejuan5.0/./src/views/task/components/TaskProgress.vue?6d18","webpack://yuejuan5.0/./src/components/common/MainCrumb.vue?2e23","webpack://yuejuan5.0/./src/components/common/MainCrumb.vue","webpack://yuejuan5.0/./src/components/common/MainCrumb.vue?5d32","webpack://yuejuan5.0/./src/components/common/ScrollNoitce.vue?e8c8","webpack://yuejuan5.0/./src/components/common/ScrollNoitce.vue","webpack://yuejuan5.0/./src/components/common/ScrollNoitce.vue?9bb9","webpack://yuejuan5.0/./src/components/common/SideBar.vue?0569","webpack://yuejuan5.0/./src/components/common/SideBar.vue","webpack://yuejuan5.0/./src/components/common/SideBar.vue?aa66","webpack://yuejuan5.0/./src/components/util/NoticeDialog.vue?df6c","webpack://yuejuan5.0/./src/components/util/NoticeDialog.vue","webpack://yuejuan5.0/./src/components/util/NoticeDialog.vue?f986","webpack://yuejuan5.0/./src/components/layout/LayoutTask.vue?6b88","webpack://yuejuan5.0/./src/components/layout/LayoutTask.vue","webpack://yuejuan5.0/./src/components/layout/LayoutTask.vue?5e54","webpack://yuejuan5.0/./src/components/layout/NotFound.vue?0a27","webpack://yuejuan5.0/./src/components/layout/NotFound.vue","webpack://yuejuan5.0/./src/components/layout/NotFound.vue?a22a","webpack://yuejuan5.0/./src/router/index.ts","webpack://yuejuan5.0/./src/services/request.ts","webpack://yuejuan5.0/./src/services/index.ts","webpack://yuejuan5.0/./src/store/index.ts","webpack://yuejuan5.0/./src/components/common/NotFound.vue?6f90","webpack://yuejuan5.0/./src/components/common/NotFound.vue","webpack://yuejuan5.0/./src/components/common/NotFound.vue?2f42","webpack://yuejuan5.0/webpack/bootstrap","webpack://yuejuan5.0/webpack/runtime/chunk loaded","webpack://yuejuan5.0/webpack/runtime/compat get default export","webpack://yuejuan5.0/webpack/runtime/define property getters","webpack://yuejuan5.0/webpack/runtime/ensure chunk","webpack://yuejuan5.0/webpack/runtime/get javascript chunk filename","webpack://yuejuan5.0/webpack/runtime/get mini-css chunk filename","webpack://yuejuan5.0/webpack/runtime/global","webpack://yuejuan5.0/webpack/runtime/hasOwnProperty shorthand","webpack://yuejuan5.0/webpack/runtime/load script","webpack://yuejuan5.0/webpack/runtime/make namespace object","webpack://yuejuan5.0/webpack/runtime/node module decorator","webpack://yuejuan5.0/webpack/runtime/publicPath","webpack://yuejuan5.0/webpack/runtime/css loading","webpack://yuejuan5.0/webpack/runtime/jsonp chunk loading","webpack://yuejuan5.0/webpack/startup"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"app-container\" }\n\nimport { ConfigProvider, message, Modal } from \"ant-design-vue\";\r\nimport zhCN from \"ant-design-vue/es/locale/zh_CN\";\r\nimport dayjs from \"dayjs\";\r\nimport \"dayjs/locale/zh-cn\";\r\nimport { onMounted } from \"vue\";\r\n\r\nimport { useUserStore } from \"@/store\";\r\n// import { initSocket, websocketSendData } from \"./services/websocket\";\r\n// import { watch } from \"vue\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\r\n// import { provide, watch } from \"vue\";\r\ndayjs.locale(\"zh-cn\");\r\nlet UserStore: any = useUserStore();\r\nif(UserStore.userInfo && UserStore.userInfo.ico){\r\n let favicon = document.querySelector(\"link[rel*='icon']\") as HTMLLinkElement;\r\n // 如果不存在favicon元素,则创建一个\r\n if (!favicon) {\r\n favicon = document.createElement('link');\r\n favicon.rel = 'icon';\r\n document.head.appendChild(favicon);\r\n }\r\n // 更新favicon的href\r\n favicon.href = UserStore.userInfo.ico;\r\n}\r\n// let websocket: WebSocket;\r\n// if (UserStore.userInfo && UserStore.userInfo.authorization) {\r\n// // test websocket\r\n// websocket = initSocket(UserStore.userInfo.authorization);\r\n// websocket.onmessage = (event: any) => {\r\n// console.log(event, \"aa\");\r\n// };\r\n// }\r\n// watch(\r\n// () => UserStore.userInfo,\r\n// () => {\r\n// if (websocket) {\r\n// websocket.close();\r\n// }\r\n// if (UserStore.userInfo && UserStore.userInfo.authorization) {\r\n// websocket = initSocket(UserStore.userInfo.authorization);\r\n// }\r\n// }\r\n// );\r\n\r\n// 修改全局配置\r\nConfigProvider.config({\r\n theme: {\r\n primaryColor: \"#2878FF\",\r\n },\r\n});\r\n\r\nconst debounce = (fn: any, delay: any) => {\r\n let timer: number | undefined;\r\n return (...args: any) => {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(() => {\r\n fn(...args);\r\n }, delay);\r\n };\r\n};\r\n\r\nconst _ResizeObserver = window.ResizeObserver;\r\nwindow.ResizeObserver = class ResizeObserver extends _ResizeObserver {\r\n constructor(callback: any) {\r\n callback = debounce(callback, 200);\r\n super(callback);\r\n }\r\n};\r\nfunction isMobileDevice() {\r\n // 检查User-Agent字符串中是否包含常见的移动设备标识\r\n return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(navigator.userAgent);\r\n}\r\n\r\nfunction getCurrentDomain() {\r\n // 获取当前页面的域名(不包括协议和路径)\r\n return window.location.hostname;\r\n}\r\n\r\nfunction redirectToAppropriateDomain() {\r\n // 定义PC端和移动端的目标域名\r\n const pcDomain = \"21yj.21cnjy.com\";\r\n const mobileDomain = \"21yjmobile.21cnjy.com\";\r\n\r\n // 获取当前域名\r\n const currentDomain = getCurrentDomain();\r\n\r\n\r\n // 判断是否为移动端\r\n if (isMobileDevice()) {\r\n // 如果是移动设备且当前域名是PC端域名,且没有被重定向过,则跳转到移动端域名\r\n if (currentDomain == pcDomain) {\r\n // window.location.replace(`https://${mobileDomain}?redirected=true`);\r\n Modal.confirm({\r\n title: \"温馨提示\",\r\n content: \"检测到您当前使用的是移动设备,是否跳转到移动端?\",\r\n class: \"custom-info-dialog\",\r\n icon: null,\r\n centered: true,\r\n onOk: () => {\r\n window.location.replace(`https://${mobileDomain}`);\r\n },\r\n });\r\n }\r\n }\r\n}\r\nonMounted(() => {\r\n redirectToAppropriateDomain();\r\n})\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createBlock(_unref(ConfigProvider), { locale: _unref(zhCN) }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_router_view)\n ])\n ]),\n _: 1\n }, 8, [\"locale\"]))\n}\n}\n\n})","\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default {\r\n mounted(el) {\r\n el.style.position = 'absolute';\r\n el.style.cursor = 'move';\r\n\r\n const startDragging = (e) => {\r\n el._dragging = true;\r\n el._startX = e.clientX;\r\n el._startY = e.clientY;\r\n // 使用 getComputedStyle 获取最新的 left 和 top 解决vw、vh单位导致的拖动不准确问题\r\n const computedStyle = getComputedStyle(el);\r\n el._offsetX = parseInt(computedStyle.left, 10);\r\n el._offsetY = parseInt(computedStyle.top, 10);\r\n document.addEventListener('mousemove', drag);\r\n document.addEventListener('mouseup', stopDragging);\r\n };\r\n\r\n const drag = (e) => {\r\n if (!el._dragging) return;\r\n el.style.left = `${el._offsetX + e.clientX - el._startX}px`;\r\n el.style.top = `${el._offsetY + e.clientY - el._startY}px`;\r\n el.style.right = 'unset';\r\n el.style.bottom = 'unset';\r\n };\r\n\r\n const stopDragging = () => {\r\n el._dragging = false;\r\n document.removeEventListener('mousemove', drag);\r\n document.removeEventListener('mouseup', stopDragging);\r\n };\r\n\r\n el.addEventListener('mousedown', startDragging);\r\n },\r\n unmounted(el) {\r\n el.removeEventListener('mousedown', el._startDragging);\r\n document.removeEventListener('mousemove', el._drag);\r\n document.removeEventListener('mouseup', el._stopDragging);\r\n },\r\n};","export default {\r\n mounted(el, binding) {\r\n const delay = binding.value || 300;\r\n const disableButton = !binding.modifiers.prevent;\r\n\r\n const handleClick = () => {\r\n if (disableButton) {\r\n el.disabled = true;\r\n }\r\n setTimeout(() => {\r\n if (disableButton) {\r\n el.disabled = false;\r\n }\r\n }, delay);\r\n };\r\n\r\n el.addEventListener('click', handleClick);\r\n\r\n el._handleClick = handleClick; // 保存引用以便在卸载时移除监听器\r\n },\r\n unmounted(el) {\r\n el.removeEventListener('click', el._handleClick);\r\n },\r\n};","import { useUserStore } from '@/store'; // 确保路径正确\r\nimport { storeToRefs } from 'pinia';\r\n\r\nconst checkPermission = (el, binding, userInfo) => {\r\n if (binding.value) {\r\n if (\r\n userInfo.value.type != 1 &&\r\n userInfo.value.customRole &&\r\n !userInfo.value.customRole.split(',').includes('' + binding.arg) &&\r\n binding.value != userInfo.value.id\r\n ) {\r\n el.disabled = true;\r\n el.style.cursor = 'not-allowed';\r\n } else {\r\n el.disabled = false;\r\n el.style.cursor = '';\r\n }\r\n } else if (\r\n userInfo.value.type != 1 &&\r\n userInfo.value.customRole &&\r\n !userInfo.value.customRole.split(',').includes('' + binding.arg)\r\n ) {\r\n el.disabled = true;\r\n el.style.cursor = 'not-allowed';\r\n } else {\r\n el.disabled = false;\r\n el.style.cursor = '';\r\n }\r\n};\r\n\r\nexport default {\r\n mounted(el, binding) {\r\n const store = useUserStore();\r\n const { userInfo } = storeToRefs(store);\r\n checkPermission(el, binding, userInfo);\r\n },\r\n updated(el, binding) {\r\n const store = useUserStore();\r\n const { userInfo } = storeToRefs(store);\r\n checkPermission(el, binding, userInfo);\r\n },\r\n};","export default {\r\n mounted(el) {\r\n const resizeHandle = document.createElement('div');\r\n resizeHandle.style.width = '0';\r\n resizeHandle.style.height = '0';\r\n resizeHandle.style.borderLeft = '10px solid transparent';\r\n resizeHandle.style.borderBottom = '10px solid var(--ant-primary-color)';\r\n resizeHandle.style.position = 'absolute';\r\n resizeHandle.style.right = '0';\r\n resizeHandle.style.bottom = '0';\r\n resizeHandle.style.cursor = 'se-resize';\r\n resizeHandle.style.zIndex = '10';\r\n \r\n // 检查元素的 position 属性\r\n const computedStyle = window.getComputedStyle(el);\r\n if (computedStyle.position !== 'absolute' && computedStyle.position !== 'fixed' && computedStyle.position !== 'relative') {\r\n el.style.position = 'relative';\r\n }\r\n\r\n el.appendChild(resizeHandle);\r\n\r\n resizeHandle.addEventListener('mousedown', (e) => {\r\n e.preventDefault();\r\n e.stopPropagation(); // 阻止事件冒泡,避免与拖拽冲突\r\n document.body.classList.add('resizing'); // 添加类以禁用拖动事件\r\n document.addEventListener('mousemove', resize);\r\n document.addEventListener('mouseup', stopResize);\r\n });\r\n\r\n function resize(e) {\r\n el.style.width = e.clientX - el.getBoundingClientRect().left + 'px';\r\n el.style.height = e.clientY - el.getBoundingClientRect().top + 'px';\r\n }\r\n\r\n function stopResize() {\r\n document.body.classList.remove('resizing'); // 移除类以重新启用拖动事件\r\n document.removeEventListener('mousemove', resize);\r\n document.removeEventListener('mouseup', stopResize);\r\n }\r\n },\r\n};","import { Modal } from 'ant-design-vue';\r\nimport { h } from 'vue';\r\n\r\nexport default {\r\n mounted(el, binding) {\r\n const options = binding.value || {};\r\n\r\n // 保存原始图片地址\r\n el.setAttribute('data-original-src', el.src);\r\n\r\n el.style.cursor = 'pointer';\r\n el.addEventListener('click', () => {\r\n Modal.info({\r\n title: '图片预览',\r\n icon: null,\r\n content: () => {\r\n // 使用当前最新的图片地址\r\n const currentSrc = el.getAttribute('data-current-src') || el.getAttribute('data-original-src');\r\n return h('img', {\r\n src: currentSrc,\r\n style: {\r\n width: options.width ? `${options.width}px` : '100%',\r\n maxWidth: '100%',\r\n height: 'auto',\r\n objectFit: 'contain'\r\n }\r\n });\r\n },\r\n centered: true,\r\n closable: true,\r\n destroyOnClose: true,\r\n maskClosable: true,\r\n width: options.width ? `${options.width}px` : '800px',\r\n style: {\r\n maxWidth: '100vw',\r\n maxHeight: '95vh',\r\n },\r\n class: 'custom-dialog custom-info-dialog',\r\n wrapClassName: 'image-preview-modal',\r\n zIndex: options.zIndex || 1000,\r\n okText: '关闭'\r\n });\r\n });\r\n },\r\n\r\n updated(el, binding) {\r\n const newSrc = binding.value?.src;\r\n const oldSrc = binding.oldValue?.src;\r\n\r\n if (newSrc !== oldSrc) {\r\n if (newSrc) {\r\n // 更新缩略图\r\n el.src = newSrc;\r\n // 更新当前图片地址\r\n el.setAttribute('data-current-src', newSrc);\r\n\r\n // 如果有打开的 Modal,关闭它\r\n const modalElement = document.querySelector('.ant-modal-wrap');\r\n if (modalElement) {\r\n Modal.destroyAll();\r\n }\r\n } else {\r\n el.src = el.getAttribute('data-original-src');\r\n el.removeAttribute('data-current-src');\r\n }\r\n }\r\n },\r\n\r\n unmounted(el) {\r\n el.removeAttribute('data-current-src');\r\n el.removeAttribute('data-original-src');\r\n }\r\n};","import { createApp } from \"vue\";\r\n// import Antd from \"ant-design-vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport { createPinia } from \"pinia\";\r\nimport piniaPluginPersistedstate from \"pinia-plugin-persistedstate\";\r\nimport \"ant-design-vue/dist/antd.variable.min.css\";\r\nimport \"@/assets/scss/app.scss\";\r\nimport vDrag from \"@/directives/v-drag\";\r\nimport vReClick from \"@/directives/v-reclick\";\r\nimport vPermission from \"@/directives/v-permission\";\r\nimport vResize from \"@/directives/v-resize\";\r\nimport vPreview from \"@/directives/v-preview\";\r\nconst pinia = createPinia();\r\npinia.use(piniaPluginPersistedstate);\r\n\r\nconst app = createApp(App);\r\napp.use(pinia).use(router).mount(\"#app\");\r\n// 防止重复点击\r\napp.directive(\"reClick\", vReClick);\r\n// 权限判断\r\napp.directive(\"permission\", vPermission);\r\n// 拖拽\r\napp.directive(\"drag\", vDrag);\r\n// 拉伸\r\napp.directive(\"resize\", vResize);\r\n// 图片预览\r\napp.directive(\"preview\", vPreview);\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\nimport _imports_0 from '@/assets/images/logo.png'\n\n\nconst _hoisted_1 = { class: \"header\" }\nconst _hoisted_2 = { class: \"content-wrap flex flex-between\" }\nconst _hoisted_3 = {\n class: \"logo\",\n href: \"/\"\n}\nconst _hoisted_4 = {\n key: 0,\n src: _imports_0,\n alt: \"logo\"\n}\nconst _hoisted_5 = { class: \"school-name\" }\nconst _hoisted_6 = { class: \"menu\" }\nconst _hoisted_7 = { class: \"userInfo\" }\n\nimport { useUserStore } from \"@/store\";\r\nimport { computed } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { request } from \"@/services\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'MainHeader',\n props: {\r\n parent: {\r\n type: String,\r\n default: \"\",\r\n },\r\n},\n setup(__props) {\n\r\nconst router = useRouter();\r\nconst userStore = useUserStore();\r\nconst props = __props;\r\nconst auth = computed(() => {\r\n /**\r\n * 1.当响应的用户角色(type)==0 && 角色权限(customRole)==null 只显示网上阅卷模块 此时用户的角色为普通老师\r\n 2.当响应的用户角色(type)==0 && 角色权限(customRole)!=null 只显示网上阅卷+考试管理模块 此时用户的角色为普通老师,但管理员给与给老师自定义角色权限\r\n 3.当响应的用户角色(type)==1 显示网上阅卷+考试管理+系统设置模块 此时用户的角色为学校管理员\r\n */\r\n if (userStore.userInfo.type == 1) {\r\n return 3;\r\n } else if (userStore.userInfo.type == 0 && userStore.userInfo.customRole == null) {\r\n return 1;\r\n } else {\r\n return 2;\r\n }\r\n});\r\nconst logout = () => {\r\n userStore.logout();\r\n // 跳转到登录页面\r\n router.replace({ name: \"Login\" });\r\n};\r\nconst handleButtonClick = async () => {\r\n request.get(\"/common/open-app\", { params: { type: 2, scoreType: 3 } }).then((res) => {\r\n if (res.code === 200) {\r\n window.open(res.data, \"_blank\");\r\n }\r\n });\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"a\", _hoisted_3, [\n (_unref(userStore).userInfo.source === 0 && !_unref(userStore).userInfo.ico && _unref(userStore).userInfo.schoolId !== 530243)\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_4))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_unref(userStore).userInfo.schoolId !== 530243 ? _unref(userStore).userInfo.schoolName : ''), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n (auth.value !== 1)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: _normalizeClass([\"menu-item\", { 'router-link-exact-active': props.parent == 'Task' }]),\n to: \"/task\"\n }, {\n default: _withCtx(() => _cache[0] || (_cache[0] = [\n _createTextVNode(\"考试管理\")\n ])),\n _: 1\n }, 8, [\"class\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_router_link, {\n class: _normalizeClass([\"menu-item\", { 'router-link-exact-active': props.parent == 'OnlineCheck' }]),\n to: \"/onlineCheck\"\n }, {\n default: _withCtx(() => _cache[1] || (_cache[1] = [\n _createTextVNode(\"网上阅卷\")\n ])),\n _: 1\n }, 8, [\"class\"]),\n _createElementVNode(\"a\", {\n class: \"menu-item\",\n onClick: handleButtonClick\n }, \"学业评价\"),\n (auth.value === 3)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: _normalizeClass([\"menu-item\", { 'router-link-exact-active': props.parent == 'System' }]),\n to: \"/system\"\n }, {\n default: _withCtx(() => _cache[2] || (_cache[2] = [\n _createTextVNode(\"系统设置\")\n ])),\n _: 1\n }, 8, [\"class\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_unref(userStore).userInfo.name) + \" \", 1),\n _withDirectives(_createElementVNode(\"span\", {\n class: \"ml10 text-white pointer\",\n onClick: logout\n }, \"退出\", 512), [\n [_vShow, _unref(userStore).userInfo.source === 0 && !_unref(userStore).userInfo.ico]\n ])\n ])\n ])\n ]))\n}\n}\n\n})","\r\n \r\n \r\n \r\n \r\n \r\n {{ userStore.userInfo.schoolId !== 530243 ? userStore.userInfo.schoolName : '' }}\r\n \r\n \r\n \r\n 考试管理\r\n 网上阅卷\r\n 学业评价\r\n 系统设置\r\n \r\n \r\n {{ userStore.userInfo.name }}\r\n 退出\r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./MainHeader.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./MainHeader.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"task-progress-container\" }\nconst _hoisted_2 = { class: \"task-progress flex-center\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"icon-uncheck-circle\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"icon-uncheck-circle\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"icon-uncheck-circle\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"icon-uncheck-circle\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"icon-uncheck-circle\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"icon-uncheck-circle\"\n}\n\nimport { onMounted, ref } from \"vue\";\r\nimport { CheckCircleFilled } from \"@ant-design/icons-vue\";\r\nimport { ITaskProgress } from \"@/type/examManage\";\r\nimport { useRouter, useRoute } from \"vue-router\";\r\nimport { request } from \"@/services\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'TaskProgress',\n props: {\r\n current: {\r\n type: Number,\r\n default: 1,\r\n },\r\n taskName: {\r\n type: String,\r\n default: \"\",\r\n },\r\n},\n emits: [\"update:taskName\"],\n setup(__props, { emit: __emit }) {\n\r\nconst emit = __emit;\r\nconst router = useRouter();\r\nconst route = useRoute();\r\nconst props = __props;\r\nconst taskInfo = ref();\r\nconst linkTo = (status: number) => {\r\n const path = [\"TikaSetting\", \"MarkSetting\", \"PaperScan\", \"ProgressMonitoring\", \"ExceptionHandling\", \"ScoreRelease\"];\r\n router.push({\r\n name: path[status],\r\n params: { taskId: taskInfo.value?.taskId, taskName: encodeURIComponent(taskInfo.value!.taskName) },\r\n state: { ...history.state, subjectId: history.state.subjectId, createId: history.state.createId || taskInfo.value?.createId },\r\n });\r\n};\r\nconst getTaskProgress = () => {\r\n request.get(\"/task/get-task-flow\", { params: { taskId: route.params.taskId.toString() } }).then((res) => {\r\n if (res.code === 200) {\r\n taskInfo.value = res.data;\r\n emit(\"update:taskName\", taskInfo.value?.taskName);\r\n }\r\n });\r\n};\r\nonMounted(() => {\r\n getTaskProgress();\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"task-progress-item pointer\", { active: taskInfo.value?.tkState, current: props.current == 1 }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (linkTo(0)))\n }, [\n (taskInfo.value?.tkState)\n ? (_openBlock(), _createBlock(_unref(CheckCircleFilled), {\n key: 0,\n class: \"icon-check-circle\"\n }))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_3)),\n _cache[6] || (_cache[6] = _createTextVNode(\" 题卡设置 \"))\n ], 2),\n _cache[12] || (_cache[12] = _createElementVNode(\"span\", { class: \"task-progress-arrow\" }, \"→\", -1)),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"task-progress-item pointer\", { active: taskInfo.value?.yjState, current: props.current == 2 }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (linkTo(1)))\n }, [\n (taskInfo.value?.yjState)\n ? (_openBlock(), _createBlock(_unref(CheckCircleFilled), {\n key: 0,\n class: \"icon-check-circle\"\n }))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_4)),\n _cache[7] || (_cache[7] = _createTextVNode(\" 阅卷设置 \"))\n ], 2),\n _cache[13] || (_cache[13] = _createElementVNode(\"span\", { class: \"task-progress-arrow\" }, \"→\", -1)),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"task-progress-item pointer\", { active: taskInfo.value?.djsmState, current: props.current == 3 }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (linkTo(2)))\n }, [\n (taskInfo.value?.djsmState)\n ? (_openBlock(), _createBlock(_unref(CheckCircleFilled), {\n key: 0,\n class: \"icon-check-circle\"\n }))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_5)),\n _cache[8] || (_cache[8] = _createTextVNode(\" 答卷扫描 \"))\n ], 2),\n _cache[14] || (_cache[14] = _createElementVNode(\"span\", { class: \"task-progress-arrow\" }, \"→\", -1)),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"task-progress-item pointer\", { active: taskInfo.value?.jdjkState, current: props.current == 4 }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (linkTo(3)))\n }, [\n (taskInfo.value?.jdjkState)\n ? (_openBlock(), _createBlock(_unref(CheckCircleFilled), {\n key: 0,\n class: \"icon-check-circle\"\n }))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_6)),\n _cache[9] || (_cache[9] = _createTextVNode(\" 进度监控 \"))\n ], 2),\n _cache[15] || (_cache[15] = _createElementVNode(\"span\", { class: \"task-progress-arrow\" }, \"→\", -1)),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"task-progress-item pointer\", { active: taskInfo.value?.ycclState, current: props.current == 5 }]),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (linkTo(4)))\n }, [\n (taskInfo.value?.ycclState)\n ? (_openBlock(), _createBlock(_unref(CheckCircleFilled), {\n key: 0,\n class: \"icon-check-circle\"\n }))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_7)),\n _cache[10] || (_cache[10] = _createTextVNode(\" 异常处理 \"))\n ], 2),\n _cache[16] || (_cache[16] = _createElementVNode(\"span\", { class: \"task-progress-arrow\" }, \"→\", -1)),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"task-progress-item pointer\", { active: taskInfo.value?.cjfbState, current: props.current == 6 }]),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (linkTo(5)))\n }, [\n (taskInfo.value?.cjfbState)\n ? (_openBlock(), _createBlock(_unref(CheckCircleFilled), {\n key: 0,\n class: \"icon-check-circle\"\n }))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_8)),\n _cache[11] || (_cache[11] = _createTextVNode(\" 成绩发布 \"))\n ], 2)\n ])\n ]))\n}\n}\n\n})","\r\n \r\n \r\n \r\n \r\n \r\n \r\n 题卡设置\r\n \r\n →\r\n \r\n \r\n \r\n 阅卷设置\r\n \r\n →\r\n \r\n \r\n \r\n 答卷扫描\r\n \r\n →\r\n \r\n \r\n \r\n 进度监控\r\n \r\n →\r\n \r\n \r\n \r\n 异常处理\r\n \r\n →\r\n \r\n \r\n \r\n 成绩发布\r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./TaskProgress.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TaskProgress.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"crumbs\" }\nconst _hoisted_2 = { class: \"content-wrap flex flex-between\" }\nconst _hoisted_3 = { class: \"text-gray\" }\nconst _hoisted_4 = { class: \"crumbs-item current\" }\nconst _hoisted_5 = { class: \"crumbs-item current\" }\nconst _hoisted_6 = [\"href\"]\nconst _hoisted_7 = {\n key: 2,\n class: \"width120\"\n}\n\nimport { HistoryState, RouteRecord, useRoute } from \"vue-router\";\r\nimport { computed, ref, watch, type PropType } from \"vue\";\r\nimport TaskProgress from \"@/views/task/components/TaskProgress.vue\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'MainCrumb',\n props: {\r\n crumbs: {\r\n type: Object as PropType,\r\n default: [] as Array,\r\n },\r\n},\n setup(__props) {\n\r\nconst route = useRoute();\r\nconst props = __props;\r\nconst help = computed(() => {\r\n if(route.meta && route.meta.help){\r\n return route.meta.help as { link: string, title: string };\r\n }\r\n return false;\r\n});\r\nconst progress = computed(()=>{\r\n if(route.meta && route.meta.progress){\r\n return route.meta.progress as number;\r\n }\r\n return false;\r\n})\r\nconst _history = ref(history.state) // 保存历史记录\r\nconst updateHistoryState = () => {\r\n console.log('???', history.state);\r\n _history.value = history.state;\r\n};\r\nconst handleToObj = (item: RouteRecord):HistoryState => {\r\n if (item.path.match(/:\\w+/)) {\r\n return { name: item.name as string, params: route.params, state: _history.value };\r\n } else {\r\n return { name: item.name as string };\r\n }\r\n};\r\nwatch(\r\n () => route.fullPath,\r\n () => {\r\n updateHistoryState();\r\n }\r\n);\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _cache[2] || (_cache[2] = _createTextVNode(\" 当前位置: \")),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(props.crumbs, (item, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: index }, [\n (index != props.crumbs.length - 1)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createVNode(_component_router_link, {\n class: \"crumbs-item\",\n to: handleToObj(item)\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.meta?.title), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _cache[0] || (_cache[0] = _createTextVNode(\" / \"))\n ], 64))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(item.meta?.title), 1),\n (_history.value.taskName && !progress.value)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _cache[1] || (_cache[1] = _createTextVNode(\" / \")),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(decodeURIComponent(_history.value.taskName)), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 64))\n ], 64))\n }), 128))\n ]),\n (progress.value)\n ? (_openBlock(), _createBlock(TaskProgress, {\n key: 0,\n current: progress.value\n }, null, 8, [\"current\"]))\n : _createCommentVNode(\"\", true),\n (help.value)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n style: {\"text-decoration\":\"underline\"},\n href: help.value.link,\n target: \"_blank\"\n }, _toDisplayString(help.value.title), 9, _hoisted_6))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_7))\n ])\n ]))\n}\n}\n\n})","\r\n \r\n \r\n \r\n 当前位置:\r\n \r\n \r\n {{ item.meta?.title }}\r\n /\r\n \r\n \r\n {{ item.meta?.title }}\r\n \r\n /\r\n {{ decodeURIComponent(_history.taskName) }}\r\n \r\n \r\n \r\n \r\n \r\n {{ help.title }}\r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./MainCrumb.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MainCrumb.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"innerHTML\"]\n\nimport { onMounted, ref, watch } from \"vue\";\r\nimport { CloseCircleOutlined } from \"@ant-design/icons-vue\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ScrollNoitce',\n props: {\r\n content: {\r\n type: String,\r\n default: \"\",\r\n },\r\n color: {\r\n type: String,\r\n default: \"#FF7D00\",\r\n },\r\n fontSize: {\r\n type: Number,\r\n default: 14,\r\n },\r\n speed: {\r\n type: Number,\r\n default: 0,\r\n },\r\n bgColor: {\r\n type: String,\r\n default: \"#FFF7E8\",\r\n },\r\n height: {\r\n type: Number,\r\n default: 40,\r\n },\r\n},\n emits: [\"closeScrollNotice\"],\n setup(__props, { emit: __emit }) {\n\r\nconst emit = __emit;\r\n\r\n/**\r\n * ScrollNoitce 公告栏跑马灯\r\n * @description 从右往左的跑马灯\r\n * @property {String} content 显示的内容,支持html\r\n * @property {String} color 文字颜色,默认#FF7D00\r\n * @property {Number} fontSize 文字大小,默认14\r\n * @property {Number} speed 滚动速度,单位s(播放一次所用时间,默认根据内容宽度计算时间)\r\n * @property {String} bgColor 背景颜色,默认#FFF7E8\r\n * @property {Number} height 背景高度,默认40\r\n */\r\nconst props = __props;\r\nconst DEFAULT_SPEED = ref(143);\r\nconst title = ref(\"\");\r\nconst speed = ref(0);\r\nconst marqueeTitle = ref(null);\r\nwatch(\r\n () => props.content,\r\n (val) => {\r\n if (val) title.value = val;\r\n calcSpeed();\r\n },\r\n { deep: true }\r\n);\r\nwatch(\r\n () => props.speed,\r\n (val) => {\r\n speed.value = val;\r\n }\r\n);\r\nconst calcSpeed = () => {\r\n if (title.value !== \"\" && props.speed === 0) {\r\n let width = (marqueeTitle.value! as Element).clientWidth;\r\n speed.value = +Number(width / DEFAULT_SPEED.value).toFixed(2);\r\n }\r\n};\r\nonMounted(() => {\r\n if (props.content) title.value = props.content;\r\n if(props.speed) speed.value = props.speed;\r\n calcSpeed();\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"marquee\",\n style: _normalizeStyle({ backgroundColor: props.bgColor, height: props.height + 'px' })\n }, [\n _createElementVNode(\"span\", {\n class: \"marquee__title\",\n ref_key: \"marqueeTitle\",\n ref: marqueeTitle,\n style: _normalizeStyle({ color: props.color, fontSize: props.fontSize + 'px', animationDuration: speed.value + 's', '--speed': speed.value }),\n innerHTML: title.value\n }, null, 12, _hoisted_1),\n _createTextVNode(\" \" + _toDisplayString(title.value) + \" \" + _toDisplayString(props.content) + \" \", 1),\n _createVNode(_unref(CloseCircleOutlined), {\n class: \"marquee__close\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('closeScrollNotice')))\n })\n ], 4))\n}\n}\n\n})","\r\n \r\n \r\n {{ title }} {{ props.content }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n","import script from \"./ScrollNoitce.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ScrollNoitce.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ScrollNoitce.vue?vue&type=style&index=0&id=1bc25470&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bc25470\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createStaticVNode as _createStaticVNode } from \"vue\"\nimport _imports_0 from '@/assets/images/h5_qrcode.png'\nimport _imports_1 from '@/assets/images/wechat_qrcode.png'\n\n\nconst _hoisted_1 = { class: \"sideBar\" }\nconst _hoisted_2 = { class: \"sideBar-item\" }\nconst _hoisted_3 = { class: \"sideBar-item-qrcode\" }\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = {\n key: 1,\n src: _imports_1,\n alt: \"客服二维码\"\n}\n\nimport { useUserStore } from \"@/store\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SideBar',\n setup(__props) {\n\r\nconst UserStore = useUserStore();\r\nconst openWindow = (link: string) => {\r\n window.open(link, \"_blank\");\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _cache[8] || (_cache[8] = _createStaticVNode(\"手机改卷\", 1)),\n _createElementVNode(\"div\", {\n class: \"sideBar-item\",\n title: \"点击下载扫描客户端\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\r\n openWindow(\r\n 'https://static.21cnjy.com/yj/23eb66ebe92e216c5116f05383fdcb35-1726797896771.21.1.zip?filename=%E4%BA%8C%E4%B8%80%E9%98%85%E5%8D%B7%E6%89%AB%E6%8F%8F%E5%AE%A2%E6%88%B7%E7%AB%AF_v2.21.1.zip'\r\n )\r\n ))\n }, _cache[2] || (_cache[2] = [\n _createElementVNode(\"div\", { class: \"sideBar-item-icon printer\" }, null, -1),\n _createElementVNode(\"div\", { class: \"sideBar-item-text\" }, [\n _createTextVNode(\"扫描\"),\n _createElementVNode(\"br\"),\n _createTextVNode(\"客户端\")\n ], -1)\n ])),\n _createElementVNode(\"div\", {\n class: \"sideBar-item\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openWindow('https://yj.21cnjy.com/help/list2')))\n }, _cache[3] || (_cache[3] = [\n _createElementVNode(\"div\", { class: \"sideBar-item-icon help\" }, null, -1),\n _createElementVNode(\"div\", { class: \"sideBar-item-text\" }, \"帮助中心\", -1)\n ])),\n _createElementVNode(\"div\", _hoisted_2, [\n _cache[6] || (_cache[6] = _createElementVNode(\"div\", { class: \"sideBar-item-icon customerService\" }, null, -1)),\n _cache[7] || (_cache[7] = _createElementVNode(\"div\", { class: \"sideBar-item-text\" }, \"联系客服\", -1)),\n _createElementVNode(\"div\", _hoisted_3, [\n _cache[4] || (_cache[4] = _createElementVNode(\"div\", null, \"电话:15655175257\", -1)),\n _cache[5] || (_cache[5] = _createElementVNode(\"div\", null, \"微信扫码咨询客服\", -1)),\n (_unref(UserStore).userInfo.qrCode)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _unref(UserStore).userInfo.qrCode,\n alt: \"客服二维码\"\n }, null, 8, _hoisted_4))\n : (_openBlock(), _createElementBlock(\"img\", _hoisted_5))\n ])\n ])\n ]))\n}\n}\n\n})","\r\n \r\n \r\n \r\n 手机改卷\r\n \r\n \r\n \r\n \r\n \r\n \r\n 扫描客户端\r\n \r\n \r\n \r\n 帮助中心\r\n \r\n \r\n \r\n 联系客服\r\n \r\n 电话:15655175257\r\n 微信扫码咨询客服\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import script from \"./SideBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SideBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./SideBar.vue?vue&type=style&index=0&id=fb960482&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-fb960482\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"notice-mask\"\n}\nconst _hoisted_2 = { class: \"notice-container\" }\nconst _hoisted_3 = { class: \"notice-contnet\" }\nconst _hoisted_4 = { class: \"version-info\" }\nconst _hoisted_5 = { class: \"ml50\" }\nconst _hoisted_6 = { class: \"update-info\" }\nconst _hoisted_7 = { class: \"update-content\" }\n\nimport { useUserStore } from \"@/store\";\r\nimport { onMounted, ref, watch } from \"vue\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NoticeDialog',\n props: {\r\n noticeInfos: {\r\n type: Array,\r\n defulat: [],\r\n },\r\n},\n setup(__props) {\n\r\nconst props = __props;\r\nconst userStore = useUserStore();\r\nconst showNotice = ref(false);\r\nwatch(\r\n () => userStore.userInfo.isNewVersion,\r\n (newValue) => {\r\n showNotice.value = newValue === false;\r\n }\r\n);\r\nconst onClose = () => {\r\n userStore.userInfo.isNewVersion = true;\r\n};\r\nonMounted(()=>{\r\n showNotice.value = userStore.userInfo.isNewVersion === false;\r\n console.log(props.noticeInfos,'props.noticeInfos')\r\n})\r\n\nreturn (_ctx: any,_cache: any) => {\n return (showNotice.value && props.noticeInfos?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: \"notice-close\",\n onClick: onClose\n }, \"x\"),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, \"更新版本:\" + _toDisplayString(props.noticeInfos[0]), 1),\n _createElementVNode(\"span\", _hoisted_5, \"更新时间:\" + _toDisplayString(props.noticeInfos[1]), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _cache[0] || (_cache[0] = _createElementVNode(\"div\", { class: \"update-title\" }, \"更新内容\", -1)),\n _createElementVNode(\"div\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(props.noticeInfos.slice(2, props.noticeInfos.length), (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"mb5\",\n key: index\n }, _toDisplayString(index + 1) + \"、\" + _toDisplayString(item), 1))\n }), 128))\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","\r\n \r\n \r\n x\r\n \r\n \r\n 更新版本:{{ props.noticeInfos[0] }}\r\n 更新时间:{{ props.noticeInfos[1] }}\r\n \r\n \r\n 更新内容\r\n \r\n \r\n {{ index + 1 }}、{{ item }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./NoticeDialog.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NoticeDialog.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vShow as _vShow, createVNode as _createVNode, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bg-gray app-content flex flex-column\" }\n\nimport MainHeader from \"../common/MainHeader.vue\";\r\nimport MainCrumb from \"../common/MainCrumb.vue\";\r\nimport ScrollNoitce from \"../common/ScrollNoitce.vue\";\r\nimport SideBar from \"../common/SideBar.vue\";\r\nimport NoticeDialog from \"@/components/util/NoticeDialog.vue\";\r\nimport { RouteLocationMatched, useRoute } from \"vue-router\";\r\nimport { computed, ComputedRef, onMounted, ref } from \"vue\";\r\nimport { useUserStore } from \"@/store\";\r\nimport { useGlobalStore } from \"@/store\";\r\nimport { request } from \"@/services\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'LayoutTask',\n setup(__props) {\n\r\nconst userStore = useUserStore();\r\nconst GlobalStore = useGlobalStore();\r\nconst route = useRoute();\r\nconst fullScreen: ComputedRef = computed(() => {\r\n return GlobalStore.fullScreen && (route.meta.allowFull as boolean);\r\n});\r\nconst parent: ComputedRef = computed(() => {\r\n return route.meta && route.meta.parent ? (route.meta.parent as string) : \"\";\r\n});\r\nconst showCrumb: ComputedRef = computed(() => {\r\n return route.meta && route.meta.crumb ? (route.meta.crumb as boolean) : false;\r\n});\r\nconst crumbs: ComputedRef = computed(() => {\r\n return route.matched;\r\n});\r\nconst popNoticeInfos = ref([]);\r\nconst rollNotice = ref(\"\");\r\nconst scrollNoticeShow = ref(false);\r\n// 关闭滚动公告\r\nconst closeScrollNotice = () => {\r\n scrollNoticeShow.value = false;\r\n GlobalStore.ScrollNoitceShow = false;\r\n};\r\nonMounted(() => {\r\n // 获取公告\r\n request.get(\"/common/get-notice\").then((res) => {\r\n popNoticeInfos.value = res.data.popUpNotice;\r\n let now = new Date();\r\n let noticeTime = new Date(res.data.abortTime);\r\n if (now < noticeTime && GlobalStore.ScrollNoitceShow) {\r\n scrollNoticeShow.value = true;\r\n rollNotice.value = res.data.rollNotice;\r\n }\r\n });\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _withDirectives(_createVNode(MainHeader, { parent: parent.value }, null, 8, [\"parent\"]), [\n [_vShow, !fullScreen.value]\n ]),\n (scrollNoticeShow.value)\n ? (_openBlock(), _createBlock(ScrollNoitce, {\n key: 0,\n content: rollNotice.value,\n speed: 20,\n onCloseScrollNotice: closeScrollNotice\n }, null, 8, [\"content\"]))\n : _createCommentVNode(\"\", true),\n (showCrumb.value)\n ? _withDirectives((_openBlock(), _createBlock(MainCrumb, {\n key: 1,\n crumbs: crumbs.value\n }, null, 8, [\"crumbs\"])), [\n [_vShow, !fullScreen.value]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_router_view, {\n class: _normalizeClass([\"flex_1 mt20 mb20\", { 'content-wrap': !fullScreen.value }])\n }, null, 8, [\"class\"])\n ]),\n _withDirectives(_createVNode(SideBar, null, null, 512), [\n [_vShow, !fullScreen.value && _unref(userStore).userInfo.source === 0 && !_unref(userStore).userInfo.ico]\n ]),\n _createVNode(NoticeDialog, { noticeInfos: popNoticeInfos.value }, null, 8, [\"noticeInfos\"])\n ], 64))\n}\n}\n\n})","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./LayoutTask.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LayoutTask.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"flex flex-align-center flex-center\" }\n\nimport { onMounted } from \"vue\";\r\nimport MainHeader from \"../common/MainHeader.vue\";\r\nimport NotFound from \"../common/NotFound.vue\";\r\nimport { useRouter } from \"vue-router\";\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NotFound',\n setup(__props) {\n\r\nconst Router = useRouter();\r\nonMounted(() => {\r\n setTimeout(() => {\r\n Router.replace(\"/\");\r\n }, 2000);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(MainHeader),\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(NotFound, { \"empty-text\": \"页面找不到...\" })\n ])\n ], 64))\n}\n}\n\n})","\r\n \r\n \r\n \r\n \r\n\r\n\r\n","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from \"vue-router\";\r\nimport layoutTask from \"@/components/layout/LayoutTask.vue\";\r\nimport NotFound from \"@/components/layout/NotFound.vue\";\r\nimport { useUserStore } from \"@/store\";\r\n// import { message } from \"ant-design-vue\";\r\n// 这个地方 需要手动将pinia实例注入到useUserStore,否则获取不到pinia实例\r\nconst routes: Array = [\r\n { path: \"/\", redirect: { path: \"/task\" } },\r\n { path: \"/login\", name: \"Login\", component: () => import(\"@/views/login/LoginView.vue\"), meta: { nologin: true } },\r\n // 考试管理\r\n {\r\n name: \"Task\",\r\n path: \"/task\",\r\n meta: { parent: \"Task\", title: \"考试管理\", link: \"/task\" },\r\n component: layoutTask,\r\n redirect: \"/task\", //解决面包屑跳转考试管理没有渲染内容\r\n children: [\r\n {\r\n name: \"TaskList\",\r\n path: \"\",\r\n component: () => import(\"@/views/task/taskList/TaskList.vue\"),\r\n meta: { parent: \"Task\", title: \"考试管理\", link: \"/task\", crumb: false },\r\n },\r\n {\r\n name: \"TaskCreate\",\r\n path: \"create\",\r\n component: () => import(\"@/views/task/taskCreate/TaskCreate.vue\"),\r\n meta: { parent: \"Task\", title: \"创建任务\", link: \"/task/create\", crumb: true },\r\n },\r\n {\r\n name: \"TaskEdit\",\r\n path: \"edit/:taskId\",\r\n component: () => import(\"@/views/task/taskCreate/TaskCreate.vue\"),\r\n meta: { parent: \"Task\", title: \"编辑任务\", link: \"/task/edit\", crumb: true },\r\n },\r\n {\r\n name: \"TikaSetting\",\r\n path: \"tikaSetting/:taskId&:taskName\",\r\n component: () => import(\"@/views/task/tikaSetting/TikaSetting.vue\"),\r\n meta: {\r\n parent: \"Task\",\r\n title: \"题卡设置\",\r\n link: \"/task/tikaSetting\",\r\n crumb: true,\r\n help: {\r\n link: \"https://yj.21cnjy.com/help/video2/48\",\r\n title: \"如何进行题卡设置\",\r\n },\r\n progress: 1, //是否有任务进度模块\r\n },\r\n },\r\n {\r\n name: \"MarkSetting\",\r\n path: \"markSetting/:taskId&:taskName\",\r\n component: () => import(\"@/views/task/markSetting/MarkSetting.vue\"),\r\n meta: {\r\n parent: \"Task\",\r\n title: \"阅卷设置\",\r\n link: \"/task/markSetting\",\r\n crumb: true,\r\n help: {\r\n link: \"https://yj.21cnjy.com/help/video2/50\",\r\n title: \"如何进行阅卷设置\",\r\n },\r\n progress: 2, //是否有任务进度模块\r\n },\r\n },\r\n {\r\n name: \"PaperScan\",\r\n path: \"paperScan/:taskId&:taskName\",\r\n component: () => import(\"@/views/task/paperScan/PaperScan.vue\"),\r\n meta: {\r\n parent: \"Task\",\r\n title: \"扫描答卷\",\r\n link: \"/task/paperScan\",\r\n crumb: true,\r\n help: {\r\n link: \"https://yj.21cnjy.com/help/video2/52\",\r\n title: \"如何进行题卡扫描\",\r\n },\r\n progress: 3, //是否有任务进度模块\r\n },\r\n },\r\n {\r\n name: \"ProgressMonitoring\",\r\n path: \"progressMonitoring/:taskId&:taskName\",\r\n component: () => import(\"@/views/task/progressMonitoring/ProgressMonitoring.vue\"),\r\n meta: {\r\n parent: \"Task\",\r\n title: \"进度监控\",\r\n link: \"/task/progressMonitoring\",\r\n crumb: true,\r\n progress: 4, //是否有任务进度模块\r\n },\r\n },\r\n {\r\n name: \"ExceptionHandling\",\r\n path: \"exceptionHandling/:taskId&:taskName\",\r\n component: () => import(\"@/views/task/exceptionHandling/ExceptionHandling.vue\"),\r\n meta: {\r\n parent: \"Task\",\r\n title: \"异常处理\",\r\n link: \"/task/exceptionHandling\",\r\n crumb: true,\r\n help: {\r\n link: \"https://yj.21cnjy.com/help/video2/56\",\r\n title: \"如何进行异常处理\",\r\n },\r\n progress: 5, //是否有任务进度模块\r\n },\r\n },\r\n {\r\n name: \"ScoreRelease\",\r\n path: \"scoreRelease/:taskId&:taskName\",\r\n component: () => import(\"@/views/task/scoreRelease/ScoreRelease.vue\"),\r\n meta: {\r\n parent: \"Task\",\r\n title: \"成绩发布\",\r\n link: \"/task/scoreRelease\",\r\n crumb: true,\r\n help: {\r\n link: \"https://yj.21cnjy.com/help/video2/57\",\r\n title: \"如何进行成绩发布\",\r\n },\r\n progress: 6, //是否有任务进度模块\r\n },\r\n },\r\n {\r\n name: \"ToolBox\",\r\n path: \"toolBox/:taskId\",\r\n component: () => import(\"@/views/task/toolBox/ToolBox.vue\"),\r\n meta: { parent: \"Task\", title: \"工具箱\", link: \"/task/toolBox\", crumb: true },\r\n children: [\r\n {\r\n name: \"OrinalPaper\",\r\n path: \"orinalPaper\",\r\n props: true,\r\n component: () => import(\"@/views/task/orinalPaper/OrinalPaper.vue\"),\r\n meta: { parent: \"Task\", title: \"下载原卷\", link: \"/task/toolBox/orinalPaper\", crumb: true },\r\n },\r\n {\r\n name: \"ScoreCorrection\",\r\n path: \"scoreCorrection\",\r\n props: true,\r\n component: () => import(\"@/views/task/scoreCorrection/ScoreCorrection.vue\"),\r\n meta: { parent: \"Task\", title: \"评分修正\", link: \"/task/scoreCorrection\", crumb: true },\r\n },\r\n {\r\n name: \"ExceptionCheck\",\r\n path: \"exceptionCheck\",\r\n props: true,\r\n component: () => import(\"@/views/task/scoreCorrection/ScoreCorrection.vue\"),\r\n meta: { parent: \"Task\", title: \"异常学生校验\", link: \"/task/exceptionCheck\", crumb: true },\r\n },\r\n {\r\n name: \"ReviewManage\",\r\n path: \"reviewManage\",\r\n props: true,\r\n component: () => import(\"@/views/task/reviewManage/ReviewManage.vue\"),\r\n meta: { parent: \"Task\", title: \"阅卷管理\", link: \"/task/reviewManage\", crumb: true },\r\n },\r\n {\r\n name: \"AdditionalRecording\",\r\n path: \"additionalRecording\",\r\n props: true,\r\n component: () => import(\"@/views/task/additionalRecording/AdditionalRecording.vue\"),\r\n meta: { parent: \"Task\", title: \"成绩补录\", link: \"/task/additionalRecording\", crumb: true },\r\n },\r\n {\r\n name: \"ReviewManage\",\r\n path: \"reviewManage\",\r\n props: true,\r\n component: () => import(\"@/views/task/reviewManage/ReviewManage.vue\"),\r\n meta: { parent: \"ToolBox\", title: \"阅卷管理\", link: \"/task/reviewManage\", crumb: true },\r\n },\r\n {\r\n name: \"AdditionalRecording\",\r\n path: \"additionalRecording\",\r\n props: true,\r\n component: () => import(\"@/views/task/additionalRecording/AdditionalRecording.vue\"),\r\n meta: { parent: \"ToolBox\", title: \"成绩补录\", link: \"/task/additionalRecording\", crumb: true },\r\n },\r\n ],\r\n },\r\n {\r\n name: \"SpotCheck\",\r\n path: \"spotCheck\",\r\n component: () => import(\"@/views/task/spotCheck/SpotCheck.vue\"),\r\n meta: { parent: \"Task\", title: \"抽查\", link: \"/task/spotCheck\", crumb: true },\r\n },\r\n ],\r\n },\r\n // 网上阅卷\r\n {\r\n name: \"OnlineCheck\",\r\n path: \"/onlineCheck\",\r\n component: layoutTask,\r\n redirect: { path: \"/onlineCheck/list\" },\r\n meta: { parent: \"OnlineCheck\", title: \"网上阅卷\", link: \"/reviewList\" },\r\n children: [\r\n {\r\n name: \"ReviewList\",\r\n path: \"list\",\r\n component: () => import(\"@/views/onlineCheck/reviewList/ReviewList.vue\"),\r\n meta: { parent: \"OnlineCheck\", title: \"任务列表\", link: \"/reviewList\", crumb: true },\r\n },\r\n {\r\n name: \"Problem\",\r\n path: \"problem\",\r\n component: () => import(\"@/views/onlineCheck/problemPaper/ProblemPaper.vue\"),\r\n meta: { parent: \"OnlineCheck\", title: \"问题卷处理\", link: \"/problem\", crumb: true },\r\n },\r\n {\r\n name: \"Evaluations\",\r\n path: \"evaluations\",\r\n component: () => import(\"@/views/onlineCheck/evaluationsPaper/EvaluationsPaper.vue\"),\r\n meta: { parent: \"OnlineCheck\", title: \"三评卷处理\", link: \"/evaluations\", crumb: true },\r\n },\r\n {\r\n name: \"ReviewProgress\",\r\n path: \"progress\",\r\n component: () => import(\"@/views/onlineCheck/reviewProgress/ReviewProgress.vue\"),\r\n meta: { parent: \"OnlineCheck\", title: \"评阅进度\", link: \"/progress\", crumb: true },\r\n },\r\n {\r\n name: \"Arbitration\",\r\n path: \"arbitration\",\r\n component: () => import(\"@/views/onlineCheck/arbitrationPaper/ArbitrationPaper.vue\"),\r\n meta: { parent: \"OnlineCheck\", title: \"仲裁卷处理\", link: \"/arbitration\", crumb: true },\r\n },\r\n {\r\n name: \"Review\",\r\n path: \"review\",\r\n component: () => import(\"@/views/onlineCheck/reviewPage/ReviewPage.vue\"),\r\n meta: { parent: \"OnlineCheck\", title: \"评阅页面\", link: \"/review\", crumb: true, allowFull: true },\r\n },\r\n ],\r\n },\r\n // 系统设置\r\n {\r\n name: \"System\",\r\n path: \"/system\",\r\n redirect: { path: \"/system/information\" },\r\n component: layoutTask,\r\n children: [\r\n {\r\n name: \"Information\",\r\n path: \"information\",\r\n component: () => import(\"@/views/system/basicInformation/BasicInformation.vue\"),\r\n meta: { parent: \"System\", title: \"师生信息\", link: \"/information\", crumb: true },\r\n },\r\n {\r\n name: \"Alliance\",\r\n path: \"alliance\",\r\n component: () => import(\"@/views/system/allianceSetting/AllianceSetting.vue\"),\r\n meta: { parent: \"System\", title: \"联盟设置\", link: \"/alliance\", crumb: true },\r\n },\r\n {\r\n name: \"Authority\",\r\n path: \"authority\",\r\n component: () => import(\"@/views/system/roleAuthority/RoleAuthority.vue\"),\r\n meta: { parent: \"System\", title: \"权限设置\", link: \"/authority\", crumb: true },\r\n },\r\n {\r\n name: \"Operation\",\r\n path: \"operation\",\r\n component: () => import(\"@/views/system/operationLog/OperationLog.vue\"),\r\n meta: { parent: \"System\", title: \"操作记录\", link: \"/operation\", crumb: true },\r\n },\r\n ],\r\n meta: { parent: \"System\", title: \"系统设置\", link: \"/system\" },\r\n },\r\n\r\n { path: \"/:pathMatch(.*)*\", name: \"NotFound\", component: NotFound },\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes,\r\n});\r\nrouter.beforeEach((to) => {\r\n // 如果没有登录信息且页面需要登录\r\n const UserStore = useUserStore();\r\n if (!to.meta.nologin && !UserStore.userInfo.authorization) {\r\n router.replace({ path: \"/login\" });\r\n return false;\r\n }\r\n /**\r\n * 1.当响应的用户角色(type)==0 && 角色权限(customRole)==null 只显示网上阅卷模块 此时用户的角色为普通老师\r\n 2.当响应的用户角色(type)==0 && 角色权限(customRole)!=null 只显示网上阅卷+考试管理模块 此时用户的角色为普通老师,但管理员给与给老师自定义角色权限\r\n 3.当响应的用户角色(type)==1 显示网上阅卷+考试管理+系统设置模块 此时用户的角色为学校管理员\r\n */\r\n let auth = 0;\r\n if (UserStore.userInfo.type == 1) {\r\n auth = 3;\r\n } else if (UserStore.userInfo.type == 0 && UserStore.userInfo.customRole == null) {\r\n auth = 1;\r\n } else {\r\n auth = 2;\r\n }\r\n if (auth === 2 && to.meta.parent == \"System\") {\r\n // message.error(\"您没有权限访问此页面\");\r\n router.replace({ path: \"/task\" });\r\n return false;\r\n } else if (auth === 1 && to.meta.parent != \"OnlineCheck\") {\r\n // message.error(\"您没有权限访问此页面\");\r\n router.replace({ name: \"OnlineCheck\" });\r\n return false;\r\n }\r\n // 路由发生变化修改页面title\r\n // if (to.meta.title) {\r\n // document.title = \"二一阅卷—\" + to.meta.title;\r\n // }\r\n});\r\nrouter.onError((error) => {\r\n const pattern = /Loading chunk (\\d)+ failed/g;\r\n const isChunkLoadFailed = error.message.match(pattern);\r\n if (isChunkLoadFailed) {\r\n router.go(0);\r\n }\r\n});\r\nexport default router;\r\n","import axios from \"axios\";\r\n\r\nimport type { AxiosInstance, AxiosRequestConfig, AxiosResponse, CreateAxiosDefaults } from \"axios\";\r\n// import type { RequestInterceptors } from \"./type\";\r\nimport { useUserStore } from \"@/store\";\r\nimport router from \"@/router\";\r\nimport qs from \"qs\";\r\nimport { message } from \"ant-design-vue\";\r\ndeclare module \"axios\" {\r\n export interface AxiosRequestConfig {\r\n repeatRequest?: boolean;\r\n requestId?: string; // 添加请求ID\r\n }\r\n}\r\nlet UserStore: any = null; //useUserStore();\r\n// 队列map\r\nconst pendingMap = new Map();\r\n// 获取请求key 作为map键\r\nfunction getRequestKey(config: AxiosRequestConfig) {\r\n return (config.method || \"\") + config.url + \"?\" + qs.stringify(config.params);\r\n}\r\n// 加入map队列,如果已存在则清除前一个,避免重复请求\r\nfunction setPendingMap(config: AxiosRequestConfig) {\r\n const controller = new AbortController();\r\n config.signal = controller.signal;\r\n const requestKey = getRequestKey(config);\r\n const requestId = config.requestId || requestKey; // 使用请求ID作为键\r\n if (pendingMap.has(requestId)) {\r\n const { controller: oldController } = pendingMap.get(requestId)!;\r\n oldController.abort();\r\n pendingMap.delete(requestId);\r\n } else {\r\n pendingMap.set(requestId, {controller, requestId});\r\n }\r\n}\r\ninterface IResponse {\r\n code?: number;\r\n message?: string;\r\n data?: any;\r\n headers?: any;\r\n}\r\nclass Request {\r\n // axios 实例\r\n private instance: AxiosInstance;\r\n // 拦截器对象\r\n // private interceptorsObj?: RequestInterceptors;\r\n // 基础配置\r\n private defaultConfig: CreateAxiosDefaults = {\r\n baseURL: \"/api/\",\r\n timeout: 5 * 60 * 1000,\r\n repeatRequest: false, //允许重复请求 默认不允许\r\n };\r\n constructor(config: CreateAxiosDefaults) {\r\n this.instance = axios.create(Object.assign(this.defaultConfig, config));\r\n // 请求拦截器\r\n this.instance.interceptors.request.use(\r\n async (config) => {\r\n if (!config.repeatRequest) {\r\n setPendingMap(config);\r\n }\r\n if (!UserStore) {\r\n UserStore = useUserStore();\r\n }\r\n await updateTimeHandle();\r\n if (UserStore.userInfo.authorization) {\r\n config.headers.Authorization = \"Bearer \" + UserStore.userInfo.authorization;\r\n }\r\n return config;\r\n },\r\n (err: any) => err\r\n );\r\n\r\n // 响应拦截器\r\n this.instance.interceptors.response.use(\r\n (res: AxiosResponse) => {\r\n const config = res.config;\r\n const key = getRequestKey(config);\r\n pendingMap.delete(key);\r\n // 文件流\r\n if (res.config.responseType === \"blob\" && res.status === 200) {\r\n return res;\r\n }\r\n if (res.data.code !== 200 || (res.data.data && res.data.data.code && res.data.data.code !== 200)) {\r\n // 配置是否显示报错信息\r\n if (!res.config.headers.hideError) {\r\n message.error(res.data.data && res.data.data.msg ? res.data.data.msg : res.data.message);\r\n }\r\n if (res.data.code === 401) {\r\n // 遍历map请求队列取消请求后删除\r\n pendingMap.forEach((value, key) => {\r\n value.controller.abort();\r\n pendingMap.delete(key);\r\n });\r\n UserStore.logout();\r\n router.replace({ name: \"Login\" });\r\n }\r\n }\r\n return res.data;\r\n },\r\n (err: any) => {\r\n if (axios.isCancel(err)) {\r\n return new Promise(() => {\r\n console.log(\"取消请求\",err);\r\n });\r\n } else {\r\n message.error(err.response.data.message);\r\n return err.response.data;\r\n }\r\n }\r\n );\r\n }\r\n public request(config: AxiosRequestConfig): Promise {\r\n return this.instance.request(config);\r\n }\r\n public get(url: string, config?: AxiosRequestConfig): Promise {\r\n return this.instance.get(url, config);\r\n }\r\n public post(url: string, data?: { [arg: string]: any }, config?: AxiosRequestConfig): Promise {\r\n return this.instance.post(url, data, config);\r\n }\r\n public put(url: string, data?: { [arg: string]: any }, config?: AxiosRequestConfig): Promise {\r\n return this.instance.put(url, data, config);\r\n }\r\n public delete(url: string, config?: AxiosRequestConfig): Promise {\r\n return this.instance.delete(url, config);\r\n }\r\n public cancelRequest(requestId: string) {\r\n const request = pendingMap.get(requestId);\r\n if (request) {\r\n request.controller.abort();\r\n pendingMap.delete(requestId);\r\n }\r\n }\r\n}\r\n// 登录时效判断\r\nconst updateTimeHandle = async () => {\r\n if (!UserStore) return;\r\n // 超过时间清除,小于30分钟更新\r\n const timeDiff = new Date(UserStore.userInfo.expiresAt).getTime() - new Date().getTime();\r\n if (timeDiff < 1000 * 60 * 30 && timeDiff > 0) {\r\n await axios\r\n .get(\"/api/user/refresh-authorization\", {\r\n headers: {\r\n Authorization: \"Bearer \" + UserStore.userInfo.authorization,\r\n },\r\n })\r\n .then((res) => {\r\n UserStore.userInfo.authorization = res.data.authorization;\r\n UserStore.userInfo.expiresAt = res.data.expiresAt;\r\n });\r\n } else if (timeDiff < 0) {\r\n UserStore.logout();\r\n router.replace({ name: \"Login\" });\r\n }\r\n};\r\nexport default Request;\r\n","import { AxiosRequestConfig, CreateAxiosDefaults } from \"axios\";\r\nimport { message } from \"ant-design-vue\";\r\nimport Request from \"./request\";\r\nconst request = new Request({});\r\nconst handleDownload = (res: any, fileName?: string) => {\r\n // 解析 Content-Disposition 头来获取文件名\r\n let _fileName = \"\";\r\n // 这里 data 是返回来的二进制数据\r\n const blob = new Blob([res.data], {\r\n type: \"application/x-msdownload;charset=UTF-8\",\r\n });\r\n // 创建一个blob的对象链接\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n // 把获得的blob的对象链接赋值给新创建的这个 a 链接\r\n if (fileName) {\r\n _fileName = fileName;\r\n } else {\r\n const contentDisposition = res.headers ? (res.headers.get(\"Content-Disposition\") as string) : \"\";\r\n if (contentDisposition) {\r\n const filenameRegex = /filename\\*=UTF-8''(.*)/;\r\n const matches = filenameRegex.exec(contentDisposition);\r\n\r\n if (matches && matches[1]) {\r\n _fileName = decodeURIComponent(matches[1]);\r\n } else {\r\n // 如果没有filename*参数,尝试从Content-Disposition中获取文件名\r\n const filenameRegex2 = /filename=(.*)/;\r\n const matches2 = filenameRegex2.exec(contentDisposition);\r\n\r\n if (matches2 && matches2[1]) {\r\n _fileName = matches2[1].replace(/['\"]/g, \"\");\r\n }\r\n }\r\n }\r\n }\r\n link.setAttribute(\"download\", _fileName); // 设置下载文件名\r\n\r\n document.body.appendChild(link);\r\n // 使用js点击这个链接\r\n link.click();\r\n document.body.removeChild(link); // 下载完成移除元素\r\n window.URL.revokeObjectURL(url); // 释放blob对象\r\n};\r\nconst downloadFile = (method: string, url: string, config: AxiosRequestConfig, fileName?: string) => {\r\n let _data = {};\r\n let _params = {};\r\n if (method === \"GET\" || method === \"get\") {\r\n _params = config.params;\r\n } else {\r\n _data = config.data;\r\n }\r\n return new Request({\r\n url,\r\n method,\r\n params: _params,\r\n headers: config.headers,\r\n data: _data,\r\n responseType: \"blob\",\r\n })\r\n .request({\r\n url,\r\n method,\r\n params: _params,\r\n headers: config.headers,\r\n data: _data,\r\n responseType: \"blob\",\r\n })\r\n .then((res) => {\r\n // 如果文件报错需要转格式才能获取错误信息\r\n if (res.data.type === \"application/json\") {\r\n const reader = new FileReader();\r\n reader.readAsText(res.data, \"urf-8\");\r\n console.log(\"application/json\", reader);\r\n reader.onloadend = (e) => {\r\n const data = JSON.parse(e.target?.result as string);\r\n if (data.message) {\r\n message.error(data.message);\r\n } else {\r\n handleDownload(res, fileName);\r\n }\r\n };\r\n } else {\r\n handleDownload(res, fileName);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err, \"err\");\r\n message.error(\"下载失败!\");\r\n });\r\n};\r\nexport { request, downloadFile };\r\n","import { defineStore } from \"pinia\";\r\nimport { IUserInfo, IOption, ISemester, ISubject, IGrade, IPeriod, IVersionInfo } from \"@/type/common\";\r\nimport { request } from \"@/services\";\r\nimport { MessageInstance } from \"ant-design-vue/es/message\";\r\nimport { IReviewPaper } from \"@/type/review\";\r\n// 用户信息\r\nexport const useUserStore = defineStore(\"userInfo\", {\r\n state: () => ({\r\n userInfo: {} as IUserInfo,\r\n visitedTasks: [] as string[], //访问过的结束任务\r\n }),\r\n getters: {\r\n getUserInfo: (state) => state.userInfo,\r\n },\r\n actions: {\r\n setUserInfo(userInfo: IUserInfo) {\r\n this.userInfo = userInfo;\r\n },\r\n logout() {\r\n // 退出登录\r\n this.userInfo = {} as IUserInfo;\r\n this.visitedTasks = [];\r\n const GlobalStore = useGlobalStore();\r\n GlobalStore.logout();\r\n },\r\n },\r\n persist: true,\r\n});\r\n// 全局属性,需缓存的数据\r\nexport const useGlobalStore = defineStore(\"global\", {\r\n state: () => ({\r\n // 考试级别\r\n examLevel: [] as IOption[],\r\n // 考号类型\r\n examNumberType: [] as IOption[],\r\n // 考试类型\r\n examType: [] as IOption[],\r\n // 学年学期\r\n semester: [] as ISemester[],\r\n // 学科\r\n subjects: [] as ISubject[],\r\n // 年级\r\n grades: [] as IGrade[],\r\n // 操作子模块\r\n subModules: [] as IOption[],\r\n // 学段\r\n periods: [\r\n { name: \"小学\", code: 10 },\r\n { name: \"初中\", code: 20 },\r\n { name: \"高中\", code: 30 },\r\n ] as IPeriod[],\r\n periodObj: { 10: \"小学\", 20: \"初中\", 30: \"高中\" } as { [arg: number]: string },\r\n // 教师 id和name\r\n teachers: [] as { id: string; name: string }[],\r\n // 版本信息\r\n versionInfos: [] as IVersionInfo[],\r\n systemVersionNumber: \"\",\r\n systemVersionDate: \"\",\r\n fullScreen: false,\r\n ScrollNoitceShow: true,\r\n }),\r\n getters: {\r\n getCurrentSemesterId: (state) => (state.semester[0] ? state.semester[0].id : undefined),\r\n getExamNumberTypeOptions: (state) => state.examNumberType,\r\n getExamTypeOptions: (state) => state.examType,\r\n findExamNumberType: (state) => (code: string | number) => {\r\n return state.examNumberType.find((item:any) => item.code == code);\r\n },\r\n findExamType: (state) => (code: string) => {\r\n return state.examType.find((item:any) => item.code == code);\r\n },\r\n findExamLevel: (state) => (code: string | number) => {\r\n return state.examLevel.find((item:any) => item.code == code);\r\n },\r\n findSemester: (state) => (code: string) => {\r\n return state.semester.find((item:any) => item.code == code);\r\n },\r\n findGrade: (state) => (code: number | string) => {\r\n return state.grades.find((item:any) => item.code == code);\r\n },\r\n findPeriod: (state) => (code: number | string) => {\r\n return state.periods.find((period:any) => period.code == code);\r\n },\r\n filterSubject: (state) => (gradeCode: number) => {\r\n return state.subjects.filter((subject:any) => subject.gradeCode == gradeCode);\r\n },\r\n judgeOptionsIsNull: (state) => {\r\n return state.examLevel.length === 0;\r\n },\r\n judgeSemesterIsNull: (state) => {\r\n return state.semester.length === 0;\r\n },\r\n judgeSubjectIsNull: (state) => {\r\n return state.subjects.length === 0;\r\n },\r\n judgeGradeIsNull: (state) => {\r\n return state.grades.length === 0;\r\n },\r\n },\r\n actions: {\r\n logout() {\r\n this.examLevel = [];\r\n this.examNumberType = [];\r\n this.examType = [];\r\n this.semester = [];\r\n this.grades = [];\r\n this.subjects = [];\r\n this.teachers = [];\r\n this.subModules = [];\r\n this.ScrollNoitceShow = true;\r\n // this.$reset();\r\n // this.periods = [];\r\n },\r\n setFullScreen(state: boolean) {\r\n this.fullScreen = state;\r\n },\r\n setExamLevelOptions(examLevel: IOption[]) {\r\n this.examLevel = examLevel;\r\n },\r\n setExamNumberTypeOptions(examNumberType: IOption[]) {\r\n this.examNumberType = examNumberType;\r\n },\r\n setExamTypeOptions(examType: IOption[]) {\r\n this.examType = examType;\r\n },\r\n setSemesterOptions(semester: ISemester[]) {\r\n this.semester = semester;\r\n },\r\n setSubjectsOptions(subjects: ISubject[]) {\r\n this.subjects = subjects;\r\n },\r\n getFilterSubjects(gradeId: number) {\r\n return this.subjects.filter((item:any) => item.gradeCode == gradeId);\r\n },\r\n async getTeachers() {\r\n if (this.teachers.length === 0) {\r\n await request.get(\"/basics/teacher/get-all-map\").then((res) => {\r\n if (res.code === 200) {\r\n this.teachers = res.data;\r\n }\r\n });\r\n }\r\n return this.teachers;\r\n },\r\n },\r\n persist: true,\r\n});\r\n// 阅卷模块\r\nexport const markingStore = defineStore(\"marking\", {\r\n state: () => ({\r\n paperCaches: [] as IReviewPaper[],\r\n }),\r\n actions: {\r\n clearList() {\r\n // 清除list\r\n this.paperCaches = [];\r\n },\r\n },\r\n});\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\nimport _imports_0 from '@/assets/images/noFound.png'\n\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NotFound',\n props: {\r\n marginTop: {\r\n type: String,\r\n default: \"160\",\r\n },\r\n marginBottom: {\r\n type: String,\r\n default: \"0\",\r\n },\r\n emptyText: {\r\n type: String,\r\n default: \"暂无数据\",\r\n },\r\n},\n setup(__props) {\n\r\nconst props = __props;\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"no-found\",\n style: _normalizeStyle({ 'padding-top': props.marginTop + 'px', 'padding-bottom': props.marginBottom + 'px' })\n }, [\n _cache[0] || (_cache[0] = _createElementVNode(\"img\", {\n src: _imports_0,\n alt: \"\",\n srcset: \"\"\n }, null, -1)),\n _createElementVNode(\"div\", null, _toDisplayString(__props.emptyText), 1)\n ], 4))\n}\n}\n\n})","\r\n \r\n \r\n {{ emptyText }}\r\n \r\n\r\n\r\n","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"31\":\"4e46c2da\",\"36\":\"ee984aff\",\"49\":\"8eb6eddd\",\"107\":\"a427a622\",\"135\":\"ea469478\",\"173\":\"d61bbee9\",\"180\":\"dfbde60b\",\"184\":\"7b08b020\",\"203\":\"07e139ca\",\"210\":\"274441fd\",\"212\":\"3646192a\",\"233\":\"6dac3f37\",\"234\":\"e16b50b9\",\"280\":\"89b70143\",\"281\":\"d5ed9a2f\",\"287\":\"a798ebc6\",\"302\":\"143d2a70\",\"304\":\"8f0ce199\",\"346\":\"0490def8\",\"358\":\"26e01c80\",\"377\":\"838c760a\",\"430\":\"f11ecf56\",\"433\":\"2b852b33\",\"443\":\"0da14c23\",\"475\":\"e661cf57\",\"563\":\"d2a73c18\",\"572\":\"0c29a058\",\"602\":\"505f9e75\",\"605\":\"21cfb3d4\",\"621\":\"7283467a\",\"668\":\"5fe9b334\",\"687\":\"ba6a79e7\",\"689\":\"236efaf4\",\"758\":\"6d02c1a0\",\"760\":\"6c052b38\",\"790\":\"078282dc\",\"798\":\"755e2128\",\"803\":\"faa0625d\",\"898\":\"fca22307\",\"990\":\"b31d8b00\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + \"5851360c\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"yuejuan5.0:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"304\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkyuejuan5_0\"] = self[\"webpackChunkyuejuan5_0\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(1020); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","class","_defineComponent","__name","setup","__props","dayjs","UserStore","useUserStore","userInfo","ico","favicon","document","querySelector","createElement","rel","head","appendChild","href","ConfigProvider","config","theme","primaryColor","debounce","fn","delay","timer","args","clearTimeout","setTimeout","_ResizeObserver","window","ResizeObserver","isMobileDevice","test","navigator","userAgent","getCurrentDomain","location","hostname","redirectToAppropriateDomain","pcDomain","mobileDomain","currentDomain","Modal","confirm","title","content","icon","centered","onOk","replace","constructor","callback","super","onMounted","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createBlock","_unref","locale","zhCN","default","_withCtx","_createElementVNode","_createVNode","_","__exports__","mounted","el","style","position","cursor","startDragging","e","_dragging","_startX","clientX","_startY","clientY","computedStyle","getComputedStyle","_offsetX","parseInt","left","_offsetY","top","addEventListener","drag","stopDragging","right","bottom","removeEventListener","unmounted","_startDragging","_drag","_stopDragging","binding","value","disableButton","modifiers","prevent","handleClick","disabled","_handleClick","checkPermission","type","customRole","split","includes","arg","id","store","storeToRefs","updated","resizeHandle","width","height","borderLeft","borderBottom","zIndex","resize","getBoundingClientRect","stopResize","body","classList","remove","preventDefault","stopPropagation","add","options","setAttribute","src","info","currentSrc","getAttribute","h","maxWidth","objectFit","closable","destroyOnClose","maskClosable","maxHeight","wrapClassName","okText","newSrc","oldSrc","oldValue","modalElement","destroyAll","removeAttribute","pinia","createPinia","use","piniaPluginPersistedstate","app","createApp","App","router","mount","directive","vReClick","vPermission","vDrag","vResize","vPreview","_hoisted_2","_hoisted_3","_hoisted_4","key","_imports_0","alt","_hoisted_5","_hoisted_6","_hoisted_7","props","parent","String","useRouter","userStore","auth","computed","logout","name","handleButtonClick","async","request","get","params","scoreType","then","res","code","open","data","_component_router_link","_createElementBlock","source","schoolId","_createCommentVNode","_toDisplayString","schoolName","_normalizeClass","to","_createTextVNode","onClick","_withDirectives","_vShow","_hoisted_8","current","Number","taskName","emits","emit","__emit","route","useRoute","taskInfo","ref","linkTo","status","path","push","taskId","encodeURIComponent","state","history","subjectId","createId","getTaskProgress","toString","active","tkState","$event","CheckCircleFilled","yjState","djsmState","jdjkState","ycclState","cjfbState","crumbs","Object","help","meta","progress","_history","updateHistoryState","console","log","handleToObj","item","match","watch","fullPath","_Fragment","_renderList","index","length","decodeURIComponent","TaskProgress","link","target","color","fontSize","speed","bgColor","DEFAULT_SPEED","marqueeTitle","val","calcSpeed","deep","clientWidth","toFixed","_normalizeStyle","backgroundColor","ref_key","animationDuration","innerHTML","CloseCircleOutlined","_imports_1","openWindow","_createStaticVNode","qrCode","noticeInfos","Array","defulat","showNotice","isNewVersion","newValue","onClose","slice","GlobalStore","useGlobalStore","fullScreen","allowFull","showCrumb","crumb","matched","popNoticeInfos","rollNotice","scrollNoticeShow","closeScrollNotice","ScrollNoitceShow","popUpNotice","now","Date","noticeTime","abortTime","MainHeader","ScrollNoitce","onCloseScrollNotice","MainCrumb","SideBar","NoticeDialog","Router","NotFound","routes","redirect","component","nologin","layoutTask","children","createRouter","createWebHistory","process","beforeEach","authorization","onError","error","pattern","isChunkLoadFailed","message","go","pendingMap","Map","getRequestKey","method","url","qs","setPendingMap","controller","AbortController","signal","requestKey","requestId","has","oldController","abort","delete","set","Request","_defineProperty","baseURL","timeout","repeatRequest","this","instance","axios","create","assign","defaultConfig","interceptors","updateTimeHandle","headers","Authorization","err","response","responseType","hideError","msg","forEach","isCancel","Promise","post","put","cancelRequest","timeDiff","expiresAt","getTime","handleDownload","fileName","_fileName","blob","Blob","URL","createObjectURL","contentDisposition","filenameRegex","matches","exec","filenameRegex2","matches2","click","removeChild","revokeObjectURL","downloadFile","_data","_params","reader","FileReader","readAsText","onloadend","JSON","parse","result","catch","defineStore","visitedTasks","getters","getUserInfo","actions","setUserInfo","persist","examLevel","examNumberType","examType","semester","subjects","grades","subModules","periods","periodObj","teachers","versionInfos","systemVersionNumber","systemVersionDate","getCurrentSemesterId","undefined","getExamNumberTypeOptions","getExamTypeOptions","findExamNumberType","find","findExamType","findExamLevel","findSemester","findGrade","findPeriod","period","filterSubject","gradeCode","filter","subject","judgeOptionsIsNull","judgeSemesterIsNull","judgeSubjectIsNull","judgeGradeIsNull","setFullScreen","setExamLevelOptions","setExamNumberTypeOptions","setExamTypeOptions","setSemesterOptions","setSubjectsOptions","getFilterSubjects","gradeId","getTeachers","markingStore","paperCaches","clearList","marginTop","marginBottom","emptyText","srcset","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","charset","nc","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","bind","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","nonce","onLinkComplete","errorType","realHref","Error","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}