From cb57bc6b4abf45dbb0605c94359c63e3b31b4b87 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 10 九月 2024 15:55:57 +0800 Subject: [PATCH] 优化报告生成、修改电路下单传参 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 940 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 595 insertions(+), 345 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 54643da..2806de1 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -1,4 +1,16 @@ <style scoped> +.custom-table .el-table__header-wrapper th { + background-color: #87CEEB; /* 鍙甯︽湁my-custom-table绫荤殑琛ㄦ牸鐢熸晥 */ + color: #fff; +} + .container { + overflow: auto; /* 纭繚瀹瑰櫒鑳藉寘瑁规诞鍔ㄥ厓绱� */ + margin-bottom: 10px; +} + +.right-button { + float: right; +} .inspection { height: 100%; overflow-y: auto; @@ -23,6 +35,7 @@ .search .form-inline { padding-top: 20px; padding-left: 0px; + text-align: left; } .center { @@ -187,6 +200,7 @@ .inspection .el-drawer__header { color: #303133; + text-align: left; } .inspection .el-input-group__append { @@ -239,17 +253,15 @@ <el-col :span="12" style="padding-left: 20px;text-align: left;" >妫�楠屽崟璇︽儏 </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="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button> - <el-button size="small" type="primary" @click="addVerifyDia = true" v-if="state==1" + <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1" :loading="submitLoading">鎻愪氦</el-button> <!-- 澶嶆牳 --> - <el-button size="medium" type="primary" @click="upInsReview(1)" :loading="reviewLoading" - v-if="state>1">閫氳繃</el-button> - <el-button size="medium" @click="upInsReview(0)" v-if="state>1">涓嶉�氳繃</el-button> + <el-button size="small" type="primary" @click="upInsReview(1)" :loading="reviewLoading" + v-if="state>1">缁х画璇曢獙</el-button> + <el-button size="small" @click="upInsReview(0)" v-if="state>1" type="danger">鍐嶆璇曢獙</el-button> + <el-button size="small" @click="upInsReview(2)" v-if="state>1">缁撴潫璇曢獙</el-button> <el-button size="small" @click="$emit('goback')">杩斿洖</el-button> </el-col> </el-row> @@ -260,7 +272,7 @@ </el-form-item> <el-form-item label="鏍峰搧缂栧彿:"> <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode"> - <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" ></el-input> + <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" tooltip></el-input> </el-tooltip> </el-form-item> <el-form-item label="鏍峰搧鍚嶇О:"> @@ -268,6 +280,9 @@ </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="璇曢獙鏍囧噯:"> + <span>{{ currentSample.testRequirements?currentSample.testRequirements:'-' }}</span> </el-form-item> <el-form-item label="涓嬪彂鏃堕棿:"> <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input> @@ -283,7 +298,6 @@ </el-form-item> <el-form-item label="澶囨敞:"> <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span> - <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> --> </el-form-item> </el-form> </div> @@ -295,6 +309,11 @@ <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index" size="small">{{ item.templateName }}</el-radio-button> </el-radio-group> + <!-- <span style="margin-left: 20px;margin-right: 10px;">妯℃澘鐗堟湰:</span> + <el-radio-group v-model="currentTableState" size="small"> + <el-radio-button label="0" size="small">鐗堟湰涓�</el-radio-button> + <el-radio-button label="1" size="small">鐗堟湰浜�</el-radio-button> + </el-radio-group> --> </div> <div style="display: flex;align-items: center;"> <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'"> 濂楃锛�</span> @@ -330,21 +349,12 @@ <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> </el-option> </el-select> - <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 v-model="otherForm.temperature" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @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 v-model="otherForm.humidity" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input> - <span style="margin-left: 4px;">%</span> - </el-form-item> - </el-form> <el-button type="primary" size="small" v-if="(isGet||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button> <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'))&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button> </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!='娓╁害寰幆妫�楠屽師濮嬭褰�'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙'))"> + <!-- 甯歌妫�楠屽師濮嬭褰� --> + <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙'))"> <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id"> <tbody> <tr v-for="(m,i) in item.arr" :key="i"> @@ -358,18 +368,18 @@ <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')" @input="handleInput(n)" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j" - @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)"> + @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j" + @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')"> <!-- <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}`)" /> + @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')" /> <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)"> + @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')"> <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;`" @@ -384,6 +394,7 @@ <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-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">涓嶅垽瀹�</span> <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> </template> </template> @@ -417,11 +428,14 @@ <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> + 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="`font-family:${n.v.ff} !important;`" v-if="currentSample.testRequirements!==undefined&¤tSample.testRequirements!==null">{{currentSample.testRequirements}}</div> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='濂楃'"> <div style="display: flex;flex-wrap: nowrap;align-items: center;"> @@ -457,6 +471,88 @@ </tbody> </table> </div> + <!-- 寮у瀭鐗规�ф楠屽師濮嬭褰� --> + <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='寮у瀭鐗规�ф楠屽師濮嬭褰�'"> + <el-divider></el-divider> + <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">寮у瀭鐗规�ф楠屽師濮嬭褰�</h4> + <el-form :inline="true" :model="sagForm" class="form-inline" label-width="120px" 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="sagForm.sampleCode" disabled size="small" placeholder=""></el-input> + </el-form-item> + <el-form-item label="鍨嬪彿" style="margin-bottom: 0;"> + <el-input clearable v-model="sagForm.model" disabled size="small" placeholder=""></el-input> + </el-form-item> + <el-form-item label="妫�楠屼緷鎹�" style="margin-bottom: 0;"> + <el-input clearable v-model="sagForm.inspection" disabled size="small" placeholder=""></el-input> + </el-form-item> + <el-form-item label="璁惧缂栧彿" style="margin-bottom: 0;"> + <el-input clearable v-model="sagForm.methodName" disabled size="small" placeholder=""></el-input> + </el-form-item> + <el-form-item label="棰濆畾鎷夋柇鍔�/kN" style="margin-bottom: 0;"> + <el-input clearable v-model="sagForm.tensileForce" disabled size="small" placeholder=""></el-input> + </el-form-item> + <el-form-item label="璺ㄨ窛闀垮害/m" style="margin-bottom: 0;"> + <el-input clearable v-model="sagForm.spanLength" disabled size="small" placeholder=""></el-input> + </el-form-item> + <el-form-item label="杞借嵎/kN" style="margin-bottom: 0;"> + <el-input clearable v-model="sagForm.load" disabled size="small" placeholder=""></el-input> + </el-form-item> + </el-form> + <el-divider></el-divider> + <div class="container"> + <el-button class="right-button" type="primary" size="small" @click="addSag">娣� 鍔�</el-button> + </div> + <el-table :data="sagData" class="custom-table" border> + <el-table-column label="楂樺害 h mm" prop="height" align="center"> + </el-table-column> + <el-table-column label="寮у瀭 mm" prop="sag" align="center"> + </el-table-column> + <el-table-column label="瀵肩嚎娓╁害鈩�" align="center"> + <el-table-column label="1" prop="one" align="center"> + <template slot-scope="scope"> + <el-input v-model="scope.row.one" style="width: 100%;"></el-input> + </template> + </el-table-column> + <el-table-column label="2" prop="two" align="center"> + <template slot-scope="scope"> + <el-input v-model="scope.row.two" style="width: 100%;"></el-input> + </template> + </el-table-column> + <el-table-column label="3" prop="three" align="center"> + <template slot-scope="scope"> + <el-input v-model="scope.row.three" style="width: 100%;"></el-input> + </template> + </el-table-column> + <el-table-column label="4" prop="four" align="center"> + <template slot-scope="scope"> + <el-input v-model="scope.row.four" style="width: 100%;"></el-input> + </template> + </el-table-column> + <el-table-column label="5" prop="five" align="center"> + <template slot-scope="scope"> + <el-input v-model="scope.row.five" style="width: 100%;"></el-input> + </template> + </el-table-column> + <el-table-column label="6" prop="six" align="center"> + <template slot-scope="scope"> + <el-input v-model="scope.row.six" style="width: 100%;"></el-input> + </template> + </el-table-column> + </el-table-column> + <el-table-column label="骞冲潎娓╁害鈩�" prop="average" align="center"> + </el-table-column> + <el-table-column label="瀹ゆ俯鈩�" prop="temperature" align="center"> + </el-table-column> + <el-table-column label="寮犲姏kN" prop="remark" align="center"> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center"> + <template slot-scope="scope"> + <el-button type="text" size="small" @click="deleteSag(scope.$index)"><span style="color:red">鍒犻櫎</span></el-button> + </template> + </el-table-column> + </el-table> + </div> + <!-- 娓╁害寰幆妫�楠屽師濮嬭褰� --> <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'"> <el-divider></el-divider> <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">娓╁害寰幆妫�楠屽師濮嬭褰�</h4> @@ -612,12 +708,14 @@ <template slot-scope="scope"> <span v-if="scope.row.arr[index].insResult===1" style="color: green;">鍚堟牸</span> <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> <span v-else>寰呭畾</span> </template> </el-table-column> </template> </el-table> </div> + <!-- 鐑惊鐜�/娓╁崌璇曢獙妫�楠屽師濮嬭褰� --> <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')||tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙')"> <el-divider></el-divider> <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">{{tableLists.find(m=>m.templateId==currentTable).templateName}}</h4> @@ -691,12 +789,19 @@ <template v-else> <span v-if="item.insResult===1" style="color: green;">鍚堟牸</span> <span v-else-if="item.insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="item.insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> <span v-else>寰呭畾</span> </template> </td> </tr> </table> </div> + </div> + <!-- 鐢佃矾璇曢獙 --> + <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')" style="width: 100%;overflow-x: auto;overflow-y: visible;"> + <!-- <Circuit></Circuit> --> + <CircuitParameters1 v-if="currentTableState==0" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1"></CircuitParameters1> + <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1"></CircuitParameters2> </div> <el-upload :action="action" :data="{ @@ -713,43 +818,6 @@ :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" @@ -825,7 +893,7 @@ <td style="text-align: left;"> <el-checkbox-group v-model="getDataIndex" :max="item.child[0].maxNum"> - <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox> + <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j">{{n}}</el-checkbox> </el-checkbox-group> </td> </tr> @@ -834,7 +902,7 @@ <td style="text-align: left;"> <el-checkbox-group v-model="getDataIndex" :max="m.maxNum"> - <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox> + <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j">{{n}}</el-checkbox> </el-checkbox-group> </td> </tr> @@ -845,20 +913,54 @@ <el-button type="primary" @click="submitDataGet()" :loading="getDataIndexLoading">纭� 瀹�</el-button> </span> </el-dialog> + <el-dialog + title="閫夋嫨鐢佃矾妫�楠屾ā鏉跨増鏈�" + :visible.sync="versionDialogVisible" + width="30%" + :close-on-click-modal="false" + :close-on-press-escape="false" + :show-close="false"> + <el-radio-group v-model="currentTableState"> + <el-radio :label="0">鐢佃皟-鐢佃矾妫�楠屽師濮嬭褰�</el-radio> + <el-radio :label="1">闈炵數璋�-鐢佃矾妫�楠屽師濮嬭褰�</el-radio> + </el-radio-group> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" :loading="versionLoading" @click="saveVersion">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> <script> import ValueTable from '../../tool/value-table.vue' + import Circuit from './circuit.vue' import file from '../../../util/file' import excelFunction from '../../../util/excelFountion' + import CircuitParameters1 from './circuit-parameters1.vue' + import CircuitParameters2 from './circuit-parameters2.vue' export default { - props: ['sonLaboratory', 'orderId', 'state'], + props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId'], components: { ValueTable, + Circuit, + CircuitParameters1, + CircuitParameters2 }, data() { return { + versionLoading:false, + versionDialogVisible:false, + currentTableState:0, + sagData: [], + sagForm: { + sampleCode: null, + model: null, + inspection: null, + methodName: null, + tensileForce: null, + spanLength: null, + load: null + }, dataGetDia:false, wareTableDataLoading:false, fileAdd:false, @@ -943,6 +1045,7 @@ requiredUp: [] }, upIndex: 0, + changeType:null, getReportModelLoading:false, insOrder: {}, sampleProduct: [], @@ -972,9 +1075,6 @@ verifyUser: null, personList: [], enumList: [], - fiberOpticVisible:false, - fiberOpticTapeVisible:false, - bushingVisible:false, fiberOpticTape:[],//鍏夌氦甯﹀垪琛� fiberOptic:[],//鍏夌氦鍒楄〃 bushing:[],//濂楃鍒楄〃 @@ -996,10 +1096,6 @@ numOptions:[], temperatureOptions:[], wareTableData:[], - otherForm:{ - humidity:null, - temperature:null, - }, equipForm:{ value0:null, code0:null, @@ -1026,35 +1122,15 @@ }, thermalCyclingLoading:false, temDataAcquisition:false, - getData:[ - { - faName:'娉㈤暱闄勫姞琛板噺', - child:[ - { - name:'1285nm~1330nm', - arr:[12,13,14,15], - }, - { - name:'1525nm~1575nm', - arr:[12,13,14,15], - }, - ] - }, - { - faName:'鎴嚦娉㈤暱', - child:[ - { - name:'鎴嚦娉㈤暱', - arr:[12,13,14,15], - } - ] - } - ], + getData:[], getDataIndex:[], getDataIndexLoading:false, changeType:null, + getDataTypeId:'', + getDataType:null, } }, + // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭� computed: { headers() { return { @@ -1078,8 +1154,10 @@ this.scrollInit() this.getPower() this.startWorker() + this.currentTableState = this.version }, watch: { + // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭� id(val) { this.loading = true this.$axios.post(this.$api.insOrderPlan.doInsOrder, { @@ -1098,38 +1176,38 @@ 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.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + // 鏄惁涓烘垚鍝佺數缂嗕笅鐨勬澗濂楃椤圭洰锛屼笉鏄垯鎵ц鍒濆鍖� + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) - this.determineWhetherToCollectData() - this.getReportModel(this.currentSample.id) + this.determineWhetherToCollectData()//鏄惁闇�瑕佹暟閲� + this.getReportModel(this.currentSample.id)//鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭� if (this.currentSample.index == undefined) this.currentSample['index'] = 1 let bushing = this.currentSample.bushing - this.getTableLists(); + this.getTableLists();//澶勭悊妯℃澘鍒楄〃淇℃伅 + this.componentData.currentId = val; this.currentKey = 1; - - // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁 + // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁---涓嬮潰淇℃伅鏆傛椂鍙拷鐣� this.fiberOpticTape = [] this.currentFiberOpticTape = null; this.fiberOptic = [] @@ -1142,33 +1220,38 @@ } }) }, + // 鐩戝惉褰撳墠妯℃澘鍙樺寲 currentTable(val1, val0) { if (val0 != null && val1 != val0) { - if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ - if(this.casing.length>0){ - this.handleChange(this.casing[0].id,3) - } - return - } - if(this.changeType&&changeType>0){ + // if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ + // if(this.casing.length>0){ + // this.handleChange(this.casing[0].id,3) + // } + // return + // } + if(this.changeType&&this.changeType>0){ + // 濡傛灉鏄厜绾ゃ�佸厜绾ゅ甫锛屽垯涓嶆墽琛屼笅闈㈡搷浣� return } this.tableLists.forEach(async (m, i) => { if (m.templateId == val1) { 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.currentSample.insProduct = this.HaveJson(list)//璧嬪�煎綋鍓嶆牱鍝佺殑妫�楠岄」 + this.param = {}//鍒濆鍖栦紶鍒板悗绔殑鍙傛暟 + this.currentSample.insProduct.forEach((a, j) => { + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) - this.getReportModel(this.currentSample.id) + this.getReportModel(this.currentSample.id)//鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭� + // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘 const mySet1 = new Set(); this.tableLists = this.currentSample.insProduct.filter(m => { let num0 = mySet1.size; @@ -1190,20 +1273,23 @@ if (this.tableLists && this.tableLists.length > 0) { this.tableList = null; this.tableList = this.tableLists.filter(m => m.templateId == val1) + // 瀵规ā鏉胯繘琛屽鐞� this.handleTableData() } } }) - this.handleCasing() } }, + // 鐗规畩妫�楠岄」--鐩戝惉璁惧淇℃伅鏀瑰彉 equipForm:{ deep:true, handler(val){ if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))&&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, @@ -1219,6 +1305,7 @@ }) } 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, @@ -1233,6 +1320,7 @@ } }) } + // 淇濆瓨鏁版嵁 this.saveInsContext() } } @@ -1243,6 +1331,22 @@ this.stopWorker(); }, methods: { + // 鍒犻櫎琛� + deleteSag(index) { + this.sagData.splice(index, 1) + }, + // 娣诲姞寮у瀭妫�娴� + addSag() { + this.sagData.push({ + sampleCode: null, + model: null, + inspection: null, + methodName: null, + tensileForce: null, + spanLength: null, + load: null + }) + }, // 鏁版嵁閲囬泦 getDataAcquisitionDevice(){ if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){ @@ -1270,7 +1374,7 @@ if(res.code!=200){ return } - // console.log(res.data) + // 璧嬪�煎洖鏄綪K8000鐨勬暟鎹� this.wareFormChange() }) }else{ @@ -1282,11 +1386,18 @@ return } this.dataAcquisitionInfoNew = this.HaveJson(res.data) + // 瀵规暟閲囧洖鏉ョ殑鍊艰繘琛屽鐞� this.handleDataAcquisition(res.data) }) } }, handleDataAcquisition(data){ + // 鏄惁鍙互缂栬緫鏁伴噰鏁版嵁 + if(this.dataAcquisitionEidtAble){ + this.getDataType = 1; + }else{ + this.getDataType = 2; + } this.dataAcquisitionInfo = {} this.getData = [] for (let i in data){ @@ -1294,17 +1405,26 @@ faName:i, child:[] } + // 寰幆鏁伴噰鏁版嵁 for(let j in data[i]){ - if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){ - this.dataAcquisitionInfo[i+','+j] = { + // 鎷兼帴瀛楃涓� 妫�楠岄」+妫�楠屽瓙椤� + let str0 = '' + if(i==j){ + str0 = i+',' + }else{ + str0 = i+','+j + } + if(j!='frequency'&&data[i][j]&&(!data[i][j].result||typeof data[i][j].result == 'string')){ + // 澶勭悊鏁伴噰淇℃伅鏍煎紡 + this.dataAcquisitionInfo[str0] = { value:data[i][j].result, frequency:data[i].frequency } let list = this.tableList[0].arr + // 寰幆椤甸潰鍒楄〃淇℃伅锛屽垽鏂暟閲囨暟鎹搴旈〉闈㈠垪琛ㄤ俊鎭殑妫�楠岄」鏄摢涓紝骞剁粰褰撳墠妫�楠岄」缁戝畾璁惧淇℃伅 list.forEach((item,index)=>{ let num0 = 0; let str = '' - let str0 = i+','+j item.forEach(m=>{ if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ @@ -1319,6 +1439,7 @@ } } } + // 缁戝畾璁惧淇℃伅 if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ if(!m.v.v){ this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) @@ -1327,7 +1448,14 @@ }) }) }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ - let str0 = i+','+j + // 濡傛灉杩斿洖鐨勬暟閲囨暟鎹槸鏁扮粍锛屽垯澶勭悊鏁扮粍 + // 浠ヤ笅閫昏緫涓鸿幏鍙栨瘡涓楠岄」鍙緭鍏ョ殑妫�楠屽�肩殑鏈�澶т釜鏁� + let str0 = '' + if(i==j){ + str0 = i+',' + }else{ + str0 = i+','+j + } let list = this.tableList[0].arr let maxNum = 0 list.forEach((item,index)=>{ @@ -1356,7 +1484,7 @@ maxNum = num } } - console.log('data[i][j].equipName',data[i][j].equipName,'data[i][j].equipValue',data[i][j].equipValue,'m.v',m.v,'m.v.ps',m.v.ps,'m.v.ps.value',m.v.ps.value,'str0',str0,'str',str,'m.v.v',m.v.v) + // 缁戝畾璁惧 if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ if(!m.v.v){ this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) @@ -1364,16 +1492,25 @@ } }) }) + // let arr3 = [] + // for (let l=0 ;i<data[i][j].result.length;i++){ + // arr3.push({ + // id:, + // value: + // }) + // } + // 鑾峰彇鍒版渶澶ф楠屽�艰緭鍏ヤ釜鏁板悗閲嶇粍鏁版嵁 let obj0 = { name:j, arr:data[i][j].result, maxNum:maxNum, value:[] } + // 濡傛灉鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏皢鏁伴噰鏁版嵁鍦ㄥ脊妗嗕腑灞曠ず锛岀敤鎴烽�夋嫨闇�瑕佹墜鍔ㄩ�夋嫨鏁伴噰鐨勪俊鎭� if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){ obj.child.push(obj0) }else{ - this.dataAcquisitionInfo[i+','+j] = { + this.dataAcquisitionInfo[str0] = { value:data[i][j].result } } @@ -1383,13 +1520,17 @@ this.getData.push(obj) } } + // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨 if(this.getData.length>0){ this.dataGetDia = true + this.getDataIndex = [] }else{ + // 濡傛灉閮戒笉瀛樺湪锛屽垯锛岃繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� try { // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 this.getDataIndexLoading = false this.dataGetDia = false + this.getDataTypeId = '' this.worker0.postMessage(JSON.stringify({ dataAcquisitionInfo: this.dataAcquisitionInfo, list:this.tableList[0].arr @@ -1402,12 +1543,17 @@ this.worker0.onmessage = (event) => { let result = JSON.parse(event.data); if(result.method=='changeInput'){ + // 閲囬泦鍚庣殑鏁版嵁锛岄渶瑕佽繘琛岃绠楃殑绾跨▼杩涜璁$畻 let {list,n} = result.value this.$set(this.tableList[0],'arr',list) this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) + }else if(result.getDataTypeId){ + // 鑾峰彇鍒版暟閲囨渶鍚庝竴椤癸紝妫�楠岄」鐨処D + this.getDataTypeId = result.getDataTypeId } }; }, + // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨锛岃繖閲屾槸寮规鐨勬彁浜� submitDataGet(){ if(this.getDataIndex.length==0){ this.$message.error('璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁') @@ -1416,6 +1562,7 @@ this.getDataIndex.sort((a, b) => a - b); for (let i=0;i<this.getData.length;i++){ for(let j=0;j<this.getData[i].child.length;j++){ + // 瀵圭敤鎴烽�夋嫨鐨勬暟閲囦俊鎭繘琛屽鐞嗭紝璧嬪�� let arr = [] for(let k=0;k<this.getDataIndex.length;k++){ arr.push( this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result[this.getDataIndex[k]]) @@ -1424,6 +1571,7 @@ } } this.getDataIndexLoading = true + // 璧嬪�煎畬鎴愬悗闇�瑕佸啀娆¤繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� this.handleDataAcquisition(this.dataAcquisitionInfoNew) }, // 澶氱嚎绋� @@ -1439,6 +1587,7 @@ // 鍒涘缓 Worker 瀹炰緥 this.worker0 = new Worker('/static/js/worker0.js'); }, + // 鍋滄澶氱嚎绋� stopWorker() { if (this.worker) { this.worker.terminate(); @@ -1451,15 +1600,23 @@ }, // 娓╁害寰幆---寮�濮� changeItem(row){ + // 鍐呯銆佸绔繘琛岃祴鍊奸�昏緫澶勭悊 + + // 璧嬪�煎埌椤甸潰 if(row.value0&&!row.value1){ + // 璧嬪�煎唴绔� this.$set(row,'comValue',Number(row.value0).toFixed(3)) }else if(!row.value0&&row.value1){ + // 璧嬪�煎绔� this.$set(row,'comValue',Number(row.value1).toFixed(3)) }else 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, @@ -1474,15 +1631,20 @@ } } ] + // 璧嬪�艰绠楀�� 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-Number(row.insProduct.complue)).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 @@ -1495,14 +1657,18 @@ }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{ + // 20(甯告俯)榛樿鍚堟牸 this.param[row.id].insResult.v.v = 1 } this.$refs.wareTableData.doLayout() + // 杩涜鏁版嵁鐨勪繚瀛� this.saveInsContext() }, + // 褰撳惊鐜鏁般�佹俯搴︾偣鍙樺寲銆丳K8000鏁伴噰鏃朵細璋冪敤锛屼富瑕佹槸鑾峰彇淇℃伅杩涜鍥炴樉 wareFormChange(m,type){ if(this.PROJECT!='妫�娴嬩腑蹇�'||!this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'){ return @@ -1525,6 +1691,7 @@ 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] = { @@ -1546,12 +1713,15 @@ } } 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, @@ -1566,9 +1736,11 @@ } } ] + // 椤甸潰鏁版嵁璧嬪�� obj.value0 = insValue[0].v obj.value1 = insValue[1].v }else if(insValue&&insValue.length==1){ + // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].insValue = [ { i:obj.id, @@ -1583,13 +1755,16 @@ } } ] + // 椤甸潰鏁版嵁璧嬪�� obj.value0 = insValue[0].v obj.value1 = '' } break; + // 璁$畻鍊艰祴鍊� case 'comValue': let comValue = JSON.parse(insProductResult[i]) if(comValue&&comValue.length>0){ + // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].comValue = [ { i:obj.id, @@ -1598,6 +1773,7 @@ } } ] + // 椤甸潰鏁版嵁璧嬪�� obj.comValue = comValue[0].v } break; @@ -1605,13 +1781,18 @@ 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:{ @@ -1621,6 +1802,7 @@ } return obj }) + // 浠ヤ笅鏄娓╁害寰幆椤甸潰鍛堢幇杩涜澶勭悊锛屽幓閲嶃�佹暟鎹噸缃瓑绛� let arr = [] let arr0 = [] let mySet = new Set() @@ -1666,13 +1848,16 @@ } arr2.push(obj) }) + // 杩欐槸椤甸潰鏈�缁堝憟鐜扮殑鏍煎紡 this.wareTableData = arr2 }) + // 鑾峰彇璁惧鍒楄〃 this.getEquipOptions(true,this.currentSample.insProduct[0].id) // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() }, // 娓╁害寰幆---缁撴潫 // 鐑惊鐜�---寮�濮� + // 寰幆娆℃暟鍒囨崲鏃惰皟鐢� thermalCyclingChange(){ this.thermalCyclingLoading = true this.$axios.post(this.$api.insOrderPlan.temCycle,{ @@ -1692,6 +1877,7 @@ } if(productVos.length>0){ this.thermalCyclingInfo.inspectionItemClass = productVos[0].insProduct.inspectionItemClass + // 鏍规嵁妫�楠岄」锛屽垵濮嬪寲浼犲埌鍚庣鐨勫弬鏁� productVos.forEach(item=>{ this.param[item.insProduct.id] = { insValue: [], @@ -1717,9 +1903,11 @@ let obj = {...item,...item.insProduct} 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>0){ this.thermalCyclingInfo.length = 0 @@ -1736,6 +1924,7 @@ a.insResult = obj.insResult } }) + // 缁欏悗绔紶鍙傝祴鍊� this.param[obj.id].insValue = [] insValue.forEach(m=>{ this.param[obj.id].insValue.push({ @@ -1752,6 +1941,7 @@ break; } } + // 缁欏悗绔紶鍙傝祴鍊� this.param[obj.id].insResult = { i:obj.id, v:{ @@ -1759,6 +1949,7 @@ } } }else{ + // 缁欓〉闈㈠垪琛ㄨ祴鍊� this.thermalCyclingInfo.arr.forEach(a=>{ a.insResult = null a.arr = [] @@ -1773,9 +1964,11 @@ } }) } + // 鑾峰彇璁惧鍒楄〃 this.getEquipOptions(true,this.currentSample.insProduct[0].id) }) }, + // 娣诲姞妫�楠屽�� handleAddThermal(){ this.thermalCyclingInfo.length++ this.thermalCyclingInfo.arr.forEach(item=>{ @@ -1785,6 +1978,7 @@ }) }) }, + // 鍒犻櫎妫�楠屽�� handleDeleteThermal(){ if(this.thermalCyclingInfo.length==1){ this.$message.error('鏈�鍚庝竴鏉℃暟鎹笉鑳藉垹闄�') @@ -1794,6 +1988,7 @@ this.thermalCyclingInfo.arr.forEach(item=>{ item.arr.pop() }) + // 鍒犻櫎鍚庨渶瑕佷繚瀛樹竴涓嬫暟鎹� this.saveThermalCycling(true,{name:'瀵肩嚎娓╁害'},true) } }, @@ -1811,6 +2006,7 @@ num0 = c.arr[i].value0 } }) + // 鍒ゆ柇缁撹 if(!num0||!b.value0){ b.state = null }else if(Number(num0)>Number(b.value0)){ @@ -1823,10 +2019,13 @@ let state0 = a.arr.filter(b=>b.state==0).length let state1 = a.arr.filter(b=>b.state==1).length if(state>0){ + // 寰呭畾 a.insResult = null }else if(state0>0){ + // 涓嶅悎鏍� a.insResult = 0 }else if(state1==a.arr.length){ + // 鍚堟牸 a.insResult = 1 } } @@ -1861,7 +2060,7 @@ }) } } - // 璧嬪�� + // 缁欏悗绔紶鍙傝祴鍊� this.thermalCyclingInfo.arr.forEach(item=>{ for (let i in this.param){ if(this.param[i].inspectionItemSubclass==item.name){ @@ -1929,28 +2128,11 @@ } } }) - // console.log(1111,this.param) + // 淇濆瓨鏁版嵁 this.saveInsContext() }, // 鐑惊鐜�---缁撴潫 - 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 @@ -1978,70 +2160,24 @@ this.collected = collected this.temDataAcquisition = temDataAcquisition }, + uploadSample(){ + this.$axios.post(this.$api.insOrderPlan.doInsOrder, { + id: this.id, + laboratory: this.sonLaboratory + }).then(async res => { + this.sampleProduct = res.data.sampleProduct + }) + }, + // 鏍规嵁绫诲瀷銆佷换鍔d銆佸疄楠屽鏉ヨ幏鍙栨牱鍝佺殑妫�楠岄」淇℃伅 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 = [] @@ -2051,29 +2187,37 @@ 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.handleCasing() - this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + // 鍒濆鍖栧悗绔紶鍙� + this.param = {} + this.changeType = 0; + this.currentSample.insProduct.forEach((a,j) => { + if(this.handleCasing(a.inspectionItem)){ + 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; + // 鍚戝绾跨▼鍘讳繚瀛橀〉闈㈠垪琛ㄦ暟鎹�,鍚庣浼犲弬,褰撳墠妯℃澘淇℃伅 this.worker.postMessage(JSON.stringify({ type: 'saveData', tableList:this.tableList, @@ -2081,11 +2225,19 @@ currentTable:this.currentTable })); }, - handleCasing(){ - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='鎴愬搧缂嗘楠屽師濮嬭褰�')){ - this.currentSample.insProduct = this.currentSample.insProduct.filter(m=>!m.inspectionItem.includes('鏉惧绠�')) + // 鏉惧绠$殑鍒ゆ柇\濡傛灉changeType涓嶇瓑浜�3閭d箞椤甸潰涓嶅睍绀烘澗濂楃妫�楠岄」 + handleCasing(inspectionItem){ + if(this.changeType!=3){ + if(inspectionItem.includes('鏉惧绠�')){ + return false + }else{ + return true + } + }else{ + return true } }, + // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁 getReportModel(id){ if(this.PROJECT!='妫�娴嬩腑蹇�'){ return @@ -2098,11 +2250,15 @@ this.casing = res.data['濂楃'] }) }, + // 濂楃,鍏夌氦甯�,鍏夌氦绛夊垏鎹�,瀵瑰簲鍘熷璁板綍妯℃澘涔熻鍒囨崲 async handleChange(m,type){ this.changeType = type if(m){ + // 鑾峰彇妫�楠岄」 let list = await this.getCurrentProduct(m,type) if(list.length>0){ + // 鍒濆鍖栧悗绔紶鍙� + this.param = {} list.forEach(a => { this.param[a.id] = { insValue: [], @@ -2113,8 +2269,11 @@ insResult: null } }) + // 椤甸潰鍒楄〃鏁版嵁澶勭悊 this.getTableLists0(list) + // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁 this.getReportModel(this.currentSample.id) + // 鍚戝绾跨▼淇濆瓨鏁版嵁 this.worker.postMessage(JSON.stringify({ type: 'saveData', tableList:this.tableList, @@ -2129,10 +2288,12 @@ } } }, + // 鏀瑰彉浠诲姟 handleChangeTask(row) { if (row.length > 0) this.id = row[0].id; this.taskVisible = false; }, + // 瀛楀吀鑾峰彇淇℃伅 getTypeDicts() { this.$axios.post(this.$api.enums.selectEnumByCategory, { category: "绱ф�ョ▼搴�" @@ -2151,6 +2312,7 @@ this.componentData.tagField.type.select = data }) }, + // 瀛楀吀鑾峰彇淇℃伅 getInsStateDicts() { this.$axios.post(this.$api.enums.selectEnumByCategory, { category: "妫�楠屼换鍔$姸鎬�" @@ -2170,6 +2332,7 @@ this.componentData.tagField.insState.select = data }) }, + // 瀛楀吀鑾峰彇淇℃伅 getComparisonList() { this.$axios.post(this.$api.enums.selectEnumByCategory, { category: "琛ㄦ牸鍧愭爣杞崲" @@ -2178,6 +2341,7 @@ this.comparisonList = data; }) }, + // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃 selectEnumByCategoryOfSelect(val) { this.enumList = [] if (val === undefined || val === null) { @@ -2195,6 +2359,7 @@ }) { row.index = rowIndex + 1; }, + // 澶勭悊椤甸潰鍒楄〃鏁版嵁--鍘婚噸,鐢熸垚妫�楠屾ā鏉垮垏鎹㈠垪琛� getTableLists() { const mySet1 = new Set(); this.tableLists = this.currentSample.insProduct.filter(m => { @@ -2218,6 +2383,10 @@ this.tableList = null; this.tableList = [this.tableLists[0]] this.currentTable = this.tableLists[0].templateId; + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')&&this.currentTableState!=0&&this.currentTableState!=1){ + this.versionDialogVisible = true + } + // 澶勭悊椤甸潰鍒楄〃鏁版嵁 this.handleTableData() } }, @@ -2246,16 +2415,20 @@ 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; + this.excelMethodList = []//excel鍑芥暟鍒楄〃 + 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({ @@ -2269,6 +2442,7 @@ mySet1.add(m.split(',')[0].replace('鈩�','')) } }) + // 鑾峰彇娓╁害鐐瑰垪琛� this.temperatureOptions = [] mySet1.forEach(m => { this.temperatureOptions.push({ @@ -2276,6 +2450,7 @@ label:m }) }) + // 鍒濆鍖栭〉闈㈡暟鎹� this.wareTableDataLoading = true this.$axios.post(this.$api.deviceScope.temDataAcquisition2,{ entrustCode:this.insOrder.entrustCode, @@ -2295,6 +2470,7 @@ // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫 // 鐑惊鐜楠屽師濮嬭褰�---寮�濮� if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ + // 鏍规嵁瑕佹眰鍊兼媶鍒嗘暟鎹�,寰楀埌椤甸潰娓叉煋鐨勪俊鎭� let ask = this.currentSample.insProduct[0].ask let askList = ask.split(';') this.thermalCyclingInfo.max = Number(askList[askList.length-1]) @@ -2317,10 +2493,11 @@ return obj }) this.thermalCyclingInfo.arr = arr; - // console.log(this.thermalCyclingInfo) + // 鍒濆鍖栭〉闈㈡暟鎹� this.thermalCyclingChange() } // 鐑惊鐜楠屽師濮嬭褰�---缁撴潫 + // 鏈寰幆涓昏鍋氶〉闈㈡覆鏌撳眰闈㈢殑澶勭悊--鍗曞厓鏍煎悎骞堕澶勭悊 this.tableList.forEach(a => { let mcList = [] a.template.forEach(b => { @@ -2349,9 +2526,10 @@ count++ }) }) + // 鏈寰幆涓昏鏄帶鍒跺悎骞�,浠ュ強鎺у埗妫�楠岄」淇℃伅鏄惁灞曠ず鍑烘潵,浠ヤ究鍚庣画妫�楠� this.tableList.forEach(a => { - let dels = new Set() - let ids = [] + let dels = new Set()//闇�瑕佸垹闄ょ殑琛� + let ids = []//鎵�鏈夋楠岄」鐨刬d let set3 = new Set() a.template.forEach(b => { let size1 = set3.size @@ -2361,6 +2539,7 @@ let count4 = 0 let isThree = 0 a.template.forEach(c => { + // 鑾峰彇鍒� 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴,濡傛灉妯℃澘閲岀殑淇℃伅璺熸帴鍙h繑鍥炵殑妫�楠岄」淇℃伅鑳藉鍖归厤鍒欏睍绀哄嚭鏉� if (b.r === c.r) { if(c.v.ps != undefined && c.v.ps.value === '妫�楠岄」鍒嗙被'&&count4 === 0){ // 涓夌骇鍒嗙被 @@ -2413,6 +2592,7 @@ .insProduct[i].inspectionItemSubclass==null||this.currentSample .insProduct[i].inspectionItemSubclass==undefined?'':this.currentSample .insProduct[i].inspectionItemSubclass + // 濡傛灉鐩哥瓑,閭d箞璇存槑鎵惧埌浜�,骞朵笖鎶奿d瀛樿捣鏉�,鍚庣画妫�楠岄」涔熶細鍦ㄩ〉闈腑鏄剧ず鍑烘潵 if (this.currentSample.insProduct[i].templateId === a.templateId && inspectionItemClass +inspectionItem+inspectionItemSubclass === str) { ids.push({ @@ -2430,6 +2610,7 @@ } } }) + // 鎿嶄綔鍒犻櫎 dels.forEach(del => { for (let b = 0; b < a.template.length; b++) { if (a.template[b].r === del) { @@ -2438,6 +2619,8 @@ } } }) + console.log(4444,a.template) + // 鎿嶄綔璧嬪��--涓昏璧嬪�煎崟浣�,璇曢獙鏂规硶绛変俊鎭� ids.forEach(id => { for (let b = 0; b < a.template.length; b++) { if (a.template[b].r === id.r) { @@ -2449,10 +2632,14 @@ .ps.value === '妫�娴嬫柟娉�')) { a.template[b].v.v = id.product.methodS } + // if (a.template[b].v.ps != undefined && (a.template[b].v.ps.value === '璇曢獙鏍囧噯')) { + // a.template[b].v.v = id.product.testRequirements + // } } } }) let set2 = new Set() + // 鍚堝苟鐨勬暟鎹鐞�,cs rs 浠h〃鍚堝苟鐨勬暟閲� a.template.forEach(b => { let size1 = set2.size let size2 = set2.add(b.mc).size @@ -2472,73 +2659,74 @@ } }) }) + // 鏈寰幆涓昏鏄鍚庣浼犲弬杩涜鍒濆鍖�,鏍峰紡閫昏緫淇敼 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 === '鏈�缁堝��') + // 缁撹涓庢渶缁堝�煎湪杩欓噷涓�涓�瀵瑰簲,浠ヤ笅涓や釜鍒楄〃闀垮害鑲畾鏄竴鏍风殑,濡傛灉鏈変笉涓�鏍�,閭d箞澶氬崐鏄ā鏉块厤缃緱闂 + 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 && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('妫�楠屽��')) { this.$set(b.v, 'v','' ) // b.v.v = '' b.u = '' - b.i && this.param[b.i].insValue.push(b) + b.i && this.param[b.i]&&this.param[b.i].insValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') { this.$set(b.v, 'v','' ) // b.v.v = '' - b.i && this.param[b.i].comValue.push(b) + b.i && this.param[b.i]&&this.param[b.i].comValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') { // b.v.v = '' this.$set(b.v, 'v', '' ) - b.i && this.param[b.i].equipValue.push(b) + b.i && this.param[b.i]&&this.param[b.i].equipValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') { this.$set(b.v, 'v', '' ) // b.v.v = '' - b.i && this.param[b.i].equipName.push(b) + b.i && this.param[b.i]&&this.param[b.i].equipName.push(b) } if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') { // b.v.v = '' this.$set(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) { + if (b.i !== undefined&&this.param[b.i]&&!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) { + if (b.i !== undefined&&this.param[b.i]&&!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) + // 濡傛灉妯℃澘鍒楄〃鐨勫嚱鏁板瓨鍦�,閭d箞鍔犲叆鍒癳xcel鍑芥暟鍒楄〃閲岄潰 if (b.v.f) { this.excelMethodList.push(b) } }) + // 浠ヤ笅鏄牱寮忓鐞嗛�昏緫 set = Array.sort(set) set.forEach(b => { let arr = [] @@ -2555,14 +2743,17 @@ this.tableWidth += (a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i]) } }) + // 鏈寰幆涓昏鏄椤甸潰鍙婂悗绔紶鍙傝繘琛屽垵濮嬪寲璧嬪�� this.currentSample.insProduct.forEach(async 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 = this.toFixed(comValue[i].v,this.param[a.id].comValue[i].v.ct) } } catch (e) {} try { + // 妫�楠屽�艰祴鍊� let insValue = JSON.parse(a.insProductResult.insValue) for (let i = 0; i < insValue.length; i++) { if(this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r)){ @@ -2574,8 +2765,10 @@ } } catch (e) {} try { + // 璁惧缂栧彿璧嬪�� let equipValue = JSON.parse(a.insProductResult.equipValue) if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ + // 鐗规畩椤圭洰鍒濆鍖� this.param[a.id].equipValue = [] for (let i = 0; i < equipValue.length; i++) { this.param[a.id].equipValue.push({ @@ -2591,13 +2784,16 @@ this.$set(this.equipForm,`code`+i,equipValue[i].v) this.param[a.id].equipValue[i].v.v = 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) if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ + // 璁惧鍚嶇О鍒濆鍖� this.param[a.id].equipName = [] for (let i = 0; i < equipName.length; i++) { this.param[a.id].equipName.push({ @@ -2608,55 +2804,42 @@ } } 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.tableLists.find(m=>m.templateId==this.currentTable).templateName=='鐑惊鐜楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁崌璇曢獙鍘熷璁板綍妯℃澘')){ + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ // 娓╁害寰幆璧嬪�� this.$set(this.equipForm,`value`+i,equipName[i].v) this.param[a.id].equipName[i].v.v = 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 = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct) + // 缁撹璧嬪�� this.param[a.id].insResult.v.v = a.insResult } catch (e) {} }) + // 瀵筫xcel鍑芥暟杩涜澶勭悊 this.handleExcelMethod() }, - changeInput(m, code, n) { - // let str = code.split('-') - // let pId = str[3] - // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){ - // let inspectionItem = '' - // let idS = [] - // let child = 0 - // for (let i in this.currentSample.insProduct) { - // if(this.currentSample.insProduct[i].id==pId){ - // inspectionItem = this.currentSample.insProduct[i].inspectionItem - // } - // } - // for (let i in this.currentSample.insProduct) { - // if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){ - // idS.push(this.currentSample.insProduct[i].id) - // } - // } - // for (let i = 0;i<idS.length;i++) { - // if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){ - // child++ - // } - // } - // if(child==0){ - // n.v.v = null - // this.$message.error('璇峰厛濉啓璁惧淇℃伅') - // return - // } - // } + // 妫�楠屽�艰緭鍏ュ悗瑙﹀彂鐨勫嚱鏁� + changeInput(m, code, n,getDataType) { + // 涓烘暟閲囧畾涔変竴涓�昏緫鍙傛暟 + if(getDataType=='getDataType'){ + this.getDataType = 2; + } if (n) { - // if (this.PROJECT === '瑁呭鐢电紗') { - // let num2 = new this.$Big(n.v.v) - // n.v.v = num2.toExponential() - // } + // 闇�瑕佺瀛﹁鏁版硶鐨勫彲浠ヨ蛋杩欓噷 + if (this.PROJECT === '妫�娴嬩腑蹇�') { + if(this.tableList.find(ele=>ele.inspectionItem=='浣撶Н鐢甸樆鐜�')){ + if(parseFloat(n.v.v)>=100000){ + let num2 = new this.$Big(n.v.v) + n.v.v = num2.toExponential() + } + } + } // 瀹氫箟涓�涓嚱鏁版潵楠岃瘉鍒嗘暟鏄惁鏈夋晥 function isValidFraction(fraction) { const [numerator, denominator] = fraction.split('/'); // 鍒嗗瓙鍜屽垎姣� @@ -2677,7 +2860,8 @@ currentSample:this.currentSample, PROJECT:this.PROJECT, param:this.param, - currentTable:this.currentTable + currentTable:this.currentTable, + getDataTypeId:this.getDataTypeId })); } catch (error) { console.log(444,error); @@ -2688,10 +2872,12 @@ this.result = JSON.parse(event.data); switch (this.result.method){ case 'saveInsContext': + console.log(`output->`,11111111111111) this.$nextTick(()=>{ // this.$delete(this.tableList[0],'arr') this.$set(this.tableList[0],'arr',this.result.value.tableList[0].arr) this.param = this.result.value.param + // 鐗规畩澶勭悊涓�涓嬬粨璁�,浼氭湁杩欑鐗规畩鎯呭喌 for (var i in this.param){ if(this.param[i].insResult&&this.param[i].insResult.v&&this.param[i].insResult.v.v){ if(this.param[i].insResult.v.v=='鍚堟牸'){ @@ -2701,39 +2887,55 @@ } } } - this.saveInsContext() + // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,鍙互鐩存帴淇濆瓨鏁版嵁 + if(this.getDataType==2){ + this.saveInsContext() + }else{ + if(this.isGet&&!this.dataAcquisitionEidtAble){ + if(this.result.value.getDataTypeId==''){ + // 濡傛灉鏄暟閲囦笉鍙紪杈戣緭鍏ョ殑鎯呭喌,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁 + return + } + // 淇濆瓨鏁版嵁 + setTimeout(()=>{ + this.saveInsContext() + },2000) + }else if(this.isGet&&this.dataAcquisitionEidtAble){ + if(this.getDataType==1){ + if(this.result.value.getDataTypeId==''){ + // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁 + return + } + this.saveInsContext() + }else{ + this.saveInsContext() + } + }else{ + this.saveInsContext() + } + } }) break; case 'tableList': this.$nextTick(()=>{ + // 鏇存柊鏁版嵁 this.$delete(this.tableList[0],'arr') this.$set(this.tableList[0],'arr',this.result.value[0].arr) }) break; case 'getCurrentInsProduct': + // 鏇存柊椤甸潰鏁版嵁 this.getCurrentInsProduct(this.result.value) break; } }; }, + // 鏄惁闇�瑕佹暟閲� async determineWhetherToCollectData(){ let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+"?managementNumber=''") this.isGet = res.data }, - 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 - } - }, + // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁 param => this.tableList[0].insProductResult getCurrentInsProduct(pId) { if (!this.tableList[0].insProductResult) { this.tableList[0].insProductResult = {} @@ -2742,6 +2944,7 @@ let value = this.param[pId][m] switch (m) { case 'comValue': + // 璧嬪�艰绠楀�� if (value && value.length > 0) { this.tableList[0].insProductResult[m] = []; value.forEach((a, i) => { @@ -2757,6 +2960,7 @@ } } break; + // 璧嬪�兼楠屽�� case 'insValue': if (value && value.length > 0) { this.tableList[0].insProductResult[m] = []; @@ -2774,6 +2978,7 @@ } } break; + // 璧嬪�艰澶囩紪鍙� case 'equipValue': if (value && value.length > 0) { this.tableList[0].insProductResult[m] = []; @@ -2790,6 +2995,7 @@ } } break; + // 璧嬪�艰澶囧悕绉� case 'equipName': if (value && value.length > 0) { this.tableList[0].insProductResult[m] = []; @@ -2806,39 +3012,31 @@ } } break; + // 璧嬪�兼渶缁堝�� case 'resValue': this.tableList[0].lastValue = value?value.v.v:'' break; + // 璧嬪�肩粨璁� case 'insResult': this.tableList[0].insResult = value?value.v.v:'' break; } } }, + // 瀵笶XCEL鍑芥暟杩涜澶勭悊 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){ + // 瀵归〉闈㈠睍绀烘暟鎹繘琛屽鐞�,@,浠h〃鎹㈣ let str = v.v?v.v:(v.v===0?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>').replace(new RegExp('@', 'g'), '<br/>'):'')) + // 瀵规暟鎹繚鐣欏皬鏁扮偣杩涜澶勭悊 if(v.ct&&v.ct.fa&&v.ct.fa.includes('.')&&str){ let num = 0 let str0 = v.ct.fa.split('.')[1] @@ -2850,6 +3048,7 @@ } return str }, + // 鑾峰彇褰撳墠杈撳叆妗嗙被鍨� getInspectionValueType(id) { for (var a in this.currentSample.insProduct) { if (this.currentSample.insProduct[a].id == id) { @@ -2857,6 +3056,7 @@ } } }, + // 鑾峰彇瑕佹眰鎻忚堪 getTell(id) { for (var a in this.currentSample.insProduct) { if (this.currentSample.insProduct[a].id == id) { @@ -2864,6 +3064,7 @@ } } }, + // 鍔ㄦ�佽幏鍙栧崟鍏冩牸瀹藉害 handleWidth(n) { let sum = 0; if (n.v.mc && n.v.mc.cs && n.v.mc.c != undefined) { @@ -2876,6 +3077,7 @@ } return sum }, + // 瀵硅緭鍏ュ�艰繘琛屾牸寮忔牎楠� handleInput (n) { try { n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ''); @@ -2895,6 +3097,7 @@ } } }, + // 鑾峰彇瑕佹眰鍊� getAsk(id) { for (var a in this.currentSample.insProduct) { if (this.currentSample.insProduct[a].id == id) { @@ -2932,6 +3135,7 @@ } } */ }, + // 鑾峰彇璁惧 getEquipOptions(e, id) { if (e) { this.equipOptions = [] @@ -2972,12 +3176,12 @@ }, // 澶嶆牳 upInsReview(e) { - if (e == 1) { - // 閫氳繃 + if (e == 1||e==2) { + // 缁х画璇曢獙 this.reviewLoading = true; this.$axios.post(this.$api.insOrderPlan.verifyPlan, { orderId: this.orderId, - type: 1, + type: e, laboratory: this.sonLaboratory, tell: null }).then(res => { @@ -2990,8 +3194,8 @@ console.error(error) this.reviewLoading = false; }) - } else { - // 涓嶉�氳繃 + } else{ + // 鍐嶆璇曢獙 this.reviewDia = true; } }, @@ -3017,17 +3221,17 @@ this.$message.error('鏈緭鍏ヤ笉閫氳繃鍘熷洜') } }, + handleSubmit(){ + if(this.insOrder.orderType=='C'){ + this.verifyUser = this.insOrder.prepareUserId + this.submit() + }else{ + this.addVerifyDia = true + } + }, submit() { if (this.verifyUser === null || this.verifyUser === '') { this.$message.error("璇锋寚瀹氬鏍镐汉鍛�") - return - } - if(!this.otherForm.humidity){ - this.$message.error("璇疯緭鍏ユ箍搴�") - return - } - if(!this.otherForm.temperature){ - this.$message.error("璇疯緭鍏ユ俯搴�") return } this.addVerifyDia = false @@ -3075,8 +3279,9 @@ orderId: this.orderId, laboratory: this.sonLaboratory, verifyUser: this.verifyUser - }).then(res => { + }).then( res => { if (res.code === 200) { + this.submitLoading = false; this.$message.success("鎿嶄綔鎴愬姛") this.$emit('goback') } @@ -3087,19 +3292,35 @@ } } - this.submitLoading = false; }).catch(error => { console.error(error) this.submitLoading = false; }) return }, + async handleCType(){ + if(this.insOrder.departmentLims=='璐ㄩ噺閮�'){ + await this.$axios.post(this.$api.insOrderPlan.verifyPlan, { + orderId: this.orderId, + type: 1, + laboratory: this.sonLaboratory, + tell: null + }).then(res => { + if (res.code === 200) { + } + }).catch(error => { + }) + } + }, + // 缁熶竴鍦ㄨ繖閲屼繚瀛樻暟鎹� saveInsContext() { - console.log(1111,this.param) try { + console.log(1111,this.param) if(this.param){ this.$axios.post(this.$api.insOrderPlan.saveInsContext, { - param: JSON.stringify(this.param) + param: JSON.stringify(this.param), + currentTable:this.currentTable, + num:this.currentSample.num1 }).then(res => { if (res.code == 201) { this.$message.error('淇濆瓨澶辫触') @@ -3119,6 +3340,7 @@ console.log(999,error); } }, + // 璁惧鏀瑰彉 changeEquip(val, n,v) { this.$set(n.v,'v',val) this.tableList[0].arr.forEach((item,index)=>{ @@ -3165,14 +3387,15 @@ } } } + // 淇濆瓨鏁版嵁 this.saveInsContext() }, getAuthorizedPerson() { this.$axios.get(this.$api.user.getUserMenu).then(res => { let data = [] - let userName = JSON.parse(localStorage.getItem("user")).name; + // let userName = JSON.parse(localStorage.getItem("user")).name; res.data.forEach(a => { - if(a.name !== userName) { + if(!this.inspectorList.includes(a.name)) { data.push({ label: a.name, value: a.id @@ -3209,6 +3432,7 @@ flag = false; }); }, + // 椤甸潰閲岄潰鍒囨崲鏍峰搧 async caretSample(num){ let index = this.currentKey + num if(index < 1){ @@ -3220,21 +3444,27 @@ } 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.handleCasing() + // 鍒濆鍖栧悗绔紶鍙� this.param = {} - this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + this.changeType = 0; + this.currentSample.insProduct.forEach((a, j) => { + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) + // 椤甸潰鏁版嵁澶勭悊 this.getTableLists() + // 鏇存柊鍒板绾跨▼ this.worker.postMessage(JSON.stringify({ type: 'saveData', tableList:this.tableList, @@ -3289,7 +3519,6 @@ 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){ @@ -3382,6 +3611,27 @@ }else{ return v } + }, + async getCurrentItem(){ + let list = await this.getCurrentProduct(this.currentSample.id,0) + this.currentSample.insProduct = this.HaveJson(list) + }, + saveVersion(){ + if(this.currentTableState!=0&&this.currentTableState!=1){ + this.$message.error('璇烽�夋嫨鐗堟湰') + return + } + this.versionLoading = true; + this.$axios.post(this.$api.insOrderPlan.chooseVersion, { + orderStateId: this.orderStateId, + version: this.currentTableState + }).then(res => { + this.versionLoading = false; + if(res.code==201){ + return + } + this.versionDialogVisible = false + }) } } } -- Gitblit v1.9.3