¶Ô±ÈÐÂÎļþ |
| | |
| | | <style scoped> |
| | | .inspection { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .inspection::-webkit-scrollbar { |
| | | width: 0; |
| | | } |
| | | |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | |
| | | .search { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .search .form-inline { |
| | | padding-top: 20px; |
| | | padding-left: 50px; |
| | | } |
| | | |
| | | .center { |
| | | width: calc(100% - 40px); |
| | | /* max-height: 580px; */ |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | padding: 20px; |
| | | overflow: auto; |
| | | } |
| | | |
| | | .center-box { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | flex-wrap: wrap; |
| | | width: 100%; |
| | | overflow-x: hidden; |
| | | /* overflow-x: scroll; */ |
| | | cursor: grab; |
| | | } |
| | | |
| | | .center-box:active{ |
| | | cursor: grabbing; |
| | | } |
| | | |
| | | .tables { |
| | | table-layout: fixed; |
| | | margin: 5px 5px 16px; |
| | | } |
| | | |
| | | .tables td { |
| | | height: 40px; |
| | | width: 100px; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | } |
| | | |
| | | .content { |
| | | display: flex; |
| | | height: 100%; |
| | | align-items: center; |
| | | justify-content: left; |
| | | padding: 5px; |
| | | box-sizing: border-box; |
| | | overflow: hidden; |
| | | user-select: none; |
| | | } |
| | | |
| | | .content *{ |
| | | user-select: none; |
| | | } |
| | | |
| | | .content-h-0 { |
| | | justify-content: center; |
| | | } |
| | | |
| | | .content-h-1 { |
| | | justify-content: start; |
| | | } |
| | | |
| | | .content-h-2 { |
| | | justify-content: end; |
| | | } |
| | | |
| | | .content-v-0 { |
| | | align-items: center; |
| | | } |
| | | |
| | | .content-v-1 { |
| | | align-items: start; |
| | | } |
| | | |
| | | .content-v-2 { |
| | | align-items: end; |
| | | } |
| | | |
| | | .table_input { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .collection { |
| | | width: 50px; |
| | | height: 100%; |
| | | margin-left: 5px; |
| | | border-color: transparent; |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | border-radius: 4px; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .collection:active { |
| | | opacity: .7; |
| | | } |
| | | .table_caret{ |
| | | font-size: 16px; |
| | | margin: 0 5px; |
| | | color: rgba(0, 0, 0, 0.1); |
| | | } |
| | | .table_caret:hover{ |
| | | color: #409eff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .table_caret:active{ |
| | | opacity: .8; |
| | | } |
| | | >>>input::-webkit-inner-spin-button { |
| | | -webkit-appearance: none !important; /* éèå¾®è°æé® */ |
| | | margin: 0 !important; /* ç§»é¤å¾®è°æé®çè¾¹è· */ |
| | | } |
| | | |
| | | >>>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 { |
| | | color: #000; |
| | | } |
| | | |
| | | .inspection .el-drawer__header::before { |
| | | content: ""; |
| | | display: inline-block; |
| | | width: 4px; |
| | | height: 30.24px; |
| | | background: #3A7BFA; |
| | | border-radius: 10px; |
| | | margin-left: 32px; |
| | | margin-right: 8.5px; |
| | | } |
| | | |
| | | .inspection .el-drawer__header { |
| | | color: #303133; |
| | | } |
| | | |
| | | .inspection .el-input-group__append { |
| | | padding: 0 14px; |
| | | color: #3A7BFA; |
| | | background-color: #fff; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .inspection .center-box .el-input__inner { |
| | | font-size: 12px; |
| | | padding: 0 6px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .inspection .el-textarea__inner { |
| | | padding: 2px; |
| | | } |
| | | |
| | | .inspection .el-textarea__inner::-webkit-scrollbar { |
| | | width: 0; |
| | | } |
| | | |
| | | .inspection .el-select { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .inspection .el-textarea__inner { |
| | | min-height: 100% !important; |
| | | } |
| | | |
| | | .inspection .tables .el-input{ |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | </style> |
| | | <template> |
| | | <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 v-if="currentFiberOpticTape" 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="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="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" |
| | | :loading="submitLoading">æäº¤</el-button> |
| | | <!-- 夿 ¸ --> |
| | | <el-button size="medium" type="primary" @click="upInsReview(1)" :loading="reviewLoading" |
| | | v-show="state>1">éè¿</el-button> |
| | | <el-button size="medium" @click="upInsReview(0)" v-show="state>1">ä¸éè¿</el-button> |
| | | <el-button size="small" @click="$emit('goback')">è¿å</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="search"> |
| | | <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px"> |
| | | <el-form-item label="å§æç¼å·:"> |
| | | <el-input clearable v-model="insOrder.entrustCode" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ ·åç¼å·:"> |
| | | <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ ·ååç§°:"> |
| | | <el-input clearable v-model="currentSample.sample" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ ·åæ°é:"> |
| | | <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸åæ¶é´:"> |
| | | <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç´§æ¥ç¨åº¦:"> |
| | | <el-input clearable v-model="insOrder.typeName" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="çº¦å®æ¶é´:"> |
| | | <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="请è¾å
¥"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæ ·å使°:"> |
| | | <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="center"> |
| | | <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" 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"> |
| | | <td :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c' v-for="(n,j) in m" :key="j" |
| | | v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1" |
| | | :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1" |
| | | :style="`background:${n.v.bg?n.v.bg:''};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> |
| | | <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" |
| | | :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 != '')" |
| | | @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> |
| | | <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" |
| | | 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}`)" /> |
| | | <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="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)"> |
| | | <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;`" |
| | | 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&&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 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> |
| | | </template> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='设å¤ç¼ç ' && state==1"> |
| | | <el-select v-model="n.v.v" placeholder="设å¤" @visible-change="e=>getEquipOptions(e,n.i)" remote |
| | | @change="(val)=>changeEquip(val, n)"> |
| | | <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='è¦æ±å¼' && state==1"> |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='æç»å¼' && 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> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='æ ·åç¼å·'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" :title="currentSample.sampleCode"> |
| | | <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i> |
| | | <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div> |
| | | <i class="el-icon-caret-right table_caret" style="width: 16px;" |
| | | v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='æ ·ååå·'"> |
| | | <div :style="`font-family:${n.v.ff} !important;`" v-if="currentSample.model!==undefined&¤tSample.model!==null">{{currentSample.model}}</div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='å¥ç®¡'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;"> |
| | | <!-- <i class="el-icon-caret-left table_caret" @click="caretBushing(-1)"></i> --> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{currentBushing?currentBushing.color:''}}</div> |
| | | <!-- <i class="el-icon-caret-right table_caret" @click="caretBushing(1)"></i> --> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='å
纤带'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;"> |
| | | <i class="el-icon-caret-left table_caret" @click="caretTape(-1) |
| | | " v-if="currentFiberOpticTape"></i> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOpticTape?currentFiberOpticTape.code:''}}</div> |
| | | <i class="el-icon-caret-right table_caret" |
| | | v-if="currentFiberOpticTape" |
| | | @click="caretTape(1)"></i> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='å
纤'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;"> |
| | | <i class="el-icon-caret-left table_caret" @click="caretOptic(-1)" |
| | | v-if="currentFiberOptic"></i> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOptic?currentFiberOptic.color:''}} |
| | | </div> |
| | | <i |
| | | v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i> |
| | | </div> |
| | | </template> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <div class="center-box" v-loading="tableLoading" v-else> |
| | | <el-divider></el-divider> |
| | | <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;">æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½</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="仪å¨åç§°:" > |
| | | <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="{ |
| | | orderId:id |
| | | }" |
| | | v-show="state==1&&fileAdd" |
| | | :on-success="handleSuccessUp" :show-file-list="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" :on-change="beforeUpload" |
| | | style="width: 80px !important;" |
| | | :on-error="onError" ref='upload'> |
| | | <el-button size="small" type="primary">éä»¶ä¸ä¼ </el-button></el-upload> |
| | | <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" |
| | | :componentData="componentData0" |
| | | :delUrl="$api.insOrderPlan.delfile" |
| | | :key="upIndex" style="height: 100%;margin-top: 16px;"/> |
| | | </div> |
| | | <el-drawer title="å
çº¤åæ¢" :visible.sync="fiberOpticVisible" :size="500"> |
| | | <el-table class="el-table" ref="fiberOpticTable" :data="fiberOptic" height="100%" tooltip-effect="dark" border |
| | | highlight-current-row @row-click="handleChangeOptic" :row-class-name="tableRowClassName" |
| | | :current-row-key="currentKey2" :row-key="record=>record.index" v-if="fiberOpticVisible"> |
| | | <el-table-column type="index" align="center" label="åºå·" width="70px" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column prop="bushColor" label="管å¥è²æ " min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="color" label="å
çº¤è²æ " min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="å
çº¤è§æ ¼" min-width="130px" show-overflow-tooltip |
| | | ></el-table-column> |
| | | <el-table-column prop="standard" label="åèæ å" width="100px" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | </el-drawer> |
| | | <el-drawer title="å
çº¤å¸¦åæ¢" :visible.sync="fiberOpticTapeVisible" :size="500"> |
| | | <el-table class="el-table" ref="fiberOpticTapeTable" :data="fiberOpticTape" height="100%" tooltip-effect="dark" border |
| | | highlight-current-row @row-click="handleChangeTape" :row-class-name="tableRowClassName" |
| | | :current-row-key="currentKey1" :row-key="record=>record.index" v-if="fiberOpticTapeVisible"> |
| | | <el-table-column type="index" align="center" label="åºå·" width="70px" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column prop="code" label="å
纤带ç¼å·" min-width="110px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="å
çº¤å¸¦è§æ ¼" min-width="110px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="standard" label="åèæ å" width="90px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="num" label="å
çº¤æ£æµé" min-width="110px" show-overflow-tooltip |
| | | ></el-table-column> |
| | | </el-table> |
| | | </el-drawer> |
| | | <el-drawer title="å¥ç®¡åæ¢" :visible.sync="bushingVisible" :size="500"> |
| | | <el-table class="el-table" ref="bushingTable" :data="bushing" height="100%" tooltip-effect="dark" border |
| | | highlight-current-row @row-click="handleChangeBushing" :row-class-name="tableRowClassName" |
| | | :current-row-key="currentKey0" :row-key="record=>record.index" v-if="bushingVisible"> |
| | | <el-table-column type="index" align="center" label="åºå·" width="70px" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column prop="color" label="ç®¡è²æ " min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="standNum" label="æ é" min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="testNum" label="æµè¯é" min-width="100px" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | </el-drawer> |
| | | <el-drawer title="æ ·å忢" :visible.sync="sampleVisible" :size="500"> |
| | | <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border |
| | | highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName" |
| | | :current-row-key="currentKey" :row-key="record=>record.index" v-if="sampleVisible"> |
| | | <el-table-column type="index" align="center" label="åºå·" width="70px" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column prop="sampleCode" label="æ ·åç¼å·" min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="æ ·ååå·" min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="insState" label="æ£æµç¶æ" width="100px" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <el-tag v-for="(item, i) in typeList" :key="i" v-if="item.value == scope.row.insState" :type="item.type" |
| | | size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isLeave" label="æ¯å¦çæ ·" width="95px" show-overflow-tooltip align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.isLeave==0?'å¦':'æ¯' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- æ£éªå伿ä¸ä¸ªæ¯å¦æé
奿 ·ååæ®µæ§å¶æ¾ç¤º --> |
| | | <el-table-column prop="joinModel" label="é
奿 ·ååå·" min-width="130px" show-overflow-tooltip |
| | | v-if="insOrder.mating>0"></el-table-column> |
| | | <el-table-column prop="joinName" label="é
奿 ·ååç§°" min-width="130px" show-overflow-tooltip |
| | | v-if="insOrder.mating>0"></el-table-column> |
| | | <el-table-column prop="joinNum" label="é
奿 ·åæ°é" min-width="130px" show-overflow-tooltip |
| | | v-if="insOrder.mating>0"></el-table-column> |
| | | </el-table> |
| | | </el-drawer> |
| | | <el-drawer title="ä»»å¡åæ¢" :visible.sync="taskVisible" :size="500"> |
| | | <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"> |
| | | <div class="search_label" style="width: 150px;"><span class="required-span">* </span>ä¸éè¿ççç±ï¼</div> |
| | | <div class="search_input" style="width: 100%;"> |
| | | <el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 4}"></el-input> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="reviewDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="handleReviewDia" :loading="reviewLoading">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æå®å¤æ ¸äººå" :visible.sync="addVerifyDia" width="400px"> |
| | | <div class="body" style="display: flex;padding: 10px;align-items: center;"> |
| | | <div class="search_label" style="width: 150px;"><span class="required-span">*</span>夿 ¸äºº</div> |
| | | <div class="search_input" style="width: 100%;"> |
| | | <el-select v-model="verifyUser" placeholder="è¯·éæ©" size="small" style="width: 100%;" clearable filterable> |
| | | <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addVerifyDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="submit()">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../../tool/value-table.vue' |
| | | import file from '../../../util/file' |
| | | import excelFunction from '../../../util/excelFountion' |
| | | export default { |
| | | props: ['sonLaboratory', 'orderId', 'state'], |
| | | components: { |
| | | ValueTable, |
| | | }, |
| | | data() { |
| | | return { |
| | | wareTableDataLoading:false, |
| | | fileAdd:false, |
| | | sampleVisible: false, |
| | | taskVisible: false, |
| | | submitLoading: false, |
| | | searchForm: { |
| | | sampleName: null, |
| | | state: null |
| | | }, |
| | | id: 0, |
| | | componentData: { |
| | | entity: { |
| | | sonLaboratory: null, |
| | | userId: 0 |
| | | }, |
| | | isIndex: false, |
| | | showSelect: false, |
| | | select: false, |
| | | selectMethod: 'handleChangeTask', |
| | | sort: false, |
| | | do: [], |
| | | isPage: false, |
| | | linkEvent: {}, |
| | | tagField: { |
| | | type: { |
| | | select: [] |
| | | }, |
| | | insState: { |
| | | select: [] |
| | | }, |
| | | }, |
| | | currentId: '', |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | componentData0: { |
| | | entity: { |
| | | insOrderId:'' |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | sort: false, |
| | | init:false, |
| | | do: [ |
| | | { |
| | | id: 'handleDown', |
| | | font: 'ä¸è½½', |
| | | type: 'text', |
| | | method: 'handleDown' |
| | | },{ |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | disabFun: (row, index) => { |
| | | return this.state!=1 |
| | | } |
| | | } |
| | | ], |
| | | isPage: false, |
| | | linkEvent: {}, |
| | | tagField: { |
| | | type:{ |
| | | select:[ |
| | | { |
| | | value: 1, |
| | | label: 'å¾ç' |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: 'æä»¶' |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | currentId: '', |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | upIndex: 0, |
| | | insOrder: {}, |
| | | sampleProduct: [], |
| | | typeList: [], |
| | | urgentList: [], |
| | | currentSample: {}, //å½åæ ·åä¿¡æ¯ |
| | | tableList: [], |
| | | loading: false, |
| | | ps: {}, |
| | | param: {}, |
| | | currentKey: 1, |
| | | currentKey0: 1, |
| | | currentKey1: 1, |
| | | currentKey2: 1, |
| | | comparisonList: [], |
| | | excelMethodList: [], |
| | | equipOptions: [], |
| | | userId: 0, |
| | | reviewLoading: false, |
| | | reviewDia: false, |
| | | noReason: '', |
| | | tableWidth: 1000, |
| | | currentTable: null, |
| | | tableLists: [], |
| | | widthList: [], |
| | | addVerifyDia: false, |
| | | verifyUser: null, |
| | | personList: [], |
| | | enumList: [], |
| | | fiberOpticVisible:false, |
| | | fiberOpticTapeVisible:false, |
| | | bushingVisible:false, |
| | | fiberOpticTape:[],//å
纤带å表 |
| | | fiberOptic:[],//å
纤å表 |
| | | bushing:[],//å¥ç®¡å表 |
| | | currentFiberOpticTape:null,//å½åå
纤带 |
| | | currentFiberOptic:null,//å½åå
纤 |
| | | currentBushing:null,//å½åå¥ç®¡ |
| | | tableLoading: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: { |
| | | headers() { |
| | | return { |
| | | 'token': sessionStorage.getItem('token') |
| | | } |
| | | }, |
| | | action() { |
| | | return this.javaApi + this.$api.insOrderPlan.uploadFile |
| | | } |
| | | }, |
| | | created() { |
| | | this.componentData.entity.sonLaboratory = this.sonLaboratory; |
| | | this.id = this.orderId; |
| | | this.getUserInfo() |
| | | }, |
| | | mounted() { |
| | | this.getTypeDicts() |
| | | this.getInsStateDicts() |
| | | this.getComparisonList() |
| | | this.getAuthorizedPerson() |
| | | this.scrollInit() |
| | | this.getPower() |
| | | }, |
| | | watch: { |
| | | id(val) { |
| | | this.loading = true |
| | | this.$axios.post(this.$api.insOrderPlan.doInsOrder, { |
| | | id: val, |
| | | laboratory: this.sonLaboratory |
| | | }).then(async res => { |
| | | this.insOrder = res.data.insOrder; |
| | | this.componentData0.entity.insOrderId = val; |
| | | this.$refs.fileList.selectList() |
| | | this.urgentList.forEach(m => { |
| | | if (m.value == this.insOrder.type) { |
| | | this.insOrder.typeName = m.label |
| | | } |
| | | }) |
| | | this.loading = false |
| | | if(!res.data.sampleProduct||res.data.sampleProduct.length==0){ |
| | | return this.$message.error('è¯¥ä»»å¡æ²¡ææ ·åä¿¡æ¯') |
| | | } |
| | | 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: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | 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 |
| | | } |
| | | }) |
| | | }, |
| | | currentTable(val1, val0) { |
| | | if (val0 != null && val1 != val0) { |
| | | this.tableLists.forEach((m, i) => { |
| | | if (m.templateId == val1) { |
| | | this.tableList = null; |
| | | this.tableList = [(this.tableLists[i])]; |
| | | this.handleTableData() |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | 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: { |
| | | stopAnimation() { |
| | | this.animationRunning = false; |
| | | }, |
| | | changeItem(row){ |
| | | if(row.value0&&row.value1){ |
| | | this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3)) |
| | | }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(3):'' |
| | | 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] = m |
| | | } |
| | | let wareForm = {...this.wareForm} |
| | | if(this.wareForm.inspectionItemSubclass=='20(常温)'){ |
| | | wareForm.inspectionItemSubclass ='20â(常温)' |
| | | }else{ |
| | | 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 |
| | | let fileAdd = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'uploadFile') { |
| | | fileAdd = true |
| | | } |
| | | if (power[i].menuMethod == 'delfile') { |
| | | fileDel = true |
| | | } |
| | | } |
| | | if (!fileDel) { |
| | | this.componentData0.do.splice(1, 1) |
| | | } |
| | | this.fileAdd = fileAdd |
| | | }, |
| | | async getCurrentProduct(id,type){ |
| | | this.tableLoading = true; |
| | | let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory) |
| | | this.tableLoading = false; |
| | | return res.data |
| | | }, |
| | | handleChangeBushing(row, column, event){ |
| | | this.currentBushing = row; |
| | | this.fiberOpticTape = [] |
| | | this.currentFiberOpticTape = null; |
| | | this.fiberOptic = [] |
| | | this.currentFiberOptic = null; |
| | | if(row.fiber&&row.fiber.length>0){ |
| | | // ç´æ¥é
ç½®å
纤 |
| | | this.fiberOptic = row.fiber; |
| | | }else if(row.fibers&&row.fibers.length>0){ |
| | | // é
ç½®å
纤带åï¼åé
ç½®å
纤 |
| | | this.fiberOpticTape = row.fibers; |
| | | } |
| | | this.bushingVisible = false; |
| | | this.currentKey0 = row.index |
| | | }, |
| | | async handleChangeOptic(row, column, event){ |
| | | this.currentFiberOptic = row; |
| | | this.currentFiberOptic.productList.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.fiberOpticVisible = false; |
| | | let list = await this.getCurrentProduct(row.id,2) |
| | | this.getTableLists0(list) |
| | | this.currentKey2 = row.index |
| | | }, |
| | | async handleChangeTape(row, column, event){ |
| | | this.currentFiberOpticTape = row; |
| | | this.param = {} |
| | | this.fiberOptic = [] |
| | | this.currentFiberOptic = null; |
| | | this.currentFiberOpticTape.productList.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.fiberOpticTapeVisible = false; |
| | | let list = await this.getCurrentProduct(row.id,1) |
| | | this.getTableLists0(list) |
| | | if(row.fiber&&row.fiber.length>0){ |
| | | // é
ç½®å
纤 |
| | | this.fiberOptic = row.fiber; |
| | | } |
| | | this.currentKey1 = row.index |
| | | }, |
| | | async handleChangeSample(row, column, event) { |
| | | this.param = {} |
| | | // æ¸
空å
纤é
ç½®ç¸å
³æ°æ® |
| | | this.fiberOpticTape = [] |
| | | this.currentFiberOpticTape = null; |
| | | this.fiberOptic = [] |
| | | this.currentFiberOptic = null; |
| | | this.bushing = [] |
| | | this.currentBushing = null; |
| | | this.sampleVisible = false; |
| | | this.currentSample = this.HaveJson(row) |
| | | let list = await this.getCurrentProduct(row.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getReportModel(row.id) |
| | | let bushing = this.currentSample.bushing |
| | | if(bushing&&bushing.length>0){ |
| | | this.bushing = bushing |
| | | } |
| | | // 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; |
| | | this.taskVisible = false; |
| | | }, |
| | | getTypeDicts() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "ç´§æ¥ç¨åº¦" |
| | | }).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 |
| | | }) |
| | | }, |
| | | getInsStateDicts() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ£éªä»»å¡ç¶æ" |
| | | }).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 |
| | | }) |
| | | }, |
| | | getComparisonList() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "è¡¨æ ¼åæ è½¬æ¢" |
| | | }).then(res => { |
| | | let data = res.data |
| | | this.comparisonList = data; |
| | | }) |
| | | }, |
| | | selectEnumByCategoryOfSelect(val) { |
| | | this.enumList = [] |
| | | if (val === undefined || val === null) { |
| | | return |
| | | } |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: val |
| | | }).then(res => { |
| | | this.enumList = res.data; |
| | | }) |
| | | }, |
| | | tableRowClassName({ |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | row.index = rowIndex + 1; |
| | | }, |
| | | getTableLists() { |
| | | const mySet1 = new Set(); |
| | | this.tableLists = this.currentSample.insProduct.filter(m => { |
| | | let num0 = mySet1.size; |
| | | if (m.templateId != null&&m.template != null) { |
| | | mySet1.add(JSON.stringify({ |
| | | template: m.template, |
| | | templateId: m.templateId |
| | | })) |
| | | } |
| | | let num1 = mySet1.size; |
| | | if (num1 > num0) { |
| | | return m |
| | | } |
| | | }); |
| | | if (this.tableLists && this.tableLists.length > 0) { |
| | | this.tableList = null; |
| | | this.tableList = [this.tableLists[0]] |
| | | this.currentTable = this.tableLists[0].templateId; |
| | | this.handleTableData() |
| | | } |
| | | }, |
| | | // å
纤é
ç½®ç¸å
³æ¨¡æ¿tableå表 |
| | | getTableLists0(list){ |
| | | const mySet1 = new Set(); |
| | | this.tableLists = list.filter(m => { |
| | | let num0 = mySet1.size; |
| | | if (m.templateId != null&&m.template != null) { |
| | | mySet1.add(JSON.stringify({ |
| | | template: m.template, |
| | | templateId: m.templateId |
| | | })) |
| | | } |
| | | let num1 = mySet1.size; |
| | | if (num1 > num0) { |
| | | return m |
| | | } |
| | | }); |
| | | if (this.tableLists && this.tableLists.length > 0) { |
| | | this.tableList = null; |
| | | this.tableList = [this.tableLists[0]] |
| | | this.currentTable = this.tableLists[0].templateId; |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | this.handleTableData() |
| | | } |
| | | }, |
| | | 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:String(m), |
| | | label:m |
| | | }) |
| | | }) |
| | | this.wareFormChange() |
| | | } |
| | | // æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½---ç»æ |
| | | this.tableList.forEach(a => { |
| | | let mcList = [] |
| | | a.template.forEach(b => { |
| | | if (b.v.mc != undefined && b.v.mc.cs != undefined && b.v.mc.rs != undefined) { |
| | | mcList.push(b) |
| | | } |
| | | }) |
| | | let count = 0 |
| | | mcList.forEach(b => { |
| | | for (var c in a.template) { |
| | | for (var i = 0; i < b.v.mc.cs; i++) { |
| | | for (var i2 = 0; i2 < b.v.mc.rs; i2++) { |
| | | if (a.template[c].c === b.c + i && a.template[c].r === b.r + i2) { |
| | | let bb = this.HaveJson(b) |
| | | a.template[c].v.v = bb.v.v |
| | | a.template[c].v.ps = bb.v.ps |
| | | a.template[c].v.fc = bb.v.fc |
| | | a.template[c].v.fs = bb.v.fs |
| | | a.template[c].v.ht = bb.v.ht |
| | | a.template[c].mc = count |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | | count++ |
| | | }) |
| | | }) |
| | | this.tableList.forEach(a => { |
| | | let dels = new Set() |
| | | let ids = [] |
| | | let set3 = new Set() |
| | | a.template.forEach(b => { |
| | | let size1 = set3.size |
| | | let size2 = set3.add(b.r).size |
| | | if (size1 < size2) { |
| | | let str = '' |
| | | let count4 = 0 |
| | | a.template.forEach(c => { |
| | | if (b.r === c.r) { |
| | | if (c.v.ps != undefined && c.v.ps.value === 'æ£éªé¡¹') { |
| | | if (count4 === 0) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | } else if (c.v.ps != undefined && c.v.ps.value === 'æ£éªå项') { |
| | | if (count4 === 1) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | if (str != '') { |
| | | let count2 = 0 |
| | | for (let i in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample |
| | | .insProduct[i].inspectionItem + |
| | | (this.currentSample.insProduct[i].inspectionItemSubclass == null ? '' : this.currentSample |
| | | .insProduct[i].inspectionItemSubclass) === |
| | | str) { |
| | | ids.push({ |
| | | r: b.r, |
| | | id: this.currentSample.insProduct[i].id, |
| | | product: this.currentSample.insProduct[i] |
| | | }) |
| | | break |
| | | } |
| | | count2++ |
| | | } |
| | | if (count2 == this.currentSample.insProduct.length) { |
| | | dels.add(b.r) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | dels.forEach(del => { |
| | | for (let b = 0; b < a.template.length; b++) { |
| | | if (a.template[b].r === del) { |
| | | a.template.splice(b, 1) |
| | | b -= 1 |
| | | } |
| | | } |
| | | }) |
| | | ids.forEach(id => { |
| | | for (let b = 0; b < a.template.length; b++) { |
| | | if (a.template[b].r === id.r) { |
| | | a.template[b].i = id.id |
| | | if (a.template[b].v.ps != undefined && a.template[b].v.ps.value === 'åä½') { |
| | | a.template[b].v.v = id.product.unit |
| | | } |
| | | if (a.template[b].v.ps != undefined && (a.template[b].v.ps.value === 'è¯éªæ¹æ³' || a.template[b].v |
| | | .ps.value === 'æ£æµæ¹æ³')) { |
| | | a.template[b].v.v = id.product.methodS |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | let set2 = new Set() |
| | | a.template.forEach(b => { |
| | | let size1 = set2.size |
| | | let size2 = set2.add(b.mc).size |
| | | if (b.mc != undefined && size1 < size2) { |
| | | b.v.mc.rs = 0 |
| | | b.v.mc.cs = 0 |
| | | a.template.forEach(c => { |
| | | if (b.mc === c.mc) { |
| | | if (b.r === c.r) { |
| | | b.v.mc.cs += 1 |
| | | } |
| | | if (b.c === c.c) { |
| | | b.v.mc.rs += 1 |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | this.tableList.forEach(a => { |
| | | let arrs = [] |
| | | let set = new Set() |
| | | let count1 = 0 |
| | | let conclusionList = []; //ç»è®ºå表 |
| | | let finalList = []; //æç»å¼å表 |
| | | conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === 'ç»è®º') |
| | | finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === 'æç»å¼') |
| | | a.template.forEach(b => { |
| | | if (b.v.ps != undefined && b.v.ps.value === 'åºå·' && (b.v.mc == undefined || Object.keys(b.v.mc) |
| | | .length === 4)) { |
| | | count1++ |
| | | b.v.v = count1 |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === 'è¦æ±å¼') { |
| | | b.v.v = this.getAsk(b.i) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === 'æ£éªå¼') { |
| | | b.v.v = '' |
| | | b.u = '' |
| | | b.i && this.param[b.i].insValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '计ç®å¼') { |
| | | b.v.v = '' |
| | | b.i && this.param[b.i].comValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设å¤ç¼ç ') { |
| | | b.v.v = '' |
| | | b.i && this.param[b.i].equipValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设å¤åç§°') { |
| | | b.v.v = '' |
| | | b.i && this.param[b.i].equipName.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === 'æç»å¼') { |
| | | b.v.v = '' |
| | | /* if (b.i === undefined) { |
| | | for (var c in this.param) { |
| | | this.param[c].resValue = b |
| | | } |
| | | } else { |
| | | this.param[b.i].resValue = b |
| | | } */ |
| | | if (b.i !== undefined&&!this.param[b.i].resValue) { |
| | | this.param[b.i].resValue = b |
| | | } |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === 'ç»è®º') { |
| | | if (b.i !== undefined&&!this.param[b.i].insResult) { |
| | | this.param[b.i].insResult = b |
| | | 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}${finalList[i].r+1})` |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | set.add(b.r) |
| | | if (b.v.f) { |
| | | this.excelMethodList.push(b) |
| | | } |
| | | }) |
| | | set = Array.sort(set) |
| | | set.forEach(b => { |
| | | let arr = [] |
| | | a.template.forEach(c => { |
| | | if (c.r === b) { |
| | | arr.push(c) |
| | | } |
| | | }) |
| | | arrs.push(arr) |
| | | }) |
| | | a.arr = arrs |
| | | this.tableWidth = 0 |
| | | for (let i = 0; i < arrs[0].length; i++) { |
| | | this.tableWidth += (a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i]) |
| | | } |
| | | }) |
| | | this.currentSample.insProduct.forEach(a => { |
| | | try { |
| | | let comValue = JSON.parse(a.insProductResult.comValue) |
| | | for (var i = 0; i < comValue.length; i++) { |
| | | this.param[a.id].comValue[i].v.v = comValue[i].v |
| | | } |
| | | } catch (e) {} |
| | | try { |
| | | let insValue = JSON.parse(a.insProductResult.insValue) |
| | | 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 (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 (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].resValue.v.v = a.lastValue |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | } catch (e) {} |
| | | }) |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code) { |
| | | let str = code.split('-') |
| | | let r = str[1] |
| | | let c = str[2] |
| | | let id = str[0] |
| | | let pId = str[3] |
| | | var list = [] |
| | | for (let a in this.tableList) { |
| | | if (this.tableList[a].templateId == id) { |
| | | list = this.tableList[a].arr |
| | | break |
| | | } |
| | | } |
| | | this.excelMethodList.forEach(item => { |
| | | if (item.valueList.find(m => m.r == r && m.c == c)) { |
| | | var comValue = {} |
| | | item.valueList.forEach(a => { |
| | | list.forEach(b => { |
| | | if (b[0].r == a.r) { |
| | | b.forEach(c => { |
| | | if (c.c == a.c) { |
| | | var tableCode = '' |
| | | for (var d in this.comparisonList) { |
| | | if (c.c == this.comparisonList[d].value) { |
| | | tableCode = this.comparisonList[d].label |
| | | break |
| | | } |
| | | } |
| | | 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 == 'ç»è®º') { |
| | | 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(res==''||res==null||res==undefined||res=='Infinity'){ |
| | | item.v.v = '' |
| | | }else{ |
| | | if(ask){ |
| | | comp = ask.map((m, i) => { |
| | | if (m.includes('RTS')) { |
| | | m = m.replace('RTS*', '') |
| | | } |
| | | if (m.includes('=')) { |
| | | let str = this.handleFraction(m.split('=')[1]) |
| | | if(typeof res == 'string'&&typeof str == 'string'){ |
| | | return res.trim() == str.trim() |
| | | }else{ |
| | | return eval(res) == eval(str) |
| | | } |
| | | } else if (m.includes('â¥')) { |
| | | let str = this.handleFraction(m.split('â¥')[1]) |
| | | return eval(res) >= eval(str) |
| | | }else if (m.includes('â¤')) { |
| | | let str = this.handleFraction(m.split('â¤')[1]) |
| | | return eval(res) <= eval(str) |
| | | }else if (m.includes('<')) { |
| | | let str = this.handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | }else if (m.includes('>')) { |
| | | let str = this.handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | }else if (m.includes('~')) { |
| | | let k = m.split('~') |
| | | return eval(res) >= eval(this.handleFraction((k[0]))) && eval(res) <= eval(this.handleFraction(k[1])) |
| | | }else if(m.includes('-')){ |
| | | let k = m.split('-') |
| | | return eval(res) >= eval(this.handleFraction(k[0])) && eval(res) <= eval(this.handleFraction(k[1])) |
| | | }else if(m.includes('±')){ |
| | | let k = m.split('±') |
| | | 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('ï¼')){ |
| | | let str = this.handleFraction(m.split('ï¼')[1]) |
| | | return eval(res) > eval(str) |
| | | }else if(m.includes('ï¼')){ |
| | | let str = this.handleFraction(m.split('ï¼')[1]) |
| | | return eval(res) < eval(str) |
| | | } |
| | | }) |
| | | } |
| | | if (comp.every(m => m)) { |
| | | item.v.v = 1 |
| | | } else { |
| | | item.v.v = 0 |
| | | } |
| | | } |
| | | this.saveInsContext() |
| | | } |
| | | } catch (error) { |
| | | |
| | | } |
| | | |
| | | } else { |
| | | let comResult = '' |
| | | try { |
| | | if(this.getInspectionValueType(item.i)==1){ |
| | | let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask?this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null; |
| | | comResult = excelFunction.compute(item.v.f.replace(/=/g, ' '),comValue) |
| | | // è£
å¤é¡¹ç®æ£éªå¼è½¬å |
| | | if (this.PROJECT === 'è£
å¤çµç¼' && ask[0].includes('RTS')) { |
| | | let num2 = new this.$Big(comResult) |
| | | comResult = num2.toExponential() |
| | | } |
| | | }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, |
| | | }) |
| | | }) |
| | | 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) |
| | | }) |
| | | console.log(str) |
| | | comResult = str |
| | | } |
| | | } catch (error) { |
| | | } |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //æ¹åæç»å¼ |
| | | } catch (error) { |
| | | |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | try { |
| | | this.getCurrentInsProduct(pId) |
| | | } catch (error) { |
| | | |
| | | } |
| | | }, |
| | | handleFraction(str){ |
| | | 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 this.$Big(num2[0]); |
| | | let num4 = new this.$Big(num2[1]); |
| | | let num5 = Math.pow(num3, num4) // è®¡ç®æ¬¡æ¹ |
| | | return num1[0] * num5 // æå计ç®ä¹æ³ |
| | | } else{ |
| | | return str |
| | | } |
| | | }, |
| | | getCurrentInsProduct(pId) { |
| | | if (!this.tableList[0].insProductResult) { |
| | | this.tableList[0].insProductResult = {} |
| | | } |
| | | for (let m in this.param[pId]) { |
| | | let value = this.param[pId][m] |
| | | switch (m) { |
| | | case 'comValue': |
| | | if (value && value.length > 0) { |
| | | this.tableList[0].insProductResult[m] = []; |
| | | value.forEach((a, i) => { |
| | | let obj = { |
| | | v: a.v.v, |
| | | } |
| | | this.tableList[0].insProductResult[m].push(obj); |
| | | }) |
| | | } |
| | | this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) |
| | | break; |
| | | case 'insValue': |
| | | if (value && value.length > 0) { |
| | | this.tableList[0].insProductResult[m] = []; |
| | | value.forEach((a, i) => { |
| | | let obj = { |
| | | v: a.v.v, |
| | | u: a.u, |
| | | } |
| | | this.tableList[0].insProductResult[m].push(obj); |
| | | }) |
| | | } |
| | | this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) |
| | | break; |
| | | case 'equipValue': |
| | | if (value && value.length > 0) { |
| | | this.tableList[0].insProductResult[m] = []; |
| | | value.forEach((a, i) => { |
| | | let obj = { |
| | | v: a.v.v, |
| | | } |
| | | this.tableList[0].insProductResult[m].push(obj); |
| | | }) |
| | | } |
| | | this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) |
| | | break; |
| | | case 'equipName': |
| | | if (value && value.length > 0) { |
| | | this.tableList[0].insProductResult[m] = []; |
| | | value.forEach((a, i) => { |
| | | let obj = { |
| | | v: a.v.v, |
| | | } |
| | | this.tableList[0].insProductResult[m].push(obj); |
| | | }) |
| | | } |
| | | this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) |
| | | break; |
| | | case 'resValue': |
| | | this.tableList[0].lastValue = value?value.v.v:'' |
| | | break; |
| | | case 'insResult': |
| | | this.tableList[0].insResult = value?value.v.v:'' |
| | | break; |
| | | } |
| | | } |
| | | }, |
| | | handleExcelMethod() { |
| | | if (this.excelMethodList.length > 0) { |
| | | this.excelMethodList.map(item => { |
| | | item.valueList = excelFunction.changeParameter(item.v.f); |
| | | return item; |
| | | }) |
| | | } |
| | | }, |
| | | median(arr) { |
| | | // 对æ°ç»è¿è¡æåº |
| | | const sortedArr = arr.sort((a, b) => a - b); |
| | | // è®¡ç®æ°ç»é¿åº¦çä¸å |
| | | const half = Math.floor(sortedArr.length / 2); |
| | | // 妿æ°ç»é¿åº¦ä¸ºå¥æ°ï¼è¿åä¸é´çå
ç´ ï¼å¦æä¸ºå¶æ°ï¼è¿åä¸é´ä¸¤ä¸ªå
ç´ çå¹³åå¼ |
| | | if (sortedArr.length % 2) { |
| | | // 奿°ä½ç½®çå
ç´ |
| | | return sortedArr[half]; |
| | | } else { |
| | | // å¶æ°ä½ç½®çå¹³åå¼ |
| | | return (sortedArr[half - 1] + sortedArr[half]) / 2; |
| | | } |
| | | }, |
| | | getValue(v){ |
| | | let str = v.v?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>'):'') |
| | | // str.replace(new RegExp(search, 'g'), replace) |
| | | return str |
| | | }, |
| | | getInspectionValueType(id) { |
| | | for (var a in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[a].id == id) { |
| | | return this.currentSample.insProduct[a].inspectionValueType |
| | | } |
| | | } |
| | | }, |
| | | getTell(id) { |
| | | for (var a in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[a].id == id) { |
| | | return this.currentSample.insProduct[a].tell |
| | | } |
| | | } |
| | | }, |
| | | handleWidth(n) { |
| | | let sum = 0; |
| | | if (n.v.mc && n.v.mc.cs && n.v.mc.c != undefined) { |
| | | for (let i = 0; i < n.v.mc.cs; i++) { |
| | | let num = this.widthList[i + n.v.mc.c] ? this.widthList[i + n.v.mc.c] : 100 |
| | | sum += num; |
| | | } |
| | | } else { |
| | | sum = this.widthList[n.c] ? this.widthList[n.c] : 100 |
| | | } |
| | | 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) { |
| | | return this.currentSample.insProduct[a].inspectionItemType |
| | | } |
| | | } |
| | | }, |
| | | getAsk(id) { |
| | | for (var a in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[a].id == id) { |
| | | return this.currentSample.insProduct[a].ask |
| | | } |
| | | } |
| | | }, |
| | | getSystemValue(n) { |
| | | let code = null |
| | | try { |
| | | this.param[n.i].equipValue.forEach(a=>{ |
| | | if(a.r === n.r){ |
| | | if (a.v.v == null || a.v.v == '') { |
| | | this.$message.error('请å
éæ©ééç设å¤') |
| | | return |
| | | }else{ |
| | | code = a.v.v |
| | | } |
| | | } |
| | | }) |
| | | } catch (e) { |
| | | // console.log(e); |
| | | this.$message.error('æ¾ä¸å°è®¾å¤å
容') |
| | | } |
| | | // console.log(n, code); |
| | | fetch('http://localhost:82/微信å¾ç_20240518100811.png').then(res=>res.blob()).then(blob=>{ |
| | | // console.log(blob); |
| | | const url = URL.createObjectURL(blob) |
| | | // console.log(url); |
| | | }) |
| | | /* this.$message.error('éé失败ã已弿¾æå¨æ¹å¼ã') |
| | | for (var a in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[a].id == n.i) { |
| | | this.currentSample.insProduct[a].inspectionItemType = 0 |
| | | } |
| | | } */ |
| | | }, |
| | | getEquipOptions(e, id) { |
| | | if (e) { |
| | | this.equipOptions = [] |
| | | let product = this.currentSample.insProduct.find(m => m.id == id) |
| | | this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, { |
| | | inspectionItem: product.inspectionItem, |
| | | inspectionItemSubclass: product.inspectionItemSubclass |
| | | }).then(res => { |
| | | if (res.code === 200 && res.data) { |
| | | this.equipOptions = res.data.map(m => { |
| | | m.value = m.managementNumber |
| | | m.label = m.deviceName |
| | | return m |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | console.error(error) |
| | | }) |
| | | } |
| | | }, |
| | | getDic(e, id) { |
| | | if (e) { |
| | | for (var a in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[a].id == id) { |
| | | let str = this.currentSample.insProduct[a].dic |
| | | this.selectEnumByCategoryOfSelect(str) |
| | | return str |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | getUserInfo() { |
| | | this.$axios.get(this.$api.user.getUserInfo).then(res => { |
| | | this.userId = res.data.id |
| | | }) |
| | | }, |
| | | // 夿 ¸ |
| | | 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 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå") |
| | | this.$emit('goback') |
| | | } |
| | | this.reviewLoading = false; |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.reviewLoading = false; |
| | | }) |
| | | } else { |
| | | // ä¸éè¿ |
| | | this.reviewDia = true; |
| | | } |
| | | }, |
| | | 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 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå") |
| | | this.$emit('goback') |
| | | } |
| | | this.reviewLoading = false; |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.reviewLoading = false; |
| | | }) |
| | | } else { |
| | | this.$message.error('æªè¾å
¥ä¸éè¿åå ') |
| | | } |
| | | }, |
| | | submit() { |
| | | if (this.verifyUser === null || this.verifyUser === '') { |
| | | this.$message.error("请æå®å¤æ ¸äººå") |
| | | return |
| | | } |
| | | this.addVerifyDia = false |
| | | this.submitLoading = true; |
| | | this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | if(!res.data||res.data.length==0){ |
| | | 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') |
| | | } |
| | | this.submitLoading = false; |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.submitLoading = false; |
| | | }) |
| | | }else{ |
| | | let newData = [] |
| | | const h = this.$createElement |
| | | 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' },'以ä¸é¡¹ç®ä¸åæ ¼ï¼ç¡®å®æäº¤ï¼')) |
| | | 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; |
| | | }).catch(error => { |
| | | console.error(error) |
| | | this.submitLoading = false; |
| | | }) |
| | | return |
| | | }, |
| | | saveInsContext() { |
| | | 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) { |
| | | if (this.equipOptions[i].value === val) { |
| | | for (let i1 in this.param[n.i].equipName) { |
| | | if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { |
| | | this.param[n.i].equipName[i1].v.v = this.equipOptions[i].label |
| | | } |
| | | } |
| | | } |
| | | } |
| | | this.saveInsContext() |
| | | }, |
| | | getAuthorizedPerson() { |
| | | this.$axios.get(this.$api.user.getUserMenu).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.personList = data |
| | | }) |
| | | }, |
| | | scrollInit() { |
| | | // è·åè¦ç»å®äºä»¶çå
ç´ |
| | | const nav = document.getElementById("nav") |
| | | var flag; // é¼ æ æä¸ |
| | | var downX; // é¼ æ ç¹å»çx䏿 |
| | | var scrollLeft; // å½åå
ç´ æ»å¨æ¡çåç§»é |
| | | nav.addEventListener("mousedown", function(event) { |
| | | flag = true; |
| | | downX = event.clientX; // è·åå°ç¹å»çx䏿 |
| | | scrollLeft = this.scrollLeft; // è·åå½åå
ç´ æ»å¨æ¡çåç§»é |
| | | }); |
| | | nav.addEventListener("mousemove", function(event) { |
| | | if (flag) { // 夿æ¯å¦æ¯é¼ æ æä¸æ»å¨å
ç´ åºå |
| | | var moveX = event.clientX; // è·åç§»å¨çxè½´ |
| | | var scrollX = moveX - downX; // å½åç§»å¨çxè½´ä¸æ åå»åç¹å»ä¸å»çxè½´ä¸æ å¾å°é¼ æ æ»å¨è·ç¦» |
| | | this.scrollLeft = scrollLeft - scrollX // é¼ æ æä¸çæ»å¨æ¡åç§»éåå»å½åé¼ æ çæ»å¨è·ç¦» |
| | | } |
| | | }); |
| | | // é¼ æ æ¬èµ·åæ¢æå¨ |
| | | nav.addEventListener("mouseup", function() { |
| | | flag = false; |
| | | }); |
| | | // é¼ æ 离å¼å
ç´ åæ¢æå¨ |
| | | nav.addEventListener("mouseleave", function(event) { |
| | | flag = false; |
| | | }); |
| | | }, |
| | | async caretSample(num){ |
| | | let index = this.currentKey + num |
| | | if(index < 1){ |
| | | this.$message.error('å½åæ¯ç¬¬ä¸ä¸ªæ ·å') |
| | | return |
| | | } else if(index > this.sampleProduct.length){ |
| | | this.$message.error('å½åæ¯æåä¸ä¸ªæ ·å') |
| | | return |
| | | } |
| | | this.currentKey = index |
| | | this.currentSample = this.HaveJson(this.sampleProduct[index - 1]) |
| | | let list = await this.getCurrentProduct(this.currentSample.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getTableLists() |
| | | }, |
| | | caretBushing(num){ |
| | | let index = this.currentKey0 + num |
| | | if(index < 1){ |
| | | this.$message.error('å½åæ¯ç¬¬ä¸ä¸ªå¥ç®¡') |
| | | return |
| | | } else if(index > this.bushing.length){ |
| | | this.$message.error('å½åæ¯æåä¸ä¸ªå¥ç®¡') |
| | | return |
| | | } |
| | | this.currentKey0 = index |
| | | this.currentBushing = this.HaveJson(this.bushing[index - 1]) |
| | | this.fiberOpticTape = [] |
| | | this.currentFiberOpticTape = null; |
| | | this.fiberOptic = [] |
| | | this.currentFiberOptic = null; |
| | | if( this.currentBushing.fiber&& this.currentBushing.fiber.length>0){ |
| | | // ç´æ¥é
ç½®å
纤 |
| | | this.fiberOptic = this.currentBushing.fiber; |
| | | }else if( this.currentBushing.fibers&& this.currentBushing.fibers.length>0){ |
| | | // é
ç½®å
纤带åï¼åé
ç½®å
纤 |
| | | this.fiberOpticTape = this.currentBushing.fibers; |
| | | } |
| | | }, |
| | | async caretTape(num){ |
| | | let index = this.currentKey1 + num |
| | | if(index < 1){ |
| | | this.$message.error('å½åæ¯ç¬¬ä¸ä¸ªå
纤带') |
| | | return |
| | | } else if(index > this.fiberOpticTape.length){ |
| | | this.$message.error('å½åæ¯æåä¸ä¸ªå
纤带') |
| | | return |
| | | } |
| | | this.currentKey1 = index |
| | | this.currentFiberOpticTape = this.HaveJson(this.fiberOpticTape[index - 1]) |
| | | this.param = {} |
| | | this.fiberOptic = [] |
| | | this.currentFiberOptic = null; |
| | | this.currentFiberOpticTape.productList.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.fiberOpticTapeVisible = false; |
| | | let list = await this.getCurrentProduct(this.currentFiberOpticTape.id,1) |
| | | this.getTableLists0(list) |
| | | if(this.currentFiberOpticTape.fiber&&this.currentFiberOpticTape.fiber.length>0){ |
| | | // é
ç½®å
纤 |
| | | this.fiberOptic = this.currentFiberOpticTape.fiber; |
| | | } |
| | | }, |
| | | async caretOptic(num){ |
| | | let index = this.currentKey2 + num |
| | | if(index < 1){ |
| | | this.$message.error('å½åæ¯ç¬¬ä¸ä¸ªå
纤') |
| | | return |
| | | } else if(index > this.fiberOptic.length){ |
| | | this.$message.error('å½åæ¯æåä¸ä¸ªå
纤') |
| | | return |
| | | } |
| | | this.currentKey2 = index |
| | | this.currentFiberOptic = this.HaveJson(this.fiberOptic[index - 1]) |
| | | this.currentFiberOptic.productList.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | let list = await this.getCurrentProduct(this.currentFiberOptic.id,2) |
| | | this.getTableLists0(list) |
| | | }, |
| | | handleSuccessUp(response, ) { |
| | | this.upLoading = false; |
| | | if (response.code == 200) { |
| | | this.$message.success('ä¸ä¼ æå'); |
| | | this.$refs.fileList.selectList() |
| | | } |
| | | }, |
| | | beforeUpload(file) { |
| | | if (file.size > 1024 * 1024 * 10) { |
| | | this.$message.error('ä¸ä¼ æä»¶ä¸è¶
è¿10M'); |
| | | this.$refs.upload.clearFiles() |
| | | return false; |
| | | } else { |
| | | this.upLoading = true; |
| | | return true; |
| | | } |
| | | }, |
| | | onError(err, file, fileList) { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | this.$refs.upload.clearFiles() |
| | | }, |
| | | handleDown(row){ |
| | | this.$axios.post(this.$api.insOrderPlan.downFile, { |
| | | id: row.id, |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | let url = ''; |
| | | if(res.data.type==1){ |
| | | url = this.javaApi+'/img/'+res.data.fileUrl |
| | | file.downloadIamge(url,row.fileName) |
| | | }else{ |
| | | url = this.javaApi+'/word/'+res.data.fileUrl |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = row.fileName; |
| | | link.click(); |
| | | } |
| | | } |
| | | }).catch(error => { |
| | | |
| | | }) |
| | | }, |
| | | /** |
| | | * å°æ°å¼vä¿çct.faä¸'##'åçæå®å°æ°ä½æ°ï¼å¹¶è¿åæ ¼å¼ååçå符串ã |
| | | * |
| | | * @param v è¦æ ¼å¼åçæ°å¼ |
| | | * @param ct å
嫿 ¼å¼åé
ç½®ç对象 |
| | | * @param ct.fa æ ¼å¼åé
ç½®å符串ï¼è¥å
å«'##'åæç
§å
¶åçå
容确å®å°æ°ä½æ° |
| | | * @returns æ ¼å¼ååçå符串æåå§æ°å¼ï¼è¥é
ç½®ä¸ç¬¦åè¦æ±ï¼ |
| | | */ |
| | | toFixed(v,ct){ |
| | | if(v&&ct&&ct.fa&&ct.fa.includes('##')){ |
| | | if(ct.fa.includes('.')){ |
| | | let num = ct.fa.slice(4).length |
| | | return Number(v).toFixed(num) |
| | | }else{ |
| | | return Number(v).toFixed(0) |
| | | } |
| | | }else{ |
| | | return v |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |