diff --git a/src/pom.xml.versionsBackup b/src/pom.xml.versionsBackup new file mode 100644 index 0000000..6abd710 --- /dev/null +++ b/src/pom.xml.versionsBackup @@ -0,0 +1,62 @@ + + + 4.0.0 + + com.my + graphite_digester_bg + 0.0.10 + src + src + + 17 + + + + org.springframework.boot + spring-boot-starter-parent + 3.1.5 + + + + + + org.springframework.boot + spring-boot-starter-web + + + com.fazecast + jSerialComm + 2.6.2 + + + org.java-websocket + Java-WebSocket + 1.5.4 + + + + + + + + org.xerial + sqlite-jdbc + 3.43.2.0 + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/src/src/main/resources/static/css/app.425bb5aa.css b/src/src/main/resources/static/css/app.425bb5aa.css new file mode 100644 index 0000000..4b3a63f --- /dev/null +++ b/src/src/main/resources/static/css/app.425bb5aa.css @@ -0,0 +1 @@ +.heating-plate[data-v-8bc66930]{background:#eeeff8;border:12px solid #e5e7f2}.tube-rack-slot .title[data-v-8bc66930]{font-size:16px;font-weight:700;letter-spacing:.06em;top:-45px;color:#d6d9f1}.tube-rack-slot.active .title[data-v-8bc66930]{color:#26d574}.tube-rack-slot .tube-rack[data-v-8bc66930]{background:#d6d9f1}.tube-rack-slot.active .tube-rack[data-v-8bc66930]{background:#1b1b1b}.tube-rack-slot .tube[data-v-8bc66930]{background:#fff}.tube-rack-slot.active .tube[data-v-8bc66930]{background:#26d574}.camera[data-v-8bc66930]{background:linear-gradient(180deg,rgba(5,10,39,.5),rgba(4,10,52,.5) 97%);-webkit-backdrop-filter:blur(194px);backdrop-filter:blur(194px)}.page-menu .item.active[data-v-4d7f5cfe]{background:linear-gradient(270deg,#3556fa,#007bff);color:#fff}.page-menu .item[data-v-4d7f5cfe]{cursor:pointer;color:#8799ab;padding-left:1.25rem;padding-right:1.25rem}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-5{margin-right:1.25rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.contents{display:contents}.h-0{height:0}.h-1\/4{height:25%}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.w-0{width:0}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-20{width:5rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-6{width:1.5rem}.w-full{width:100%}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.overflow-hidden{overflow:hidden}.\!rounded-full{border-radius:9999px!important}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.\!bg-blue-500{--tw-bg-opacity:1!important;background-color:rgb(59 130 246/var(--tw-bg-opacity))!important}.\!bg-transparent{background-color:transparent!important}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\!p-0{padding:0!important}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.\!leading-none{line-height:1!important}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#app,body,html{height:100%}.app-bg-default,body{background-color:#d2dfef}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6} \ No newline at end of file diff --git a/src/src/main/resources/static/img/login-pic.6cca7e2a.png b/src/src/main/resources/static/img/login-pic.6cca7e2a.png new file mode 100644 index 0000000..ffb2c00 Binary files /dev/null and b/src/src/main/resources/static/img/login-pic.6cca7e2a.png differ diff --git a/src/src/main/resources/static/js/app.7abc112c.js b/src/src/main/resources/static/js/app.7abc112c.js new file mode 100644 index 0000000..c967340 --- /dev/null +++ b/src/src/main/resources/static/js/app.7abc112c.js @@ -0,0 +1,2 @@ +(function(){"use strict";var e={5061:function(e,t,l){var a=l(9242),n=l(1020),u=l(4870),s=l(3396),i=(l(560),l(7139)),c=l.p+"img/calendar.b4191ee0.svg",o=l.p+"img/clock.92f34a38.svg",r=l.p+"img/progress-finish.e0222eda.svg",d=l.p+"img/logout.88f35477.svg";const p=(0,n.Q_)("AppStore",{state:()=>({accessToken:null,isDeviceReady:!1}),actions:{setAccessToken(e){this.accessToken=e},setIsDeviceReady(e){this.isDeviceReady=e}}});l(3429),l(5564);var v=l.p+"img/camera-off.93bcc134.svg",m=l.p+"img/bucket-full.e324e5ed.svg",f=l.p+"img/bucket-empty.631789af.svg",w=l(7327),g=l(1076);class _{static getClient(){return null===_.client&&(_.client=new _),_.client}constructor(){}async call(e,t){const l=p();let a={};a["App-Access-Token"]=l.accessToken;let n=`http://${window.location.hostname}:8080/api`;"192.168.8.10"===window.location.hostname&&(n="http://192.168.8.10/api");const u=await g.Z.post(`${n}/${e}`,t,{headers:a});if(!u.data.success)throw new Error(u.data.message);return u.data.data}async userLogin(e){return await this.call("user/login",e)}async userLogout(){return await this.call("user/logout")}async userList(){return await this.call("user/list")}async userDelete(e){return await this.call("user/delete",{id:e})}async deviceRuntimeVariableGet(e){let t=await this.call("device/runtime-variable/get",{name:e});return t.value}async deviceStart(){return await this.call("device/start")}async taskAppend(e,t={}){return await this.call("task/append",{name:e,params:t})}async taskActionExecute(){return await this.call("task/task-action-execute")}async resourceDataGet(e){return await this.call("resource/data-get",{name:e})}}(0,w.Z)(_,"client",null);const x=e=>((0,s.dD)("data-v-8bc66930"),e=e(),(0,s.Cn)(),e),b={class:"h-full flex flex-col"},y={class:"h-full flex flex-col bg-white rounded-2xl p-5"},k=x((()=>(0,s._)("div",{class:"camera h-0 grow rounded-2xl flex flex-col justify-center items-center"},[(0,s._)("div",null,[(0,s._)("p",{class:"m-0 text-center"},[(0,s._)("img",{src:v})]),(0,s._)("p",{class:"m-0 mt-2 text-2xl text-white"},"未检测到照相设备")])],-1))),h={class:"mt-3"},W={class:"h-full flex flex-col bg-white rounded-2xl p-5"},A={class:"h-0 grow flex flex-col"},U={class:"heating-plate h-0 grow bg-green-400 flex flex-col justify-center items-center rounded-full"},D={class:"relative w-1/4 h-1/4"},C={class:"title absolute w-full text-center"},S={class:"mb-1"},I={key:0,class:"mb-0"},j=x((()=>(0,s._)("div",{class:"tube rounded-full h-full w-full"},null,-1))),H={class:"mt-3"},O={class:"h-full flex flex-col bg-white rounded-2xl p-5"},T={class:"h-0 grow"},z={class:"flex flex-row items-center"},q={class:"ml-2 bg-amber-500 rounded-2xl py-2 px-4 text-white w-0 grow text-center"},E={class:"mb-0 text-2xl"},F={class:"mb-0"},Y={class:"p-1"},L={class:"flex flex-row justify-evenly bg-white rounded-2xl p-5"},M={class:"w-full relative"},N=x((()=>(0,s._)("div",{class:"h-full w-full text-center"},[(0,s._)("img",{class:"w-1/2",src:m})],-1))),P=x((()=>(0,s._)("img",{class:"w-1/2",src:f},null,-1))),V=[P],Z={class:"mx-2 p-2 mt-3 rounded-2xl text-center",style:{background:"#D2DFEF",color:"#8799AB"}},K={class:"inline-block p-1 rounded-2xl mr-1",style:{background:"#DCE8F7"}},R={class:"inline-block py-1"},G={class:"text-center mt-1"},B=x((()=>(0,s._)("p",null,"放入样本后点击确认完成添加",-1)));var $={__name:"Operation",setup(e){const t=(0,u.iH)({enable:!1}),l=(0,u.iH)({enable:!1,slotIndex:0}),a=(0,u.iH)({enable:!1,slotIndex:0,name:""}),n=(0,u.iH)({enable:!1,slotIndex:0,liquidIndex:0,liquidVolume:100,shakeTimes:3}),c=(0,u.iH)({enable:!1,slotIndex:0,temperature:100,duration:10}),o=(0,u.iH)([]),r=(0,u.iH)([]);function d(){p()}async function p(){let e=_.getClient(),t=await e.resourceDataGet("HeatingTubeRackSlot");o.value=structuredClone(t),t=await e.resourceDataGet("Acid"),r.value=structuredClone(t),setTimeout(p,1e3)}async function v(){t.value.enable=!0;let e=_.getClient();await e.taskAppend("SampleAdd")}async function m(){t.value.enable=!1;let e=_.getClient();await e.taskAppend("SampleAdd")}async function f(){t.value.enable=!1}async function w(){l.value.enable=!0}async function g(){l.value.enable=!1;let e=_.getClient();await e.taskAppend("SampleTakeOut",{slotIndex:l.value.slotIndex})}async function x(){l.value.enable=!1}async function P(){a.value.enable=!0}async function $(){a.value.enable=!1;let e=_.getClient();await e.taskAppend("Digestion",{slotIndex:a.value.slotIndex,name:a.value.name})}async function Q(){a.value.enable=!1}function J(e){if(null===e.heatingStartedAt)return 0;let t=Date.now()/1e3-e.heatingStartedAt,l=t/e.heatingDuration*100;return l}function X(){n.value.enable=!0}async function ee(){n.value.enable=!1;let e=_.getClient();await e.taskAppend("LiquidAdd",{slotIndex:a.value.slotIndex,liquidIndex:a.value.liquidIndex,liquidVolume:a.value.liquidVolume,shakeTimes:a.value.shakeTimes})}function te(){n.value.enable=!1}function le(){c.value.enable=!0}async function ae(){c.value.enable=!1;let e=_.getClient();await e.taskAppend("Heating",{slotIndex:c.value.slotIndex,temperature:c.value.temperature,duration:c.value.duration})}function ne(){c.value.enable=!1}return(0,s.bv)(d),(e,u)=>{const d=(0,s.up)("CameraOutlined"),p=(0,s.up)("a-button"),_=(0,s.up)("a-col"),ue=(0,s.up)("a-row"),se=(0,s.up)("SettingOutlined"),ie=(0,s.up)("ExperimentOutlined"),ce=(0,s.up)("FireOutlined"),oe=(0,s.up)("PlusCircleOutlined"),re=(0,s.up)("CheckCircleOutlined"),de=(0,s.up)("a-progress"),pe=(0,s.up)("a-modal"),ve=(0,s.up)("a-radio-button"),me=(0,s.up)("a-radio-group"),fe=(0,s.up)("a-form-item"),we=(0,s.up)("a-form"),ge=(0,s.up)("a-select-option"),_e=(0,s.up)("a-select"),xe=(0,s.up)("a-input-number");return(0,s.wg)(),(0,s.iD)("div",b,[(0,s.Wm)(ue,{class:"h-0 grow"},{default:(0,s.w5)((()=>[(0,s.Wm)(_,{span:9,class:"p-1"},{default:(0,s.w5)((()=>[(0,s._)("div",y,[k,(0,s._)("div",h,[(0,s.Wm)(p,null,{default:(0,s.w5)((()=>[(0,s.Wm)(d)])),_:1})])])])),_:1}),(0,s.Wm)(_,{span:10,class:"p-1"},{default:(0,s.w5)((()=>[(0,s._)("div",W,[(0,s._)("div",A,[(0,s._)("div",U,[(0,s._)("div",D,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(o.value,(e=>((0,s.wg)(),(0,s.iD)("div",{key:e.index,class:(0,i.C_)(["tube-rack-slot absolute h-full w-full",{active:e.isLocked}]),style:(0,i.j5)({transform:`rotateZ(${72*(e.index-1)}deg) translateY(140%)`})},[(0,s._)("div",C,[(0,s._)("p",S,"A - "+(0,i.zw)(e.index+1),1),null!==e.digestion?((0,s.wg)(),(0,s.iD)("p",I,(0,i.zw)(e.digestion.name),1)):(0,s.kq)("",!0)]),(0,s.Wm)(ue,{class:"tube-rack p-1 rounded-lg h-full"},{default:(0,s.w5)((()=>[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(16,(e=>(0,s.Wm)(_,{class:"p-1",key:e,span:6},{default:(0,s.w5)((()=>[j])),_:2},1024))),64))])),_:1})],6)))),128))])])]),(0,s._)("div",H,[(0,s.Wm)(ue,null,{default:(0,s.w5)((()=>[(0,s.Wm)(_,{span:13,class:"text-left"},{default:(0,s.w5)((()=>[(0,s.Wm)(p,{onClick:P},{default:(0,s.w5)((()=>[(0,s.Wm)(se)])),_:1}),(0,s.Wm)(p,{class:"ml-1",onClick:X},{default:(0,s.w5)((()=>[(0,s.Wm)(ie)])),_:1}),(0,s.Wm)(p,{class:"ml-1",onClick:le},{default:(0,s.w5)((()=>[(0,s.Wm)(ce)])),_:1})])),_:1}),(0,s.Wm)(_,{span:11,class:"text-right"},{default:(0,s.w5)((()=>[(0,s.Wm)(p,{class:"ml-1",onClick:v},{default:(0,s.w5)((()=>[(0,s.Wm)(oe)])),_:1}),(0,s.Wm)(p,{class:"ml-1",onClick:w},{default:(0,s.w5)((()=>[(0,s.Wm)(re)])),_:1})])),_:1})])),_:1})])])])),_:1}),(0,s.Wm)(_,{span:5,class:"p-1"},{default:(0,s.w5)((()=>[(0,s._)("div",O,[(0,s._)("div",T,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(o.value,(e=>((0,s.wg)(),(0,s.iD)("div",{key:e.index,class:"bg-gray-100 mb-2 flex flex-row p-2 rounded-2xl"},[(0,s._)("div",z,[(0,s.Wm)(de,{type:"circle",percent:J(e),size:50,strokeWidth:18},null,8,["percent"])]),(0,s._)("div",q,[(0,s._)("p",E,(0,i.zw)(e.temperature||"---"),1),(0,s._)("p",F,"A - "+(0,i.zw)(e.index+1),1)])])))),128))])])])),_:1})])),_:1}),(0,s._)("div",Y,[(0,s._)("div",L,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(r.value,(e=>((0,s.wg)(),(0,s.iD)("div",{key:e.index},[(0,s._)("div",M,[N,(0,s._)("div",{class:"h-full w-full text-center absolute top-0 overflow-hidden",style:(0,i.j5)({height:100-e.volume/e.maxVolume*100+"%"})},V,4)]),(0,s._)("div",Z,[(0,s._)("span",K,(0,i.zw)(e.volume),1),(0,s._)("span",R,(0,i.zw)(e.maxVolume),1)]),(0,s._)("div",G,(0,i.zw)(e.acidName),1)])))),128))])]),(0,s.Wm)(pe,{visible:t.value.enable,"onUpdate:visible":u[0]||(u[0]=e=>t.value.enable=e),title:"添加样本",onOk:m,onCancel:f,"ok-text":"确认","cancel-text":"取消"},{default:(0,s.w5)((()=>[B])),_:1},8,["visible"]),(0,s.Wm)(pe,{visible:l.value.enable,"onUpdate:visible":u[2]||(u[2]=e=>l.value.enable=e),title:"取出样本",onOk:g,onCancel:x,"ok-text":"确认","cancel-text":"取消"},{default:(0,s.w5)((()=>[(0,s.Wm)(we,{"label-col":{span:4},"wrapper-col":{span:20},"label-align":"left",class:"py-5"},{default:(0,s.w5)((()=>[(0,s.Wm)(fe,{label:"位置"},{default:(0,s.w5)((()=>[(0,s.Wm)(me,{value:l.value.slotIndex,"onUpdate:value":u[1]||(u[1]=e=>l.value.slotIndex=e),"button-style":"solid"},{default:(0,s.w5)((()=>[(0,s.Wm)(ve,{value:"0"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-1")])),_:1}),(0,s.Wm)(ve,{value:"1"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-2")])),_:1}),(0,s.Wm)(ve,{value:"2"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-3")])),_:1}),(0,s.Wm)(ve,{value:"3"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-4")])),_:1}),(0,s.Wm)(ve,{value:"4"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-5")])),_:1})])),_:1},8,["value"])])),_:1})])),_:1})])),_:1},8,["visible"]),(0,s.Wm)(pe,{visible:a.value.enable,"onUpdate:visible":u[5]||(u[5]=e=>a.value.enable=e),title:"执行预设",onOk:$,onCancel:Q,"ok-text":"确认","cancel-text":"取消"},{default:(0,s.w5)((()=>[(0,s.Wm)(we,{"label-col":{span:4},"wrapper-col":{span:20},"label-align":"left",class:"py-5"},{default:(0,s.w5)((()=>[(0,s.Wm)(fe,{label:"位置"},{default:(0,s.w5)((()=>[(0,s.Wm)(me,{value:a.value.slotIndex,"onUpdate:value":u[3]||(u[3]=e=>a.value.slotIndex=e),"button-style":"solid"},{default:(0,s.w5)((()=>[(0,s.Wm)(ve,{value:"0"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-1")])),_:1}),(0,s.Wm)(ve,{value:"1"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-2")])),_:1}),(0,s.Wm)(ve,{value:"2"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-3")])),_:1}),(0,s.Wm)(ve,{value:"3"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-4")])),_:1}),(0,s.Wm)(ve,{value:"4"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-5")])),_:1})])),_:1},8,["value"])])),_:1}),(0,s.Wm)(fe,{label:"预设"},{default:(0,s.w5)((()=>[(0,s.Wm)(_e,{value:a.value.name,"onUpdate:value":u[4]||(u[4]=e=>a.value.name=e)},{default:(0,s.w5)((()=>[(0,s.Wm)(ge,{value:"默认预设001"},{default:(0,s.w5)((()=>[(0,s.Uk)("默认预设001")])),_:1})])),_:1},8,["value"])])),_:1})])),_:1})])),_:1},8,["visible"]),(0,s.Wm)(pe,{visible:n.value.enable,"onUpdate:visible":u[10]||(u[10]=e=>n.value.enable=e),title:"加酸",onOk:ee,onCancel:te,"ok-text":"确认","cancel-text":"取消"},{default:(0,s.w5)((()=>[(0,s.Wm)(we,{"label-col":{span:4},"wrapper-col":{span:20},"label-align":"left",class:"py-5"},{default:(0,s.w5)((()=>[(0,s.Wm)(fe,{label:"位置"},{default:(0,s.w5)((()=>[(0,s.Wm)(me,{value:n.value.slotIndex,"onUpdate:value":u[6]||(u[6]=e=>n.value.slotIndex=e),"button-style":"solid"},{default:(0,s.w5)((()=>[(0,s.Wm)(ve,{value:"0"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-1")])),_:1}),(0,s.Wm)(ve,{value:"1"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-2")])),_:1}),(0,s.Wm)(ve,{value:"2"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-3")])),_:1}),(0,s.Wm)(ve,{value:"3"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-4")])),_:1}),(0,s.Wm)(ve,{value:"4"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-5")])),_:1})])),_:1},8,["value"])])),_:1}),(0,s.Wm)(fe,{label:"酸液"},{default:(0,s.w5)((()=>[(0,s.Wm)(_e,{value:n.value.liquidIndex,"onUpdate:value":u[7]||(u[7]=e=>n.value.liquidIndex=e)},{default:(0,s.w5)((()=>[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(r.value,(e=>((0,s.wg)(),(0,s.j4)(ge,{key:e.index,value:e.index},{default:(0,s.w5)((()=>[(0,s.Uk)((0,i.zw)(e.acidName)+" @ "+(0,i.zw)(e.index+1),1)])),_:2},1032,["value"])))),128))])),_:1},8,["value"])])),_:1}),(0,s.Wm)(fe,{label:"加量"},{default:(0,s.w5)((()=>[(0,s.Wm)(xe,{value:n.value.liquidVolume,"onUpdate:value":u[8]||(u[8]=e=>n.value.liquidVolume=e),min:0},null,8,["value"])])),_:1}),(0,s.Wm)(fe,{label:"摇匀次数"},{default:(0,s.w5)((()=>[(0,s.Wm)(xe,{value:n.value.shakeTimes,"onUpdate:value":u[9]||(u[9]=e=>n.value.shakeTimes=e),min:0},null,8,["value"])])),_:1})])),_:1})])),_:1},8,["visible"]),(0,s.Wm)(pe,{visible:c.value.enable,"onUpdate:visible":u[14]||(u[14]=e=>c.value.enable=e),title:"加热",onOk:ae,onCancel:ne,"ok-text":"确认","cancel-text":"取消"},{default:(0,s.w5)((()=>[(0,s.Wm)(we,{"label-col":{span:4},"wrapper-col":{span:20},"label-align":"left",class:"py-5"},{default:(0,s.w5)((()=>[(0,s.Wm)(fe,{label:"位置"},{default:(0,s.w5)((()=>[(0,s.Wm)(me,{value:c.value.slotIndex,"onUpdate:value":u[11]||(u[11]=e=>c.value.slotIndex=e),"button-style":"solid"},{default:(0,s.w5)((()=>[(0,s.Wm)(ve,{value:"0"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-1")])),_:1}),(0,s.Wm)(ve,{value:"1"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-2")])),_:1}),(0,s.Wm)(ve,{value:"2"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-3")])),_:1}),(0,s.Wm)(ve,{value:"3"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-4")])),_:1}),(0,s.Wm)(ve,{value:"4"},{default:(0,s.w5)((()=>[(0,s.Uk)("A-5")])),_:1})])),_:1},8,["value"])])),_:1}),(0,s.Wm)(fe,{label:"温度"},{default:(0,s.w5)((()=>[(0,s.Wm)(xe,{value:c.value.temperature,"onUpdate:value":u[12]||(u[12]=e=>c.value.temperature=e),min:0},null,8,["value"])])),_:1}),(0,s.Wm)(fe,{label:"持续时间"},{default:(0,s.w5)((()=>[(0,s.Wm)(xe,{value:c.value.duration,"onUpdate:value":u[13]||(u[13]=e=>c.value.duration=e),min:0},null,8,["value"])])),_:1})])),_:1})])),_:1},8,["visible"])])}}},Q=l(89);const J=(0,Q.Z)($,[["__scopeId","data-v-8bc66930"]]);var X=J;const ee={class:"p-1"};var te={__name:"UserManagement",setup(e){const t=[{key:"account",dataIndex:"account",title:"用户名",align:"center"},{key:"roleName",title:"权限",align:"center"},{key:"createdAt",dataIndex:"createdAt",title:"创建时间",align:"center"},{key:"action",title:"操作",align:"center"}],l=(0,u.iH)([]);let a=null;async function n(){a=_.getClient(),await c()}async function c(){let e=await a.userList();l.value=structuredClone(e.list)}function o(e){if(0===e)return"";let t=new Date(e),l=[];return l.push(t.getFullYear()+"-"),l.push((t.getMonth()+1).toString().padStart(2,"0")+"-"),l.push(t.getDate().toString().padStart(2,"0")+" "),l.push(t.getHours().toString().padStart(2,"0")+":"),l.push(t.getMinutes().toString().padStart(2,"0")+":"),l.push(t.getSeconds().toString().padStart(2,"0")),l.join("")}async function r(e){await a.userDelete(e.id),await c()}return(0,s.bv)(n),(e,a)=>{const n=(0,s.up)("a-button"),u=(0,s.up)("a-popconfirm"),c=(0,s.up)("a-table");return(0,s.wg)(),(0,s.iD)("div",ee,[(0,s.Wm)(c,{dataSource:l.value,columns:t},{bodyCell:(0,s.w5)((({column:e,record:t})=>["roleName"===e.key?((0,s.wg)(),(0,s.iD)(s.HY,{key:0},[(0,s.Uk)((0,i.zw)(t.role.name),1)],64)):"createdAt"===e.key?((0,s.wg)(),(0,s.iD)(s.HY,{key:1},[(0,s.Uk)((0,i.zw)(o(t.createdAt)),1)],64)):"action"===e.key?((0,s.wg)(),(0,s.iD)(s.HY,{key:2},[(0,s.Wm)(u,{title:"是否删除该用户?",onConfirm:e=>r(t)},{default:(0,s.w5)((()=>[(0,s.Wm)(n,{class:"ml-1",disabled:""},{default:(0,s.w5)((()=>[(0,s.Uk)("删除")])),_:1})])),_:2},1032,["onConfirm"]),(0,s.Wm)(n,{class:"ml-1",disabled:""},{default:(0,s.w5)((()=>[(0,s.Uk)("修改权限")])),_:1}),(0,s.Wm)(n,{class:"ml-1",disabled:""},{default:(0,s.w5)((()=>[(0,s.Uk)("修改密码")])),_:1})],64)):(0,s.kq)("",!0)])),_:1},8,["dataSource"])])}}};const le=te;var ae=le;const ne={class:"p-1"};var ue={__name:"History",setup(e){const t=[{key:"account",dataIndex:"account",title:"用户",align:"center"},{key:"slot",dataIndex:"slot",title:"试管架",align:"center"},{key:"action",dataIndex:"action",title:"动作",align:"center"},{key:"createdAt",dataIndex:"createdAt",title:"时间",align:"center"}],l=(0,u.iH)([{account:"admin",slot:"A-1",action:"加入试管",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加酸:硫酸",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加热: 270℃ 15分钟",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加酸:硫酸",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加热: 270℃ 15分钟",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加酸:硫酸",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加热: 270℃ 15分钟",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加酸:硫酸",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加热: 270℃ 15分钟",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加酸:硫酸",createdAt:"2021-08-01 12:00:00"},{account:"admin",slot:"A-1",action:"加热: 270℃ 15分钟",createdAt:"2021-08-01 12:00:00"}]);return(e,a)=>{const n=(0,s.up)("a-table");return(0,s.wg)(),(0,s.iD)("div",ne,[(0,s.Wm)(n,{dataSource:l.value,columns:t},null,8,["dataSource"])])}}};const se=ue;var ie=se;const ce={class:"p-1"};var oe={__name:"TaskStepManagement",setup(e){const t=[{key:"name",dataIndex:"name",title:"名称",align:"center"},{key:"steps",dataIndex:"steps",title:"步骤",align:"left"},{key:"action",dataIndex:"action",title:"操作",align:"center"}],l=(0,u.iH)([{name:"预设001",steps:"加酸:硫酸 -> 加热: 270℃ 15分钟 -> 加酸:硫酸 -> 加热: 270℃ 15分钟 -> 加酸:硫酸 -> 加热: 270℃ 15分钟",action:"删除 编辑"},{name:"预设002",steps:"加酸:盐酸 -> 加热: 270℃ 15分钟 -> 加酸:硫酸 -> 加热: 270℃ 15分钟 加热: 270℃ 15分钟",action:"删除 编辑"},{name:"预设003",steps:"加酸:氢氟酸 -> 加热: 270℃ 15分钟 -> 加酸:盐酸 -> 加热: 270℃ 15分钟 -> 加酸:盐酸 -> 加热: 270℃ 15分钟",action:"删除 编辑"},{name:"预设004",steps:"加酸:盐酸 -> 加热: 270℃ 15分钟 -> 加酸:氢氟酸 -> 加热: 270℃ 15分钟 -> 加酸:盐酸 -> 加热: 270℃ 15分钟",action:"删除 编辑"}]);return(e,a)=>{const n=(0,s.up)("a-table");return(0,s.wg)(),(0,s.iD)("div",ce,[(0,s.Wm)(n,{dataSource:l.value,columns:t},null,8,["dataSource"])])}}};const re=oe;var de=re;const pe={class:"flex flex-col justify-center items-center h-full bg-gray-50 rounded-3xl"},ve=(0,s._)("div",{class:"text-center mb-10 text-3xl bg-blue-200 p-5 rounded-3xl w-32 text-gray-100"},"硫酸",-1),me={class:"w-full relative"},fe=(0,s._)("div",{class:"h-full w-full text-center"},[(0,s._)("img",{class:"w-1/2",src:m})],-1),we=(0,s._)("img",{class:"w-1/2",src:f},null,-1),ge=[we],_e=(0,s._)("div",{class:"mx-2 p-2 mt-3 rounded-2xl text-3xl",style:{background:"#D2DFEF",color:"#8799AB"}},[(0,s._)("span",{class:"inline-block p-1 rounded-2xl mr-5",style:{background:"#DCE8F7"}},"3000g"),(0,s._)("span",{class:"inline-block py-1"},"5000g")],-1),xe=(0,s._)("div",{class:"flex flex-col justify-center items-center h-full bg-gray-50 rounded-3xl"},[(0,s._)("div",{class:"text-center mb-10 text-3xl bg-blue-200 p-5 rounded-3xl w-32 text-gray-100"},"硫酸"),(0,s._)("div",{class:"w-full relative"},[(0,s._)("div",{class:"h-full w-full text-center"},[(0,s._)("img",{class:"w-1/2",src:m})])]),(0,s._)("div",{class:"mx-2 p-2 mt-3 rounded-2xl text-3xl",style:{background:"#D2DFEF",color:"#8799AB"}},[(0,s._)("span",{class:"inline-block p-1 rounded-2xl mr-5",style:{background:"#DCE8F7"}},"3000g"),(0,s._)("span",{class:"inline-block py-1"},"5000g")]),(0,s._)("div",{class:"py-3 px-5 text-3xl bg-blue-500 text-white mt-10 rounded-3xl"},"加载")],-1),be={class:"flex flex-col justify-center items-center h-full bg-gray-50 rounded-3xl"};function ye(e,t){const l=(0,s.up)("a-col"),a=(0,s.up)("a-row");return(0,s.wg)(),(0,s.j4)(a,{class:"h-full p-1"},{default:(0,s.w5)((()=>[(0,s.Wm)(l,{span:10,class:"p-5"},{default:(0,s.w5)((()=>[(0,s._)("div",pe,[ve,(0,s._)("div",me,[fe,(0,s._)("div",{class:"h-full w-full text-center absolute top-0 overflow-hidden",style:(0,i.j5)({height:100*Math.random()+"%"})},ge,4)]),_e])])),_:1}),(0,s.Wm)(l,{span:10,class:"p-5"},{default:(0,s.w5)((()=>[xe])),_:1}),(0,s.Wm)(l,{span:4,class:"p-5"},{default:(0,s.w5)((()=>[(0,s._)("div",be,[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(8,(e=>(0,s._)("div",{key:e,class:(0,i.C_)(["bg-white bg-gray-200 p-3 mb-5 w-3/4 text-center rounded-3xl text-xl text-gray-500",{"!bg-blue-500 !text-white":2==e}])}," 硫酸 ",2))),64))])])),_:1})])),_:1})}const ke={},he=(0,Q.Z)(ke,[["render",ye]]);var We=he;const Ae={class:"p-1"};var Ue={__name:"Test",setup(e){const t=[{key:"name",dataIndex:"name",title:"名称",align:"left"},{key:"action",dataIndex:"action",title:"操作",align:"right"}],l=(0,u.iH)([{name:"加液机械臂",action:"复位 最小值 最大值"},{name:"蠕动泵01",action:"复位 加液 回抽"},{name:"蠕动泵02",action:"复位 加液 回抽"},{name:"蠕动泵03",action:"复位 加液 回抽"},{name:"蠕动泵04",action:"复位 加液 回抽"},{name:"蠕动泵05",action:"复位 加液 回抽"},{name:"蠕动泵06",action:"复位 加液 回抽"},{name:"蠕动泵07",action:"复位 加液 回抽"},{name:"蠕动泵08",action:"复位 加液 回抽"},{name:"蠕动泵09",action:"复位 加液 回抽"},{name:"蠕动泵10",action:"复位 加液 回抽"},{name:"蠕动泵11",action:"复位 加液 回抽"},{name:"蠕动泵12",action:"复位 加液 回抽"},{name:"蠕动泵13",action:"复位 加液 回抽"},{name:"蠕动泵14",action:"复位 加液 回抽"},{name:"蠕动泵15",action:"复位 加液 回抽"},{name:"蠕动泵16",action:"复位 加液 回抽"}]);return(e,a)=>{const n=(0,s.up)("a-table");return(0,s.wg)(),(0,s.iD)("div",Ae,[(0,s.Wm)(n,{dataSource:l.value,columns:t},null,8,["dataSource"])])}}};const De=Ue;var Ce=De;const Se={key:0,style:{position:"fixed",background:"#676767",width:"100%",height:"100%",top:"0",left:"0",opacity:"0.9",display:"flex","flex-direction":"column","justify-content":"center","align-items":"center"}},Ie={style:{color:"#bbbbbb","font-size":"3rem","margin-top":"45px"}};var je={__name:"Loading",setup(e,{expose:t}){const l=(0,u.iH)(!1),a=(0,u.iH)("");function n(e){l.value=!0,a.value=e}function c(){l.value=!1}return t({show:n,hide:c}),(e,t)=>{const n=(0,s.up)("a-spin");return l.value?((0,s.wg)(),(0,s.iD)("div",Se,[(0,s.Wm)(n,{size:"large"}),(0,s._)("div",Ie,(0,i.zw)(a.value),1)])):(0,s.kq)("",!0)}}};const He=je;var Oe=He;const Te=e=>((0,s.dD)("data-v-4d7f5cfe"),e=e(),(0,s.Cn)(),e),ze={class:"bg-white h-full rounded-full px-5 text-xl flex flex-row items-center justify-around"},qe=Te((()=>(0,s._)("img",{class:"h-5",src:c},null,-1))),Ee=Te((()=>(0,s._)("img",{class:"h-5",src:o},null,-1))),Fe=Te((()=>(0,s._)("div",{class:"bg-white h-full rounded-full px-5 text-xl flex flex-col justify-center"},[(0,s._)("div",null,[(0,s._)("img",{class:"h-5",src:r}),(0,s._)("span",{class:"ml-3"},"设备已就绪")])],-1))),Ye=Te((()=>(0,s._)("div",{class:"h-full px-5 text-xl flex flex-row items-center justify-around"},[(0,s._)("span",{class:"bg-black text-white block py-2 px-4 rounded-full"},"A"),(0,s._)("span",{class:"text-2xl font-bold"},"ADMIN")],-1))),Le={class:"h-full flex flex-col justify-between"},Me={class:"page-menu"},Ne=["onClick"],Pe=Te((()=>(0,s._)("img",{src:d,class:"h-4 mr-1 align-baseline"},null,-1)));var Ve={__name:"Page",setup(e){const t=p(),l=(0,u.iH)("operation"),a=[{key:"operation",title:"实验操作",icon:"dashboard"},{key:"hisotry",title:"操作记录",icon:"file-text"},{key:"preset",title:"预设管理",icon:"partition"},{key:"acid",title:"酸液管理",icon:"experiment"},{key:"user",title:"用户管理",icon:"user"},{key:"test",title:"功能测试",icon:"issues-close"}],n=(0,u.iH)(null),c=(0,u.iH)(""),o=(0,u.iH)("");async function r(){m()}async function d(){let e=_.getClient();await e.userLogout(),t.setAccessToken(null)}function v(e){l.value=e}function m(){let e=new Date;c.value=[],c.value.push(e.getFullYear()),c.value.push((e.getMonth()+1).toString().padStart(2,"0")),c.value.push(e.getDate().toString().padStart(2,"0")),c.value=c.value.join("-"),o.value=[],o.value.push(e.getHours().toString().padStart(2,"0")),o.value.push(e.getMinutes().toString().padStart(2,"0")),o.value.push(e.getSeconds().toString().padStart(2,"0")),o.value=o.value.join(":"),setTimeout(m,1e3)}return(0,s.bv)(r),(e,t)=>{const u=(0,s.up)("a-col"),r=(0,s.up)("a-row"),p=(0,s.up)("a-layout-header"),m=(0,s.up)("a-layout-content"),f=(0,s.up)("a-badge"),w=(0,s.up)("a-layout-sider"),g=(0,s.up)("a-layout");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s.Wm)(g,{class:"h-full app-bg-default !p-0"},{default:(0,s.w5)((()=>[(0,s.Wm)(p,{class:"!bg-transparent !p-0 !leading-none"},{default:(0,s.w5)((()=>[(0,s.Wm)(r,{class:"h-full"},{default:(0,s.w5)((()=>[(0,s.Wm)(u,{span:6,class:"p-1"},{default:(0,s.w5)((()=>[(0,s._)("div",ze,[(0,s._)("span",null,[qe,(0,s.Uk)(" "+(0,i.zw)(c.value),1)]),(0,s._)("span",null,[Ee,(0,s.Uk)(" "+(0,i.zw)(o.value),1)])])])),_:1}),(0,s.Wm)(u,{span:14,class:"p-1"},{default:(0,s.w5)((()=>[Fe])),_:1}),(0,s.Wm)(u,{span:4,class:"p-1"},{default:(0,s.w5)((()=>[Ye])),_:1})])),_:1})])),_:1}),(0,s.Wm)(g,{class:"!bg-transparent"},{default:(0,s.w5)((()=>[(0,s.Wm)(m,{class:"overflow-hidden"},{default:(0,s.w5)((()=>["operation"===l.value?((0,s.wg)(),(0,s.j4)(X,{key:0})):"user"===l.value?((0,s.wg)(),(0,s.j4)(ae,{key:1})):"hisotry"===l.value?((0,s.wg)(),(0,s.j4)(ie,{key:2})):"preset"===l.value?((0,s.wg)(),(0,s.j4)(de,{key:3})):"acid"===l.value?((0,s.wg)(),(0,s.j4)(We,{key:4})):"test"===l.value?((0,s.wg)(),(0,s.j4)(Ce,{key:5})):(0,s.kq)("",!0)])),_:1}),(0,s.Wm)(w,{class:"!bg-transparent p-1",width:"200"},{default:(0,s.w5)((()=>[(0,s._)("div",Le,[(0,s._)("div",Me,[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(a,(e=>(0,s._)("div",{key:e.key,class:(0,i.C_)(["item py-3 text-xl rounded-full mb-3",{active:e.key===l.value}]),onClick:t=>v(e.key)},[((0,s.wg)(),(0,s.j4)((0,s.LL)(`${e.icon}-outlined`),{class:"mr-5"})),(0,s._)("span",null,(0,i.zw)(e.title),1),e.key===l.value?((0,s.wg)(),(0,s.j4)(f,{key:0,class:"ml-1",color:"#1EF3A8"})):(0,s.kq)("",!0)],10,Ne))),64))]),(0,s._)("div",null,[(0,s._)("div",{class:"text-gray-400 px-5 py-3 text-xl rounded-full mb-1 text-center cursor-pointer",onClick:d},[Pe,(0,s.Uk)(" 退出登录 ")])])])])),_:1})])),_:1})])),_:1}),(0,s.Wm)(Oe,{ref_key:"loadingModal",ref:n},null,512)],64)}}};const Ze=(0,Q.Z)(Ve,[["__scopeId","data-v-4d7f5cfe"]]);var Ke=Ze,Re=l.p+"img/login-pic.6cca7e2a.png",Ge=l.p+"img/logo.16d19b85.svg",Be=l(4180);const $e=(0,s._)("div",{class:"p-10"},[(0,s._)("img",{class:"w-full",src:Re})],-1),Qe={class:"bg-gray-100 py-14 rounded-2xl w-full"},Je=(0,s._)("div",{class:"text-center"},[(0,s._)("img",{src:Ge,class:"w-20"})],-1),Xe=(0,s._)("div",{class:"text-center my-6"},[(0,s._)("span",{style:{"font-size":"30px","font-weight":"500",color:"#8799AB"}},"长春黄金研究院有限公司")],-1),et={class:"p-10"},tt=(0,s._)("div",{class:"mb-2 ml-1"},"用户名",-1),lt=(0,s._)("div",{class:"mb-2 mt-8 ml-1"},"密码",-1),at=(0,s._)("div",{class:"text-center text-xs mt-10 text-gray-400"},"CHANGCHUN GOLD RESEARCH INSTITUTE CO.,LTD.",-1);var nt={__name:"Page",setup(e){const t=p(),l=(0,u.iH)(""),a=(0,u.iH)("");async function n(){try{const e=_.getClient();let n=await e.userLogin({account:l.value,password:a.value});t.setAccessToken(n.accessToken)}catch(e){return void Be.Z.error({title:"登录失败",content:e.message})}}return(e,t)=>{const u=(0,s.up)("a-col"),i=(0,s.up)("a-input"),c=(0,s.up)("a-input-password"),o=(0,s.up)("a-button"),r=(0,s.up)("a-row");return(0,s.wg)(),(0,s.j4)(r,{class:"h-full"},{default:(0,s.w5)((()=>[(0,s.Wm)(u,{span:14,class:"flex flex-row items-center"},{default:(0,s.w5)((()=>[$e])),_:1}),(0,s.Wm)(u,{span:10,class:"flex flex-row items-center p-10"},{default:(0,s.w5)((()=>[(0,s._)("div",Qe,[Je,Xe,(0,s._)("div",et,[tt,(0,s._)("div",null,[(0,s.Wm)(i,{class:"rounded-full py-2 px-5",value:l.value,"onUpdate:value":t[0]||(t[0]=e=>l.value=e)},null,8,["value"])]),lt,(0,s._)("div",null,[(0,s.Wm)(c,{class:"rounded-full py-2 px-5",value:a.value,"onUpdate:value":t[1]||(t[1]=e=>a.value=e)},null,8,["value"])]),(0,s._)("div",null,[(0,s.Wm)(o,{block:"",type:"primary",size:"large",class:"!rounded-full mt-8",onClick:n},{default:(0,s.w5)((()=>[(0,s.Uk)("登录")])),_:1})])]),at])])),_:1})])),_:1})}}};const ut=nt;var st=ut,it={__name:"App",setup(e){const t=p();return(e,l)=>null===(0,u.SU)(t).accessToken?((0,s.wg)(),(0,s.j4)(st,{key:0})):((0,s.wg)(),(0,s.j4)(Ke,{key:1}))}};const ct=it;var ot=ct,rt=l(7382),dt=l(8364);l(1849);const pt=(0,a.ri)(ot);pt.use((0,n.WB)()),pt.use(rt.ZP),(()=>{let e=dt;for(let t in e)pt.component(t,e[t])})(),pt.mount("#app")}},t={};function l(a){var n=t[a];if(void 0!==n)return n.exports;var u=t[a]={exports:{}};return e[a].call(u.exports,u,u.exports,l),u.exports}l.m=e,function(){var e=[];l.O=function(t,a,n,u){if(!a){var s=1/0;for(r=0;r=u)&&Object.keys(l.O).every((function(e){return l.O[e](a[c])}))?a.splice(c--,1):(i=!1,u0&&e[r-1][2]>u;r--)e[r]=e[r-1];e[r]=[a,n,u]}}(),function(){l.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(t,{a:t}),t}}(),function(){l.d=function(e,t){for(var a in t)l.o(t,a)&&!l.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){l.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){l.p="/"}(),function(){var e={143:0};l.O.j=function(t){return 0===e[t]};var t=function(t,a){var n,u,s=a[0],i=a[1],c=a[2],o=0;if(s.some((function(t){return 0!==e[t]}))){for(n in i)l.o(i,n)&&(l.m[n]=i[n]);if(c)var r=c(l)}for(t&&t(a);o {\r\n return {\r\n // access token\r\n accessToken : null,\r\n // is device ready\r\n isDeviceReady : false,\r\n };\r\n },\r\n\r\n // set access token\r\n actions: {\r\n // set access token\r\n setAccessToken( token ) {\r\n this.accessToken = token;\r\n },\r\n // set is device ready\r\n setIsDeviceReady( isReady ) {\r\n this.isDeviceReady = isReady;\r\n }\r\n },\r\n})","import axios from 'axios';\r\nimport { useAppStore } from '@/stores/AppStore';\r\nexport default class ApiClient {\r\n // client instance\r\n static client = null;\r\n\r\n /**\r\n * get client instance\r\n * @returns {ApiClient}\r\n */\r\n static getClient() {\r\n if (ApiClient.client === null) {\r\n ApiClient.client = new ApiClient();\r\n }\r\n return ApiClient.client;\r\n }\r\n\r\n // constructor\r\n constructor() {\r\n \r\n }\r\n\r\n // call api\r\n async call( name, params ) {\r\n const appStore = useAppStore();\r\n\r\n let headers = {};\r\n headers['App-Access-Token'] = appStore.accessToken;\r\n \r\n let baseURL = `http://${window.location.hostname}:8080/api`;\r\n if ( '192.168.8.10' === window.location.hostname ) {\r\n baseURL = 'http://192.168.8.10/api';\r\n }\r\n\r\n const response = await axios.post(`${baseURL}/${name}`, params, {\r\n headers : headers,\r\n });\r\n\r\n if ( !response.data.success ) {\r\n throw new Error(response.data.message);\r\n }\r\n\r\n return response.data.data;\r\n }\r\n\r\n // user login\r\n async userLogin( params ) {\r\n return await this.call('user/login', params);\r\n }\r\n\r\n // user logout\r\n async userLogout() {\r\n return await this.call('user/logout');\r\n }\r\n\r\n // user list\r\n async userList() {\r\n return await this.call('user/list');\r\n }\r\n\r\n // user delete\r\n async userDelete( id ) {\r\n return await this.call('user/delete', {id});\r\n }\r\n\r\n // get device runtime variable value\r\n async deviceRuntimeVariableGet( name ) {\r\n let response = await this.call('device/runtime-variable/get', {name});\r\n return response.value;\r\n }\r\n\r\n // start device\r\n async deviceStart() {\r\n return await this.call('device/start');\r\n }\r\n\r\n // append task\r\n async taskAppend( name, params={} ) {\r\n return await this.call('task/append', {\r\n name: name,\r\n params: params,\r\n });\r\n }\r\n\r\n // task action execute\r\n async taskActionExecute() {\r\n return await this.call('task/task-action-execute');\r\n }\r\n\r\n // resource data get\r\n async resourceDataGet( name ) {\r\n return await this.call('resource/data-get', {name});\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 A - {{ tubeRackSlot.index + 1 }}\r\n {{ tubeRackSlot.digestion.name }}\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 {{ tubeRackSlot.temperature || '---' }}\r\n A - {{ tubeRackSlot.index + 1 }}\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 {{acidBucket.volume}}\r\n {{acidBucket.maxVolume}}\r\n \r\n {{acidBucket.acidName}}\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 A-1\r\n A-2\r\n A-3\r\n A-4\r\n A-5\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n A-1\r\n A-2\r\n A-3\r\n A-4\r\n A-5\r\n \r\n \r\n \r\n \r\n 默认预设001\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n A-1\r\n A-2\r\n A-3\r\n A-4\r\n A-5\r\n \r\n \r\n \r\n \r\n {{ acidBucket.acidName }} @ {{ acidBucket.index + 1 }}\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 A-1\r\n A-2\r\n A-3\r\n A-4\r\n A-5\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 \"./Operation.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Operation.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Operation.vue?vue&type=style&index=0&id=8bc66930&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8bc66930\"]])\n\nexport default __exports__","\r\n \r\n \r\n \r\n \r\n {{ record.role.name }}\r\n \r\n \r\n {{ formatCreatedAt(record.createdAt) }}\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 \"./UserManagement.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./UserManagement.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n \r\n \r\n \r\n \r\n","import script from \"./History.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./History.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n \r\n \r\n \r\n \r\n","import script from \"./TaskStepManagement.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./TaskStepManagement.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\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 3000g\r\n 5000g\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 3000g\r\n 5000g\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 { render } from \"./AcidManagement.vue?vue&type=template&id=46258dd5\"\nconst script = {}\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n \r\n \r\n","import script from \"./Test.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Test.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n \r\n \r\n {{ title }}\r\n \r\n\r\n","import script from \"./Loading.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n \r\n \r\n \r\n \r\n \r\n {{ nowDate }}\r\n {{ nowTime }}\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 A\r\n ADMIN\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 {{ content.title }} \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 \"./Page.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Page.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Page.vue?vue&type=style&index=0&id=4d7f5cfe&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4d7f5cfe\"]])\n\nexport default __exports__","\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 CHANGCHUN GOLD RESEARCH INSTITUTE CO.,LTD.\r\n \r\n \r\n \r\n\r\n","import script from \"./Page.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Page.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n \n \n\n\n","import script from \"./App.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport Antd from 'ant-design-vue';\nimport * as AntdIcons from '@ant-design/icons-vue'\nimport \"./diframe/style/tailwind.css\"\nimport \"./style/app.css\"\nimport 'ant-design-vue/dist/reset.css';\n\nconst app = createApp(App);\napp.use(createPinia());\napp.use(Antd);\n(() => {\n let icons = AntdIcons;\n for ( let icon in icons ) {\n app.component(icon, icons[icon]);\n }\n})();\napp.mount('#app');\n","// 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\t// no module.id needed\n\t\t// no module.loaded needed\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// 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__.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); }","// 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__.p = \"/\";","// 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\t143: 0\n};\n\n// no chunk on demand loading\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[\"webpackChunkvue3_demo\"] = self[\"webpackChunkvue3_demo\"] || [];\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, [998], function() { return __webpack_require__(5061); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["useAppStore","defineStore","state","accessToken","isDeviceReady","actions","setAccessToken","token","this","setIsDeviceReady","isReady","ApiClient","getClient","client","constructor","call","name","params","appStore","headers","baseURL","window","location","hostname","response","axios","post","data","success","Error","message","userLogin","userLogout","userList","userDelete","id","deviceRuntimeVariableGet","value","deviceStart","taskAppend","taskActionExecute","resourceDataGet","_defineProperty","sampleAdd","ref","enable","sampleTakeout","slotIndex","presetSetup","acidAdd","liquidIndex","liquidVolume","shakeTimes","heating","temperature","duration","tubeRackSlots","acidBuckets","mounted","refreshResource","async","structuredClone","setTimeout","actionSampleAdd","actionSampleAddOk","actionSampleAddCancel","actionSampleTakeOut","actionSampleTakeOutOk","actionSampleTakeOutCancel","actionPresetSetup","actionPresetSetupOk","actionPresetSetupCancel","getTubeRackSlotHeatingProgress","tubeRackSlot","heatingStartedAt","Date","now","progress","heatingDuration","actionAcidAdd","acidAddOk","acidAddCancel","actionHeating","actionHeatingOk","actionHeatingCancel","onMounted","__exports__","columns","key","dataIndex","title","align","dataSource","refresh","list","formatCreatedAt","createdAt","time","timeString","push","getFullYear","getMonth","toString","padStart","getDate","getHours","getMinutes","getSeconds","join","actionDelete","record","account","slot","action","steps","class","_createElementVNode","src","_imports_0","_imports_1","_hoisted_5","style","_createBlock","_component_a_row","default","_withCtx","_createVNode","_component_a_col","span","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_normalizeStyle","height","Math","random","_hoisted_6","_hoisted_7","_","_hoisted_8","_hoisted_9","_createElementBlock","_Fragment","_renderList","i","_normalizeClass","script","render","show","titleContent","hide","__expose","activeContent","contents","icon","loadingModal","nowDate","nowTime","actionUserLogout","actionSwitchContent","content","password","actionLogin","e","Modal","error","app","createApp","App","use","createPinia","Antd","icons","AntdIcons","component","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","length","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
未检测到照相设备
A - {{ tubeRackSlot.index + 1 }}
{{ tubeRackSlot.digestion.name }}
{{ tubeRackSlot.temperature || '---' }}
放入样本后点击确认完成添加