| | |
| | | >>>input[type=number] { |
| | | -moz-appearance: textfield !important; /* 针对 Firefox */ |
| | | } |
| | | >>>.el-form-item__content{ |
| | | display: inline-flex; |
| | | align-items: center; |
| | | } |
| | | </style> |
| | | <style> |
| | | .inspection .el-form-item__label { |
| | |
| | | <div v-loading="loading" class="inspection"> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;text-align: left;">检验单详情 |
| | | <span style="color: #3A7BFA;"> 样品</span> |
| | | <!-- <span style="color: #3A7BFA;"> 样品</span> |
| | | <span v-if="currentFiberOpticTape" style="color: #3A7BFA;"> - 光纤带</span> |
| | | <span v-if="currentFiberOptic" style="color: #3A7BFA;"> - 光纤</span> |
| | | <span v-if="currentFiberOptic" style="color: #3A7BFA;"> - 光纤</span> --> |
| | | </el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">光纤切换</el-button> |
| | | <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">光纤切换</el-button> |
| | | <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">光纤带切换</el-button> |
| | | <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">套管切换</el-button> |
| | | <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">套管切换</el-button> --> |
| | | <el-button size="small" type="primary" @click="sampleVisible=true">样品切换</el-button> |
| | | <el-button size="small" type="primary" @click="taskVisible=true">任务切换</el-button> |
| | | <el-button size="small" type="primary" @click="addVerifyDia = true" v-show="state==1" |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="center"> |
| | | <div class="search" style="text-align: left;"> |
| | | <el-radio-group v-model="currentTable" size="small"> |
| | | <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index" |
| | | size="small">{{ item.templateName }}</el-radio-button> |
| | | </el-radio-group> |
| | | <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;overflow-x: auto;"> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="tableList.length>0">检验模板:</span> |
| | | <el-radio-group v-model="currentTable" size="small"> |
| | | <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index" |
| | | size="small">{{ item.templateName }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="fibers.length>0"> 光纤带:</span> |
| | | <el-radio-group v-model="currentTab" size="small" v-if="fibers.length>0" @input="m=>handleChange(m,1)"> |
| | | <el-radio-button :label="item.id" v-for="(item,index) in fibers" :key="index" |
| | | size="small">{{ item.code }}</el-radio-button> |
| | | </el-radio-group> |
| | | <span v-if="fiber.length>0"> 光纤:</span> |
| | | <el-radio-group v-model="currentTab" size="small" v-if="fiber.length>0" @input="m=>handleChange(m,2)"> |
| | | <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index" |
| | | size="small">{{ item.color }}</el-radio-button> |
| | | </el-radio-group> |
| | | <el-form :inline="true" :model="otherForm" 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 clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'temperature')"></el-input> |
| | | <span style="margin-left: 4px;">℃</span> |
| | | </el-form-item> |
| | | <el-form-item label="湿度:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'humidity')"></el-input> |
| | | <span style="margin-left: 4px;">%</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div class="center-box" id="nav" v-loading="tableLoading"> |
| | | <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'"> |
| | | <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"> |
| | | <tbody> |
| | | <tr v-for="(m,i) in item.arr" :key="i"> |
| | |
| | | :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`"> |
| | | <template v-if="n.v.ps!=undefined && n.v.ps.value==='检验值' && state==1"> |
| | | <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | @input="handleInput(n)" @blur="bigNum(n)" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> |
| | | <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" |
| | | v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> |
| | | </el-input> |
| | |
| | | v-else-if="getInspectionValueType(n.i) == 4">/</span> |
| | | </template> |
| | | <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" |
| | | <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()"> |
| | | <el-option label="合格" :value="1"></el-option> |
| | | <el-option label="不合格" :value="0"></el-option> |
| | | </el-select> --> |
| | | <template> |
| | | </el-select> |
| | | <template v-if="PROJECT=='检测中心'||PROJECT=='装备电缆'&&getInspectionValueType(n.i) != 2 "> |
| | | <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span> |
| | | <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span> |
| | |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <div class="center-box" v-loading="tableLoading" v-else> |
| | | <el-divider></el-divider> |
| | | <h4 style="margin-bottom: 20px;">温度循环检验原始记录</h4> |
| | | <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | | <el-form-item label="型号:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm0.model" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="试验方法:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm0.methodName" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="检测依据:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm0.sample" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="循环次数:" style="margin-bottom: 0;"> |
| | | <el-select v-model="wareForm.inspectionItem" placeholder="请选择" size="small" @change="m=>wareFormChange(m,'inspectionItem')"> |
| | | <el-option |
| | | v-for="item in numOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="温度:" style="margin-bottom: 0;"> |
| | | <el-select v-model="wareForm.inspectionItemSubclass" placeholder="请选择" size="small" @change="m=>wareFormChange(m,'inspectionItemSubclass')"> |
| | | <el-option |
| | | v-for="item in temperatureOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <span style="margin-left: 4px;">℃</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | | <el-form-item label="仪器名称:"> |
| | | <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="equipForm.code0" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称:" style="margin-left: 80px;"> |
| | | <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="equipForm.code1" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | :data="wareTableData" |
| | | ref="wareTableData" |
| | | border |
| | | v-loading="wareTableDataLoading" |
| | | style="width: 100%;margin-bottom: 30px;" align="center"> |
| | | <el-table-column |
| | | label="序号" |
| | | type="index" |
| | | width="65" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bushColor" |
| | | label="管色标" |
| | | width="120" |
| | | align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="code" |
| | | label="光纤带编号" |
| | | width="150" |
| | | align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="color" |
| | | label="光纤色标" |
| | | align="center" |
| | | width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemClass" |
| | | label="光纤项目" |
| | | align="center" |
| | | width="130"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="value0" |
| | | label="外端" |
| | | align="center" |
| | | width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="value1" |
| | | label="内端" |
| | | align="center" |
| | | width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="comValue" |
| | | align="center" |
| | | label="平均值" |
| | | min-width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="resValue" |
| | | label="衰减差" |
| | | align="center" |
| | | v-if="wareForm.inspectionItemSubclass!=20" |
| | | min-width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="insResult" |
| | | label="结论" |
| | | align="center" |
| | | min-width="150" v-if="wareForm.inspectionItemSubclass!=20"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.insResult===1" style="color: green;">合格</span> |
| | | <span v-else-if="scope.row.insResult===0" style="color: red;">不合格</span> |
| | | <span v-else>待定</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-upload :action="action" |
| | | :data="{ |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | wareTableDataLoading:false, |
| | | fileAdd:false, |
| | | sampleVisible: false, |
| | | taskVisible: false, |
| | |
| | | currentFiberOptic:null,//当前光纤 |
| | | currentBushing:null,//当前套管 |
| | | tableLoading:false, |
| | | upLoading:false |
| | | upLoading:false, |
| | | temptList:null, |
| | | fiber:[], |
| | | fibers:[], |
| | | currentTab:null, |
| | | wareForm:{ |
| | | inspectionItem:1, |
| | | inspectionItemSubclass:20, |
| | | }, |
| | | wareForm0:{}, |
| | | numOptions:[], |
| | | temperatureOptions:[], |
| | | wareTableData:[ |
| | | {} |
| | | ], |
| | | otherForm:{ |
| | | humidity:null, |
| | | temperature:null, |
| | | }, |
| | | equipForm:{ |
| | | value0:null, |
| | | code0:null, |
| | | value1:null, |
| | | code1:null, |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | this.sampleProduct = res.data.sampleProduct |
| | | this.currentSample = this.HaveJson(this.sampleProduct[0]) |
| | | let insProduct = this.HaveJson(this.currentSample.insProduct) |
| | | if(insProduct&&insProduct.length>0){ |
| | | let {temperature,humidity} = insProduct[0]; |
| | | this.otherForm = { |
| | | temperature:temperature?temperature:null, |
| | | humidity:humidity?humidity:null, |
| | | } |
| | | } |
| | | let list = await this.getCurrentProduct(this.currentSample.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | // console.log(this.currentSample) |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getReportModel(this.currentSample.id) |
| | | if (this.currentSample.index == undefined) this.currentSample['index'] = 1 |
| | | let bushing = this.currentSample.bushing |
| | | // this.handleTableData() |
| | | this.getTableLists(); |
| | | this.componentData.currentId = val; |
| | | this.currentKey = 1; |
| | |
| | | this.currentFiberOptic = null; |
| | | this.bushing = [] |
| | | this.currentBushing = null; |
| | | this.currentTab = null; |
| | | if(bushing&&bushing.length>0){ |
| | | this.bushing = bushing |
| | | } |
| | |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | equipForm:{ |
| | | deep:true, |
| | | handler(val){ |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'&&this.equipOptions&&this.equipOptions.length>0){ |
| | | this.param[this.currentSample.insProduct[0].id].equipValue = [] |
| | | this.param[this.currentSample.insProduct[0].id].equipName = [] |
| | | if(this.equipForm.code0){ |
| | | this.equipForm.value0 = this.equipOptions.find(m=>m.value==this.equipForm.code0).label |
| | | this.param[this.currentSample.insProduct[0].id].equipValue.push({ |
| | | i:this.currentSample.insProduct[0].id, |
| | | v:{ |
| | | v:this.equipForm.code0 |
| | | } |
| | | }) |
| | | this.param[this.currentSample.insProduct[0].id].equipName.push({ |
| | | i:this.currentSample.insProduct[0].id, |
| | | v:{ |
| | | v:this.equipForm.value0 |
| | | } |
| | | }) |
| | | } |
| | | if(this.equipForm.code1){ |
| | | this.equipForm.value1 = this.equipOptions.find(m=>m.value==this.equipForm.code1).label |
| | | this.param[this.currentSample.insProduct[0].id].equipValue.push({ |
| | | i:this.currentSample.insProduct[0].id, |
| | | v:{ |
| | | v:this.equipForm.code1 |
| | | } |
| | | }) |
| | | this.param[this.currentSample.insProduct[0].id].equipName.push({ |
| | | i:this.currentSample.insProduct[0].id, |
| | | v:{ |
| | | v:this.equipForm.value1 |
| | | } |
| | | }) |
| | | } |
| | | this.saveInsContext() |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | changeItem(row){ |
| | | if(row.value0&&row.value1){ |
| | | this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(5)) |
| | | }else{ |
| | | return |
| | | } |
| | | this.param[row.id].insValue = [ |
| | | { |
| | | i:row.id, |
| | | v:{ |
| | | v:row.value0 |
| | | } |
| | | }, |
| | | { |
| | | i:row.id, |
| | | v:{ |
| | | v:row.value1 |
| | | } |
| | | } |
| | | ] |
| | | this.param[row.id].comValue = [{ |
| | | i:row.id, |
| | | v:{ |
| | | v:row.comValue |
| | | } |
| | | }] |
| | | if(this.wareForm.inspectionItemSubclass!=20){ |
| | | row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(5):'' |
| | | this.param[row.id].resValue.v.v = row.resValue |
| | | if(row.ask&&row.resValue){ |
| | | if(row.ask.includes('<')){ |
| | | row.insResult = row.resValue<row.ask.split('<')[1]?1:0 |
| | | }else if(row.ask.includes('>')){ |
| | | row.insResult = row.resValue<row.ask.split('>')[1]?1:0 |
| | | }else if(row.ask.includes('=')){ |
| | | row.insResult = row.resValue==row.ask.split('=')[1]?1:0 |
| | | }else if(row.ask.includes('≥')){ |
| | | row.insResult = row.resValue>=row.ask.split('≥')[1]?1:0 |
| | | }else if(row.ask.includes('≤')){ |
| | | row.insResult = row.resValue<=row.ask.split('≤')[1]?1:0 |
| | | } |
| | | this.param[row.id].insResult.v.v = row.insResult |
| | | } |
| | | }else{ |
| | | this.param[row.id].insResult.v.v = 1 |
| | | } |
| | | this.$refs.wareTableData.doLayout() |
| | | this.saveInsContext() |
| | | }, |
| | | wareFormChange(m,type){ |
| | | if(this.PROJECT!='检测中心'){ |
| | | return |
| | | } |
| | | if(m&&type){ |
| | | this.wareForm[type] = Number(m) |
| | | } |
| | | let wareForm = {...this.wareForm} |
| | | wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'℃' |
| | | this.wareTableDataLoading = true |
| | | this.$axios.post(this.$api.insOrderPlan.temCycle,{ |
| | | sampleId:this.currentSample.id, |
| | | ...wareForm |
| | | }).then(res => { |
| | | this.wareTableDataLoading = false |
| | | if (res.code == 201) return |
| | | let {productVos,sampleVo} = res.data |
| | | this.wareForm0 = sampleVo |
| | | productVos = productVos.map(m=>{ |
| | | let obj = {...m,...m.insProduct} |
| | | this.param[obj.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: { |
| | | i:obj.id, |
| | | v:{ |
| | | v:null |
| | | } |
| | | }, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: { |
| | | i:obj.id, |
| | | v:{ |
| | | v:null |
| | | } |
| | | } |
| | | } |
| | | let insProductResult = obj.insProductResult |
| | | if(insProductResult){ |
| | | for(let i in insProductResult){ |
| | | switch (i) { |
| | | case 'insValue': |
| | | let insValue = JSON.parse(insProductResult[i]) |
| | | if(insValue&&insValue.length>1){ |
| | | this.param[obj.id].insValue = [ |
| | | { |
| | | i:obj.id, |
| | | v:{ |
| | | v:insValue[0].v |
| | | } |
| | | }, |
| | | { |
| | | i:obj.id, |
| | | v:{ |
| | | v:insValue[1].v |
| | | } |
| | | } |
| | | ] |
| | | obj.value0 = insValue[0].v |
| | | obj.value1 = insValue[1].v |
| | | } |
| | | break; |
| | | case 'comValue': |
| | | let comValue = JSON.parse(insProductResult[i]) |
| | | if(comValue&&comValue.length>0){ |
| | | this.param[obj.id].comValue = [ |
| | | { |
| | | i:obj.id, |
| | | v:{ |
| | | v:comValue[0].v |
| | | } |
| | | } |
| | | ] |
| | | obj.comValue = comValue[0].v |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | this.param[obj.id].resValue = { |
| | | i:obj.id, |
| | | v:{ |
| | | v:obj.lastValue |
| | | } |
| | | } |
| | | obj.resValue = obj.lastValue |
| | | this.param[obj.id].insResult = { |
| | | i:obj.id, |
| | | v:{ |
| | | v:obj.insResult |
| | | } |
| | | } |
| | | } |
| | | return obj |
| | | }) |
| | | this.wareTableData = productVos |
| | | }) |
| | | this.getEquipOptions(true,this.currentSample.insProduct[0].id) |
| | | }, |
| | | subOtherForm(m,type){ |
| | | let ids = [] |
| | | for (let i in this.param) { |
| | | ids.push(i) |
| | | } |
| | | this.$axios.post(this.$api.insOrderPlan.write,{ |
| | | [type]:Number(m), |
| | | ids |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs:true |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('保存成功') |
| | | }) |
| | | }, |
| | | getPower(){ |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let fileDel = false |
| | |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getReportModel(row.id) |
| | | let bushing = this.currentSample.bushing |
| | | if(bushing&&bushing.length>0){ |
| | | this.bushing = bushing |
| | | this.bushing.forEach(a => {}) |
| | | } |
| | | // this.handleTableData() |
| | | this.getTableLists(); |
| | | this.currentKey = row.index |
| | | this.currentTab = null; |
| | | }, |
| | | getReportModel(id){ |
| | | if(this.PROJECT!='检测中心'){ |
| | | return |
| | | } |
| | | this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => { |
| | | this.fibers = res.data['光纤带'] |
| | | this.fiber = res.data['光纤'] |
| | | }) |
| | | }, |
| | | async handleChange(m,type){ |
| | | if(m){ |
| | | let list = await this.getCurrentProduct(m,type) |
| | | if(list.length>0){ |
| | | list.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getTableLists0(list) |
| | | }else{ |
| | | this.tableLists = [] |
| | | this.tableList = [] |
| | | this.$message.error('检验项为空') |
| | | } |
| | | } |
| | | }, |
| | | handleChangeTask(row) { |
| | | if (row.length > 0) this.id = row[0].id; |
| | |
| | | handleTableData() { |
| | | this.excelMethodList = [] |
| | | this.widthList = this.tableList[0].style.columnlen; |
| | | // 温度循环检验原始记录--开始 |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='温度循环检验原始记录'){ |
| | | let ask = this.currentSample.insProduct[0].ask |
| | | let askList = ask.split(';') |
| | | this.numOptions = [] |
| | | for (let i = 1; i <= askList[askList.length-1]; i++) { |
| | | this.numOptions.push({ |
| | | value:i, |
| | | label:i |
| | | }) |
| | | } |
| | | let mySet1 = new Set(); |
| | | askList.forEach((m,i) => { |
| | | if(i<askList.length-1){ |
| | | mySet1.add(m.split(',')[0].replace('℃','')) |
| | | } |
| | | }) |
| | | this.temperatureOptions = [] |
| | | mySet1.forEach(m => { |
| | | this.temperatureOptions.push({ |
| | | value:m, |
| | | label:m |
| | | }) |
| | | }) |
| | | this.wareFormChange() |
| | | } |
| | | // 温度循环检验原始记录---结束 |
| | | this.tableList.forEach(a => { |
| | | let mcList = [] |
| | | a.template.forEach(b => { |
| | |
| | | count++ |
| | | }) |
| | | }) |
| | | // 问题开始 |
| | | this.tableList.forEach(a => { |
| | | let dels = new Set() |
| | | let ids = [] |
| | |
| | | } |
| | | } |
| | | }) |
| | | // return |
| | | ids.forEach(id => { |
| | | for (let b = 0; b < a.template.length; b++) { |
| | | if (a.template[b].r === id.r) { |
| | |
| | | } |
| | | }) |
| | | }) |
| | | // 问题结束 |
| | | this.tableList.forEach(a => { |
| | | let arrs = [] |
| | | let set = new Set() |
| | |
| | | } catch (e) {} |
| | | try { |
| | | let insValue = JSON.parse(a.insProductResult.insValue) |
| | | for (var i = 0; i < insValue.length; i++) { |
| | | for (let i = 0; i < insValue.length; i++) { |
| | | this.param[a.id].insValue[i].v.v = insValue[i].v |
| | | this.param[a.id].insValue[i].u = insValue[i].u |
| | | } |
| | | } catch (e) {} |
| | | try { |
| | | let equipValue = JSON.parse(a.insProductResult.equipValue) |
| | | for (var i = 0; i < equipValue.length; i++) { |
| | | this.param[a.id].equipValue[i].v.v = equipValue[i].v |
| | | for (let i = 0; i < equipValue.length; i++) { |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){ |
| | | // 温度循环赋值 |
| | | this.$set(this.equipForm,`code`+i,equipValue[i].v) |
| | | }else{ |
| | | this.param[a.id].equipValue[i].v.v = equipValue[i].v |
| | | } |
| | | } |
| | | } catch (e) {} |
| | | try { |
| | | let equipName = JSON.parse(a.insProductResult.equipName) |
| | | for (var i = 0; i < equipName.length; i++) { |
| | | this.param[a.id].equipName[i].v.v = equipName[i].v |
| | | for (let i = 0; i < equipName.length; i++) { |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){ |
| | | // 温度循环赋值 |
| | | this.$set(this.equipForm,`value`+i,equipName[i].v) |
| | | }else{ |
| | | this.param[a.id].equipName[i].v.v = equipName[i].v |
| | | } |
| | | } |
| | | } catch (e) {} |
| | | try { |
| | |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | } catch (e) {} |
| | | }) |
| | | console.log(this.tableList) |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code) { |
| | |
| | | let id = str[0] |
| | | let pId = str[3] |
| | | var list = [] |
| | | // console.log(id, 'r', r , 'c',c,this.tableList) |
| | | for (let a in this.tableList) { |
| | | if (this.tableList[a].templateId == id) { |
| | | list = this.tableList[a].arr |
| | |
| | | break |
| | | } |
| | | } |
| | | if(this.getInspectionValueType(item.i)==1){ |
| | | if (!isNaN(parseFloat(c.v.v))) { |
| | | comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v) |
| | | } |
| | | if(this.getInspectionValueType(item.i)==1&&!isNaN(parseFloat(c.v.v))){ |
| | | comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v) |
| | | }else{ |
| | | comValue[(tableCode + (c.r + 1))] = c.v.v |
| | | } |
| | |
| | | }) |
| | | }) |
| | | if (item.v.ps != undefined && item.v.ps.value == '结论') { |
| | | if (this.currentSample.insProduct.find(m => m.id == item.i)) { |
| | | try { |
| | | if (this.currentSample.insProduct.find(m => m.id == item.i)) { |
| | | let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask?this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null; |
| | | let res = Object.values(comValue)[0] |
| | | let comp = [] |
| | |
| | | if(ask){ |
| | | comp = ask.map((m, i) => { |
| | | if (m.includes('=')) { |
| | | let str = m.split('=')[1] |
| | | let str = this.handleFraction(m.split('=')[1]) |
| | | if(typeof res == 'string'&&typeof str == 'string'){ |
| | | return res.trim() == str.trim() |
| | | return res.trim() == str.trim() |
| | | }else{ |
| | | return res == str |
| | | return eval(res) == eval(str) |
| | | } |
| | | } else if (m.includes('≥')) { |
| | | return res >= m.split('≥')[1] |
| | | let str = this.handleFraction(m.split('≥')[1]) |
| | | return eval(res) >= eval(str) |
| | | }else if (m.includes('≤')) { |
| | | return res <= m.split('≤')[1] |
| | | let str = this.handleFraction(m.split('≤')[1]) |
| | | return eval(res) <= eval(str) |
| | | }else if (m.includes('<')) { |
| | | return res < m.split('<')[1] |
| | | let str = this.handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | }else if (m.includes('>')) { |
| | | return res > m.split('>')[1] |
| | | let str = this.handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | }else if (m.includes('~')) { |
| | | let k = m.split('~') |
| | | return res >= k[0] && res <= k[1] |
| | | return eval(res) >= eval(this.handleFraction((k[0]))) && eval(res) <= eval(this.handleFraction(k[1])) |
| | | }else if(m.includes('-')){ |
| | | let k = m.split('-') |
| | | return res >= k[0] && res <= k[1] |
| | | return eval(res) >= eval(this.handleFraction(k[0])) && eval(res) <= eval(this.handleFraction(k[1])) |
| | | }else if(m.includes('±')){ |
| | | let k = m.split('±') |
| | | return res >= (k[0] - k[1]) && res <= (k[0] + k[1]) |
| | | return eval(res) >= eval((this.handleFraction(k[0]) - this.handleFraction(k[1]))) && eval(res) <= eval((this.handleFraction(k[0]) + this.handleFraction(k[1]))) |
| | | }else if(m.includes('>')){ |
| | | return res > m.split('>')[1] |
| | | let str = this.handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | }else if(m.includes('<')){ |
| | | return res < m.split('<')[1] |
| | | let str = this.handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | } |
| | | }) |
| | | } |
| | |
| | | } |
| | | this.saveInsContext() |
| | | } |
| | | } catch (error) { |
| | | |
| | | } |
| | | |
| | | } else { |
| | | let comResult = '' |
| | | try { |
| | |
| | | }else{ |
| | | let valueList = []; |
| | | item.valueList.forEach(a => { |
| | | console.log(a) |
| | | valueList.push({ |
| | | name: `${this.comparisonList.find(e=>e.value==a.c).label}${a.r+1}`, |
| | | value: 0, |
| | | }) |
| | | }) |
| | | console.log(comValue) |
| | | for (var a in comValue) { |
| | | valueList.forEach(b => { |
| | | if (b.name == a) { |
| | |
| | | valueList.forEach(b => { |
| | | str = str.replace(b.name, b.value) |
| | | }) |
| | | console.log(str) |
| | | comResult = str |
| | | } |
| | | } catch (error) { |
| | | |
| | | } |
| | | // comResult = excelFunction.compute(item.v.f.replace(/=/g, ' '),comValue); |
| | | // switch (item.methodName) { |
| | | // case 'AVERAGE': |
| | | // let num = 0 |
| | | // for (var a in comValue) { |
| | | // num += comValue[a] |
| | | // } |
| | | // comResult = num / Object.keys(comValue).length |
| | | // break; |
| | | // case 'SUM': |
| | | // let sum = 0 |
| | | // for (var a in comValue) { |
| | | // sum += comValue[a] |
| | | // } |
| | | // comResult = sum |
| | | // break; |
| | | // case 'MEDIAN': |
| | | // let arr = [] |
| | | // for (var a in comValue) { |
| | | // arr.push(comValue[a]) |
| | | // } |
| | | // comResult = this.median(arr) |
| | | // break; |
| | | // case 'APS': |
| | | // let arr0 = [] |
| | | // for (var a in comValue) { |
| | | // arr0.push(comValue[a]) |
| | | // } |
| | | // comResult = Math.abs(arr0[0]) |
| | | // break; |
| | | // // case 'MAX': |
| | | // // let arr1 = [] |
| | | // // for (var a in comValue) { |
| | | // // arr1.push(eval(comValue[a])) |
| | | // // } |
| | | // // comResult = Math.max(...arr1) |
| | | // // break; |
| | | // // case 'MIN': |
| | | // // let arr2 = [] |
| | | // // for (var a in comValue) { |
| | | // // arr2.push(eval(comValue[a])) |
| | | // // } |
| | | // // comResult = Math.median(...arr2) |
| | | // // break; |
| | | // default: |
| | | // let valueList = []; |
| | | // item.valueList.forEach(a => { |
| | | // valueList.push({ |
| | | // name: `${this.comparisonList.find(e=>e.value==a.c).label}${a.r+1}`, |
| | | // value: 0, |
| | | // }) |
| | | // }) |
| | | // for (var a in comValue) { |
| | | // valueList.forEach(b => { |
| | | // if (b.name == a) { |
| | | // b.value = comValue[a] |
| | | // } |
| | | // }) |
| | | // } |
| | | // let str = item.v.f.replace(/=/g, ' '); |
| | | // valueList.forEach(b => { |
| | | // str = str.replace(b.name, b.value) |
| | | // }) |
| | | // str = str.replaceAll('MAX', 'Math.max') |
| | | // str = str.replaceAll('MIN', 'Math.min') |
| | | // str = str.replaceAll(',', ',') |
| | | // try { |
| | | // if(this.getInspectionValueType(item.i)==1){ |
| | | // comResult = eval(str) |
| | | // }else{ |
| | | // comResult = str |
| | | // } |
| | | // } catch (error) { |
| | | |
| | | // } |
| | | // break; |
| | | // } |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r && comResult !== '') { |
| | | for (var b in a) { |
| | | if (a[b].c == item.c) { |
| | | try{ |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | }catch(e){ |
| | | a[b].v.v = comResult |
| | | try { |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r && comResult !== '') { |
| | | for (var b in a) { |
| | | if (a[b].c == item.c) { |
| | | try{ |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | }catch(e){ |
| | | a[b].v.v = comResult |
| | | } |
| | | break |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //改变最终值 |
| | | }) |
| | | this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //改变最终值 |
| | | } catch (error) { |
| | | |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.getCurrentInsProduct(pId) |
| | | try { |
| | | this.getCurrentInsProduct(pId) |
| | | } catch (error) { |
| | | |
| | | } |
| | | }, |
| | | handleFraction(str){ |
| | | if(str&&typeof(str)=='string'&&str.includes('/')){ |
| | | return eval(str.split('/')[0]/str.split('/')[1]) |
| | | }else{ |
| | | return str |
| | | } |
| | | }, |
| | | getCurrentInsProduct(pId) { |
| | | if (!this.tableList[0].insProductResult) { |
| | |
| | | } |
| | | return sum |
| | | }, |
| | | handleInput (n) { |
| | | n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ''); |
| | | }, |
| | | bigNum (n) { |
| | | if (n.v.v > 10000 && this.PROJECT === '装备电缆') { |
| | | let num2 = new this.$Big(n.v.v) |
| | | n.v.v = num2.toExponential() |
| | | } |
| | | }, |
| | | getInspectionItemType(id) { |
| | | for (var a in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[a].id == id) { |
| | |
| | | } |
| | | }) |
| | | } catch (e) { |
| | | console.log(e); |
| | | // console.log(e); |
| | | this.$message.error('找不到设备内容') |
| | | } |
| | | console.log(n, code); |
| | | // console.log(n, code); |
| | | fetch('http://localhost:82/微信图片_20240518100811.png').then(res=>res.blob()).then(blob=>{ |
| | | console.log(blob); |
| | | // console.log(blob); |
| | | const url = URL.createObjectURL(blob) |
| | | console.log(url); |
| | | // console.log(url); |
| | | }) |
| | | /* this.$message.error('采集失败【已开放手动方式】') |
| | | for (var a in this.currentSample.insProduct) { |
| | |
| | | return |
| | | }, |
| | | saveInsContext() { |
| | | this.$axios.post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(this.param) |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('保存失败') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | if(this.param){ |
| | | this.$axios.post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(this.param) |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('保存失败') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | } |
| | | }, |
| | | changeEquip(val, n) { |
| | | for (let i in this.equipOptions) { |