Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev
| | |
| | | }); |
| | | } |
| | | |
| | | // æ¸©åº¦å¾ªç¯æ°é |
| | | export function temDataAcquisition(data) { |
| | | return request({ |
| | | url: "/deviceScope/temDataAcquisition", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // æ¸©åº¦å¾ªç¯æ°éæ»ä½ |
| | | export function temDataAcquisition2(data) { |
| | | return request({ |
| | | url: "/deviceScope/temDataAcquisition2", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // å¤æè¯¥è®¾å¤æ¯å¦å¯ä»¥æ°é |
| | | export function determineWhetherToCollectData(data) { |
| | | return request({ |
| | | url: "/deviceScope/determineWhetherToCollectData", |
| | | method: "get", |
| | | params: data, |
| | | }); |
| | | } |
| | | |
| | | // æ°é-æ°æ®éé |
| | | export function dataCollection(data) { |
| | | return request({ |
| | | url: "/deviceScope/dataCollection", |
| | | method: "get", |
| | | params: data, |
| | | }); |
| | | } |
| | | |
| | | // éè¿é¡¹ç®è·å设å¤å表 |
| | | export function selectDeviceByCategory(data) { |
| | | return request({ |
| | | url: "/deviceScope/selectDeviceByCategory", |
| | | method: "get", |
| | | params: data, |
| | | }); |
| | | } |
| | | |
| | | // ç»´æ¤æ°éé
ç½® |
| | | export function numberCollect(data) { |
| | | return request({ |
| | |
| | | }) |
| | | } |
| | | |
| | | // æ ¹æ®åå
¸åç§°æ¥è¯¢åå
¸æ°æ® |
| | | export function selectDictDataByName(dictName) { |
| | | return request({ |
| | | url: '/system/dict/type/selectDictDataByName/' + dictName, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢åå
¸ç±»å |
| | | export function addType(data) { |
| | | return request({ |
| | |
| | | // å¨æè·¯ç±ï¼åºäºç¨æ·æé卿å»å è½½ |
| | | export const dynamicRoutes = [ |
| | | { |
| | | // ä¸åé¡µé¢ |
| | | // æ£éªä¸åé¡µé¢ |
| | | path: '/inspectionOrder', |
| | | component: Layout, |
| | | hidden: true, |
| | |
| | | ] |
| | | }, |
| | | { |
| | | // æ£éªä»»å¡é¡µé¢ |
| | | path: '/inspectionTask', |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['business:inspection'], |
| | | children: [ |
| | | { |
| | | // 任塿£éªé¡µé¢ |
| | | path: 'inspection', |
| | | component: () => import('@/views/business/inspectionTask/Inspection'), |
| | | name: 'inspection', |
| | | meta: { title: '姿忣éª', activeMenu: '/business/inspectionTask' } |
| | | }, |
| | | // { |
| | | // // æ¥çå§æå详æ
é¡µé¢ |
| | | // path: 'showDetails', |
| | | // component: () => import('@/views/business/inspectionOrder/add'), |
| | | // name: 'showDetails', |
| | | // meta: { title: 'å§æå详æ
', activeMenu: '/business/inspectionOrder' } |
| | | // } |
| | | ] |
| | | }, |
| | | { |
| | | // ç¨æ·ç®¡ç |
| | | path: "/system/user-auth", |
| | | component: Layout, |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | // å¤çº¿ç¨éé¢éè¦ä¿åçæ°æ® |
| | | 'use strict';//为jsèæ¬å¼å¯ä¸¥æ ¼æ¨¡å¼ |
| | | let code = '' |
| | | // è¡¨æ ¼æ°æ®ï¼æ¸²æï¼ |
| | | let tableList = null |
| | | // æ¹æ³å表 |
| | | let excelMethodList = [] |
| | | // excelåæ æ¯è¾å表 |
| | | let comparisonList = [] |
| | | // å½åæ ·åä¿¡æ¯ |
| | | let currentSample = {} |
| | | // å¥ç®¡ |
| | | let bushing = '' |
| | | // å¤çº¿ç¨ä¼ éå°ä¸»çº¿ç¨çæ°æ® |
| | | let result = { |
| | | method:'', |
| | | value:null |
| | | } |
| | | |
| | | let modelType = '' |
| | | |
| | | // ä¿åæ¶ä¼ å°åç«¯åæ° |
| | | let param = null |
| | | // å½åçæ¨¡æ¿ |
| | | let currentTable = '' |
| | | // ä¼åæ°éè¾å¤æ°æ®æ¶-è®°å½æåä¸ä¸ªæ£éªé¡¹çid |
| | | let getDataTypeId = null |
| | | //å½åæ£éªé¡¹ |
| | | let currentInsItem = null |
| | | // æ¥æ¶å°ä¸»çº¿ç¨å¤çé»è¾çæ¶æ¯ |
| | | self.onmessage = function(event) { |
| | | // ä¿å主线ç¨ä¼ è¿æ¥çå¼ |
| | | const data = JSON.parse(event.data); |
| | | if(currentTable!=data.currentTable){ |
| | | // æ£éªæ¨¡æ¿æ¹ååéè¦å·æ°è¡¨æ ¼ |
| | | tableList = data.tableList; |
| | | } |
| | | currentTable = data.currentTable; |
| | | if(data.type&&data.type=='saveData'){ |
| | | // æ´æ°è¡¨æ ¼æ°æ®åä¼ éå°å端çåæ° |
| | | tableList = data.tableList; |
| | | param = data.param; |
| | | return |
| | | } |
| | | if(data.bushing&&(data.bushing!=bushing)&&data.type=='saveData'){ |
| | | // æ´æ°è¡¨æ ¼æ°æ®ãä¼ éå°å端çåæ°åå¥ç®¡æ°æ® |
| | | tableList = data.tableList; |
| | | param = data.param; |
| | | bushing = data.bushing; |
| | | return |
| | | } |
| | | modelType = data.modelType |
| | | code = data.code; |
| | | if(data.getDataTypeId){ |
| | | // è®°å½ ä¼åæ°éè¾å¤æ°æ®æ¶-è®°å½æåä¸ä¸ªæ£éªé¡¹çid |
| | | getDataTypeId = data.getDataTypeId |
| | | }else{ |
| | | getDataTypeId = null |
| | | } |
| | | if(tableList){ |
| | | // å¦æè¡¨æ ¼æ°æ®åå¨ï¼åæ´æ°å½åä¿®æ¹æ£éªé¡¹çè¡¨æ ¼æ°æ® |
| | | let str = code.split('-') |
| | | let r = str[1] |
| | | let c = str[2] |
| | | tableList[0].arr.forEach((item,index)=>{ |
| | | item.forEach((m,i)=>{ |
| | | if(m.c==c&&m.r==r){ |
| | | tableList[0].arr[index] = data.tableList[0].arr[index] |
| | | } |
| | | }) |
| | | }) |
| | | }else{ |
| | | // 妿åå§åè¡¨æ ¼æ°æ®ä¸åå¨ï¼ç´æ¥èµå¼ |
| | | tableList = data.tableList; |
| | | } |
| | | if(param){ |
| | | // å¦æä¼ éå°å端çåæ°åå¨ï¼åæ´æ°å½åä¿®æ¹æ£éªé¡¹çä¼ éå°å端çåæ° |
| | | let str = code.split('-') |
| | | let pId = str[3] |
| | | param[pId] = data.param[pId] |
| | | }else{ |
| | | // åå§åä¼ éå°å端çåæ° |
| | | param = data.param; |
| | | } |
| | | if(data.currentInsItem){ |
| | | currentInsItem = data.currentInsItem |
| | | } |
| | | // æ´æ°æ¹æ³å表ãåæ æ¯è¾å表ãå½åæ ·åä¿¡æ¯ãé¡¹ç® |
| | | excelMethodList = JSON.parse(JSON.stringify(data.excelMethodList)); |
| | | comparisonList = JSON.parse(JSON.stringify(data.comparisonList)); |
| | | currentSample = JSON.parse(JSON.stringify(data.currentSample)); |
| | | // æ§è¡è®¡ç®æ¹æ³ |
| | | changeInput('', code); |
| | | }; |
| | | |
| | | /** |
| | | * |
| | | * @returns è·åchromeæµè§å¨çæ¬ |
| | | */ |
| | | function getChromeVersion(){ |
| | | var ua = navigator.userAgent; |
| | | var match = ua.match(/Chrome\/(\d+)/); |
| | | if (match && match[1]) { |
| | | return parseInt(match[1], 10); |
| | | } |
| | | return -1 |
| | | } |
| | | |
| | | /** |
| | | * èªå®ä¹Object.valuesæ¹æ³ï¼è§£å³ä½çæ¬æµè§å¨æ²¡æè¯¥APIé®é¢ |
| | | * @param {*} obj |
| | | * @returns |
| | | */ |
| | | function customValues(obj){ |
| | | return Object.keys(obj).map(function(key){ |
| | | return obj[key]; |
| | | }); |
| | | } |
| | | |
| | | function changeInput(m, code){ |
| | | let str = code.split('-') |
| | | let r = str[1]//å½åè¡ |
| | | let c = str[2]//å½åå |
| | | let id = str[0] |
| | | let pId = str[3]//å½åæ£éªé¡¹idï¼param[pId]为å½åæ£éªé¡¹çææå¼ï¼å
å«ï¼è¿ç¨å¼insValueã计ç®å¼comValueã设å¤ç¼ç equipValueã设å¤åç§°equipNameãæç»å¼resValueãç»è®ºinsResult |
| | | var list = []//ä¸ä¸ªå屿°ç»ï¼éé¢ä¿åæå½å页颿¸²æçæææ°æ® |
| | | // èµå¼å½å模æ¿çè¡¨æ ¼æ°æ® |
| | | for (let a in tableList) { |
| | | if (tableList[a].templateId == id) { |
| | | list = tableList[a].arr |
| | | break |
| | | } |
| | | } |
| | | let isToExponential = ''//æ¯å¦ä¸ºç§å¦è®¡æ°æ³ |
| | | let list2 = [] //ä¸ä¸ªæ°ç»ï¼éé¢ä¿åæå½åæ£éªé¡¹çææåæ°å¼ |
| | | let isPoint = '' //æ¯å¦ä¸ºå°æ°ç¹ |
| | | // å¾ªç¯ææexcelæ¹æ³ï¼æ¾å°å½åè¡ãåçæ£éªé¡¹ï¼å¦ææ¤åå
æ ¼ï¼r,cï¼æ¯æä¸ªexcelæ¹æ³éé¢çåæ°ï¼åæ§è¡æ¤æ¹æ³ |
| | | excelMethodList.forEach(item => { |
| | | // item.valueList æ¯å½åexcelæ¹æ³çåæ°åè¡¨ï¼æ¾å°å½åå¡«å
¥ç弿¯å¦æ¯åæ° |
| | | if (item.valueList&&item.valueList.length>0&&item.valueList.find(m => m.r == r && m.c == c)) { |
| | | // 妿æ¯ï¼åå®ä¹ä¸ä¸ªåæ°ç对象éåï¼ç¨äºä¿åå½åexcelæ¹æ³åæ°çå¼ |
| | | var comValue = {} |
| | | item.valueList.forEach(a => { |
| | | list.forEach(b => { |
| | | if (b[0].r == a.r) { |
| | | b.forEach(c => { |
| | | if (c.c == a.c) { |
| | | // è·åå½ååæ°çExeclè¡åæ (ABCD)çç |
| | | var tableCode = '' |
| | | for (var d in comparisonList) { |
| | | if (c.c == comparisonList[d].dictValue) { |
| | | tableCode = comparisonList[d].dictLabel |
| | | break |
| | | } |
| | | } |
| | | list2.push(c.v.v) |
| | | // ç»è£
åæ°ç对象éåå¹¶èµå¼ï¼åå¦{A3:12,B4:15} |
| | | if(getInspectionValueType(item.i)==1&&!isNaN(parseFloat(c.v.v))){ |
| | | // å¦ææ¯æ°åè¾å
¥æ¡ |
| | | let n = String(c.v.v) |
| | | if(n.includes('/')){ |
| | | // 妿æ¯åæ°ï¼åèµå¼ |
| | | comValue[(tableCode + (c.r + 1))] = c.v.v |
| | | }else{ |
| | | comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v).toFixed(6) |
| | | } |
| | | }else{ |
| | | // å¦ææ¯ææ¬ã䏿æ¡çç |
| | | comValue[(tableCode + (c.r + 1))] = c.v.v |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | // 妿æ¤excelæ¹æ³æ¯ç»è®ºå¤ææ¹æ³ï¼åæ§è¡æ¤æ¹æ³ |
| | | if (item.v.ps != undefined && item.v.ps.value == 'ç»è®º') { |
| | | try { |
| | | if (currentSample.insProduct.find(m => m.id == item.i)) { |
| | | // 妿å½åæ£éªé¡¹æ¯äº§åæ£éªé¡¹ï¼åæ§è¡æ¤æ¹æ³ï¼æ¾å°æ¤æ£éªé¡¹çè¦æ±å¼ |
| | | let ask = currentSample.insProduct.find(m => m.id == item.i).ask?currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null; |
| | | const chromeVersion = getChromeVersion() |
| | | console.log(getChromeVersion()) |
| | | let res = null |
| | | // è·åå½åç»è®ºçåæ°ï¼ä¹å°±æ¯å½åæ£éªé¡¹çæç»å¼ |
| | | if(chromeVersion>0 && chromeVersion>=75){ |
| | | res = Object.values(comValue)[0] |
| | | }else{ |
| | | res = customValues(comValue)[0] |
| | | } |
| | | let comp = [] |
| | | // 夿å½åç»è®ºçåæ°ï¼å½åæ£éªé¡¹çæç»å¼ï¼æ¯å¦ä¸ºç©ºï¼å¦æä¸ºç©ºï¼åç´æ¥èµå¼ |
| | | if(res===''||res===null||res===undefined||res==='Infinity'){ |
| | | item.v.v = null |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r) { |
| | | for (let b=0; b<a.length; b++) { |
| | | if (a[b].c == item.c) { |
| | | a[b].v.v = null |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }else{ |
| | | // 妿ä¸ä¸ºç©ºï¼å夿å½åç»è®ºå°±éè¦è¿è¡å¤æ |
| | | //è¦æ±å¼ä¸º-ï¼/ï¼âï¼åç»è®ºè®¾ç½®ä¸ºä¸å¤å®ï¼ç»è®ºèµå¼ä¸º3 |
| | | if(ask[0]=='-' || ask[0]=='/' || ask[0]=='â'){ |
| | | item.v.v = 3 |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r) { |
| | | for (let b=0; b<a.length; b++) { |
| | | if (a[b].c == item.c) { |
| | | a[b].v.v = 3 |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }else{ |
| | | // è¦æ±å¼ä¸ä¸º-ï¼/ï¼âï¼åè¿è¡å¤æ |
| | | if(ask){ |
| | | // 循ç¯è¦æ±å¼å表ï¼å¤æå½åç»è®ºçåæ°æ¯å¦ç¬¦åè¦æ± |
| | | comp = ask.map((m, i) => { |
| | | //å¦æè¦æ±å¼ä¸ºçº¯æ°åï¼å¨å¼å¤´æå
¥= |
| | | if(m!=null && m!=='' && !isNaN(m)){ |
| | | m='='+m |
| | | } |
| | | if(m.includes('ï½')) { |
| | | m = m.replace('ï½', '~') |
| | | } |
| | | // 妿askå
å«Dï¼åç¨è§æ ¼åå·æ¿æ¢ |
| | | // if(m.includes('D')) { |
| | | // m = m.replace('D',modelType.split('-')[1]) |
| | | // } |
| | | // è£
å¤ç¹æçå¤ææ¹æ³ï¼éè¦ç§å¦è®¡æ°æ³çï¼ï¼è¦æ±å¼è¿è¡æ¿æ¢ |
| | | if (m.includes('RTS')) { |
| | | m = m.replace('RTS*', '') |
| | | } |
| | | // å¦æè¦æ±å¼å
å«=ï¼å夿å½åç»è®ºçåæ°æ¯å¦çäºè¦æ±å¼ï¼ |
| | | // 以ä¸å¤æåºæ¬ä¸è´ï¼åªæ¯å¤æç±»åä¸ä¸æ ·ï¼å°±ä¸å注éäº |
| | | if (m.includes('=')) { |
| | | // å¤çè¦æ±å¼ |
| | | let str = handleFraction(m.split('=')[1]) |
| | | if(typeof res == 'string'&&typeof str == 'string'){ |
| | | // å¦æè¦æ±å¼åå½åç»è®ºç忰齿¯å符串ï¼åæ§è¡ |
| | | if(res.includes('/')){ |
| | | // 妿ç»è®ºçåæ°æ¯åæ°ï¼å夿 |
| | | if (m.includes('/')) { |
| | | // å¦æè¦æ±å¼æ¯åæ°ï¼å夿 |
| | | return eval(res) == eval(str) |
| | | } else { |
| | | // å¦æè¦æ±å¼ä¸æ¯åæ°ï¼å夿 |
| | | return handleMoreParam(res,m.split('=')[1],'=') |
| | | } |
| | | }else{ |
| | | // 妿ç»è®ºç忰䏿¯åæ°ï¼å夿 |
| | | //夿ç»è®ºåè¦æ±å¼æ¯ä¸æ¯æ°å |
| | | if(isNaN(res) || isNaN(str)){ |
| | | return res.trim().replace(/[.,ããï¼ï¼'";?ï¼âï¼]/g, '') == str.trim().replace(/[.,ããï¼ï¼'";?ï¼âï¼]/g, '') |
| | | }else{ |
| | | let resNum = parseFloat(res.trim().replace(/[,ããï¼ï¼'";?ï¼âï¼]/g, '')); |
| | | let strNum = parseFloat(str.trim().replace(/[,ããï¼ï¼'";?ï¼âï¼]/g, '')); |
| | | return resNum == strNum; |
| | | } |
| | | } |
| | | }else{ |
| | | // å¦æè¦æ±å¼åå½åç»è®ºçåæ°æä¸ä¸ªæ¯æ°åï¼åæ§è¡ |
| | | return eval(res) == eval(str) |
| | | } |
| | | } else if (m.includes('â¥')) { |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let str = handleFraction(m.split('â¥')[1]) |
| | | return eval(res) >= eval(str) |
| | | } else { |
| | | return handleMoreParam(res,m.split('â¥')[1],'â¥') |
| | | } |
| | | }else{ |
| | | let str = handleFraction(m.split('â¥')[1]) |
| | | return eval(res) >= eval(str) |
| | | } |
| | | }else if (m.includes('â¤')) { |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let str = handleFraction(m.split('â¤')[1]) |
| | | return eval(res) <= eval(str) |
| | | } else { |
| | | return handleMoreParam(res,m.split('â¤')[1],'â¤') |
| | | } |
| | | }else{ |
| | | let str = handleFraction(m.split('â¤')[1]) |
| | | console.log('str',str); |
| | | return eval(res) <= eval(str) |
| | | } |
| | | }else if (m.includes('<')) { |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let str = handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | } else { |
| | | return handleMoreParam(res,m.split('<')[1],'<') |
| | | } |
| | | }else{ |
| | | let str = handleFraction(m.split('<')[1]) |
| | | console.log('111',m); |
| | | console.log('***',str); |
| | | return eval(res) < eval(str) |
| | | } |
| | | }else if (m.includes('>')) { |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let str = handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | } else { |
| | | return handleMoreParam(res,m.split('>')[1],'>') |
| | | } |
| | | }else{ |
| | | let str = handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | } |
| | | }else if (m.includes('~')) { |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let k = m.split('~') |
| | | return eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1])) |
| | | } else { |
| | | return handleMoreParam(res,m,'~') |
| | | } |
| | | }else{ |
| | | const regex = /(-?\d*\.?\d+)/; |
| | | let k = m.split('~') |
| | | k[0] = k[0].match(regex)[1] |
| | | k[1] = k[1].match(regex)[1] |
| | | return eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1])) |
| | | } |
| | | }else if(m.includes('-')){ |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let k = m.split('-') |
| | | return eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])) |
| | | } else { |
| | | return handleMoreParam(res,m,'-') |
| | | } |
| | | }else{ |
| | | let k = m.split('-') |
| | | // console.log(k,eval(res),eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1]))) |
| | | return eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])) |
| | | } |
| | | }else if(m.includes('±')){ |
| | | if(modelType.includes('Ï-')) { |
| | | const regex = /Ï-([\d.]+)/; |
| | | const found = modelType.match(regex); |
| | | if(m.indexOf('±') == 0) { |
| | | if(found) { |
| | | m = found[1] + m |
| | | } |
| | | } |
| | | } |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let k = m.split('±') |
| | | return eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval(Number(handleFraction(k[0])) + Number(handleFraction(k[1]))) |
| | | } else { |
| | | return handleMoreParam(res,m,'±') |
| | | } |
| | | }else{ |
| | | let k = m.split('±') |
| | | if(k[0] != '' && k[0] != null) { |
| | | // å¹é
æ°å¼ |
| | | const regex = /(-?\d+\.?\d*)/ |
| | | k[0] = k[0].match(regex)[0] |
| | | // 夿æ¯å¦å«æ%çæ
åµ |
| | | if(k[1].includes('%')) { |
| | | k[1] =Number(k[0]).toFixed(6) * Number(k[1].match(regex)[0]).toFixed(6) / 100 |
| | | }else{ |
| | | k[1] = k[1].match(regex)[0] |
| | | } |
| | | } |
| | | return eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval(Number(handleFraction(k[0])) + Number(handleFraction(k[1]))) |
| | | } |
| | | }else if(m.includes('ï¼')){ |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let str = handleFraction(m.split('ï¼')[1]) |
| | | return eval(res) > eval(str) |
| | | } else { |
| | | return handleMoreParam(res,m.split('ï¼')[1],'>') |
| | | } |
| | | }else{ |
| | | let str = handleFraction(m.split('ï¼')[1]) |
| | | return eval(res) > eval(str) |
| | | } |
| | | }else if(m.includes('ï¼')){ |
| | | if(typeof res =='string'&&res.includes('/')){ |
| | | if (m.includes('/')) { |
| | | let str = handleFraction(m.split('ï¼')[1]) |
| | | return eval(res) < eval(str) |
| | | } else { |
| | | return handleMoreParam(res,m.split('ï¼')[1],'<') |
| | | } |
| | | }else{ |
| | | let str = handleFraction(m.split('ï¼')[1]) |
| | | return eval(res) < eval(str) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | // å¦æè¦æ±å¼çæ¯ä¸ªæ¡ä»¶é½ç¬¦åï¼åç»ç»è®ºèµå¼ä¸º1ï¼åæ ¼ |
| | | if (comp.every(m => m)) { |
| | | item.v.v = 1 |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r) { |
| | | for (let b=0; b<a.length; b++) { |
| | | if (a[b].c == item.c) { |
| | | a[b].v.v = 1 |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }else { |
| | | // å¦åç»ç»è®ºèµå¼ä¸º0ï¼ä¸åæ ¼ |
| | | item.v.v = 0 |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r) { |
| | | for (let b=0; b<a.length; b++) { |
| | | if (a[b].c == item.c) { |
| | | a[b].v.v = 0 |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | let getDataType0 = false |
| | | // ä¼åæ°éè¾å¤æ°æ®æ¶-è®°å½æåä¸ä¸ªæ£éªé¡¹çidï¼å¦æå½åæ£éªé¡¹çidä¸è®°å½çidç¸åï¼åå¤ä¼ ä¸ä¸ªåæ°å°ä¸»çº¿ç¨ï¼è¿è¡æ°æ®ä¿åï¼å¦åæ°éå°±ä¸è¿è¡ä¿å |
| | | if(item.i==getDataTypeId){ |
| | | getDataType0 = true |
| | | } |
| | | // èµå¼ä¼ éå°ä¸»çº¿ç¨çæ°æ®ï¼methodï¼saveInsContextè¡¨ç¤ºæ¤æ¶æ¯éè¦ä¿åæ°æ® |
| | | console.log("iii---->>>>",item) |
| | | result = { |
| | | method:'saveInsContext', |
| | | value:{ |
| | | tableList,// è¡¨æ ¼æ°æ® |
| | | param:getParam(),//ä¼ ç»å端çåæ° |
| | | getDataTypeId:getDataType0?getDataTypeId:'', |
| | | currentInsItemId: item.i |
| | | } |
| | | } |
| | | // åæ¶æ¯ç»ä¸»çº¿ç¨ |
| | | self.postMessage(JSON.stringify(result)) |
| | | } |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | |
| | | } else { |
| | | // 妿æ¯å½æ°æ¹æ³ï¼åæ§è¡æ¤æ¹æ³ |
| | | let comResult = ''//åå§å计ç®ç»æ |
| | | try { |
| | | if(getInspectionValueType(item.i)==1){ |
| | | // 妿æ£éªå¼ç±»åæ¯æ°åè¾å
¥æ¡ |
| | | let tell = currentSample.insProduct.find(m => m.id == item.i).tell?currentSample.insProduct.find(m => m.id == item.i).tell.split('&'):null; |
| | | // æ ¹æ®è¾å
¥çæ°å¼ï¼è¿è¡è®¡ç® |
| | | comResult = compute(item.v.f.replace(/=/g, ' '),comValue, false) |
| | | let list3 = list2.map(item=>item+'') |
| | | // 夿æ¯å¦ä¸ºç§å¦è®¡æ°æ³ï¼å¦æä¸ºç§å¦è®¡æ°æ³ï¼åè¿è¡è½¬å |
| | | isToExponential = list3.some(val => val.includes('e+')||val.includes('e-')) |
| | | // æ£éªå¼è½¬å |
| | | let findProduct = currentSample.insProduct.find(i=>i.inspectionItem=='ä½ç§¯çµé»ç') |
| | | // 夿æ£éªé¡¹æ¯å¦ä¸ºä½ç§¯çµé»çï¼å¦æä¸ºä½ç§¯çµé»çä¸å¤§äº100000ï¼åè¿è¡è½¬å |
| | | if (findProduct && isToExponential && comResult>=100000) { |
| | | let num2 = new Big(comResult) |
| | | comResult = num2.toExponential(1) |
| | | } |
| | | }else{ |
| | | // 妿æ£éªå¼ç±»åæ¯ææ¬è¾å
¥æ¡ãä¸ææ¡ |
| | | let valueList = []; |
| | | // å¤çexcel彿°åæ°å表 |
| | | item.valueList.forEach(a => { |
| | | valueList.push({ |
| | | name: `${comparisonList.find(e=>e.dictValue==a.c).dictLabel}${a.r+1}`, |
| | | value: 0, |
| | | }) |
| | | }) |
| | | // ç»excel彿°åæ°èµææ¬å¼ |
| | | for (var a in comValue) { |
| | | valueList.forEach(b => { |
| | | if (b.name == a) { |
| | | b.value = comValue[a] |
| | | } |
| | | }) |
| | | } |
| | | // 计ç®å
¬å¼ï¼å»æexcel彿°ççå·ï¼å¹¶æ¿æ¢åæ°ï¼åå¦ï¼=A1 åæ A1 åæ âææ¬è¾å
¥çå¼â |
| | | let str = item.v.f.replace(/=/g, ' ') |
| | | valueList.forEach(b => { |
| | | str = str.replace(b.name, b.value) |
| | | }) |
| | | // 计ç®ç»æèµå¼ |
| | | comResult = str |
| | | } |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | try { |
| | | // 循ç¯è¡¨æ ¼æ°æ®ï¼ç»è¡¨æ ¼æ°æ®è¿è¡èµå¼ |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r && comResult !== '') { |
| | | // 夿å½åè¡æ¯å¦ä¸ºå½åæ£éªé¡¹æå¨è¡ï¼å¦æä¸ºå½åè¡ï¼åç»è¡¨æ ¼æ°æ®èµå¼ |
| | | for (var b in a) { |
| | | if (a[b].c == item.c) { |
| | | try{ |
| | | if(comResult==0){ |
| | | // å¤æè®¡ç®ç»ææ¯å¦ä¸º0ï¼å¦æä¸º0ï¼åç»è¡¨æ ¼æ°æ®èµå¼ä¸º0 |
| | | a[b].v.v = 0 |
| | | }else if(a[b].v.ct&&a[b].v.ct.fa&&typeof a[b].v.ct.fa == 'string'&&a[b].v.ct.fa.includes('.')){ |
| | | // 夿å½ååå
æ ¼æ¯å¦ä¿çå°æ°ç¹ï¼å¦æä¸ºä¿çå°æ°ç¹ï¼åç»è¡¨æ ¼æ°æ®èµå¼ä¸ºä¿çå°æ°ç¹ï¼è¿ä¸ªæ¯æ ¹æ®æ¨¡æ¿é
ç½®å°æ°ç¹æ¥ç |
| | | let num = 0 |
| | | let str = a[b].v.ct.fa.split('.')[1] |
| | | num = str.length |
| | | a[b].v.v = comResult?Number(comResult).toFixed(num):comResult |
| | | }else if(typeof comResult == 'string' && (comResult.includes('e+')|| comResult.includes('e-'))){ |
| | | // å¤æè®¡ç®ç»ææ¯å¦ä¸ºç§å¦è®¡æ°æ³ï¼å¦æä¸ºç§å¦è®¡æ°æ³ï¼åç»è¡¨æ ¼æ°æ®èµå¼ä¸ºç§å¦è®¡æ°æ³ |
| | | a[b].v.v = comResult |
| | | }else{ |
| | | // å¤æè®¡ç®ç»ææ¯å¦ä¸ºæ°åï¼å¦æä¸ºæ°åï¼åç»è¡¨æ ¼æ°æ®èµå¼ä¸ºæ°å |
| | | let val = parseFloat(Number(comResult).toFixed(6)) |
| | | a[b].v.v = isNaN(val) ? comResult : val |
| | | } |
| | | }catch(error){ |
| | | // 妿以ä¸å¤æé½ä¸æ¯æï¼åç´æ¥èµå¼ |
| | | a[b].v.v = comResult |
| | | console.log('error---', error) |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | // 妿æ¤è®¡ç®ç»ææå±åå
æ ¼ï¼åæ¶ä¹æ¯å¦ä¸ä¸ªexcel彿°çåæ°ï¼é£ä¹å°±éè¦éå½è¿è¡è®¡ç® |
| | | changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //æ¹åæç»å¼ |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | // èµå¼å¤çº¿ç¨ä¼ è¾æ°æ® |
| | | result = { |
| | | method:'tableList', |
| | | value:tableList |
| | | } |
| | | // åéä¸»çº¿ç¨æ°æ® |
| | | self.postMessage(JSON.stringify(result)) |
| | | try { |
| | | // èµå¼å¤çº¿ç¨ä¼ è¾æ°æ® |
| | | result = { |
| | | method:'getCurrentInsProduct', |
| | | value:pId |
| | | } |
| | | // åéä¸»çº¿ç¨æ°æ® |
| | | self.postMessage(JSON.stringify(result)) |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | /** |
| | | * è·åæ£æµå¼ç±»å |
| | | * |
| | | * @param id æ£æµå¼ç±»å对åºçid |
| | | * @returns è¿åæ£æµå¼ç±»å |
| | | */ |
| | | function getInspectionValueType(id) { |
| | | for (var a in currentSample.insProduct) { |
| | | if (currentSample.insProduct[a].id == id) { |
| | | return currentSample.insProduct[a].inspectionValueType |
| | | } |
| | | } |
| | | } |
| | | /** |
| | | * å¤çåæ°æå¸¦æä¹æ³å乿¹çå符串 |
| | | * |
| | | * @param str å符串类åï¼è¡¨ç¤ºè¦å¤ççåæ°æä¹æ¹è¡¨è¾¾å¼ |
| | | * @returns è¿åä¸ä¸ªæ°åæåå符串ï¼å¦æå符串为ææçåæ°æä¹æ¹è¡¨è¾¾å¼ï¼åè¿å计ç®ç»æï¼å¦åè¿ååå符串 |
| | | */ |
| | | function handleFraction(str){ |
| | | if(str&&typeof(str)=='string'&&str.includes('/')&&str.includes('*')) { |
| | | // 夿åªä¸ªç¬¦å·å¨åé¢ |
| | | // 妿/å¨*åé¢ï¼åå
计ç®é¤æ³ï¼å计ç®ä¹æ³ |
| | | if(str.indexOf('/') < str.indexOf('*')) { |
| | | let num1 = str.split('/')[0] |
| | | let num2 = str.split('/')[1].split('*')[0] |
| | | let num3 = str.split('/')[1].split('*')[1] |
| | | return eval(num1/num2)*num3 |
| | | }else { |
| | | // 妿*å¨/åé¢ï¼åå
计ç®ä¹æ³ï¼å计ç®é¤æ³ |
| | | let num1 = str.split('*')[0] |
| | | let num2 = str.split('*')[1].split('/')[0] |
| | | let num3 = str.split('*')[1].split('/')[1] |
| | | return eval(num1*num2)/num3 |
| | | } |
| | | } |
| | | if(str&&typeof(str)=='string'&&str.includes('/')){ |
| | | // å¤çåæ° |
| | | return eval(str.split('/')[0]/str.split('/')[1]) |
| | | } else if (str && typeof(str) == 'string' && str.includes('*') && str.includes('^')) { |
| | | // 计ç®ä¹æ¹ |
| | | const num1 = str.split('*') |
| | | const num2 = num1[1].split('^') |
| | | let num3 = new Big(num2[0]); |
| | | let num4 = new Big(num2[1]); |
| | | let num5 = Math.pow(num3, num4) // è®¡ç®æ¬¡æ¹ |
| | | return num1[0] * num5 // æå计ç®ä¹æ³ |
| | | } else{ |
| | | return str |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å¤ç带æå¤ä¸ªåæ°ç彿° |
| | | * |
| | | * @param res å符串ï¼éè¦è¢«åå²å¹¶å¤ççå符串 |
| | | * @param str å符串ï¼ä¸resä¸çæ¯ä¸é¡¹è¿è¡æ¯è¾çå符串ï¼å¯è½æ¯åæ°æè
å¸¦ææ¯è¾ç¬¦å·çå符串 |
| | | * @param comp å符串ï¼è¡¨ç¤ºæ¯è¾ç±»åçå符ï¼å¦ '>'ã'<'ã'='ã'â¥'ã'â¤'ã'±'ã'~'ã'-'ï¼ |
| | | * @returns è¿åå¸å°å¼ï¼å¦æres䏿¯ä¸é¡¹é½æ»¡è¶³ä¸strçæ¯è¾æ¡ä»¶ï¼åè¿åtrueï¼å¦åè¿åfalse |
| | | */ |
| | | function handleMoreParam(res,str,comp){ |
| | | let arr = res.split('/') |
| | | let arr0 = arr.every(item=>{ |
| | | switch (comp){ |
| | | case '>': |
| | | return item > handleFraction(str) |
| | | case '<': |
| | | return item < handleFraction(str) |
| | | case '=': |
| | | return item == handleFraction(str) |
| | | case 'â¥': |
| | | return item >= handleFraction(str) |
| | | case 'â¤': |
| | | return item <= handleFraction(str) |
| | | case '±': |
| | | let k = str.split('±') |
| | | return item >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && item <= eval(Number(handleFraction(k[0])) + Number(handleFraction(k[1]))) |
| | | case '~': |
| | | let j = str.split('~') |
| | | return item >= eval(handleFraction((j[0]))) && item <= eval(handleFraction(j[1])) |
| | | case '-': |
| | | let o = str.split('-') |
| | | return item >= eval(handleFraction(o[0])) && item <= eval(handleFraction(o[1])) |
| | | } |
| | | }) |
| | | if(arr0){ |
| | | return true |
| | | }else{ |
| | | return false |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·ååæ° |
| | | * |
| | | * @returns è¿åå¤çåçåæ°å¯¹è±¡ |
| | | */ |
| | | function getParam(){ |
| | | tableList[0].arr.forEach(a=>{ |
| | | a.forEach(b=>{ |
| | | // åå§åä¼ éå°å端çåæ° |
| | | if(param[b.i]){ |
| | | param[b.i].insValue = [] |
| | | param[b.i].comValue = [] |
| | | param[b.i].equipValue = [] |
| | | param[b.i].equipName = [] |
| | | param[b.i].resValue = null |
| | | param[b.i].insResult = null |
| | | } |
| | | }) |
| | | }) |
| | | console.log('78978'); |
| | | tableList[0].arr.forEach(a => { |
| | | a.forEach(b=>{ |
| | | // æ ¹æ®è¡¨æ ¼æ°æ®ï¼èµå¼ä¼ éå°å端çåæ° |
| | | if (b.v.ps != undefined &&typeof b.v.ps.value =='string'&& b.v.ps.value.includes('æ£éªå¼')) { |
| | | // èµå¼æ£éªå¼ |
| | | b.i &&b.v.v&& param[b.i].insValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '计ç®å¼') { |
| | | // èµå¼è®¡ç®å¼ |
| | | if (typeof b.v.v == "number" && isNaN(b.v.v)) { |
| | | b.v.v = 0; |
| | | } |
| | | b.i &&b.v.v&&b.valueList&&b.valueList.length>0&& param[b.i].comValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设å¤ç¼ç ') { |
| | | // èµå¼è®¾å¤ç¼ç |
| | | b.i &&b.v&& param[b.i].equipValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设å¤åç§°') { |
| | | // èµå¼è®¾å¤åç§° |
| | | b.i &&b.v&& param[b.i].equipName.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === 'æç»å¼') { |
| | | // èµå¼æç»å¼ æå¼å°±ä¸å¨ç»§ç»èµå¼ |
| | | if(!(param[b.i].resValue && param[b.i].resValue.v && param[b.i].resValue.v.v)){ |
| | | // 计ç®å¼ æ£éªåå
¨é¨è¾å
¥0 |
| | | if (typeof b.v.v == "number" && isNaN(b.v.v)) { |
| | | b.v.v = 0 |
| | | } |
| | | b.i &&b.v&&b.valueList&&b.valueList.length>0&& (param[b.i].resValue = b) |
| | | } |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === 'ç»è®º') { |
| | | if(b.i &&(b.v.v||b.v.v===0||b.v.v==='0')){ |
| | | if(b.v.v != 'åæ ¼'&&b.v.v != 'ä¸åæ ¼'){ |
| | | // èµå¼ç»è®º |
| | | if(param[b.i].insResult == '' || param[b.i].insResult == null || param[b.i].insResult == undefined){ |
| | | param[b.i].insResult = b |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | return param |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 计ç®å¤ä¸ªæ°å¼çå |
| | | * |
| | | * @param val æ°å¼ååæ°ï¼å¯åé¿åæ°å表 |
| | | * @returns è¿åææåæ°çåï¼å¦æåæ°å表为空æåæ°ç±»åéæ°å¼åï¼åè¿ånull |
| | | */ |
| | | function SUM(...val){ |
| | | try { |
| | | let num = null; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | val.forEach(item=>{ |
| | | num+=item; |
| | | }) |
| | | } |
| | | return num; |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | /** |
| | | * 计ç®ä¼ å
¥åæ°ä¸çæå¤§å¼ |
| | | * |
| | | * @param ...val å¯ååæ°å表ï¼ç¨äºè®¡ç®æå¤§å¼çæ°å¼æå¯è½¬æ¢ä¸ºæ°å¼çç±»å |
| | | * @returns è¿åæå¤§å¼ï¼å¦æåæ°å表为空æä¸ºnull/undefined/''ï¼åè¿ånull |
| | | */ |
| | | function MAX(...val){ |
| | | try { |
| | | let max = null; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | val = val.filter(item=>item!=null&&item!=='') |
| | | if(val.length>0){ |
| | | max = Math.max(...val) |
| | | }else{ |
| | | max = null; |
| | | } |
| | | } |
| | | return max; |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | /** |
| | | * 计ç®ä¼ å
¥åæ°ä¸çæå°å¼ |
| | | * |
| | | * @param val å¯ååæ°ï¼ç¨äºè®¡ç®æå°å¼çæ°å¼æ°ç» |
| | | * @returns è¿åä¼ å
¥åæ°ä¸çæå°å¼ï¼å¦æä¼ å
¥åæ°ä¸ºç©ºæææå¼å为nullæç©ºå符串ï¼åè¿ånull |
| | | */ |
| | | function MIN(...val){ |
| | | try { |
| | | let min = null; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | val = val.filter(item=>item!=null&&item!=='') |
| | | if(val.length>0){ |
| | | min = Math.min(...val) |
| | | } |
| | | } |
| | | return min; |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | /** |
| | | * 计ç®ç»å®æ°å¼çå¹³åå¼ |
| | | * |
| | | * @param val æ°å¼å表ï¼å¯å
å«ä»»æä¸ªåæ° |
| | | * @returns è¿åå¹³åå¼ï¼å¦ææ°å¼å表为空æå
å«éæ°å¼é¡¹ï¼åè¿ånull |
| | | */ |
| | | function AVERAGE(...val){ |
| | | try { |
| | | let num = null; |
| | | let arr = []; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | arr = val.filter(item=>item!==null&&item!==''&&item!=undefined) |
| | | arr.forEach(item=>{ |
| | | num+=item; |
| | | }) |
| | | if(arr.length>0){ |
| | | return num/arr.length; |
| | | }else{ |
| | | return null; |
| | | } |
| | | }else{ |
| | | return null; |
| | | } |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | /** |
| | | * 计ç®ä¸ä¸ªæ°çç»å¯¹å¼ |
| | | * |
| | | * @param val ä»»ææ°å¼ |
| | | * @returns è¿å该æ°å¼çç»å¯¹å¼ |
| | | */ |
| | | function ABS(val){ |
| | | try { |
| | | return Math.abs(val); |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | /** |
| | | * 计ç®ä¸ç»æ°åçä¸ä½æ° |
| | | * |
| | | * @param val ä»»æä¸ªåæ°ï¼éè¦è®¡ç®ä¸ä½æ°çæ°å |
| | | * @returns 妿忰䏿ææçæ°åï¼åè¿å计ç®åºçä¸ä½æ°ï¼å¦åè¿ånull |
| | | */ |
| | | function MEDIAN(...val){ |
| | | try { |
| | | let arr = []; |
| | | if(val&&val.length>0){ |
| | | arr = val.filter(item=>item!=null&&item!=='') |
| | | const sortedArr = arr.sort((a, b) => a - b); |
| | | // 计ç®ä¸ä½æ° |
| | | const half = Math.floor(sortedArr.length / 2); |
| | | if(arr.length>0){ |
| | | // 妿æ°ç»é¿åº¦æ¯å¥æ°ï¼ç´æ¥åä¸é´çå
ç´ |
| | | if (sortedArr.length % 2 === 1) { |
| | | return sortedArr[half]; |
| | | } else { // 妿æ°ç»é¿åº¦æ¯å¶æ°ï¼åä¸é´ä¸¤ä¸ªå
ç´ çå¹³åå¼ |
| | | return (sortedArr[half - 1] + sortedArr[half]) / 2; |
| | | } |
| | | }else{ |
| | | return null; |
| | | } |
| | | }else{ |
| | | return null; |
| | | } |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 计ç®å¹ |
| | | * |
| | | * @param str å符串形å¼çå¹è¡¨è¾¾å¼ï¼ä¾å¦"2^3" |
| | | * @returns è¿å计ç®åçå¹å¼ï¼å¦æè¡¨è¾¾å¼æ æåè¿ånull |
| | | */ |
| | | function CalculatePower(str){ |
| | | try { |
| | | if(str&&str.includes('^')){ |
| | | let arr = str.split('^'); |
| | | if(arr&&arr.length>1){ |
| | | return Math.pow(arr[0],arr[1]); |
| | | }else{ |
| | | return null; |
| | | } |
| | | } |
| | | } catch (error) { |
| | | console.log('error---', error) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®åæ è·ååå |
| | | * @param {Object} cellId |
| | | */ |
| | | function getColumnNameFromId(cellId){ |
| | | try{ |
| | | if (! Array.isArray(cellId)) { |
| | | cellId = cellId.split('-'); |
| | | } |
| | | var i = cellId[0]; |
| | | var letter = ''; |
| | | if (i > 701) { |
| | | letter += String.fromCharCode(64 + parseInt(i / 676)); |
| | | letter += String.fromCharCode(64 + parseInt((i % 676) / 26)); |
| | | } else if (i > 25) { |
| | | letter += String.fromCharCode(64 + parseInt(i / 26)); |
| | | } |
| | | letter += String.fromCharCode(65 + (i % 26)); |
| | | return letter + (parseInt(cellId[1]) + 1); |
| | | }catch(e){ |
| | | console.log('error',e) |
| | | } |
| | | } |
| | | /** |
| | | * æ ¹æ®ååè·ååæ |
| | | * @param {Object} id |
| | | * @param {Object} arr |
| | | */ |
| | | function getIdFromColumnName(id, arr) { |
| | | try{ |
| | | // Get the letters |
| | | var t = /^[a-zA-Z]+/.exec(id); |
| | | if (t) { |
| | | // Base 26 calculation |
| | | var code = 0; |
| | | for (var i = 0; i < t[0].length; i++) { |
| | | code += parseInt(t[0].charCodeAt(i) - 64) * Math.pow(26, (t[0].length - 1 - i)); |
| | | } |
| | | code--; |
| | | // Make sure jexcel starts on zero |
| | | if (code < 0) { |
| | | code = 0; |
| | | } |
| | | |
| | | // Number |
| | | var number = parseInt(/[0-9]+$/.exec(id)); |
| | | if (number > 0) { |
| | | number--; |
| | | } |
| | | |
| | | if (arr == true) { |
| | | id = [ code, number ]; |
| | | } else { |
| | | // id = code + '-' + number; |
| | | id = { |
| | | c:code, |
| | | r:number |
| | | } |
| | | } |
| | | } |
| | | return id; |
| | | }catch(e){ |
| | | console.log('error',e) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ´æ¹åæ° |
| | | * |
| | | * @param f åæ°å表 |
| | | * @returns è¿åä¸ä¸ªå
å«åæ ä¿¡æ¯çæ°ç» |
| | | */ |
| | | function changeParameter(f){ |
| | | try { |
| | | let arr = getABCList(f) |
| | | let arr2 = [] |
| | | arr.forEach(item=>{ |
| | | // 夿æ¯å¦ä¸ºèå´ï¼åå¦MAX(A1:B2) |
| | | if(item.includes(':')){ |
| | | let r0 = getIdFromColumnName(item.split(':')[0]).r; |
| | | let c0 = getIdFromColumnName(item.split(':')[0]).c; |
| | | let r1 = getIdFromColumnName(item.split(':')[1]).r; |
| | | let c1 = getIdFromColumnName(item.split(':')[1]).c; |
| | | for (let i = Number(r0); i <= Number(r1); i++) { |
| | | for (let u = Number(c0); u <= Number(c1); u++) { |
| | | arr2.push({ |
| | | r: i, |
| | | c: u |
| | | }) |
| | | } |
| | | } |
| | | }else{ |
| | | // 没æåç´æ¥è·å |
| | | arr2.push(getIdFromColumnName(item)) |
| | | } |
| | | }) |
| | | return arr2; |
| | | } catch (error) { |
| | | console.log('error',error) |
| | | } |
| | | } |
| | | /** |
| | | * è·åå
å« ABC å符çå表 |
| | | * |
| | | * @param f å符串ï¼å
å«éè¦è§£æçå
¬å¼æè¡¨è¾¾å¼ |
| | | * @returns å
å« ABC åç¬¦çæ°ç»å表 |
| | | */ |
| | | function getABCList(f){ |
| | | try { |
| | | let regex = /[=\+\-\*\%\(\)\/\^\s]/g; |
| | | // ä¸é¢è®¡ç®å½æ°æ°å¢åï¼è¿éä¹è¦åæ¥å¢å |
| | | let fouList = [ |
| | | "SUM", |
| | | 'MAX', |
| | | 'MIN', |
| | | 'AVERAGE', |
| | | 'ABS', |
| | | ] |
| | | // æ¿æ¢ç¹æ®å符 |
| | | f = f.replace(regex, ',').replace(new RegExp('"&', 'g'),'').replace(new RegExp('&"', 'g'),'') |
| | | fouList.forEach(item=>{ |
| | | f = f.replace(new RegExp(item, 'g'),',') |
| | | }) |
| | | let arr = f.split(',').filter(item=>{ |
| | | return item&& /[a-zA-Z]/.test(item)&&item!='undefined'&&item!='null' |
| | | }); |
| | | return arr; |
| | | } catch (error) { |
| | | console.log('error',error) |
| | | } |
| | | } |
| | | /** |
| | | * è·åææåå
æ ¼ |
| | | * |
| | | * @param f è¡¨æ ¼æ°æ®æç¸å
³åæ° |
| | | * @returns è¿åä¸ä¸ªå¯¹è±¡ï¼å
¶é®ä¸ºåå
æ ¼çå¯ä¸æ è¯ç¬¦ï¼ç±ååè¡IDæ¼æ¥èæï¼ï¼å¼ä¸ºnull |
| | | */ |
| | | function getAllCell(f){ |
| | | try { |
| | | let arr = changeParameter(f) |
| | | let arr0 = {} |
| | | arr.forEach(item=>{ |
| | | arr0[getColumnNameFromId(`${item.c}`+'-'+`${item.r}`)] = null |
| | | }) |
| | | return arr0; |
| | | } catch (error) { |
| | | console.log('error',error) |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 计ç®å½æ° |
| | | * |
| | | * @param f å符串类åï¼è¡¨ç¤ºå¾
计ç®çå
¬å¼ |
| | | * @param comValue 对象类åï¼è¡¨ç¤ºè¦æ¿æ¢çåå
æ ¼å¼ï¼é®ä¸ºåå
æ ¼åç§°ï¼å¼ä¸ºæ¿æ¢åçå¼ |
| | | * @returns è¿å计ç®åçç»æï¼å¦æè®¡ç®å¤±è´¥åè¿å0 |
| | | */ |
| | | function compute(f,comValue, isPoint){ |
| | | try { |
| | | let str = f |
| | | // è·ååå
æ ¼å¯¹åºå¼ |
| | | let arr = getAllCell(f) |
| | | for (var a in comValue) { |
| | | if(comValue[a]!=='undefined'&&comValue[a]!=='null'&&comValue[a]!==undefined){ |
| | | if(typeof(comValue[a])=='string'&&comValue[a].includes('^')){ |
| | | // 计ç®å¹æ¬¡ |
| | | arr[a] = CalculatePower(comValue[a]) |
| | | } else{ |
| | | arr[a] = comValue[a] |
| | | } |
| | | } |
| | | } |
| | | // è§£æå
¬å¼åæ°ï¼ç¹å«æ¯å¸¦ï¼ç |
| | | let arr0 = getABCList(f) |
| | | let obj = {} |
| | | arr0.forEach(item=>{ |
| | | if(item.includes(':')){ |
| | | let arr1 = [] |
| | | let r0 = getIdFromColumnName(item.split(':')[0]).r; |
| | | let c0 = getIdFromColumnName(item.split(':')[0]).c; |
| | | let r1 = getIdFromColumnName(item.split(':')[1]).r; |
| | | let c1 = getIdFromColumnName(item.split(':')[1]).c; |
| | | for (let i = Number(r0); i <= Number(r1); i++) { |
| | | for (let u = Number(c0); u <= Number(c1); u++) { |
| | | arr1.push({ |
| | | r: i, |
| | | c: u |
| | | }) |
| | | } |
| | | } |
| | | let arr2 = [] |
| | | arr1.forEach(m=>{ |
| | | arr2.push(getColumnNameFromId(`${m.c}`+'-'+`${m.r}`)) |
| | | }) |
| | | obj[item.split(':').join('-')] = arr2.join(',') |
| | | }else{ |
| | | obj[item] = item |
| | | } |
| | | }) |
| | | str = str.replace(new RegExp(':', 'g'),'-') |
| | | // æ¿æ¢åæ° |
| | | for (var a in obj) { |
| | | str = str.replace(new RegExp(a, 'g'),obj[a]) |
| | | } |
| | | // è®¡ç® |
| | | for (var a in arr) { |
| | | str = str.replace(new RegExp(a, 'g'),arr[a]) |
| | | } |
| | | if(str.includes(',,')){ |
| | | str = str.replace(new RegExp(',,', 'g'),',') |
| | | } |
| | | if(str.includes(',,')){ |
| | | str = str.replace(new RegExp(',,', 'g'),',') |
| | | } |
| | | if(str.includes(',,')){ |
| | | str = str.replace(new RegExp(',,', 'g'),',') |
| | | } |
| | | if(str.includes(',,')){ |
| | | str = str.replace(new RegExp(',,', 'g'),',') |
| | | } |
| | | if(str.includes(',,')){ |
| | | str = str.replace(new RegExp(',,', 'g'),',') |
| | | } |
| | | // console.log('str', str) |
| | | if(str.includes('&"/"&')){ |
| | | // 计ç®å¸¦ææ ç |
| | | return str.replace(new RegExp('&"/"&', 'g'),'/').replace(new RegExp('//', 'g'),'') |
| | | } else if (isPoint) { |
| | | // 计ç®å¸¦å°æ°ç¹ç |
| | | return str.replace('ABS', '').replace(/\(|\)/g, '') |
| | | }else { |
| | | console.log('str', str) |
| | | // 计ç®å¸¸è§ç |
| | | return eval(str) |
| | | } |
| | | } catch (error) { |
| | | console.log('error',error) |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /* |
| | | * big.js v5.2.2 |
| | | * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic. |
| | | * Copyright (c) 2018 Michael Mclaughlin <M8ch88l@gmail.com> |
| | | * https://github.com/MikeMcl/big.js/LICENCE |
| | | */ |
| | | ;(function (GLOBAL) { |
| | | 'use strict'; |
| | | var Big, |
| | | |
| | | |
| | | /************************************** EDITABLE DEFAULTS *****************************************/ |
| | | |
| | | |
| | | // The default values below must be integers within the stated ranges. |
| | | |
| | | /* |
| | | * The maximum number of decimal places (DP) of the results of operations involving division: |
| | | * div and sqrt, and pow with negative exponents. |
| | | */ |
| | | DP = 20, // 0 to MAX_DP |
| | | |
| | | /* |
| | | * The rounding mode (RM) used when rounding to the above decimal places. |
| | | * |
| | | * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN) |
| | | * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP) |
| | | * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN) |
| | | * 3 Away from zero. (ROUND_UP) |
| | | */ |
| | | RM = 1, // 0, 1, 2 or 3 |
| | | |
| | | // The maximum value of DP and Big.DP. |
| | | MAX_DP = 1E6, // 0 to 1000000 |
| | | |
| | | // The maximum magnitude of the exponent argument to the pow method. |
| | | MAX_POWER = 1E6, // 1 to 1000000 |
| | | |
| | | /* |
| | | * The negative exponent (NE) at and beneath which toString returns exponential notation. |
| | | * (JavaScript numbers: -7) |
| | | * -1000000 is the minimum recommended exponent value of a Big. |
| | | */ |
| | | NE = -7, // 0 to -1000000 |
| | | |
| | | /* |
| | | * The positive exponent (PE) at and above which toString returns exponential notation. |
| | | * (JavaScript numbers: 21) |
| | | * 1000000 is the maximum recommended exponent value of a Big. |
| | | * (This limit is not enforced or checked.) |
| | | */ |
| | | PE = 21, // 0 to 1000000 |
| | | |
| | | |
| | | /**************************************************************************************************/ |
| | | |
| | | |
| | | // Error messages. |
| | | NAME = '[big.js] ', |
| | | INVALID = NAME + 'Invalid ', |
| | | INVALID_DP = INVALID + 'decimal places', |
| | | INVALID_RM = INVALID + 'rounding mode', |
| | | DIV_BY_ZERO = NAME + 'Division by zero', |
| | | |
| | | // The shared prototype object. |
| | | P = {}, |
| | | UNDEFINED = void 0, |
| | | NUMERIC = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; |
| | | |
| | | |
| | | /* |
| | | * Create and return a Big constructor. |
| | | * |
| | | */ |
| | | function _Big_() { |
| | | |
| | | /* |
| | | * The Big constructor and exported function. |
| | | * Create and return a new instance of a Big number object. |
| | | * |
| | | * n {number|string|Big} A numeric value. |
| | | */ |
| | | function Big(n) { |
| | | var x = this; |
| | | |
| | | // Enable constructor usage without new. |
| | | if (!(x instanceof Big)) return n === UNDEFINED ? _Big_() : new Big(n); |
| | | |
| | | // Duplicate. |
| | | if (n instanceof Big) { |
| | | x.s = n.s; |
| | | x.e = n.e; |
| | | x.c = n.c.slice(); |
| | | } else { |
| | | parse(x, n); |
| | | } |
| | | |
| | | /* |
| | | * Retain a reference to this Big constructor, and shadow Big.prototype.constructor which |
| | | * points to Object. |
| | | */ |
| | | x.constructor = Big; |
| | | } |
| | | |
| | | Big.prototype = P; |
| | | Big.DP = DP; |
| | | Big.RM = RM; |
| | | Big.NE = NE; |
| | | Big.PE = PE; |
| | | Big.version = '5.2.2'; |
| | | |
| | | return Big; |
| | | } |
| | | |
| | | |
| | | /* |
| | | * Parse the number or string value passed to a Big constructor. |
| | | * |
| | | * x {Big} A Big number instance. |
| | | * n {number|string} A numeric value. |
| | | */ |
| | | function parse(x, n) { |
| | | var e, i, nl; |
| | | |
| | | // Minus zero? |
| | | if (n === 0 && 1 / n < 0) n = '-0'; |
| | | else if (!NUMERIC.test(n += '')) throw Error(INVALID + 'number'); |
| | | |
| | | // Determine sign. |
| | | x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1; |
| | | |
| | | // Decimal point? |
| | | if ((e = n.indexOf('.')) > -1) n = n.replace('.', ''); |
| | | |
| | | // Exponential form? |
| | | if ((i = n.search(/e/i)) > 0) { |
| | | |
| | | // Determine exponent. |
| | | if (e < 0) e = i; |
| | | e += +n.slice(i + 1); |
| | | n = n.substring(0, i); |
| | | } else if (e < 0) { |
| | | |
| | | // Integer. |
| | | e = n.length; |
| | | } |
| | | |
| | | nl = n.length; |
| | | |
| | | // Determine leading zeros. |
| | | for (i = 0; i < nl && n.charAt(i) == '0';) ++i; |
| | | |
| | | if (i == nl) { |
| | | |
| | | // Zero. |
| | | x.c = [x.e = 0]; |
| | | } else { |
| | | |
| | | // Determine trailing zeros. |
| | | for (; nl > 0 && n.charAt(--nl) == '0';); |
| | | x.e = e - i - 1; |
| | | x.c = []; |
| | | |
| | | // Convert string to array of digits without leading/trailing zeros. |
| | | for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++); |
| | | } |
| | | |
| | | return x; |
| | | } |
| | | |
| | | |
| | | /* |
| | | * Round Big x to a maximum of dp decimal places using rounding mode rm. |
| | | * Called by stringify, P.div, P.round and P.sqrt. |
| | | * |
| | | * x {Big} The Big to round. |
| | | * dp {number} Integer, 0 to MAX_DP inclusive. |
| | | * rm {number} 0, 1, 2 or 3 (DOWN, HALF_UP, HALF_EVEN, UP) |
| | | * [more] {boolean} Whether the result of division was truncated. |
| | | */ |
| | | function round(x, dp, rm, more) { |
| | | var xc = x.c, |
| | | i = x.e + dp + 1; |
| | | |
| | | if (i < xc.length) { |
| | | if (rm === 1) { |
| | | |
| | | // xc[i] is the digit after the digit that may be rounded up. |
| | | more = xc[i] >= 5; |
| | | } else if (rm === 2) { |
| | | more = xc[i] > 5 || xc[i] == 5 && |
| | | (more || i < 0 || xc[i + 1] !== UNDEFINED || xc[i - 1] & 1); |
| | | } else if (rm === 3) { |
| | | more = more || !!xc[0]; |
| | | } else { |
| | | more = false; |
| | | if (rm !== 0) throw Error(INVALID_RM); |
| | | } |
| | | |
| | | if (i < 1) { |
| | | xc.length = 1; |
| | | |
| | | if (more) { |
| | | |
| | | // 1, 0.1, 0.01, 0.001, 0.0001 etc. |
| | | x.e = -dp; |
| | | xc[0] = 1; |
| | | } else { |
| | | |
| | | // Zero. |
| | | xc[0] = x.e = 0; |
| | | } |
| | | } else { |
| | | |
| | | // Remove any digits after the required decimal places. |
| | | xc.length = i--; |
| | | |
| | | // Round up? |
| | | if (more) { |
| | | |
| | | // Rounding up may mean the previous digit has to be rounded up. |
| | | for (; ++xc[i] > 9;) { |
| | | xc[i] = 0; |
| | | if (!i--) { |
| | | ++x.e; |
| | | xc.unshift(1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // Remove trailing zeros. |
| | | for (i = xc.length; !xc[--i];) xc.pop(); |
| | | } |
| | | } else if (rm < 0 || rm > 3 || rm !== ~~rm) { |
| | | throw Error(INVALID_RM); |
| | | } |
| | | |
| | | return x; |
| | | } |
| | | |
| | | |
| | | /* |
| | | * Return a string representing the value of Big x in normal or exponential notation. |
| | | * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf. |
| | | * |
| | | * x {Big} |
| | | * id? {number} Caller id. |
| | | * 1 toExponential |
| | | * 2 toFixed |
| | | * 3 toPrecision |
| | | * 4 valueOf |
| | | * n? {number|undefined} Caller's argument. |
| | | * k? {number|undefined} |
| | | */ |
| | | function stringify(x, id, n, k) { |
| | | var e, s, |
| | | Big = x.constructor, |
| | | z = !x.c[0]; |
| | | |
| | | if (n !== UNDEFINED) { |
| | | if (n !== ~~n || n < (id == 3) || n > MAX_DP) { |
| | | throw Error(id == 3 ? INVALID + 'precision' : INVALID_DP); |
| | | } |
| | | |
| | | x = new Big(x); |
| | | |
| | | // The index of the digit that may be rounded up. |
| | | n = k - x.e; |
| | | |
| | | // Round? |
| | | if (x.c.length > ++k) round(x, n, Big.RM); |
| | | |
| | | // toFixed: recalculate k as x.e may have changed if value rounded up. |
| | | if (id == 2) k = x.e + n + 1; |
| | | |
| | | // Append zeros? |
| | | for (; x.c.length < k;) x.c.push(0); |
| | | } |
| | | |
| | | e = x.e; |
| | | s = x.c.join(''); |
| | | n = s.length; |
| | | |
| | | // Exponential notation? |
| | | if (id != 2 && (id == 1 || id == 3 && k <= e || e <= Big.NE || e >= Big.PE)) { |
| | | s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e; |
| | | |
| | | // Normal notation. |
| | | } else if (e < 0) { |
| | | for (; ++e;) s = '0' + s; |
| | | s = '0.' + s; |
| | | } else if (e > 0) { |
| | | if (++e > n) for (e -= n; e--;) s += '0'; |
| | | else if (e < n) s = s.slice(0, e) + '.' + s.slice(e); |
| | | } else if (n > 1) { |
| | | s = s.charAt(0) + '.' + s.slice(1); |
| | | } |
| | | |
| | | return x.s < 0 && (!z || id == 4) ? '-' + s : s; |
| | | } |
| | | |
| | | |
| | | // Prototype/instance methods |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the absolute value of this Big. |
| | | */ |
| | | P.abs = function () { |
| | | var x = new this.constructor(this); |
| | | x.s = 1; |
| | | return x; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return 1 if the value of this Big is greater than the value of Big y, |
| | | * -1 if the value of this Big is less than the value of Big y, or |
| | | * 0 if they have the same value. |
| | | */ |
| | | P.cmp = function (y) { |
| | | var isneg, |
| | | x = this, |
| | | xc = x.c, |
| | | yc = (y = new x.constructor(y)).c, |
| | | i = x.s, |
| | | j = y.s, |
| | | k = x.e, |
| | | l = y.e; |
| | | |
| | | // Either zero? |
| | | if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i; |
| | | |
| | | // Signs differ? |
| | | if (i != j) return i; |
| | | |
| | | isneg = i < 0; |
| | | |
| | | // Compare exponents. |
| | | if (k != l) return k > l ^ isneg ? 1 : -1; |
| | | |
| | | j = (k = xc.length) < (l = yc.length) ? k : l; |
| | | |
| | | // Compare digit by digit. |
| | | for (i = -1; ++i < j;) { |
| | | if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1; |
| | | } |
| | | |
| | | // Compare lengths. |
| | | return k == l ? 0 : k > l ^ isneg ? 1 : -1; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded, |
| | | * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM. |
| | | */ |
| | | P.div = function (y) { |
| | | var x = this, |
| | | Big = x.constructor, |
| | | a = x.c, // dividend |
| | | b = (y = new Big(y)).c, // divisor |
| | | k = x.s == y.s ? 1 : -1, |
| | | dp = Big.DP; |
| | | |
| | | if (dp !== ~~dp || dp < 0 || dp > MAX_DP) throw Error(INVALID_DP); |
| | | |
| | | // Divisor is zero? |
| | | if (!b[0]) throw Error(DIV_BY_ZERO); |
| | | |
| | | // Dividend is 0? Return +-0. |
| | | if (!a[0]) return new Big(k * 0); |
| | | |
| | | var bl, bt, n, cmp, ri, |
| | | bz = b.slice(), |
| | | ai = bl = b.length, |
| | | al = a.length, |
| | | r = a.slice(0, bl), // remainder |
| | | rl = r.length, |
| | | q = y, // quotient |
| | | qc = q.c = [], |
| | | qi = 0, |
| | | d = dp + (q.e = x.e - y.e) + 1; // number of digits of the result |
| | | |
| | | q.s = k; |
| | | k = d < 0 ? 0 : d; |
| | | |
| | | // Create version of divisor with leading zero. |
| | | bz.unshift(0); |
| | | |
| | | // Add zeros to make remainder as long as divisor. |
| | | for (; rl++ < bl;) r.push(0); |
| | | |
| | | do { |
| | | |
| | | // n is how many times the divisor goes into current remainder. |
| | | for (n = 0; n < 10; n++) { |
| | | |
| | | // Compare divisor and remainder. |
| | | if (bl != (rl = r.length)) { |
| | | cmp = bl > rl ? 1 : -1; |
| | | } else { |
| | | for (ri = -1, cmp = 0; ++ri < bl;) { |
| | | if (b[ri] != r[ri]) { |
| | | cmp = b[ri] > r[ri] ? 1 : -1; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // If divisor < remainder, subtract divisor from remainder. |
| | | if (cmp < 0) { |
| | | |
| | | // Remainder can't be more than 1 digit longer than divisor. |
| | | // Equalise lengths using divisor with extra leading zero? |
| | | for (bt = rl == bl ? b : bz; rl;) { |
| | | if (r[--rl] < bt[rl]) { |
| | | ri = rl; |
| | | for (; ri && !r[--ri];) r[ri] = 9; |
| | | --r[ri]; |
| | | r[rl] += 10; |
| | | } |
| | | r[rl] -= bt[rl]; |
| | | } |
| | | |
| | | for (; !r[0];) r.shift(); |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // Add the digit n to the result array. |
| | | qc[qi++] = cmp ? n : ++n; |
| | | |
| | | // Update the remainder. |
| | | if (r[0] && cmp) r[rl] = a[ai] || 0; |
| | | else r = [a[ai]]; |
| | | |
| | | } while ((ai++ < al || r[0] !== UNDEFINED) && k--); |
| | | |
| | | // Leading zero? Do not remove if result is simply zero (qi == 1). |
| | | if (!qc[0] && qi != 1) { |
| | | |
| | | // There can't be more than one zero. |
| | | qc.shift(); |
| | | q.e--; |
| | | } |
| | | |
| | | // Round? |
| | | if (qi > d) round(q, dp, Big.RM, r[0] !== UNDEFINED); |
| | | |
| | | return q; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return true if the value of this Big is equal to the value of Big y, otherwise return false. |
| | | */ |
| | | P.eq = function (y) { |
| | | return !this.cmp(y); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return true if the value of this Big is greater than the value of Big y, otherwise return |
| | | * false. |
| | | */ |
| | | P.gt = function (y) { |
| | | return this.cmp(y) > 0; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise |
| | | * return false. |
| | | */ |
| | | P.gte = function (y) { |
| | | return this.cmp(y) > -1; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return true if the value of this Big is less than the value of Big y, otherwise return false. |
| | | */ |
| | | P.lt = function (y) { |
| | | return this.cmp(y) < 0; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return true if the value of this Big is less than or equal to the value of Big y, otherwise |
| | | * return false. |
| | | */ |
| | | P.lte = function (y) { |
| | | return this.cmp(y) < 1; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the value of this Big minus the value of Big y. |
| | | */ |
| | | P.minus = P.sub = function (y) { |
| | | var i, j, t, xlty, |
| | | x = this, |
| | | Big = x.constructor, |
| | | a = x.s, |
| | | b = (y = new Big(y)).s; |
| | | |
| | | // Signs differ? |
| | | if (a != b) { |
| | | y.s = -b; |
| | | return x.plus(y); |
| | | } |
| | | |
| | | var xc = x.c.slice(), |
| | | xe = x.e, |
| | | yc = y.c, |
| | | ye = y.e; |
| | | |
| | | // Either zero? |
| | | if (!xc[0] || !yc[0]) { |
| | | |
| | | // y is non-zero? x is non-zero? Or both are zero. |
| | | return yc[0] ? (y.s = -b, y) : new Big(xc[0] ? x : 0); |
| | | } |
| | | |
| | | // Determine which is the bigger number. Prepend zeros to equalise exponents. |
| | | if (a = xe - ye) { |
| | | |
| | | if (xlty = a < 0) { |
| | | a = -a; |
| | | t = xc; |
| | | } else { |
| | | ye = xe; |
| | | t = yc; |
| | | } |
| | | |
| | | t.reverse(); |
| | | for (b = a; b--;) t.push(0); |
| | | t.reverse(); |
| | | } else { |
| | | |
| | | // Exponents equal. Check digit by digit. |
| | | j = ((xlty = xc.length < yc.length) ? xc : yc).length; |
| | | |
| | | for (a = b = 0; b < j; b++) { |
| | | if (xc[b] != yc[b]) { |
| | | xlty = xc[b] < yc[b]; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // x < y? Point xc to the array of the bigger number. |
| | | if (xlty) { |
| | | t = xc; |
| | | xc = yc; |
| | | yc = t; |
| | | y.s = -y.s; |
| | | } |
| | | |
| | | /* |
| | | * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only |
| | | * needs to start at yc.length. |
| | | */ |
| | | if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0; |
| | | |
| | | // Subtract yc from xc. |
| | | for (b = i; j > a;) { |
| | | if (xc[--j] < yc[j]) { |
| | | for (i = j; i && !xc[--i];) xc[i] = 9; |
| | | --xc[i]; |
| | | xc[j] += 10; |
| | | } |
| | | |
| | | xc[j] -= yc[j]; |
| | | } |
| | | |
| | | // Remove trailing zeros. |
| | | for (; xc[--b] === 0;) xc.pop(); |
| | | |
| | | // Remove leading zeros and adjust exponent accordingly. |
| | | for (; xc[0] === 0;) { |
| | | xc.shift(); |
| | | --ye; |
| | | } |
| | | |
| | | if (!xc[0]) { |
| | | |
| | | // n - n = +0 |
| | | y.s = 1; |
| | | |
| | | // Result must be zero. |
| | | xc = [ye = 0]; |
| | | } |
| | | |
| | | y.c = xc; |
| | | y.e = ye; |
| | | |
| | | return y; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the value of this Big modulo the value of Big y. |
| | | */ |
| | | P.mod = function (y) { |
| | | var ygtx, |
| | | x = this, |
| | | Big = x.constructor, |
| | | a = x.s, |
| | | b = (y = new Big(y)).s; |
| | | |
| | | if (!y.c[0]) throw Error(DIV_BY_ZERO); |
| | | |
| | | x.s = y.s = 1; |
| | | ygtx = y.cmp(x) == 1; |
| | | x.s = a; |
| | | y.s = b; |
| | | |
| | | if (ygtx) return new Big(x); |
| | | |
| | | a = Big.DP; |
| | | b = Big.RM; |
| | | Big.DP = Big.RM = 0; |
| | | x = x.div(y); |
| | | Big.DP = a; |
| | | Big.RM = b; |
| | | |
| | | return this.minus(x.times(y)); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the value of this Big plus the value of Big y. |
| | | */ |
| | | P.plus = P.add = function (y) { |
| | | var t, |
| | | x = this, |
| | | Big = x.constructor, |
| | | a = x.s, |
| | | b = (y = new Big(y)).s; |
| | | |
| | | // Signs differ? |
| | | if (a != b) { |
| | | y.s = -b; |
| | | return x.minus(y); |
| | | } |
| | | |
| | | var xe = x.e, |
| | | xc = x.c, |
| | | ye = y.e, |
| | | yc = y.c; |
| | | |
| | | // Either zero? y is non-zero? x is non-zero? Or both are zero. |
| | | if (!xc[0] || !yc[0]) return yc[0] ? y : new Big(xc[0] ? x : a * 0); |
| | | |
| | | xc = xc.slice(); |
| | | |
| | | // Prepend zeros to equalise exponents. |
| | | // Note: reverse faster than unshifts. |
| | | if (a = xe - ye) { |
| | | if (a > 0) { |
| | | ye = xe; |
| | | t = yc; |
| | | } else { |
| | | a = -a; |
| | | t = xc; |
| | | } |
| | | |
| | | t.reverse(); |
| | | for (; a--;) t.push(0); |
| | | t.reverse(); |
| | | } |
| | | |
| | | // Point xc to the longer array. |
| | | if (xc.length - yc.length < 0) { |
| | | t = yc; |
| | | yc = xc; |
| | | xc = t; |
| | | } |
| | | |
| | | a = yc.length; |
| | | |
| | | // Only start adding at yc.length - 1 as the further digits of xc can be left as they are. |
| | | for (b = 0; a; xc[a] %= 10) b = (xc[--a] = xc[a] + yc[a] + b) / 10 | 0; |
| | | |
| | | // No need to check for zero, as +x + +y != 0 && -x + -y != 0 |
| | | |
| | | if (b) { |
| | | xc.unshift(b); |
| | | ++ye; |
| | | } |
| | | |
| | | // Remove trailing zeros. |
| | | for (a = xc.length; xc[--a] === 0;) xc.pop(); |
| | | |
| | | y.c = xc; |
| | | y.e = ye; |
| | | |
| | | return y; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a Big whose value is the value of this Big raised to the power n. |
| | | * If n is negative, round to a maximum of Big.DP decimal places using rounding |
| | | * mode Big.RM. |
| | | * |
| | | * n {number} Integer, -MAX_POWER to MAX_POWER inclusive. |
| | | */ |
| | | P.pow = function (n) { |
| | | var x = this, |
| | | one = new x.constructor(1), |
| | | y = one, |
| | | isneg = n < 0; |
| | | |
| | | if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) throw Error(INVALID + 'exponent'); |
| | | if (isneg) n = -n; |
| | | |
| | | for (;;) { |
| | | if (n & 1) y = y.times(x); |
| | | n >>= 1; |
| | | if (!n) break; |
| | | x = x.times(x); |
| | | } |
| | | |
| | | return isneg ? one.div(y) : y; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the value of this Big rounded using rounding mode rm |
| | | * to a maximum of dp decimal places, or, if dp is negative, to an integer which is a |
| | | * multiple of 10**-dp. |
| | | * If dp is not specified, round to 0 decimal places. |
| | | * If rm is not specified, use Big.RM. |
| | | * |
| | | * dp? {number} Integer, -MAX_DP to MAX_DP inclusive. |
| | | * rm? 0, 1, 2 or 3 (ROUND_DOWN, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_UP) |
| | | */ |
| | | P.round = function (dp, rm) { |
| | | var Big = this.constructor; |
| | | if (dp === UNDEFINED) dp = 0; |
| | | else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) throw Error(INVALID_DP); |
| | | return round(new Big(this), dp, rm === UNDEFINED ? Big.RM : rm); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the square root of the value of this Big, rounded, if |
| | | * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM. |
| | | */ |
| | | P.sqrt = function () { |
| | | var r, c, t, |
| | | x = this, |
| | | Big = x.constructor, |
| | | s = x.s, |
| | | e = x.e, |
| | | half = new Big(0.5); |
| | | |
| | | // Zero? |
| | | if (!x.c[0]) return new Big(x); |
| | | |
| | | // Negative? |
| | | if (s < 0) throw Error(NAME + 'No square root'); |
| | | |
| | | // Estimate. |
| | | s = Math.sqrt(x + ''); |
| | | |
| | | // Math.sqrt underflow/overflow? |
| | | // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent. |
| | | if (s === 0 || s === 1 / 0) { |
| | | c = x.c.join(''); |
| | | if (!(c.length + e & 1)) c += '0'; |
| | | s = Math.sqrt(c); |
| | | e = ((e + 1) / 2 | 0) - (e < 0 || e & 1); |
| | | r = new Big((s == 1 / 0 ? '1e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e); |
| | | } else { |
| | | r = new Big(s); |
| | | } |
| | | |
| | | e = r.e + (Big.DP += 4); |
| | | |
| | | // Newton-Raphson iteration. |
| | | do { |
| | | t = r; |
| | | r = half.times(t.plus(x.div(t))); |
| | | } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join('')); |
| | | |
| | | return round(r, Big.DP -= 4, Big.RM); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a new Big whose value is the value of this Big times the value of Big y. |
| | | */ |
| | | P.times = P.mul = function (y) { |
| | | var c, |
| | | x = this, |
| | | Big = x.constructor, |
| | | xc = x.c, |
| | | yc = (y = new Big(y)).c, |
| | | a = xc.length, |
| | | b = yc.length, |
| | | i = x.e, |
| | | j = y.e; |
| | | |
| | | // Determine sign of result. |
| | | y.s = x.s == y.s ? 1 : -1; |
| | | |
| | | // Return signed 0 if either 0. |
| | | if (!xc[0] || !yc[0]) return new Big(y.s * 0); |
| | | |
| | | // Initialise exponent of result as x.e + y.e. |
| | | y.e = i + j; |
| | | |
| | | // If array xc has fewer digits than yc, swap xc and yc, and lengths. |
| | | if (a < b) { |
| | | c = xc; |
| | | xc = yc; |
| | | yc = c; |
| | | j = a; |
| | | a = b; |
| | | b = j; |
| | | } |
| | | |
| | | // Initialise coefficient array of result with zeros. |
| | | for (c = new Array(j = a + b); j--;) c[j] = 0; |
| | | |
| | | // Multiply. |
| | | |
| | | // i is initially xc.length. |
| | | for (i = b; i--;) { |
| | | b = 0; |
| | | |
| | | // a is yc.length. |
| | | for (j = a + i; j > i;) { |
| | | |
| | | // Current sum of products at this digit position, plus carry. |
| | | b = c[j] + yc[i] * xc[j - i - 1] + b; |
| | | c[j--] = b % 10; |
| | | |
| | | // carry |
| | | b = b / 10 | 0; |
| | | } |
| | | |
| | | c[j] = (c[j] + b) % 10; |
| | | } |
| | | |
| | | // Increment result exponent if there is a final carry, otherwise remove leading zero. |
| | | if (b) ++y.e; |
| | | else c.shift(); |
| | | |
| | | // Remove trailing zeros. |
| | | for (i = c.length; !c[--i];) c.pop(); |
| | | y.c = c; |
| | | |
| | | return y; |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a string representing the value of this Big in exponential notation to dp fixed decimal |
| | | * places and rounded using Big.RM. |
| | | * |
| | | * dp? {number} Integer, 0 to MAX_DP inclusive. |
| | | */ |
| | | P.toExponential = function (dp) { |
| | | return stringify(this, 1, dp, dp); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a string representing the value of this Big in normal notation to dp fixed decimal |
| | | * places and rounded using Big.RM. |
| | | * |
| | | * dp? {number} Integer, 0 to MAX_DP inclusive. |
| | | * |
| | | * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'. |
| | | * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'. |
| | | */ |
| | | P.toFixed = function (dp) { |
| | | return stringify(this, 2, dp, this.e + dp); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a string representing the value of this Big rounded to sd significant digits using |
| | | * Big.RM. Use exponential notation if sd is less than the number of digits necessary to represent |
| | | * the integer part of the value in normal notation. |
| | | * |
| | | * sd {number} Integer, 1 to MAX_DP inclusive. |
| | | */ |
| | | P.toPrecision = function (sd) { |
| | | return stringify(this, 3, sd, sd - 1); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a string representing the value of this Big. |
| | | * Return exponential notation if this Big has a positive exponent equal to or greater than |
| | | * Big.PE, or a negative exponent equal to or less than Big.NE. |
| | | * Omit the sign for negative zero. |
| | | */ |
| | | P.toString = function () { |
| | | return stringify(this); |
| | | }; |
| | | |
| | | |
| | | /* |
| | | * Return a string representing the value of this Big. |
| | | * Return exponential notation if this Big has a positive exponent equal to or greater than |
| | | * Big.PE, or a negative exponent equal to or less than Big.NE. |
| | | * Include the sign for negative zero. |
| | | */ |
| | | P.valueOf = P.toJSON = function () { |
| | | return stringify(this, 4); |
| | | }; |
| | | |
| | | |
| | | // Export |
| | | |
| | | |
| | | Big = _Big_(); |
| | | |
| | | Big['default'] = Big.Big = Big; |
| | | |
| | | //AMD. |
| | | if (typeof define === 'function' && define.amd) { |
| | | define(function () { return Big; }); |
| | | |
| | | // Node and other CommonJS-like environments that support module.exports. |
| | | } else if (typeof module !== 'undefined' && module.exports) { |
| | | module.exports = Big; |
| | | |
| | | //Browser. |
| | | } else { |
| | | GLOBAL.Big = Big; |
| | | } |
| | | })(this); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | // æ¤çº¿ç¨ä¸ºæ°æ®ééçº¿ç¨ |
| | | |
| | | // ä¿åæ°æ® |
| | | // æ°æ®ééä¿¡æ¯ |
| | | 'use strict';//为jsèæ¬å¼å¯ä¸¥æ ¼æ¨¡å¼ |
| | | let dataAcquisitionInfo = null; |
| | | // æ°æ®å表 |
| | | let list = null; |
| | | // ä¼ éå°ä¸»çº¿ç¨çæ°æ® |
| | | let result = { |
| | | method:'', |
| | | value:null |
| | | } |
| | | // ä¼åæ°éè¾å¤æ°æ®æ¶--è®°å½æ°é项ç®çIdæ°ç»ï¼ç®çæ¯åæåä¸ä¸ªæ°é项ç®ï¼ä¼ å°ä¸»çº¿ç¨è¿è¡æ¹éçæ°æ®ééä¿å |
| | | let arrSpecial = [] |
| | | // æ¥æ¶ä¸»çº¿ç¨ä¼ éè¿æ¥çæ°æ® |
| | | self.onmessage = function(event) { |
| | | const data = JSON.parse(event.data); |
| | | dataAcquisitionInfo = data.dataAcquisitionInfo; |
| | | list = data.list; |
| | | // console.log(111,dataAcquisitionInfo) |
| | | arrSpecial = [] |
| | | // å¤çæ°æ® |
| | | handleData() |
| | | } |
| | | |
| | | function handleData(){ |
| | | // éåæ°æ®å表 |
| | | list.forEach((item,index)=>{ |
| | | let num = 0; |
| | | let str = '' |
| | | item.forEach(m=>{ |
| | | if(m.v.ps&&(m.v.ps.value=='æ£éªå项'||m.v.ps.value=='æ£éªé¡¹')){ |
| | | if(m.v.ps&&m.v.ps.value=='æ£éªé¡¹'){ |
| | | if(num==0){ |
| | | str = m.v.v+',' |
| | | num++ |
| | | } |
| | | } |
| | | if(m.v.ps&&m.v.ps.value=='æ£éªå项'){ |
| | | if(num==1){ |
| | | str = str+m.v.v |
| | | } |
| | | } |
| | | // ä¸é¢å¨è®°å½æ£éªé¡¹+æ£éªå项çåç§°ï¼å¦ææ°éå
嫿£éªé¡¹+æ£éªåé¡¹çæ°æ®ï¼åæ§è¡ |
| | | if(dataAcquisitionInfo[str]){ |
| | | let num = 0;//该æ£éªé¡¹å¯¹åºæ£éªå¼ç个æ°ï¼ç¨ç¨å¤ææå¤æå¤å°ä¸ªæ£éªå¼ï¼å¦æå¤æ¬¡ééè¶
è¿äºè¯¥ä¸ªæ°ï¼åèµå¼ç»æåä¸ä¸ªæ£éªå¼ |
| | | list[index].forEach(n=>{ |
| | | if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('æ£éªå¼')){ |
| | | num++ |
| | | } |
| | | }) |
| | | list[index].forEach((n,i)=>{ |
| | | if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('æ£éªå¼')){ |
| | | let arr = n.v.ps.value.split('å¼') |
| | | if(Array.isArray(dataAcquisitionInfo[str].value)){ |
| | | // å¦ææ°æ®æºä¸ºæ°ç»ï¼åæ§è¡ |
| | | for (let i = 0; i < dataAcquisitionInfo[str].value.length; i++) { |
| | | if(i+1==arr[1]){ |
| | | // èµå¼æ°éä¼åæ£éªé¡¹å表 |
| | | arrSpecial.push(n.i) |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | // ä¿ç模æ¿é
ç½®çå°æ°ç¹ä½æ° |
| | | let str0 = n.v.ct.fa.split('.')[1] |
| | | num0 = str0.length |
| | | n.v.v = dataAcquisitionInfo[str].value[i]?Number(dataAcquisitionInfo[str].value[i]).toFixed(num0):dataAcquisitionInfo[str].value[i] |
| | | }else{ |
| | | // ç´æ¥èµå¼ |
| | | n.v.v = dataAcquisitionInfo[str].value[i] |
| | | } |
| | | // ä¼ éç»ä¸»çº¿ç¨ |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | | list:list, |
| | | n:n |
| | | } |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | },2000) |
| | | } |
| | | } |
| | | }else{ |
| | | // å¦ææ°æ®æºä¸ºåç¬¦ææ°åï¼åæ§è¡ |
| | | if(arr[1] ==dataAcquisitionInfo[str].frequency){ |
| | | // 妿æ°é次æ°çäºæ£éªå¼åºå·ï¼åèµå¼ç»å½åæ£éªå¼ |
| | | arrSpecial.push(n.i) |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | // ä¿ç模æ¿é
ç½®çå°æ°ç¹ä½æ° |
| | | let str0 = n.v.ct.fa.split('.')[1] |
| | | num0 = str0.length |
| | | n.v.v = dataAcquisitionInfo[str].value?Number(dataAcquisitionInfo[str].value).toFixed(num0):dataAcquisitionInfo[str].value |
| | | }else{ |
| | | // ç´æ¥èµå¼ |
| | | n.v.v = dataAcquisitionInfo[str].value |
| | | } |
| | | // ä¼ éç»ä¸»çº¿ç¨ |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | | list:list, |
| | | n:n |
| | | } |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | },2000) |
| | | }else if(Number(dataAcquisitionInfo[str].frequency)>num){ |
| | | // 妿æ°é次æ°å¤§äºæ£éªå¼åºå·ï¼åèµå¼ç»æåä¸ä¸ªæ£éªå¼ |
| | | if(n.v.ps.value.includes(num)){ |
| | | arrSpecial.push(n.i) |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | // ä¿ç模æ¿é
ç½®çå°æ°ç¹ä½æ° |
| | | let str0 = n.v.ct.fa.split('.')[1] |
| | | num0 = str0.length |
| | | n.v.v = dataAcquisitionInfo[str].value?Number(dataAcquisitionInfo[str].value).toFixed(num0):dataAcquisitionInfo[str].value |
| | | }else{ |
| | | // ç´æ¥èµå¼ |
| | | n.v.v = dataAcquisitionInfo[str].value |
| | | } |
| | | // ä¼ éç»ä¸»çº¿ç¨ |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | | list:list, |
| | | n:n |
| | | } |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | },2000) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | // if(arrSpecial[arrSpecial.length-1]){ |
| | | // //ä¼åæ°éè¾å¤æ°æ®æ¶-è®°å½æåä¸ä¸ªæ£éªé¡¹çidï¼ç¨äºåç»å¤ç |
| | | // setTimeout(()=>{ |
| | | // result = { |
| | | // getDataTypeId:arrSpecial[arrSpecial.length-1], |
| | | // } |
| | | // self.postMessage(JSON.stringify(result)) |
| | | // },0) |
| | | // } |
| | | } |
| | |
| | | class="form-inline" |
| | | label-width="50px" |
| | | style="padding-top: 0; padding-left: 10px" |
| | | v-if="PROJECT == 'æ£æµä¸å¿'" |
| | | > |
| | | <el-form-item label="温度:" style="margin-bottom: 0"> |
| | | <el-input |
| | |
| | | tableLists.find((m) => m.templateId == currentTable) |
| | | .templateName == 'æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½' && |
| | | temDataAcquisition)) && |
| | | PROJECT == 'æ£æµä¸å¿' && |
| | | state == 1 |
| | | " |
| | | @click="getDataAcquisitionDevice" |
| | |
| | | (tableLists.find((m) => m.templateId == currentTable) && |
| | | tableLists.find((m) => m.templateId == currentTable) |
| | | .templateName == 'æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½' && |
| | | PROJECT == 'æ£æµä¸å¿' && |
| | | collected && |
| | | state == 1) |
| | | " |
| | |
| | | :disabled=" |
| | | (getInspectionItemType(n.i) == 1 && |
| | | !dataAcquisitionEidtAble) || |
| | | (n.u != userId && n.u != undefined && n.u != '') |
| | | (n.u != loginUserInfo.userId && |
| | | n.u != undefined && |
| | | n.u != '') |
| | | " |
| | | @input="handleInput(n)" |
| | | @change=" |
| | |
| | | v-model="n.v.v" |
| | | :disabled=" |
| | | getInspectionItemType(n.i) == 1 || |
| | | (n.u != userId && n.u != undefined && n.u != '') |
| | | (n.u != loginUserInfo.userId && |
| | | n.u != undefined && |
| | | n.u != '') |
| | | " |
| | | @change=" |
| | | (m) => |
| | |
| | | :disabled=" |
| | | state > 1 || |
| | | getInspectionItemType(n.i) == 1 || |
| | | (n.u != userId && n.u != undefined && n.u != '') |
| | | (n.u != loginUserInfo.userId && |
| | | n.u != undefined && |
| | | n.u != '') |
| | | " |
| | | @visible-change="(e) => getDic(e, n.i)" |
| | | @change=" |
| | |
| | | <el-option |
| | | v-for="(e, i) in enumList" |
| | | :key="i" |
| | | :label="e.label" |
| | | :value="e.value" |
| | | :label="e.dictLabel" |
| | | :value="e.dictValue" |
| | | ></el-option> |
| | | </el-select> |
| | | <span |
| | |
| | | <template |
| | | v-else-if="n.v.ps != undefined && n.v.ps.value === 'ç»è®º'" |
| | | > |
| | | <el-select |
| | | v-if=" |
| | | (getInspectionValueType(n.i) == 2 || |
| | | getInspectionValueType(n.i) == 5) && |
| | | state == 1 && |
| | | PROJECT == 'è£
å¤çµç¼' |
| | | " |
| | | class="table_input" |
| | | v-model="n.v.v" |
| | | @change="saveInsContext(n.i)" |
| | | > |
| | | <el-option label="åæ ¼" :value="1"></el-option> |
| | | <el-option label="ä¸åæ ¼" :value="0"></el-option> |
| | | </el-select> |
| | | <template |
| | | v-if=" |
| | | PROJECT == 'æ£æµä¸å¿' || |
| | | (PROJECT == 'è£
å¤çµç¼' && |
| | | getInspectionValueType(n.i) != 2) |
| | | " |
| | | > |
| | | <template> |
| | | <span |
| | | v-if="n.v.v === 1" |
| | | :style="`font-family:${n.v.ff} !important;color: green;`" |
| | |
| | | <el-select |
| | | v-model="n.v.v" |
| | | placeholder="设å¤" |
| | | :disabled="n.u != userId && n.u != undefined && n.u != ''" |
| | | :disabled=" |
| | | n.u != loginUserInfo.userId && |
| | | n.u != undefined && |
| | | n.u != '' |
| | | " |
| | | class="table_input" |
| | | @visible-change="(e) => getEquipOptions(e, n.i)" |
| | | remote |
| | |
| | | state == 1 |
| | | " |
| | | > |
| | | <!-- <el-input class="table_input" type="textarea" |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | v-model="n.v.v" @change="saveInsContext()" v-if="getInspectionValueType(n.i) == 2"></el-input> |
| | | <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" |
| | | :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()"> |
| | | <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> |
| | | </el-select> --> |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{ |
| | | toFixed(n.v.v, n.v.ct) |
| | | }}</span> |
| | |
| | | >éä»¶ä¸ä¼ </el-button |
| | | > |
| | | </el-upload> |
| | | <ValueTable |
| | | <!-- <ValueTable |
| | | class="value-table" |
| | | ref="fileList" |
| | | :url="$api.insOrderPlan.getFileList" |
| | |
| | | :delUrl="$api.insOrderPlan.delfile" |
| | | :key="upIndex" |
| | | style="height: 100%; margin-top: 16px" |
| | | /> |
| | | /> --> |
| | | </div> |
| | | <el-drawer title="å
çº¤åæ¢" :visible.sync="fiberOpticVisible" :size="500"> |
| | | <el-table |
| | |
| | | <el-tag |
| | | v-for="(item, i) in typeList" |
| | | :key="i" |
| | | v-if="item.value == scope.row.insState" |
| | | :type="item.type" |
| | | v-if="item.dictValue == scope.row.insState" |
| | | :type="item.listClass" |
| | | size="medium" |
| | | style="margin-right: 5px" |
| | | >{{ item.label }}</el-tag |
| | | >{{ item.dictLabel }}</el-tag |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-table> |
| | | </el-drawer> |
| | | <el-drawer title="ä»»å¡åæ¢" :visible.sync="taskVisible" :size="500"> |
| | | <ValueTable |
| | | <!-- <ValueTable |
| | | class="value-table" |
| | | ref="insOrderPlan" |
| | | :url="$api.insOrderPlan.inspectionOrderDetailsTaskSwitching" |
| | | :componentData="componentData" |
| | | :key="upIndex" |
| | | style="height: 100%" |
| | | /> |
| | | /> --> |
| | | </el-drawer> |
| | | <el-dialog title="æ£éªå¤æ ¸" :visible.sync="reviewDia" width="500px"> |
| | | <div class="body" style="display: flex; padding: 10px" v-if="reviewDia"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | doInsOrder, |
| | | upPlanUser2, |
| | | upPlanUser, |
| | | saveInsContext2, |
| | | getSagTemperatureProducts, |
| | | temCycle, |
| | | write, |
| | | getInsProduct, |
| | | getReportModel, |
| | | verifyPlan, |
| | | checkSubmitPlan, |
| | | getEquipName, |
| | | submitPlan, |
| | | saveInsContext, |
| | | downFile, |
| | | } from "@/api/business/inspectionTask"; |
| | | import { |
| | | temDataAcquisition, |
| | | temDataAcquisition2, |
| | | determineWhetherToCollectData, |
| | | selectDeviceByCategory, |
| | | } from "@/api/cnas/resourceDemand/device"; |
| | | import { getLaboratoryPersonList } from "@/api/system/user"; |
| | | import { getDicts } from "@/api/system/dict/data"; |
| | | import { selectDictDataByName } from "@/api/system/dict/type"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import file from "@/utils/file"; |
| | | import excelFunction from "@/utils/excelFountion"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getToken } from "@/utils/auth"; |
| | | export default { |
| | | props: ["sonLaboratory", "orderId", "state", "inspectorList", "handover"], |
| | | components: { |
| | | limsTable, |
| | | }, |
| | | data() { |
| | | return { |
| | | sonLaboratory: null, |
| | | orderId: null, |
| | | state: null, |
| | | inspectorList: [], |
| | | handover: [], |
| | | equipName: [], |
| | | insFibersId: null, //å
纤带id |
| | | insOrderState: null, |
| | |
| | | componentData: { |
| | | entity: { |
| | | sonLaboratory: null, |
| | | userId: 0, |
| | | }, |
| | | isIndex: false, |
| | | showSelect: false, |
| | |
| | | comparisonList: [], |
| | | excelMethodList: [], |
| | | equipOptions: [], |
| | | userId: 0, |
| | | reviewLoading: false, |
| | | reviewDia: false, |
| | | noReason: "", |
| | |
| | | }, |
| | | // ç¨äºä¸ä¼ æä»¶çä¿¡æ¯ |
| | | computed: { |
| | | ...mapGetters(["loginUserInfo"]), |
| | | headers() { |
| | | return { |
| | | token: sessionStorage.getItem("token"), |
| | | }; |
| | | return { Authorization: "Bearer " + getToken() }; |
| | | }, |
| | | action() { |
| | | return this.javaApi + this.$api.insOrderPlan.uploadFile; |
| | | return this.javaApi + "/insOrderPlan/uploadFile"; |
| | | }, |
| | | }, |
| | | created() { |
| | | console.log("æ£éªäººå---", this.inspectorList); |
| | | this.componentData.entity.sonLaboratory = this.sonLaboratory; |
| | | this.id = this.orderId; |
| | | this.getUserInfo(); |
| | | console.log(this.$route.params); |
| | | this.sonLaboratory = this.$route.params.sonLaboratory; |
| | | this.orderId = this.$route.params.orderId; |
| | | this.state = this.$route.params.state; |
| | | this.inspectorList = this.$route.params.inspectorList; |
| | | this.handover = this.$route.params.handover; |
| | | // this.componentData.entity.sonLaboratory = this.sonLaboratory; |
| | | this.id = this.$route.params.orderId; |
| | | }, |
| | | mounted() { |
| | | this.getSonLaboratoryList(); |
| | |
| | | this.getComparisonList(); |
| | | this.getAuthorizedPerson(); |
| | | this.scrollInit(); |
| | | this.getPower(); |
| | | // this.getPower(); |
| | | this.startWorker(); |
| | | }, |
| | | watch: { |
| | | // çå¬ä»»å¡idï¼è·åä»»å¡ä¿¡æ¯ |
| | | id(val) { |
| | | this.loading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.doInsOrder, { |
| | | id: val, |
| | | laboratory: this.sonLaboratory, |
| | | }) |
| | | doInsOrder({ |
| | | id: val, |
| | | laboratory: this.sonLaboratory, |
| | | }) |
| | | .then(async (res) => { |
| | | this.insOrder = res.data.insOrder; |
| | | this.insOrderState = res.data.insState; |
| | | this.componentData0.entity.insOrderId = val; |
| | | this.$refs.fileList.selectList(); |
| | | this.urgentList.forEach((m) => { |
| | | if (m.value == this.insOrder.type) { |
| | | this.insOrder.typeName = m.label; |
| | | if (res.code === 200) { |
| | | this.insOrder = res.data.insOrder; |
| | | this.insOrderState = res.data.insState; |
| | | this.componentData0.entity.insOrderId = val; |
| | | // this.$refs.fileList.selectList(); |
| | | this.urgentList.forEach((m) => { |
| | | if (m.dictValue == this.insOrder.type) { |
| | | this.insOrder.typeName = m.dictLabel; |
| | | } |
| | | }); |
| | | this.loading = false; |
| | | if (!res.data.sampleProduct || res.data.sampleProduct.length == 0) { |
| | | return this.$message.error("è¯¥ä»»å¡æ²¡ææ ·åä¿¡æ¯"); |
| | | } |
| | | }); |
| | | this.loading = false; |
| | | if (!res.data.sampleProduct || res.data.sampleProduct.length == 0) { |
| | | return this.$message.error("è¯¥ä»»å¡æ²¡ææ ·åä¿¡æ¯"); |
| | | } |
| | | // èµå¼å½åæ ·åå表 |
| | | this.sampleProduct = res.data.sampleProduct; |
| | | this.fileterSampleProducts = JSON.parse( |
| | | JSON.stringify(res.data.sampleProduct) |
| | | ); |
| | | this.currentSample = this.HaveJson(this.sampleProduct[0]); |
| | | let insProduct = this.HaveJson(this.currentSample.insProduct); |
| | | // æ¸©åº¦ãæ¹¿åº¦èµå¼ |
| | | if (insProduct && insProduct.length > 0) { |
| | | const filterList = insProduct.filter( |
| | | (ele) => ele.temperature || ele.humidity |
| | | // èµå¼å½åæ ·åå表 |
| | | this.sampleProduct = res.data.sampleProduct; |
| | | this.fileterSampleProducts = JSON.parse( |
| | | JSON.stringify(res.data.sampleProduct) |
| | | ); |
| | | if (filterList && filterList.length > 0) { |
| | | let { temperature, humidity } = filterList[0]; |
| | | this.otherForm = { |
| | | temperature: temperature ? temperature : null, |
| | | humidity: humidity ? humidity : null, |
| | | }; |
| | | this.currentSample = this.HaveJson(this.sampleProduct[0]); |
| | | let insProduct = this.HaveJson(this.currentSample.insProduct); |
| | | // æ¸©åº¦ãæ¹¿åº¦èµå¼ |
| | | if (insProduct && insProduct.length > 0) { |
| | | const filterList = insProduct.filter( |
| | | (ele) => ele.temperature || ele.humidity |
| | | ); |
| | | if (filterList && filterList.length > 0) { |
| | | let { temperature, humidity } = filterList[0]; |
| | | this.otherForm = { |
| | | temperature: temperature ? temperature : null, |
| | | humidity: humidity ? humidity : null, |
| | | }; |
| | | } |
| | | } |
| | | } |
| | | // è·åå½åæ ·åçæ£éªé¡¹ |
| | | let list = await this.getCurrentProduct(this.currentSample.id, 0); |
| | | console.log(888, list); |
| | | if (list) { |
| | | this.currentSample.insProduct = this.HaveJson(list); |
| | | } |
| | | // åå§åä¼ éå°å端çåæ° |
| | | this.param = {}; |
| | | this.changeType = 0; |
| | | this.currentSample.insProduct.forEach((a, j) => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null, |
| | | }; |
| | | }); |
| | | this.determineWhetherToCollectData(); //æ¯å¦éè¦æ°é |
| | | this.getReportModel(this.currentSample.id); //è·åå¥ç®¡ãå
纤带ãå
çº¤ä¿¡æ¯ |
| | | if (this.currentSample.index == undefined) |
| | | this.currentSample["index"] = 1; |
| | | let bushing = this.currentSample.bushing; |
| | | this.getTableLists(); //å¤ç模æ¿åè¡¨ä¿¡æ¯ |
| | | // è·åå½åæ ·åçæ£éªé¡¹ |
| | | let list = await this.getCurrentProduct(this.currentSample.id, 0); |
| | | console.log(888, list); |
| | | if (list) { |
| | | this.currentSample.insProduct = this.HaveJson(list); |
| | | } |
| | | // åå§åä¼ éå°å端çåæ° |
| | | this.param = {}; |
| | | this.changeType = 0; |
| | | this.currentSample.insProduct.forEach((a, j) => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null, |
| | | }; |
| | | }); |
| | | this.determineWhetherToCollectData(); //æ¯å¦éè¦æ°é |
| | | this.getReportModel(this.currentSample.id); //è·åå¥ç®¡ãå
纤带ãå
çº¤ä¿¡æ¯ |
| | | if (this.currentSample.index == undefined) |
| | | this.currentSample["index"] = 1; |
| | | let bushing = this.currentSample.bushing; |
| | | this.getTableLists(); //å¤ç模æ¿åè¡¨ä¿¡æ¯ |
| | | |
| | | this.componentData.currentId = val; |
| | | this.currentKey = 1; |
| | | // æ¸
空å
纤é
ç½®ç¸å
³æ°æ®---ä¸é¢ä¿¡æ¯ææ¶å¯å¿½ç¥ |
| | | this.fiberOpticTape = []; |
| | | this.currentFiberOpticTape = null; |
| | | this.fiberOptic = []; |
| | | this.currentFiberOptic = null; |
| | | this.bushing = []; |
| | | this.currentBushing = null; |
| | | this.currentTab = null; |
| | | if (bushing && bushing.length > 0) { |
| | | this.bushing = bushing; |
| | | this.componentData.currentId = val; |
| | | this.currentKey = 1; |
| | | // æ¸
空å
纤é
ç½®ç¸å
³æ°æ®---ä¸é¢ä¿¡æ¯ææ¶å¯å¿½ç¥ |
| | | this.fiberOpticTape = []; |
| | | this.currentFiberOpticTape = null; |
| | | this.fiberOptic = []; |
| | | this.currentFiberOptic = null; |
| | | this.bushing = []; |
| | | this.currentBushing = null; |
| | | this.currentTab = null; |
| | | if (bushing && bushing.length > 0) { |
| | | this.bushing = bushing; |
| | | } |
| | | // å Worker åéæ¶æ¯ï¼å¼å§å¤çé»è¾ |
| | | this.worker.postMessage( |
| | | JSON.stringify({ |
| | | modelType: this.sampleProduct[0].model, |
| | | type: "saveData", |
| | | tableList: this.tableList, |
| | | param: this.param, |
| | | currentTable: this.currentTable, |
| | | }) |
| | | ); |
| | | } |
| | | // å Worker åéæ¶æ¯ï¼å¼å§å¤çé»è¾ |
| | | this.worker.postMessage( |
| | | JSON.stringify({ |
| | | modelType: this.sampleProduct[0].model, |
| | | type: "saveData", |
| | | tableList: this.tableList, |
| | | param: this.param, |
| | | currentTable: this.currentTable, |
| | | }) |
| | | ); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // çå¬å½å模æ¿åå |
| | | currentTable(val1, val0) { |
| | | if (val0 != null && val1 != val0) { |
| | | // if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='æåç¼æ£éªåå§è®°å½')){ |
| | | // if(this.casing.length>0){ |
| | | // this.handleChange(this.casing[0].id,3) |
| | | // } |
| | | // return |
| | | // } |
| | | //76:ç²å³è¯éªæ£éªåå§è®°å½ä¸æ§è¡ä¸é¢çæä½ |
| | | if (this.changeType && this.changeType > 0) { |
| | | // 妿æ¯å
纤ãå
纤带ï¼å䏿§è¡ä¸é¢æä½ |
| | | return; |
| | |
| | | }); |
| | | }, |
| | | getSonLaboratoryList() { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.upPlanUser2, { |
| | | orderId: this.orderId, |
| | | }) |
| | | upPlanUser2({ |
| | | orderId: this.orderId, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200 && res.data.length > 0) { |
| | | this.sonLaboratoryList = []; |
| | |
| | | }); |
| | | this.connect.sonLaboratory = this.sonLaboratoryList[0].value; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // å
é¨äº¤æ¥ |
| | |
| | | return; |
| | | } |
| | | this.loading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.upPlanUser, { |
| | | orderId: this.orderId, |
| | | userId: this.connect.connectPerson, |
| | | sonLaboratory: this.connect.sonLaboratory, |
| | | }) |
| | | upPlanUser({ |
| | | orderId: this.orderId, |
| | | userId: this.connect.connectPerson, |
| | | sonLaboratory: this.connect.sonLaboratory, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.loading = false; |
| | | this.$message.success("æä½æå"); |
| | | if (res.code === 200) { |
| | | this.loading = false; |
| | | this.$message.success("æä½æå"); |
| | | } |
| | | this.connectVisible = false; |
| | | this.$emit("goback"); |
| | | } |
| | | this.connectVisible = false; |
| | | this.$emit("goback"); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | |
| | | delete obj.model; |
| | | delete obj.methodS; |
| | | delete obj.sampleType; |
| | | this.$axios |
| | | .post( |
| | | this.$api.insOrderPlan.saveInsContext2, |
| | | { |
| | | id: this.fatigueTestInfo.insProductResult |
| | | ? this.fatigueTestInfo.insProductResult.id |
| | | : "", |
| | | insProductId: this.fatigueTestInfo.id, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.currentSample.insOrderId, |
| | | insValue: JSON.stringify(obj), |
| | | templateName: "ç²å³è¯éª", |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | } |
| | | ) |
| | | saveInsContext2({ |
| | | id: this.fatigueTestInfo.insProductResult |
| | | ? this.fatigueTestInfo.insProductResult.id |
| | | : "", |
| | | insProductId: this.fatigueTestInfo.id, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.currentSample.insOrderId, |
| | | insValue: JSON.stringify(obj), |
| | | templateName: "ç²å³è¯éª", |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("ä¿å失败"); |
| | |
| | | } |
| | | this.$message.success("ä¿åæå"); |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // ç²å³è¯éªç¹æ§---ç»æ |
| | |
| | | let obj1 = {}; |
| | | obj1.arr2 = this.powerCharacteristicsInfo.arr2; |
| | | obj1.arr3 = this.powerCharacteristicsInfo.arr3; |
| | | this.$axios |
| | | .post( |
| | | this.$api.insOrderPlan.saveInsContext2, |
| | | { |
| | | id: this.powerCharacteristicsInfo.insProductResult |
| | | ? this.powerCharacteristicsInfo.insProductResult.id |
| | | : "", |
| | | insProductId: this.powerCharacteristicsInfo.id, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.currentSample.insOrderId, |
| | | insValue: JSON.stringify(obj0), |
| | | comValue: JSON.stringify(obj1), |
| | | templateName: "鲿¯é¤åçç¹æ§", |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | } |
| | | ) |
| | | saveInsContext2({ |
| | | id: this.powerCharacteristicsInfo.insProductResult |
| | | ? this.powerCharacteristicsInfo.insProductResult.id |
| | | : "", |
| | | insProductId: this.powerCharacteristicsInfo.id, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.currentSample.insOrderId, |
| | | insValue: JSON.stringify(obj0), |
| | | comValue: JSON.stringify(obj1), |
| | | templateName: "鲿¯é¤åçç¹æ§", |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("ä¿å失败"); |
| | |
| | | } |
| | | this.$message.success("ä¿åæå"); |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // 鲿¯é¤åçç¹æ§---ç»æ |
| | |
| | | } |
| | | } |
| | | obj.elasticityModulus = this.stressStrainInfo.elasticity; |
| | | this.$axios |
| | | .post( |
| | | this.$api.insOrderPlan.saveInsContext2, |
| | | { |
| | | id: this.stressStrainInfo.insProductResult |
| | | ? this.stressStrainInfo.insProductResult.id |
| | | : "", |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.currentSample.insOrderId, |
| | | insProductId: this.stressStrainInfo.id, |
| | | insValue: JSON.stringify(obj), |
| | | templateName: "æ¶ç©ºå°çº¿åºååºå", |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | } |
| | | ) |
| | | saveInsContext2({ |
| | | id: this.stressStrainInfo.insProductResult |
| | | ? this.stressStrainInfo.insProductResult.id |
| | | : "", |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.currentSample.insOrderId, |
| | | insProductId: this.stressStrainInfo.id, |
| | | insValue: JSON.stringify(obj), |
| | | templateName: "æ¶ç©ºå°çº¿åºååºå", |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("ä¿å失败"); |
| | |
| | | } |
| | | this.$message.success("ä¿åæå"); |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // å é¤è®°å½ |
| | |
| | | return; |
| | | } |
| | | this.stressStrainInfo.elasticity = e; |
| | | // else { |
| | | // this.$axios |
| | | // .post( |
| | | // this.$api.insOrderPlan.write2 + |
| | | // "?id=" + |
| | | // this.stressStrainInfo.id + |
| | | // "&elasticityModulus=" + |
| | | // e |
| | | // ) |
| | | // .then((res) => { |
| | | // if (res.code == 201) { |
| | | // this.$message.error("ä¿å失败"); |
| | | // return; |
| | | // } |
| | | // this.$message.success("å·²ä¿å"); |
| | | // }); |
| | | // } |
| | | } |
| | | }, |
| | | // æ¶ç©ºå¯¼å°çº¿åºååºå---ç»æ |
| | |
| | | )[0]; |
| | | // è·å设å¤å表 |
| | | this.getEquipOptions(true, obj.id); |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.getSagTemperatureProducts, { |
| | | sampleId: this.currentSample.id, |
| | | }) |
| | | getSagTemperatureProducts({ |
| | | sampleId: this.currentSample.id, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) return; |
| | | let { productVos, sampleVo } = res.data; |
| | |
| | | } |
| | | }); |
| | | }) |
| | | .catch((err) => {}); |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // ä¿åæ°æ® |
| | | saveSageInfo(type, value) { |
| | |
| | | temperature = temperature + "â"; |
| | | } |
| | | this.dataAcquisitionLoading = true; |
| | | this.$axios |
| | | .post( |
| | | this.$api.deviceScope.temDataAcquisition, |
| | | { |
| | | entrustCode: this.insOrder.entrustCode, |
| | | sampleCode: this.currentSample.sampleCode, |
| | | model: this.wareForm0.model, |
| | | cycles: this.wareForm.inspectionItem, |
| | | temperature: temperature, |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | noQs: true, |
| | | } |
| | | ) |
| | | temDataAcquisition({ |
| | | entrustCode: this.insOrder.entrustCode, |
| | | sampleCode: this.currentSample.sampleCode, |
| | | model: this.wareForm0.model, |
| | | cycles: this.wareForm.inspectionItem, |
| | | temperature: temperature, |
| | | }) |
| | | .then((res) => { |
| | | this.dataAcquisitionLoading = false; |
| | | if (res.code != 200) { |
| | |
| | | } |
| | | // èµå¼åæ¾PK8000çæ°æ® |
| | | this.wareFormChange(); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | } else { |
| | | const _than = this; |
| | | // ä¸è¬çæ°æ®éé |
| | | _than.dataAcquisitionLoading = true; |
| | | let urlStr = |
| | | this.$api.deviceScope.dataCollection + |
| | | "?entrustCode=" + |
| | | this.insOrder.entrustCode + |
| | | "&sampleCode=" + |
| | | this.currentSample.sampleCode + |
| | | "&id=" + |
| | | this.currentSample.id; |
| | | // let urlStr = |
| | | // this.$api.deviceScope.dataCollection + |
| | | // "?entrustCode=" + |
| | | // this.insOrder.entrustCode + |
| | | // "&sampleCode=" + |
| | | // this.currentSample.sampleCode + |
| | | // "&id=" + |
| | | // this.currentSample.id; |
| | | let data = { |
| | | entrustCode: this.insOrder.entrustCode, |
| | | sampleCode: this.currentSample.sampleCode, |
| | | id: this.currentSample.id, |
| | | }; |
| | | console.log(_than.fibers); |
| | | if (_than.fibers && _than.fibers.length > 0) { |
| | | //å½åéä¸çå
纤带 |
| | |
| | | if (null == currentFibers || currentFibers.length == 0) { |
| | | currentFibers = _than.fibers[0]; |
| | | } |
| | | urlStr += |
| | | "&fiberOpticRibbon=" + |
| | | currentFibers.bushingColor + |
| | | "-" + |
| | | currentFibers.code; |
| | | // urlStr += |
| | | // "&fiberOpticRibbon=" + |
| | | // currentFibers.bushingColor + |
| | | // "-" + |
| | | // currentFibers.code; |
| | | data.fiberOpticRibbon = |
| | | currentFibers.bushingColor + "-" + currentFibers.code; |
| | | } |
| | | let replaceUrlStr = urlStr |
| | | .split("") |
| | | .map((s) => s.replace("#", "%23")) |
| | | .join(""); |
| | | this.$axios.get(replaceUrlStr).then((res) => { |
| | | this.dataAcquisitionLoading = false; |
| | | if (res.code != 200) { |
| | | return; |
| | | } |
| | | this.dataAcquisitionInfoNew = this.HaveJson(res.data); |
| | | // 对æ°é忥çå¼è¿è¡å¤ç |
| | | this.handleDataAcquisition(res.data); |
| | | }); |
| | | // let replaceUrlStr = urlStr |
| | | // .split("") |
| | | // .map((s) => s.replace("#", "%23")) |
| | | // .join(""); |
| | | dataCollection(data) |
| | | .then((res) => { |
| | | this.dataAcquisitionLoading = false; |
| | | if (res.code != 200) { |
| | | return; |
| | | } |
| | | this.dataAcquisitionInfoNew = this.HaveJson(res.data); |
| | | // 对æ°é忥çå¼è¿è¡å¤ç |
| | | this.handleDataAcquisition(res.data); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | } |
| | | }, |
| | | handleDataAcquisition(data) { |
| | |
| | | // å½å¾ªç¯æ¬¡æ°ã温度ç¹ååãPK8000æ°éæ¶ä¼è°ç¨ï¼ä¸»è¦æ¯è·åä¿¡æ¯è¿è¡åæ¾ |
| | | wareFormChange(m, type) { |
| | | if ( |
| | | this.PROJECT != "æ£æµä¸å¿" || |
| | | !this.tableLists.find((m) => m.templateId == this.currentTable) || |
| | | this.tableLists.find((m) => m.templateId == this.currentTable) |
| | | .templateName != "æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½" |
| | |
| | | wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass + "â"; |
| | | } |
| | | this.wareTableDataLoading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.temCycle, { |
| | | sampleId: this.currentSample.id, |
| | | ...wareForm, |
| | | }) |
| | | temCycle({ |
| | | sampleId: this.currentSample.id, |
| | | ...wareForm, |
| | | }) |
| | | .then((res) => { |
| | | this.wareTableDataLoading = false; |
| | | if (res.code == 201) return; |
| | |
| | | }); |
| | | // è¿æ¯é¡µé¢æç»åç°çæ ¼å¼ |
| | | this.wareTableData = arr2; |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | // è·å设å¤å表 |
| | | this.getEquipOptions(true, this.currentSample.insProduct[0].id); |
| | |
| | | // å¾ªç¯æ¬¡æ°åæ¢æ¶è°ç¨ |
| | | thermalCyclingChange() { |
| | | this.thermalCyclingLoading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.temCycle, { |
| | | sampleId: this.currentSample.id, |
| | | inspectionItem: this.thermalCyclingInfo.inspectionItem, |
| | | }) |
| | | temCycle({ |
| | | sampleId: this.currentSample.id, |
| | | inspectionItem: this.thermalCyclingInfo.inspectionItem, |
| | | }) |
| | | .then((res) => { |
| | | this.thermalCyclingLoading = false; |
| | | if (res.code == 201) return; |
| | | let { productVos, sampleVo } = res.data; |
| | | this.thermalCyclingInfo = { ...this.thermalCyclingInfo, ...sampleVo }; |
| | | // if(this.thermalCyclingInfo.inspectionItem>1){ |
| | | // for(let i in this.param){ |
| | | // if(this.param[i].inspectionItemSubclass){ |
| | | // delete this.param[i] |
| | | // } |
| | | // } |
| | | // } |
| | | for (let i in this.param) { |
| | | if (this.param[i].inspectionItemSubclass) { |
| | | delete this.param[i]; |
| | |
| | | } |
| | | // è·å设å¤å表 |
| | | this.getEquipOptions(true, this.currentSample.insProduct[0].id); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // æ·»å æ£éªå¼ |
| | |
| | | // åæ ¹åç´çç§---ç»æ |
| | | // ä¿åæ¹¿åº¦ãæ¸©åº¦æ°æ® |
| | | subOtherForm(m, type) { |
| | | // let ids = [] |
| | | // for (let i in this.param) { |
| | | // ids.push(i) |
| | | // } |
| | | this.$axios |
| | | .post( |
| | | this.$api.insOrderPlan.write, |
| | | { |
| | | [type]: Number(m), |
| | | insOrderId: this.currentSample.insOrderId, |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | noQs: true, |
| | | } |
| | | ) |
| | | write({ |
| | | [type]: Number(m), |
| | | insOrderId: this.currentSample.insOrderId, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) return; |
| | | this.$message.success("ä¿åæå"); |
| | | if (res.code === 200) { |
| | | this.$message.success("ä¿åæå"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // æéè·å |
| | |
| | | this.temDataAcquisition = temDataAcquisition; |
| | | }, |
| | | uploadSample() { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.doInsOrder, { |
| | | id: this.id, |
| | | laboratory: this.sonLaboratory, |
| | | doInsOrder({ |
| | | id: this.id, |
| | | laboratory: this.sonLaboratory, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.sampleProduct = res.data.sampleProduct; |
| | | } |
| | | }) |
| | | .then(async (res) => { |
| | | this.sampleProduct = res.data.sampleProduct; |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // æ ¹æ®ç±»åãä»»å¡idãå®éªå®¤æ¥è·åæ ·åçæ£éªé¡¹ä¿¡æ¯ |
| | | async getCurrentProduct(id, type) { |
| | | this.tableLoading = true; |
| | | let res = await this.$axios.post( |
| | | this.$api.insOrderPlan.getInsProduct + |
| | | "?id=" + |
| | | id + |
| | | "&type=" + |
| | | type + |
| | | "&laboratory=" + |
| | | this.sonLaboratory |
| | | ); |
| | | let res = await getInsProduct({ |
| | | id: id, |
| | | type: type, |
| | | laboratory: this.sonLaboratory, |
| | | }); |
| | | this.tableLoading = false; |
| | | console.log("getCurrentProduct-->", res.data); |
| | | return res.data; |
| | | }, |
| | | handleChangeBushing(row, column, event) { |
| | |
| | | }, |
| | | // è·åå¥ç®¡,å
纤带,å
çº¤æ°æ® |
| | | getReportModel(id) { |
| | | if (this.PROJECT != "æ£æµä¸å¿") { |
| | | return; |
| | | } |
| | | this.getReportModelLoading = true; |
| | | this.$axios |
| | | .post( |
| | | this.$api.insOrderPlan.getReportModel + |
| | | "?sampleId=" + |
| | | id + |
| | | "&sonLaboratory=" + |
| | | this.sonLaboratory, |
| | | {} |
| | | ) |
| | | getReportModel({ |
| | | sampleId: id, |
| | | sonLaboratory: this.sonLaboratory, |
| | | }) |
| | | .then((res) => { |
| | | this.getReportModelLoading = false; |
| | | this.fibers = res.data["å
纤带"]; |
| | | this.fiber = res.data["å
纤"]; |
| | | this.casing = res.data["å¥ç®¡"]; |
| | | if (res.code === 200) { |
| | | this.getReportModelLoading = false; |
| | | this.fibers = res.data["å
纤带"]; |
| | | this.fiber = res.data["å
纤"]; |
| | | this.casing = res.data["å¥ç®¡"]; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // å¥ç®¡,å
纤带,å
纤ç忢,对åºåå§è®°å½æ¨¡æ¿ä¹è¦åæ¢ |
| | |
| | | }, |
| | | // åå
¸è·åä¿¡æ¯ |
| | | getTypeDicts() { |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "ç´§æ¥ç¨åº¦", |
| | | }) |
| | | getDicts("urgency_level") |
| | | .then((res) => { |
| | | let data = res.data; |
| | | data.forEach((ele) => { |
| | | if (ele.value === "0") { |
| | | ele.type = "success"; |
| | | } else if (ele.value === "1") { |
| | | ele.type = "warning"; |
| | | } else if (ele.value === "2") { |
| | | ele.type = "danger"; |
| | | } |
| | | }); |
| | | this.urgentList = data; |
| | | this.componentData.tagField.type.select = data; |
| | | }); |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "è½½è·", |
| | | if (res.code === 200) { |
| | | this.urgentList = res.data; |
| | | } |
| | | }) |
| | | .then((res) => { |
| | | this.loadList = res.data; |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | // getDicts("").then(res=>{ |
| | | // if(res.status===200){ |
| | | // console.log(res) |
| | | // } |
| | | // }).catch(error=>{ |
| | | // console.error(error) |
| | | // }) |
| | | // this.$axios |
| | | // .post(this.$api.enums.selectEnumByCategory, { |
| | | // category: "è½½è·", |
| | | // }) |
| | | // .then((res) => { |
| | | // this.loadList = res.data; |
| | | // }); |
| | | }, |
| | | // åå
¸è·åä¿¡æ¯ |
| | | getInsStateDicts() { |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ£éªä»»å¡ç¶æ", |
| | | }) |
| | | getDicts("inspection_task_state") |
| | | .then((res) => { |
| | | let data = res.data; |
| | | data.forEach((ele) => { |
| | | //0:å¾
æ£éª 1:æ£éªä¸ 2:å·²æ£éª 3:å¾
夿 ¸ 4:夿 ¸æªéè¿ 5:夿 ¸éè¿ |
| | | if (["2", "5"].includes(ele.value)) { |
| | | ele.type = "success"; |
| | | } else if (["1", "3"].includes(ele.value)) { |
| | | ele.type = "warning"; |
| | | } else if (["0", "4"].includes(ele.value)) { |
| | | ele.type = "danger"; |
| | | } |
| | | }); |
| | | this.typeList = data; |
| | | this.componentData.tagField.insState.select = data; |
| | | if (res.code === 200) { |
| | | this.typeList = res.data; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // åå
¸è·åä¿¡æ¯ |
| | | getComparisonList() { |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "è¡¨æ ¼åæ è½¬æ¢", |
| | | }) |
| | | getDicts("coordinate_transformation") |
| | | .then((res) => { |
| | | let data = res.data; |
| | | this.comparisonList = data; |
| | | if (res.code === 200) { |
| | | this.comparisonList = res.data; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | // è·åæ£éªå¼ä¸ºä¸ææ¶ç䏿å表 |
| | |
| | | if (val === undefined || val === null) { |
| | | return; |
| | | } |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: val, |
| | | }) |
| | | selectDictDataByName(val) |
| | | .then((res) => { |
| | | this.enumList = res.data; |
| | | if (res.code === 200) { |
| | | this.enumList = res.data; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | tableRowClassName({ row, rowIndex }) { |
| | |
| | | }); |
| | | // åå§å页颿°æ® |
| | | this.wareTableDataLoading = true; |
| | | this.$axios |
| | | .post( |
| | | this.$api.deviceScope.temDataAcquisition2, |
| | | { |
| | | entrustCode: this.insOrder.entrustCode, |
| | | sampleCode: this.currentSample.sampleCode, |
| | | model: this.currentSample.model, |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | noQs: true, |
| | | } |
| | | ) |
| | | temDataAcquisition2({ |
| | | entrustCode: this.insOrder.entrustCode, |
| | | sampleCode: this.currentSample.sampleCode, |
| | | model: this.currentSample.model, |
| | | }) |
| | | .then((res) => { |
| | | this.wareFormChange(); |
| | | if (res.code === 200) { |
| | | this.wareFormChange(); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | } |
| | | // æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½---ç»æ |
| | |
| | | conclusionList.forEach((n, i) => { |
| | | if (n.r == b.r && n.c == b.c) { |
| | | b.v.f = `(${ |
| | | this.comparisonList.find((j) => j.value == finalList[i].c) |
| | | .label |
| | | this.comparisonList.find( |
| | | (j) => j.dictValue == finalList[i].c |
| | | ).dictLabel |
| | | }${finalList[i].r + 1})`; |
| | | } |
| | | }); |
| | |
| | | } |
| | | }); |
| | | // 以䏿¯æ ·å¼å¤çé»è¾ |
| | | set = Array.sort(set); |
| | | set = Array.from(set).sort((a, b) => a - b); |
| | | set.forEach((b) => { |
| | | let arr = []; |
| | | a.template.forEach((c) => { |
| | |
| | | }, |
| | | // æ£éªå¼è¾å
¥å触åç彿° |
| | | changeInput(m, code, n, getDataType) { |
| | | console.log("---->999"); |
| | | // 为æ°éå®ä¹ä¸ä¸ªé»è¾åæ° |
| | | if (getDataType == "getDataType") { |
| | | this.getDataType = 2; |
| | |
| | | if (n) { |
| | | currentInsItemId = JSON.parse(JSON.stringify(n.i)); |
| | | // éè¦ç§å¦è®¡æ°æ³çå¯ä»¥èµ°è¿é |
| | | if (this.PROJECT === "æ£æµä¸å¿") { |
| | | if ( |
| | | this.currentSample.insProduct.find( |
| | | (ele) => |
| | | ele.id == currentInsItemId && ele.inspectionItem == "ä½ç§¯çµé»ç" |
| | | ) |
| | | ) { |
| | | if (parseFloat(n.v.v) >= 100000) { |
| | | let num2 = new this.$Big(n.v.v); |
| | | n.v.v = num2.toExponential(); |
| | | } |
| | | if ( |
| | | this.currentSample.insProduct.find( |
| | | (ele) => |
| | | ele.id == currentInsItemId && ele.inspectionItem == "ä½ç§¯çµé»ç" |
| | | ) |
| | | ) { |
| | | if (parseFloat(n.v.v) >= 100000) { |
| | | let num2 = new this.$Big(n.v.v); |
| | | n.v.v = num2.toExponential(); |
| | | } |
| | | } |
| | | // å®ä¹ä¸ä¸ªå½æ°æ¥éªè¯åæ°æ¯å¦ææ |
| | |
| | | excelMethodList: this.excelMethodList, |
| | | comparisonList: this.comparisonList, |
| | | currentSample: this.currentSample, |
| | | PROJECT: this.PROJECT, |
| | | param: this.param, |
| | | currentTable: this.currentTable, |
| | | getDataTypeId: this.getDataTypeId, |
| | |
| | | switch (this.result.method) { |
| | | case "saveInsContext": |
| | | this.$nextTick(() => { |
| | | // this.$delete(this.tableList[0],'arr') |
| | | this.$set( |
| | | this.tableList[0], |
| | | "arr", |
| | |
| | | } |
| | | } |
| | | this.saveInsContext(currentInsItemId); |
| | | // å¦ææ¯æ°éå¯ç¼è¾è¾å
¥çæ
åµ,å¯ä»¥ç´æ¥ä¿åæ°æ® |
| | | // if(this.getDataType==2){ |
| | | // console.log("aaaaaa--->>>",currentInsItemId); |
| | | // this.saveInsContext() |
| | | // }else{ |
| | | // if(this.isGet&&!this.dataAcquisitionEidtAble){ |
| | | // // if(this.result.value.getDataTypeId==''){ |
| | | // // // å¦ææ¯æ°éä¸å¯ç¼è¾è¾å
¥çæ
åµ,䏿åä¸ä¸ªæ°é没æå®æ,åä¸ä¿åæ°æ® |
| | | // // return |
| | | // // } |
| | | // // ä¿åæ°æ® |
| | | // this.saveInsContext() |
| | | // // setTimeout(()=>{ |
| | | // // },2000) |
| | | // }else if(this.isGet&&this.dataAcquisitionEidtAble){ |
| | | // if(this.getDataType==1){ |
| | | // // if(this.result.value.getDataTypeId==''){ |
| | | // // // å¦ææ¯æ°éå¯ç¼è¾è¾å
¥çæ
åµ,䏿åä¸ä¸ªæ°é没æå®æ,åä¸ä¿åæ°æ® |
| | | // // return |
| | | // // } |
| | | // this.saveInsContext() |
| | | // }else{ |
| | | // this.saveInsContext() |
| | | // } |
| | | // }else{ |
| | | // this.saveInsContext() |
| | | // } |
| | | // } |
| | | }); |
| | | break; |
| | | case "tableList": |
| | |
| | | }, |
| | | // æ¯å¦éè¦æ°é |
| | | async determineWhetherToCollectData() { |
| | | let res = await this.$axios.get( |
| | | this.$api.deviceScope.determineWhetherToCollectData + |
| | | "?managementNumber=''" |
| | | ); |
| | | let res = await determineWhetherToCollectData({ |
| | | managementNumber: "", |
| | | }); |
| | | this.isGet = res.data; |
| | | if ( |
| | | this.currentSample.insProduct.filter( |
| | |
| | | if (e) { |
| | | this.equipOptions = []; |
| | | let product = this.currentSample.insProduct.find((m) => m.id == id); |
| | | console.log(product); |
| | | this.$axios |
| | | .post(this.$api.deviceScope.selectDeviceByCategory, { |
| | | inspectionItem: product.inspectionItem, |
| | | inspectionItemSubclass: product.inspectionItemSubclass, |
| | | sonLaboratory: product.sonLaboratory, |
| | | }) |
| | | selectDeviceByCategory({ |
| | | inspectionItem: product.inspectionItem, |
| | | inspectionItemSubclass: product.inspectionItemSubclass, |
| | | sonLaboratory: product.sonLaboratory, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200 && res.data) { |
| | | this.equipOptions = res.data.map((m) => { |
| | |
| | | } |
| | | } |
| | | }, |
| | | getUserInfo() { |
| | | this.$axios.get(this.$api.user.getUserInfo).then((res) => { |
| | | this.userId = res.data.id; |
| | | this.componentData.entity.userId = res.data.id; |
| | | // console.log(1111,this.userId) |
| | | }); |
| | | }, |
| | | // 夿 ¸ |
| | | upInsReview(e) { |
| | | if (e == 1) { |
| | | // éè¿ |
| | | this.reviewLoading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.verifyPlan, { |
| | | orderId: this.orderId, |
| | | type: 1, |
| | | laboratory: this.sonLaboratory, |
| | | tell: null, |
| | | }) |
| | | verifyPlan({ |
| | | orderId: this.orderId, |
| | | type: 1, |
| | | laboratory: this.sonLaboratory, |
| | | tell: null, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | |
| | | handleReviewDia() { |
| | | if (this.noReason) { |
| | | this.reviewLoading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.verifyPlan, { |
| | | orderId: this.orderId, |
| | | type: 0, |
| | | laboratory: this.sonLaboratory, |
| | | tell: this.noReason, |
| | | }) |
| | | verifyPlan({ |
| | | orderId: this.orderId, |
| | | type: 0, |
| | | laboratory: this.sonLaboratory, |
| | | tell: this.noReason, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | |
| | | } |
| | | this.addVerifyDia = false; |
| | | this.submitLoading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.checkSubmitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | humidity: this.otherForm.humidity, |
| | | temperature: this.otherForm.temperature, |
| | | }) |
| | | checkSubmitPlan({ |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | humidity: this.otherForm.humidity, |
| | | temperature: this.otherForm.temperature, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | if (!res.data || res.data.length == 0) { |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrderPlan.getEquipName + |
| | | "?orderId=" + |
| | | this.orderId + |
| | | "&sonLaboratory=" + |
| | | this.sonLaboratory |
| | | ) |
| | | getEquipName({ |
| | | orderId: this.orderId, |
| | | sonLaboratory: this.sonLaboratory, |
| | | }) |
| | | .then((response) => { |
| | | console.log(typeof response.data, response.data.length); |
| | | if (response.data.length > 0) { |
| | | let newData = []; |
| | | const h = this.$createElement; |
| | |
| | | type: "", |
| | | }) |
| | | .then(() => { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.submitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | entrustCode: this.insOrder.entrustCode, |
| | | }) |
| | | submitPlan({ |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | entrustCode: this.insOrder.entrustCode, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | | this.$emit("goback"); |
| | | } |
| | | this.submitLoading = false; |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.submitLoading = false; |
| | | }); |
| | | } else { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.submitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | entrustCode: this.insOrder.entrustCode, |
| | | }) |
| | | submitPlan({ |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | entrustCode: this.insOrder.entrustCode, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | | this.$emit("goback"); |
| | | } |
| | | this.submitLoading = false; |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | |
| | | // this.$axios |
| | | // .post(this.$api.insOrderPlan.submitPlan, { |
| | | // orderId: this.orderId, |
| | | // laboratory: this.sonLaboratory, |
| | | // verifyUser: this.verifyUser, |
| | | // entrustCode: this.insOrder.entrustCode, |
| | | // }) |
| | | // .then((res) => { |
| | | // if (res.code === 200) { |
| | | // this.$message.success("æä½æå"); |
| | | // this.$emit("goback"); |
| | | // } |
| | | // this.submitLoading = false; |
| | | // }) |
| | | } else { |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrderPlan.getEquipName + |
| | | "?orderId=" + |
| | | this.orderId + |
| | | "&sonLaboratory=" + |
| | | this.sonLaboratory |
| | | ) |
| | | getEquipName({ |
| | | orderId: this.orderId, |
| | | sonLaboratory: this.sonLaboratory, |
| | | }) |
| | | .then((response) => { |
| | | console.log(typeof response.data, response.data.length); |
| | | if (response.data.length > 0) { |
| | | let newData = []; |
| | | const h = this.$createElement; |
| | |
| | | type: "", |
| | | }) |
| | | .then(() => { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.submitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | }) |
| | | submitPlan({ |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | |
| | | type: "", |
| | | }) |
| | | .then(() => { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.submitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | }) |
| | | submitPlan({ |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | |
| | | .catch(() => {}); |
| | | this.submitLoading = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | |
| | | // let newData = []; |
| | | // const h = this.$createElement; |
| | | // // å»éä¸åæ ¼å¤ç |
| | | // let set = new Set(); |
| | | // res.data.forEach((item) => { |
| | | // if (!set.has(item)) { |
| | | // set.add(item); |
| | | // } |
| | | // }); |
| | | // res.data = Array.from(set); |
| | | // for (let i in res.data) { |
| | | // const lastChar = res.data[i].slice(-1); |
| | | // if (lastChar == "-") { |
| | | // res.data[i] = res.data[i].slice(0, -1); |
| | | // } |
| | | // newData.push( |
| | | // h( |
| | | // "p", |
| | | // { style: "font-size: 14px;color: red;" }, |
| | | // Number(i) + 1 + "ã" + res.data[i] |
| | | // ) |
| | | // ); |
| | | // } |
| | | // newData.push( |
| | | // h( |
| | | // "p", |
| | | // { |
| | | // style: |
| | | // "font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh", |
| | | // }, |
| | | // "以ä¸é¡¹ç®ä¸åæ ¼ï¼ç¡®å®æäº¤ï¼" |
| | | // ) |
| | | // ); |
| | | // this.$confirm("æç¤º", { |
| | | // title: "æç¤º", |
| | | // message: h("div", null, newData), |
| | | // confirmButtonText: "ç¡®å®", |
| | | // cancelButtonText: "åæ¶", |
| | | // type: "", |
| | | // }) |
| | | // .then(() => { |
| | | // this.$axios |
| | | // .post(this.$api.insOrderPlan.submitPlan, { |
| | | // orderId: this.orderId, |
| | | // laboratory: this.sonLaboratory, |
| | | // verifyUser: this.verifyUser, |
| | | // }) |
| | | // .then((res) => { |
| | | // if (res.code === 200) { |
| | | // this.$message.success("æä½æå"); |
| | | // this.$emit("goback"); |
| | | // } |
| | | // }) |
| | | // .catch((error) => { |
| | | // console.error(error); |
| | | // }); |
| | | // }) |
| | | // .catch(() => {}); |
| | | } |
| | | } |
| | | this.submitLoading = false; |
| | |
| | | }, |
| | | // ç»ä¸å¨è¿éä¿åæ°æ® |
| | | saveInsContext(currentInsItemId, isDelete = false) { |
| | | // console.log("saveInsContext-->",this.param); |
| | | try { |
| | | if (this.param) { |
| | | let param = null; |
| | |
| | | } else { |
| | | param = this.param; |
| | | } |
| | | console.log("param-->", param); |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(param), |
| | | currentTable: this.currentTable, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.orderId, |
| | | sonLaboratory: this.sonLaboratory, |
| | | isDelete: isDelete, |
| | | }) |
| | | saveInsContext({ |
| | | param: param, |
| | | currentTable: this.currentTable, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.orderId, |
| | | sonLaboratory: this.sonLaboratory, |
| | | isDelete: isDelete, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("ä¿å失败"); |
| | | return; |
| | | } |
| | | this.$message.success("å·²ä¿å"); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | // å Worker åéæ¶æ¯ï¼å¼å§å¤çé»è¾ |
| | | this.worker.postMessage( |
| | |
| | | //this.saveInsContext(ids[i]); |
| | | }, |
| | | getAuthorizedPerson() { |
| | | this.$axios.get(this.$api.user.getLaboratoryPersonList).then((res) => { |
| | | // let data = [] |
| | | // // let userName = JSON.parse(localStorage.getItem("user")).name; |
| | | // res.data.forEach(a => { |
| | | // if(!this.inspectorList.includes(a.name)) { |
| | | // data.push({ |
| | | // label: a.name, |
| | | // value: a.id |
| | | // }) |
| | | // } |
| | | // }) |
| | | this.personList = res.data; |
| | | }); |
| | | getLaboratoryPersonList() |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.personList = res.data; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | scrollInit() { |
| | | // è·åè¦ç»å®äºä»¶çå
ç´ |
| | |
| | | this.$refs.upload.clearFiles(); |
| | | }, |
| | | handleDown(row) { |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.downFile, { |
| | | id: row.id, |
| | | }) |
| | | downFile({ |
| | | id: row.id, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | let url = ""; |
| | |
| | | } |
| | | } |
| | | }) |
| | | .catch((error) => {}); |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | /** |
| | | * å°æ°å¼vä¿çct.faä¸'##'åçæå®å°æ°ä½æ°ï¼å¹¶è¿åæ ¼å¼ååçå符串ã |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æ£éªäº¤æ¥" :visible.sync="connectVisible" width="400px"> |
| | | <div class="search_thing"> |
| | | <div class="search_thing" style="width: 100%"> |
| | | <div class="search_label" style="width: 90px"> |
| | | <span class="required-span">* </span>交æ¥äººåï¼ |
| | | </div> |
| | |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_thing" style="width: 100%"> |
| | | <div class="search_label" style="width: 90px"> |
| | | <span class="required-span">* </span>è¯éªå®¤ï¼ |
| | | </div> |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <div style="width: 100%; height: 100%" v-if="activeFace > 0"> |
| | | <Add :active="activeFace" :currentId="currentId" :examine="examine" /> |
| | | </div> |
| | | <Inspection |
| | | v-if="state > 0" |
| | | @goback="goback" |
| | |
| | | width="100%" |
| | | fullscreen |
| | | > |
| | | <!-- <div |
| | | <div |
| | | style="width: 100%; text-align: right; margin-bottom: 10px" |
| | | v-if="premissionReviewFun()" |
| | | > |
| | | <el-button type="primary" size="small" @click="goReview(currentRow)" |
| | | >åå¾å¤æ ¸</el-button |
| | | > |
| | | </div> --> |
| | | </div> |
| | | <lims-table |
| | | ref="dataLookTable" |
| | | highlightCurrentRow |
| | |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permissions", "nickName"]), |
| | | title() { |
| | | return this.selectTab + "æ£éªç»ææ¾ç¤º"; |
| | | }, |
| | | isLeader() { |
| | | const power = JSON.parse(sessionStorage.getItem("power")); |
| | | if (power) { |
| | | const filterList = power.filter((ele) => ele.menuMethod == "leader"); |
| | | return filterList.length > 0; |
| | | } |
| | | return false; |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | row.userName == null || |
| | | row.insState == 3 || |
| | | row.insState == 5 || |
| | | (row.userName && !row.userName.includes(this.nickName)) |
| | | (row.userName && !this.hasExistUserName(row.userName)) |
| | | ); |
| | | }, |
| | | }, |
| | |
| | | row.insState == 5 || |
| | | row.insState == 3 || |
| | | (row.userName && |
| | | !row.userName.includes(this.nickName) && |
| | | !this.hasExistUserName(row.userName) && |
| | | !this.isLeader) |
| | | ); |
| | | }, |
| | |
| | | return ( |
| | | row.userName == null || |
| | | row.insState != 3 || |
| | | (row.checkName && !row.checkName.includes(this.nickName)) |
| | | (row.checkName && !this.hasExistUserName(row.userName)) |
| | | ); |
| | | }, |
| | | }, |
| | |
| | | }); |
| | | }, |
| | | }, |
| | | computed: { |
| | | title() { |
| | | return this.selectTab + "æ£éªç»ææ¾ç¤º"; |
| | | }, |
| | | isLeader() { |
| | | const power = JSON.parse(sessionStorage.getItem("power")); |
| | | if (power) { |
| | | const filterList = power.filter((ele) => ele.menuMethod == "leader"); |
| | | return filterList.length > 0; |
| | | } |
| | | return false; |
| | | }, |
| | | }, |
| | | methods: { |
| | | //夿æ£éªäººä¸æ¯å¦å
å«å½åç¨æ· |
| | | hasExistUserName(userName) { |
| | | return userName.includes(this.nickName); |
| | | }, |
| | | pagination({ page, limit }) { |
| | | this.page.current = page; |
| | | this.page.size = limit; |
| | |
| | | inspectorList = row.userName.split(","); |
| | | } |
| | | inspectorList.push(this.nickName); |
| | | this.inspectorList = inspectorList; |
| | | this.state = 1; |
| | | this.orderId = row.id; |
| | | this.$router.push({ |
| | | name: "inspection", |
| | | params: { |
| | | inspectorList: inspectorList, |
| | | state: 1, |
| | | orderId: row.id, |
| | | sonLaboratory: this.queryParams.sonLaboratory, |
| | | handover: this.personList, |
| | | }, |
| | | }); |
| | | |
| | | // this.inspectorList = inspectorList; |
| | | // this.state = 1; |
| | | // this.orderId = row.id; |
| | | }, |
| | | handleConnect(row) { |
| | | this.orderId = row.id; |
| | |
| | | overflow: hidden; |
| | | } |
| | | |
| | | >>>.el-table__body-wrapper { |
| | | >>> .el-table__body-wrapper { |
| | | height: calc(100% - 46px) !important; |
| | | } |
| | | |
| | | >>>.header-class { |
| | | >>> .header-class { |
| | | height: 40px !important; |
| | | } |
| | | |
| | | >>>.header-class th.el-table__cell>.cell { |
| | | >>> .header-class th.el-table__cell > .cell { |
| | | line-height: 20px !important; |
| | | padding-top: 0 !important; |
| | | padding-bottom: 0 !important; |
| | | } |
| | | |
| | | >>>.el-table__row { |
| | | >>> .el-table__row { |
| | | height: 35px !important; |
| | | } |
| | | |
| | |
| | | right: 70px; |
| | | } |
| | | |
| | | >>>.is-disabled .el-textarea__inner { |
| | | >>> .is-disabled .el-textarea__inner { |
| | | background: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | |
| | | >>>.is-disabled .el-textarea__inner { |
| | | >>> .is-disabled .el-textarea__inner { |
| | | background: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | |
| | | >>>.el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 14px; |
| | | >>> .el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 6px; |
| | | /* 设置æ»å¨æ¡å®½åº¦ */ |
| | | } |
| | | </style> |
| | |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | .standard |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | color: #3a7bfa; |
| | | } |
| | | |
| | |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input placeholder="è¾å
¥å
³é®åè¿è¡æç´¢" suffix-icon="el-icon-search" v-model="search" size="small" |
| | | style="margin-bottom: 5px" clearable @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | <el-input |
| | | placeholder="è¾å
¥å
³é®åè¿è¡æç´¢" |
| | | suffix-icon="el-icon-search" |
| | | v-model="search" |
| | | size="small" |
| | | style="margin-bottom: 5px" |
| | | clearable |
| | | @blur="searchFilter" |
| | | @clear="searchFilter" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center; line-height: 30px" v-if="addPower"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addDia = true"></el-button> |
| | | <el-col |
| | | :span="4" |
| | | style="text-align: center; line-height: 30px" |
| | | v-if="addPower" |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | circle |
| | | @click="addDia = true" |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current v-loading="treeLoad" |
| | | :expand-on-click-node="false" :default-expanded-keys="expandedKeys" style=" |
| | | <el-tree |
| | | :data="list" |
| | | ref="tree" |
| | | :props="{ children: 'children', label: 'label' }" |
| | | node-key="label" |
| | | :filter-node-method="filterNode" |
| | | @node-click="handleNodeClick" |
| | | highlight-current |
| | | v-loading="treeLoad" |
| | | :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" |
| | | style=" |
| | | height: calc(100% - 30px); |
| | | overflow-y: scroll; |
| | | scrollbar-width: none; |
| | | "> |
| | | " |
| | | > |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%"> |
| | | <el-col :span="21" :class="{ sort: node.level > 3 }" :title="data.label" style="text-align: left"> |
| | | <el-col |
| | | :span="21" |
| | | :class="{ sort: node.level > 3 }" |
| | | :title="data.label" |
| | | style="text-align: left" |
| | | > |
| | | <span> |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`"></i> |
| | | <i |
| | | :class="`node_i ${ |
| | | data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`" |
| | | ></i> |
| | | {{ data.label }} |
| | | </span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right" v-if=" |
| | | (node.data.children === null || |
| | | node.data.children === undefined) |
| | | "> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <el-col |
| | | :span="2" |
| | | style="text-align: right" |
| | | v-if=" |
| | | node.data.children === null || node.data.children === undefined |
| | | " |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click.stop="remove(node, data)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | |
| | | <el-col :span="20" style="font-size: 14px; color: #999">{{ |
| | | selectTree |
| | | }}</el-col> |
| | | <el-button size="small" type="primary" style="position: absolute; right: 100px; top: 1px" |
| | | @click="uploadDia = true" v-if="inExcelOfTreePower">导å
¥</el-button> |
| | | <el-button size="small" type="primary" @click="handleMore" style="position: absolute; right: 5px; top: 1px" |
| | | v-if="upStandardProduct">æ¹éç¼è¾</el-button> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | style="position: absolute; right: 100px; top: 1px" |
| | | @click="uploadDia = true" |
| | | v-if="inExcelOfTreePower" |
| | | >导å
¥</el-button |
| | | > |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | @click="handleMore" |
| | | style="position: absolute; right: 5px; top: 1px" |
| | | v-if="upStandardProduct" |
| | | >æ¹éç¼è¾</el-button |
| | | > |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%; height: 220px !important" height="220" |
| | | tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard" |
| | | header-row-class-name="header-class"> |
| | | <el-table-column prop="code" label="æ åç¼å·" show-overflow-tooltip width="200"> |
| | | <el-table |
| | | class="el-table" |
| | | :data="standardList" |
| | | style="width: 100%; height: 220px !important" |
| | | height="220" |
| | | tooltip-effect="dark" |
| | | highlight-current-row |
| | | @row-click="rowClick" |
| | | ref="standard" |
| | | header-row-class-name="header-class" |
| | | > |
| | | <el-table-column |
| | | prop="code" |
| | | label="æ åç¼å·" |
| | | show-overflow-tooltip |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span style="color: red; font-size: 14px">{{ |
| | | scope.row["code"] |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="æ ååç§°" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æ ååç§°" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="remark" |
| | | label="夿³¨" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row class="product_table" v-loading="tableLoad2"> |
| | | <el-table :data="productList" ref="productTable" style="width: 100%" height="100%" tooltip-effect="dark" stripe |
| | | :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class"> |
| | | <el-table |
| | | :data="productList" |
| | | ref="productTable" |
| | | style="width: 100%" |
| | | height="100%" |
| | | tooltip-effect="dark" |
| | | stripe |
| | | :fit="true" |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" |
| | | @select-all="handleAll" |
| | | class="productTable" |
| | | header-row-class-name="header-class" |
| | | > |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column prop="sample" label="产å" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="åå·" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="æ£éªé¡¹" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="sample" |
| | | label="产å" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="åå·" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="æ£éªé¡¹" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <!-- <el-table-column prop="inspectionItemClassify" label="æ£éªé¡¹ç±»å" width="120" show-overflow-tooltip></el-table-column> --> |
| | | <el-table-column prop="inspectionItemSubclass" label="æ£éªé¡¹å项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="åå®éªå®¤" width="130" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemSubclass" |
| | | label="æ£éªé¡¹å项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sonLaboratory" |
| | | label="åå®éªå®¤" |
| | | width="130" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="ask" label="è¦æ±å¼" min-width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="è¦æ±å¼" v-model="scope.row.ask" clearable |
| | | @change="(value) => upStandardProductList(value, scope.row.id)" v-if="upStandardProduct" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }"></el-input> |
| | | <el-input |
| | | size="small" |
| | | placeholder="è¦æ±å¼" |
| | | v-model="scope.row.ask" |
| | | clearable |
| | | @change="(value) => upStandardProductList(value, scope.row.id)" |
| | | v-if="upStandardProduct" |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | ></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tell" label="è¦æ±æè¿°" min-width="220px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="è¦æ±æè¿°" v-model="scope.row.tell" clearable @change="(value) => upStandardProductListOfTell(value, scope.row.id) |
| | | " v-if="upStandardProduct" type="textarea" :autosize="{ minRows: 1, maxRows: 3 }"></el-input> |
| | | <el-input |
| | | size="small" |
| | | placeholder="è¦æ±æè¿°" |
| | | v-model="scope.row.tell" |
| | | clearable |
| | | @change=" |
| | | (value) => upStandardProductListOfTell(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | ></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="method" label="è¯éªæ¹æ³" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.methodS" size="small" placeholder="è¯éªæ¹æ³" @change="(value) => upStandardProductListOfMethodS(value, scope.row.id) |
| | | " v-if="upStandardProduct"> |
| | | <el-option v-for="(a, i) in JSON.parse(scope.row.method)" :key="i" :label="a" :value="a"></el-option> |
| | | <el-select |
| | | v-model="scope.row.methodS" |
| | | size="small" |
| | | placeholder="è¯éªæ¹æ³" |
| | | @change=" |
| | | (value) => upStandardProductListOfMethodS(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | > |
| | | <el-option |
| | | v-for="(a, i) in JSON.parse(scope.row.method)" |
| | | :key="i" |
| | | :label="a" |
| | | :value="a" |
| | | ></el-option> |
| | | </el-select> |
| | | <span v-else>{{ scope.row.methodS }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计éåä½" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="计éåä½" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="price" label="åä»·(å
)" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.price" size="small" placeholder="åä»·(å
)" @change="(value) => upStandardProductListOfPrice(value, scope.row.id) |
| | | " v-if="upStandardProduct"> |
| | | <el-input |
| | | v-model="scope.row.price" |
| | | size="small" |
| | | placeholder="åä»·(å
)" |
| | | @change=" |
| | | (value) => upStandardProductListOfPrice(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | > |
| | | </el-input> |
| | | <span v-else>{{ scope.row.price }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="manHour" label="å·¥æ¶ç³»æ°" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.manHour" size="small" placeholder="å·¥æ¶ç³»æ°" @change="(value) => upStandardProductListOfManHour(value, scope.row.id) |
| | | " v-if="upStandardProduct"> |
| | | <el-input |
| | | v-model="scope.row.manHour" |
| | | size="small" |
| | | placeholder="å·¥æ¶ç³»æ°" |
| | | @change=" |
| | | (value) => upStandardProductListOfManHour(value, scope.row.id) |
| | | " |
| | | v-if="upStandardProduct" |
| | | > |
| | | </el-input> |
| | | <span v-else>{{ scope.row.manHour }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="manHourGroup" label="å·¥æ¶åç»" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="manHourGroup" |
| | | label="å·¥æ¶åç»" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="templateId" label="模æ¿" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct" @change="(value) => |
| | | upStandardProductListOfTemplate(value, scope.row.id) |
| | | "> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | <el-select |
| | | v-model="scope.row.templateId" |
| | | size="small" |
| | | filterable |
| | | :disabled="!upStandardProduct" |
| | | @change=" |
| | | (value) => |
| | | upStandardProductListOfTemplate(value, scope.row.id) |
| | | " |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in templateList" |
| | | :key="ai" |
| | | :label="a.name" |
| | | :value="a.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="section" label="åºé´" width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="section" |
| | | label="åºé´" |
| | | width="120" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="section" label="æä½" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="sectionUp(scope.row)">åºé´è®¾ç½®</el-button> |
| | | <el-button type="text" @click="sectionUp(scope.row)" |
| | | >åºé´è®¾ç½®</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination style="position: absolute; right: 16px; bottom: 1px" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total"> |
| | | <el-pagination |
| | | style="position: absolute; right: 16px; bottom: 1px" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="50" |
| | | :total="total" |
| | | > |
| | | </el-pagination> |
| | | </el-row> |
| | | </div> |
| | |
| | | <span class="required-span">* </span>åå·ï¼ |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.model" placeholder="请è¾å
¥åå·" clearable size="small" |
| | | @keyup.enter.native="addStandardTree"></el-input> |
| | | <el-input |
| | | v-model="addOb.model" |
| | | placeholder="请è¾å
¥åå·" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="addStandardTree" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">ç¡® å®</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æ¹éç¼è¾" top="5vh" :visible.sync="moreEdit" width="90%" class="more-edit"> |
| | | <div class="body" style="display: flex; flex-direction: column; height: 85vh"> |
| | | <el-dialog |
| | | title="æ¹éç¼è¾" |
| | | top="5vh" |
| | | :visible.sync="moreEdit" |
| | | width="90%" |
| | | class="more-edit" |
| | | > |
| | | <div |
| | | class="body" |
| | | style="display: flex; flex-direction: column; height: 85vh" |
| | | > |
| | | <div class="search"> |
| | | <div class="search-item"> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | è¦æ±å¼ï¼</el-col> |
| | | è¦æ±å¼ï¼</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.ask" clearable :disabled="moreSelects.length == 0"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="moreInfo.ask" |
| | | clearable |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | è¦æ±æè¿°ï¼</el-col> |
| | | <el-col :span="16" style="display: flex; align-items: flex-start; height: 100%"> |
| | | <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3 }" |
| | | v-model="moreInfo.tell" :disabled="moreSelects.length == 0"></el-input> |
| | | è¦æ±æè¿°ï¼</el-col |
| | | > |
| | | <el-col |
| | | :span="16" |
| | | style="display: flex; align-items: flex-start; height: 100%" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | clearable |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | v-model="moreInfo.tell" |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | è¯éªæ¹æ³ï¼</el-col> |
| | | è¯éªæ¹æ³ï¼</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%" |
| | | :disabled="moreSelects.length == 0" clearable> |
| | | <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | <el-select |
| | | v-model="moreInfo.methodS" |
| | | size="small" |
| | | filterable |
| | | style="width: 100%" |
| | | :disabled="moreSelects.length == 0" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in methodList" |
| | | :key="ai" |
| | | :label="a.label" |
| | | :value="a.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%; margin-bottom: 16px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | åä»·(å
)ï¼</el-col> |
| | | åä»·(å
)ï¼</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.price" clearable |
| | | :disabled="moreSelects.length == 0"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="moreInfo.price" |
| | | clearable |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | å·¥æ¶ç³»æ°ï¼</el-col> |
| | | å·¥æ¶ç³»æ°ï¼</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.manHour" clearable |
| | | :disabled="moreSelects.length == 0"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="moreInfo.manHour" |
| | | clearable |
| | | :disabled="moreSelects.length == 0" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 模æ¿ï¼</el-col> |
| | | 模æ¿ï¼</el-col |
| | | > |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="模æ¿" style="width: 100%" |
| | | :disabled="moreSelects.length == 0"> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | <el-select |
| | | v-model="moreInfo.templateId" |
| | | size="small" |
| | | filterable |
| | | placeholder="模æ¿" |
| | | style="width: 100%" |
| | | :disabled="moreSelects.length == 0" |
| | | > |
| | | <el-option |
| | | v-for="(a, ai) in templateList" |
| | | :key="ai" |
| | | :label="a.name" |
| | | :value="a.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%"> |
| | | <el-col :span="6" style="text-align: right"> æ¯å¦å¯ç¨ï¼</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.state" size="small" filterable placeholder="æ¯å¦å¯ç¨" style="width: 100%" |
| | | :disabled="moreSelects.length == 0" clearable> |
| | | <el-select |
| | | v-model="moreInfo.state" |
| | | size="small" |
| | | filterable |
| | | placeholder="æ¯å¦å¯ç¨" |
| | | style="width: 100%" |
| | | :disabled="moreSelects.length == 0" |
| | | clearable |
| | | > |
| | | <el-option label="å¯ç¨" :value="1"></el-option> |
| | | <el-option label="ä¸å¯ç¨" :value="0"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 100%; margin-top: 8px"> |
| | | <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end"> |
| | | <el-button @click="clearProduct(1)" size="small" type="danger">éç½®åä»·</el-button> |
| | | <el-button @click="clearProduct(2)" size="small" type="danger">é置工æ¶ç³»æ°</el-button> |
| | | <el-button type="primary" size="small" @click="sectionUp(moreSelects)">设置åºé´</el-button> |
| | | <el-button @click="moreEdit = false" size="small">å æ¶</el-button> |
| | | <el-button type="primary" @click="subMoreEdit" :loading="moreEditLoad" size="small">ä¿ å</el-button> |
| | | <el-col |
| | | :span="24" |
| | | style=" |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | " |
| | | > |
| | | <el-button @click="clearProduct(1)" size="small" type="danger" |
| | | >éç½®åä»·</el-button |
| | | > |
| | | <el-button @click="clearProduct(2)" size="small" type="danger" |
| | | >é置工æ¶ç³»æ°</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | @click="sectionUp(moreSelects)" |
| | | >设置åºé´</el-button |
| | | > |
| | | <el-button @click="moreEdit = false" size="small" |
| | | >å æ¶</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="subMoreEdit" |
| | | :loading="moreEditLoad" |
| | | size="small" |
| | | >ä¿ å</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div style="flex: 1; overflow-y: auto" v-loading="productTableLoading0"> |
| | | <el-table :data="productList0" ref="productTable0" style="width: 100%" height="96%" tooltip-effect="dark" |
| | | stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" :row-key="(row) => row.id" @filter-change="filterHandler" |
| | | highlight-current-row> |
| | | <el-table |
| | | :data="productList0" |
| | | ref="productTable0" |
| | | style="width: 100%" |
| | | height="96%" |
| | | tooltip-effect="dark" |
| | | stripe |
| | | :fit="true" |
| | | border |
| | | @select-all="handleSelectAll0" |
| | | @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" |
| | | :row-key="(row) => row.id" |
| | | @filter-change="filterHandler" |
| | | highlight-current-row |
| | | > |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column prop="sample" label="产å" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="åå·" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="æ£éªé¡¹" min-width="140" show-overflow-tooltip :filters="filters0" |
| | | :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="æ£éªé¡¹å项" min-width="140" show-overflow-tooltip |
| | | :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass" |
| | | filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="åå®éªå®¤" width="130" show-overflow-tooltip |
| | | :filters="dict.type.sys_sub_lab" :filter-multiple="false" column-key="sonLaboratory" |
| | | filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="ask" label="è¦æ±å¼" min-width="200px"></el-table-column> |
| | | <el-table-column prop="tell" label="è¦æ±æè¿°" min-width="220px"></el-table-column> |
| | | <el-table-column prop="methodS" label="è¯éªæ¹æ³" width="200"></el-table-column> |
| | | <el-table-column prop="unit" label="计éåä½" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="åä»·(å
)" width="120"></el-table-column> |
| | | <el-table-column prop="manHour" label="å·¥æ¶ç³»æ°" width="120"></el-table-column> |
| | | <el-table-column prop="manHourGroup" label="å·¥æ¶åç»" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="sample" |
| | | label="产å" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="åå·" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="æ£éªé¡¹" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | :filters="filters0" |
| | | :filter-multiple="false" |
| | | column-key="inspectionItem" |
| | | filter-placement="bottom-start" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemSubclass" |
| | | label="æ£éªé¡¹å项" |
| | | min-width="140" |
| | | show-overflow-tooltip |
| | | :filters="filters1" |
| | | :filter-multiple="false" |
| | | column-key="inspectionItemSubclass" |
| | | filter-placement="bottom-start" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sonLaboratory" |
| | | label="åå®éªå®¤" |
| | | width="130" |
| | | show-overflow-tooltip |
| | | :filters="dict.type.sys_sub_lab" |
| | | :filter-multiple="false" |
| | | column-key="sonLaboratory" |
| | | filter-placement="bottom-start" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="ask" |
| | | label="è¦æ±å¼" |
| | | min-width="200px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="tell" |
| | | label="è¦æ±æè¿°" |
| | | min-width="220px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="methodS" |
| | | label="è¯éªæ¹æ³" |
| | | width="200" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="计éåä½" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="price" |
| | | label="åä»·(å
)" |
| | | width="120" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="manHour" |
| | | label="å·¥æ¶ç³»æ°" |
| | | width="120" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="manHourGroup" |
| | | label="å·¥æ¶åç»" |
| | | width="100" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="templateId" label="模æ¿" width="200"> |
| | | <template slot-scope="scope"> |
| | | {{ |
| | | templateList.find((item) => item.id == scope.row.templateId) |
| | | ? templateList.find( |
| | | (item) => item.id == scope.row.templateId |
| | | ).name |
| | | (item) => item.id == scope.row.templateId |
| | | ).name |
| | | : "" |
| | | }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="section" label="åºé´" width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column |
| | | prop="section" |
| | | label="åºé´" |
| | | width="120" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | </el-table> |
| | | <el-pagination style="position: absolute; right: 16px; bottom: 4px" @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0"> |
| | | <el-pagination |
| | | style="position: absolute; right: 16px; bottom: 4px" |
| | | @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="100" |
| | | :total="total0" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="åºé´è®¾ç½®" :visible.sync="sectionUpDia" width="70%" :close-on-click-modal="false"> |
| | | <el-dialog |
| | | title="åºé´è®¾ç½®" |
| | | :visible.sync="sectionUpDia" |
| | | width="70%" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div style="width: 100%; text-align: left"> |
| | | <el-button id="copyBtn" v-if="sectionList.length > 0" :data-clipboard-text="JSON.stringify(sectionList)" |
| | | type="primary" size="mini" @click="copySectionConfig">å¤å¶åºé´è®¾ç½®</el-button> |
| | | <el-button type="primary" size="mini" @click="openImportSectionsConfig">导å
¥åºé´è®¾ç½®</el-button> |
| | | <el-dialog :visible.sync="importSectionsConfigDia" width="30%" title="导å
¥åºé´é
ç½®"> |
| | | <el-input type="textarea" :rows="3" v-model="sectionsConfigText"></el-input> |
| | | <el-button |
| | | id="copyBtn" |
| | | v-if="sectionList.length > 0" |
| | | :data-clipboard-text="JSON.stringify(sectionList)" |
| | | type="primary" |
| | | size="mini" |
| | | @click="copySectionConfig" |
| | | >å¤å¶åºé´è®¾ç½®</el-button |
| | | > |
| | | <el-button type="primary" size="mini" @click="openImportSectionsConfig" |
| | | >导å
¥åºé´è®¾ç½®</el-button |
| | | > |
| | | <el-dialog |
| | | :visible.sync="importSectionsConfigDia" |
| | | width="30%" |
| | | title="导å
¥åºé´é
ç½®" |
| | | > |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | v-model="sectionsConfigText" |
| | | ></el-input> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="importSectionsConfigDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="confirmImportConfig">确认</el-button> |
| | | <el-button @click="importSectionsConfigDia = false" |
| | | >å æ¶</el-button |
| | | > |
| | | <el-button type="primary" @click="confirmImportConfig" |
| | | >确认</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="åºé´" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.thing" clearable placeholder="åºé´"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.thing" |
| | | clearable |
| | | placeholder="åºé´" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è¦æ±å¼" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.ask" clearable placeholder="è¦æ±å¼"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.ask" |
| | | clearable |
| | | placeholder="è¦æ±å¼" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è¦æ±æè¿°" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="è¦æ±æè¿°" v-model="scope.row.tell" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 2 }"></el-input> |
| | | <el-input |
| | | size="small" |
| | | placeholder="è¦æ±æè¿°" |
| | | v-model="scope.row.tell" |
| | | clearable |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 2 }" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="åä»·" align="center" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.price" clearable placeholder="åä»·"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.price" |
| | | clearable |
| | | placeholder="åä»·" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å·¥æ¶ç³»æ°" align="center" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.manHour" clearable placeholder="å·¥æ¶ç³»æ°"></el-input> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.manHour" |
| | | clearable |
| | | placeholder="å·¥æ¶ç³»æ°" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" width="70" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="danger" icon="el-icon-minus" circle |
| | | @click="sectionList.splice(scope.$index, 1)"></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="danger" |
| | | icon="el-icon-minus" |
| | | circle |
| | | @click="sectionList.splice(scope.$index, 1)" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="sectionUpDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad">ä¿ å</el-button> |
| | | <el-button type="primary" @click=" |
| | | sectionList.push({ |
| | | thing: '', |
| | | price: sectionRow.price, |
| | | manHour: sectionRow.manHour, |
| | | }) |
| | | " icon="el-icon-plus"></el-button> |
| | | <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad" |
| | | >ä¿ å</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click=" |
| | | sectionList.push({ |
| | | thing: '', |
| | | price: sectionRow.price, |
| | | manHour: sectionRow.manHour, |
| | | }) |
| | | " |
| | | icon="el-icon-plus" |
| | | ></el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æ°æ®å¯¼å
¥" :visible.sync="uploadDia" width="500px"> |
| | | <div style="margin: 0 auto"> |
| | | <el-upload ref="upload" drag :action="javaApi + '/standardTree/inExcelOfTree' + '/' + 'false' |
| | | " :headers="uploadHeader" :file-list="fileList" name="file" :auto-upload="false" accept=".xlsx" :limit="1" |
| | | :on-change="beforeUpload" :on-success="onSuccess" :on-error="onError"> |
| | | <el-upload |
| | | ref="upload" |
| | | drag |
| | | :action="javaApi + '/standardTree/inExcelOfTree' + '/' + 'false'" |
| | | :headers="uploadHeader" |
| | | :file-list="fileList" |
| | | name="file" |
| | | :auto-upload="false" |
| | | accept=".xlsx" |
| | | :limit="1" |
| | | :on-change="beforeUpload" |
| | | :on-success="onSuccess" |
| | | :on-error="onError" |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text">å°æä»¶æå°æ¤å¤ï¼æ<em>ç¹å»ä¸ä¼ </em></div> |
| | | </el-upload> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="uploadDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitUpload()" :loading="uploading">ä¸ ä¼ </el-button> |
| | | <el-button type="primary" @click="submitUpload()" :loading="uploading" |
| | | >ä¸ ä¼ </el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | resetTreeOfPrice, |
| | | resetTreeOfHour, |
| | | selectsStandardMethodByFLSSM, |
| | | } from '@/api/standard/standardLibrary.js' |
| | | } from "@/api/standard/standardLibrary.js"; |
| | | |
| | | export default { |
| | | dicts: ['sys_sub_lab'], |
| | | dicts: ["sys_sub_lab"], |
| | | data() { |
| | | return { |
| | | importSectionsConfigDia: false, |
| | |
| | | this.selectStandardMethods(); |
| | | }, |
| | | methods: { |
| | | confirmImportConfig() { }, |
| | | confirmImportConfig() {}, |
| | | openImportSectionsConfig() { |
| | | // this.importSectionsConfigDia = true |
| | | this.$confirm("确认导å
¥å¤å¶çåºé´é
ç½®?", "æç¤º", { |
| | |
| | | this.$message.success("导å
¥æå"); |
| | | } |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | //å¤å¶åºé´é
ç½® |
| | | copySectionConfig() { |
| | |
| | | this.productList = []; |
| | | }); |
| | | }) |
| | | .catch((e) => { }); |
| | | .catch((e) => {}); |
| | | }, |
| | | deleteStandard(arr, label) { |
| | | arr.forEach((item, index) => { |
| | |
| | | return; |
| | | } |
| | | this.addLoad = true; |
| | | addStandardTree(this.addOb).then((res) => { |
| | | if (res.code === 201) { |
| | | addStandardTree(this.addOb) |
| | | .then((res) => { |
| | | if (res.code === 201) { |
| | | this.addLoad = false; |
| | | return; |
| | | } |
| | | this.$message.success("æ·»å æå"); |
| | | this.addDia = false; |
| | | this.list |
| | | .find((a) => a.label == this.addOb.factory) |
| | | .children.find((a) => a.label == this.addOb.laboratory) |
| | | .children.find((a) => a.label == this.addOb.sampleType) |
| | | .children.find((a) => a.label == this.addOb.sample) |
| | | .children.push({ |
| | | code: "[5]", |
| | | label: this.addOb.model, |
| | | value: this.addOb.model, |
| | | }); |
| | | this.addLoad = false; |
| | | return; |
| | | } |
| | | this.$message.success("æ·»å æå"); |
| | | this.addDia = false; |
| | | this.list |
| | | .find((a) => a.label == this.addOb.factory) |
| | | .children.find((a) => a.label == this.addOb.laboratory) |
| | | .children.find((a) => a.label == this.addOb.sampleType) |
| | | .children.find((a) => a.label == this.addOb.sample) |
| | | .children.push({ |
| | | code: "[5]", |
| | | label: this.addOb.model, |
| | | value: this.addOb.model, |
| | | }); |
| | | this.addLoad = false; |
| | | this.$tab.refreshPage(); |
| | | |
| | | }) |
| | | this.$tab.refreshPage(); |
| | | }) |
| | | .catch((e) => { |
| | | this.addDia = false; |
| | | this.addLoad = false; |
| | |
| | | this.tableLoad = true; |
| | | selectsStandardMethodByFLSSM({ |
| | | tree: this.selectTree, |
| | | }) |
| | | .then((res) => { |
| | | this.tableLoad = false; |
| | | this.standardList = res.data.standardMethodList; |
| | | if (this.standardList && this.standardList.length > 0) { |
| | | this.$refs.standard.setCurrentRow(this.standardList[0]); |
| | | this.rowClick(this.standardList[0]); |
| | | } else { |
| | | this.productList = []; |
| | | } |
| | | }); |
| | | }).then((res) => { |
| | | this.tableLoad = false; |
| | | this.standardList = res.data.standardMethodList; |
| | | if (this.standardList && this.standardList.length > 0) { |
| | | this.$refs.standard.setCurrentRow(this.standardList[0]); |
| | | this.rowClick(this.standardList[0]); |
| | | } else { |
| | | this.productList = []; |
| | | } |
| | | }); |
| | | }, |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem("power")); |
| | |
| | | id: index, |
| | | tell: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | this.$message.success("å·²ä¿å"); |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | this.$message.success("å·²ä¿å"); |
| | | }); |
| | | }, |
| | | upStandardProductListOfMethodS(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | methodS: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }, |
| | | upStandardProductListOfPrice(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | price: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }, |
| | | upStandardProductListOfManHour(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | manHour: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }, |
| | | upStandardProductListOfTemplate(value, index) { |
| | | upStandardProductList({ |
| | |
| | | id: index, |
| | | templateId: value, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | // this.$message.success('å·²ä¿å') |
| | | }); |
| | | }, |
| | | delStandardMethodByFLSSM(id) { |
| | | this.$confirm("æ¯å¦å é¤å½åæ°æ®?", "è¦å", { |
| | |
| | | }) |
| | | .then(() => { |
| | | this.tableLoad = true; |
| | | delStandardMethodByFLSSM({ id: id, }).then((res) => { |
| | | delStandardMethodByFLSSM({ id: id }).then((res) => { |
| | | if (res.code == 201) { |
| | | return; |
| | | } |
| | |
| | | this.selectsStandardMethodByFLSSM(); |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.selects = []; |
| | |
| | | this.selectsStandardMethodByFLSSM(); |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | // addStandardProductDo() { |
| | | // let selects = this.$refs.ValueTable.multipleSelection; |
| | |
| | | price: this.sectionRow.price, |
| | | manHour: this.sectionRow.manHour, |
| | | }), |
| | | }) |
| | | .then((res) => { |
| | | this.sectionLoad = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | this.$message.success("å·²ä¿å"); |
| | | this.sectionUpDia = false; |
| | | }); |
| | | }).then((res) => { |
| | | this.sectionLoad = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | | return; |
| | | } |
| | | this.$message.success("å·²ä¿å"); |
| | | this.sectionUpDia = false; |
| | | }); |
| | | } else { |
| | | upStandardProducts({ |
| | | ids: JSON.stringify(this.moreSelects.map((a) => a.id)), |
| | |
| | | upStandardProducts({ |
| | | ids: JSON.stringify(this.moreSelects.map((a) => a.id)), |
| | | standardProductList: this.moreInfo, |
| | | },).then((res) => { |
| | | }).then((res) => { |
| | | this.moreEditLoad = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("æªä¿å"); |
| | |
| | | laboratory: this.sonLaboratory, |
| | | items: this.inspectionItemSubclass, |
| | | item: this.inspectionItem, |
| | | }) |
| | | .then((res) => { |
| | | this.productList0 = res.data.records; |
| | | this.total0 = res.data.total; |
| | | this.productTableLoading0 = false; |
| | | this.page = res.data.pages; |
| | | this.$nextTick(() => { |
| | | this.productList0.forEach((a, i) => { |
| | | if (this.moreSelects.find((b) => a.id == b.id)) { |
| | | this.$refs.productTable0.toggleRowSelection( |
| | | this.productList0[i], |
| | | true |
| | | ); |
| | | } |
| | | }); |
| | | }).then((res) => { |
| | | this.productList0 = res.data.records; |
| | | this.total0 = res.data.total; |
| | | this.productTableLoading0 = false; |
| | | this.page = res.data.pages; |
| | | this.$nextTick(() => { |
| | | this.productList0.forEach((a, i) => { |
| | | if (this.moreSelects.find((b) => a.id == b.id)) { |
| | | this.$refs.productTable0.toggleRowSelection( |
| | | this.productList0[i], |
| | | true |
| | | ); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | }, |
| | | handleCurrentChange0(e) { |
| | | this.currentPage0 = e; |
| | |
| | | id: this.standardId, |
| | | tree: this.selectTree, |
| | | item: this.inspectionItem, |
| | | }) |
| | | .then((res) => { |
| | | this.filters0 = []; |
| | | this.filters1 = []; |
| | | res.data.item.forEach((a) => { |
| | | this.filters0.push({ |
| | | text: a.inspectionItem, |
| | | value: a.inspectionItem, |
| | | }); |
| | | }); |
| | | res.data.items.forEach((a) => { |
| | | if (a != null) { |
| | | this.filters1.push({ |
| | | text: a.inspectionItemSubclass, |
| | | value: a.inspectionItemSubclass, |
| | | }); |
| | | } |
| | | }).then((res) => { |
| | | this.filters0 = []; |
| | | this.filters1 = []; |
| | | res.data.item.forEach((a) => { |
| | | this.filters0.push({ |
| | | text: a.inspectionItem, |
| | | value: a.inspectionItem, |
| | | }); |
| | | }); |
| | | res.data.items.forEach((a) => { |
| | | if (a != null) { |
| | | this.filters1.push({ |
| | | text: a.inspectionItemSubclass, |
| | | value: a.inspectionItemSubclass, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | beforeUpload(file, fileList) { |
| | | if ( |
| | |
| | | resetTreeOfHour({ |
| | | tree: this.selectTree, |
| | | standardId: this.standardId, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 201) { |
| | | return; |
| | | } |
| | | this.$message.success("å·²æ¸
空"); |
| | | this.currentPage0 = 1; |
| | | this.getList(); |
| | | this.rowClick({ |
| | | id: this.standardId, |
| | | }); |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | return; |
| | | } |
| | | this.$message.success("å·²æ¸
空"); |
| | | this.currentPage0 = 1; |
| | | this.getList(); |
| | | this.rowClick({ |
| | | id: this.standardId, |
| | | }); |
| | | }); |
| | | } |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |