From 86d4b4787748a83e76d048cd6a0b5583a2cd0651 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期一, 21 四月 2025 10:00:24 +0800 Subject: [PATCH] 修改多线程导致数采不成功的问题 --- src/views/business/inspectionTask/inspection.vue | 1062 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 526 insertions(+), 536 deletions(-) diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue index f6c7d33..5a1ce4c 100644 --- a/src/views/business/inspectionTask/inspection.vue +++ b/src/views/business/inspectionTask/inspection.vue @@ -1,9 +1,7 @@ <template> - <div v-loading="loading" class="inspection"> + <div v-loading="loading" class="inspection" style="background-color: rgb(245, 247, 251);"> <el-row class="title"> - <el-col :span="4" style="padding-left: 20px; text-align: left">妫�楠屽崟璇︽儏 - </el-col> - <el-col :span="20" style="text-align: right"> + <el-col :span="8" style="text-align: left"> <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="text-align: right; padding-top: 0; display: inline"> <el-form-item label="娓╁害:" style="margin-bottom: 0"> @@ -17,21 +15,20 @@ <span style="margin-left: 4px">%</span> </el-form-item> </el-form> + </el-col> + <el-col :span="16" style="text-align: right"> <el-button size="small" type="primary" @click="refreshView">鍒锋柊</el-button> - <el-button v-if="typeSource === 1" size="small" type="primary" @click="openPurchase">杩涜揣楠岃瘉</el-button> - <el-button v-if="state === 1 && typeSource === 1" size="small" type="primary" + <el-button v-if="typeSource == 1" size="small" type="primary" @click="openPurchase">杩涜揣楠岃瘉</el-button> + <el-button v-if="state == 1 && typeSource == 1" size="small" type="primary" @click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</el-button> - <el-button size="small" type="primary" @click=" - sampleVisible = true; - uploadSample(); - ">鏍峰搧鍒囨崲</el-button> - <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">浠诲姟鍒囨崲</el-button> + <el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">鏍峰搧鍒囨崲</el-button> + <!-- <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">浠诲姟鍒囨崲</el-button>--> <el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">鎻愪氦</el-button> <!-- 澶嶆牳 --> <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">閫氳繃</el-button> <el-button v-if="state == 2" size="medium" @click="upInsReview(0)">涓嶉�氳繃</el-button> <el-button type="primary" size="small" @click="exportTable('myTable')">涓嬭浇鍘熷璁板綍</el-button> - <el-button size="small" @click="$emit('goback')">杩斿洖</el-button> + <el-button size="small" @click="goback">杩斿洖</el-button> </el-col> </el-row> <div class="search"> @@ -68,12 +65,12 @@ <el-form-item v-if="typeSource === 1" label="鍘傚瀵嗗害:"> <el-input v-model="supplierDensity" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input> </el-form-item> - <el-form-item label="褰撳墠鏍峰搧浣嶆暟:"> + <el-form-item label="褰撳墠鏍峰搧浣嶆暟:" label-width="120px"> <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag> </el-form-item> <el-form-item label="澶囨敞:"> <!-- <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span>--> - <el-input v-model="insOrder.remark" :disabled="state !== 1" clearable placeholder="璇疯緭鍏�" size="small" + <el-input v-model="insOrder.remark" :disabled="state != 1" clearable placeholder="璇疯緭鍏�" size="small" @blur="subOtherForm(insOrder.remark, 'remark')"></el-input> <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> --> </el-form-item> @@ -94,9 +91,9 @@ </el-radio-group> </div> <div style="display: flex; align-items: center"> - <el-button v-if="state === 1" size="small" type="primary" @click="openAddUnpass">鏂板涓嶅悎鏍煎娴�</el-button> - <el-button v-if="state === 1" size="small" type="primary" @click="unpassCheck">涓嶅悎鏍煎娴�</el-button> - <el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">鏌ョ湅涓嶅悎鏍煎娴�</el-button> + <!-- <el-button v-if="state == 1" size="small" type="primary" @click="openAddUnpass">鏂板涓嶅悎鏍煎娴�</el-button> + <el-button v-if="state == 1" size="small" type="primary" @click="unpassCheck">涓嶅悎鏍煎娴�</el-button> + <el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">鏌ョ湅涓嶅悎鏍煎娴�</el-button> --> <span v-if="cableTagList.length > 0"> 鐢电紗閰嶇疆锛�</span> <el-select v-if="cableTagList.length > 0" v-model="currentTab" clearable placeholder="璇烽�夋嫨" size="small" @change="(m) => handleChangeCableTag(currentSample.id, 0, 'cableTag', m) @@ -141,6 +138,10 @@ type="success">宸叉</el-tag> </el-option> </el-select> + <!-- 缃戝垎浠暟閲囧浗浜�/杩涘彛 --> + <NetworkAnalyzerDataAcquisition :itemList="currentSample.insProduct" :param="param" + :equipOptions="equipOptions" + v-if="currentSample.insProduct && currentSample.insProduct.length > 0 && param" /> <el-button :loading="dataAcquisitionLoading" v-if="state == 1" size="small" type="primary" @click="getDataAcquisitionDevice">鏁版嵁閲囬泦</el-button> <el-button :type="dataAcquisitionEidtAble ? '' : 'primary'" v-if="state == 1" size="small" @@ -149,74 +150,62 @@ </div> </div> <!-- 甯歌妫�楠屽師濮嬭褰� --> - <div 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('娓╁崌璇曢獙') && - tableLists.find((m) => m.templateId == currentTable).templateName != - '寮у瀭鐗规�ф楠屽師濮嬭褰�') - " id="nav" v-loading="tableLoading" class="center-box"> - <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1" - cellpadding="10" class="tables" id="myTable"> - <tbody> - <tr style="white-space: nowrap"> - 濮旀墭缂栧彿锛歿{ - insOrder.entrustCode - }} - </tr> - <tr v-for="(m, i) in item.arr" :key="i"> - <td v-for="(n, j) in m" v-if="n.v.mc == undefined || Object.keys(n.v.mc).length === 4" - :id="item.templateId + '-' + n.i + '-' + n.r + '-' + n.c" :key="j" - :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-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r] - }px;`" class="content"> - <template v-if=" - n.v.ps != undefined && - typeof n.v.ps.value === 'string' && - n.v.ps.value.includes('妫�楠屽��') && - state == 1 - "> - <el-input v-if="getInspectionValueType(n.i) == 1" - :key="'abc-' + '000' + index + '000' + i + '000' + j" v-model="n.v.v" :disabled="(getInspectionItemType(n.i) == 1 && - !dataAcquisitionEidtAble) || + <div id="nav" v-loading="tableLoading" class="center-box"> + <template v-if="tableLists.find((m) => m.templateId == currentTable)"> + <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1" + cellpadding="10" class="tables" id="myTable"> + <tbody> + <tr style="white-space: nowrap"> + 濮旀墭缂栧彿锛歿{ + insOrder.entrustCode + }} + </tr> + <tr v-for="(m, i) in item.arr" :key="i"> + <td v-for="(n, j) in m" v-if="n.v.mc == undefined || Object.keys(n.v.mc).length === 4" + :id="item.templateId + '-' + n.i + '-' + n.r + '-' + n.c" :key="j" + :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-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r] + }px;`" class="content"> + <template v-if="n.v.ps != undefined && + typeof n.v.ps.value === 'string' && + n.v.ps.value.includes('妫�楠屽��') && + state == 1 + "> + <el-input v-if="getInspectionValueType(n.i) == 1" + :key="'abc-' + '000' + index + '000' + i + '000' + j" v-model="n.v.v" :disabled="(getInspectionItemType(n.i) == 1 && + !dataAcquisitionEidtAble) || + (n.u != userId && n.u != undefined && n.u != '') + " class="table_input" @change="(m) => + changeInput( + m, + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType' + ) + " @input="handleInput(n)" @mousewheel.native.prevent @keydown.enter=" + changeInput( + '', + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType' + ) + "> + </el-input> + <el-input v-else-if="getInspectionValueType(n.i) == 2" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '') - " class="table_input" @change="(m) => + " class="table_input" type="textarea" @change="(m) => changeInput( m, `${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType' ) - " @input="handleInput(n)" @mousewheel.native.prevent @keydown.enter=" - changeInput( - '', - `${item.templateId}-${n.r}-${n.c}-${n.i}`, - n, - 'getDataType' - ) - "> - </el-input> - <el-input v-else-if="getInspectionValueType(n.i) == 2" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1 || - (n.u != userId && n.u != undefined && n.u != '') - " class="table_input" type="textarea" @change="(m) => - changeInput( - m, - `${item.templateId}-${n.r}-${n.c}-${n.i}`, - n, - 'getDataType' - ) - " /> - <!-- <el-select v-else-if="getInspectionValueType(n.i) == 5" v-model="n.v.v" :disabled="state > 1 || + " /> + <!-- <el-select v-else-if="getInspectionValueType(n.i) == 5" v-model="n.v.v" :disabled="state > 1 || getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '') " class="table_input" @change="(m) => @@ -229,141 +218,147 @@ " @visible-change="(e) => getDic(e, n.i)"> <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> </el-select> --> - <span v-else-if="getInspectionValueType(n.i) == 4" - :style="`font-family:${n.v.ff} !important;`">/</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) && + <span v-else-if="getInspectionValueType(n.i) == 4" + :style="`font-family:${n.v.ff} !important;`">/</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 && (n.u != userId && n.u != undefined && n.u != '') + " v-model="n.v.v" class="table_input" @change="(m) => + changeInput( + m, + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType', + 'changeSelect' + ) + "> + <el-option :value="1" label="鍚堟牸"></el-option> + <el-option :value="0" label="涓嶅悎鏍�"></el-option> + <el-option :value="3" label="涓嶅垽瀹�"></el-option> + <el-option :value="2" label="寰呭畾"></el-option> + </el-select> + <template v-if="state > 1"> + <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 v-if="getInspectionValueType(n.i) != 2 && + state == 1"> + <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> + <template v-else-if="n.v.ps != undefined && + n.v.ps.value === '璁惧缂栫爜' && state == 1 - " v-model="n.v.v" class="table_input" @change="(m) => - changeInput( - m, - `${item.templateId}-${n.r}-${n.c}-${n.i}`, - n, - 'getDataType', - 'changeSelect' - ) - "> - <el-option :value="1" label="鍚堟牸"></el-option> - <el-option :value="0" label="涓嶅悎鏍�"></el-option> - <el-option :value="3" label="涓嶅垽瀹�"></el-option> - <el-option :value="2" label="寰呭畾"></el-option> - </el-select> - <template v-if="state > 1"> - <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 v-if=" - PROJECT == '妫�娴嬩腑蹇�' || - (PROJECT == '瑁呭鐢电紗' && - getInspectionValueType(n.i) != 2 && - state == 1) "> - <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> + <span>{{ n.v.v }}</span> </template> - </template> - <template v-else-if=" - n.v.ps != undefined && - n.v.ps.value === '璁惧缂栫爜' && - state == 1 - "> - <span>{{ n.v.v }}</span> - </template> - <template v-else-if=" - n.v.ps != undefined && n.v.ps.value === '璁惧鍚嶇О' - "> - <el-select v-model="n.v.v" :disabled="state > 1" class="table_input" filterable multiple - placeholder="璁惧" remote @change="(val) => changeEquip(val, n)" - @visible-change="(e) => getEquipOptions(e, n.i)"> - <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" :value="item.value"> - {{ item.label + "--" + 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 - "><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 === '鏈�缁堝��' && - state == 1 - "> - <span :style="`font-family:${n.v.ff} !important;`">{{ + <template v-else-if=" + n.v.ps != undefined && n.v.ps.value === '璁惧鍚嶇О' + "> + <el-select v-model="n.v.v" + :disabled="state > 1 || (n.u != userId && n.u != undefined && n.u != '')" class="table_input" + filterable multiple placeholder="璁惧" remote @change="(val) => changeEquip(val, n)" + @visible-change="(e) => getEquipOptions(e, n.i)"> + <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" + :value="item.value"> + {{ item.label + "--" + 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 + "><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 :title="currentSample.sampleCode" style=" + }}</span></template> + <template v-else-if=" + n.v.ps != undefined && + n.v.ps.value === '鏈�缁堝��' && + state == 1 + "> + <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 :title="currentSample.sampleCode" style=" display: flex; flex-wrap: nowrap; align-items: center; width: 100%; "> - <i v-if="!currentFiberOpticTape && !currentFiberOptic" class="el-icon-caret-left table_caret" - style="width: 16px" @click="caretSample(-1)"></i> - <div - :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`"> - {{ currentSample.sampleCode }} + <i class="el-icon-caret-left table_caret" style="width: 16px" @click="caretSample(-1)"></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" @click="caretSample(1)"></i> </div> - <i v-if="!currentFiberOpticTape && !currentFiberOptic" class="el-icon-caret-right table_caret" - style="width: 16px" @click="caretSample(1)"></i> - </div> - </template> - <template v-else-if=" - n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿' - "> - <div v-if=" - currentSample.model !== undefined && - currentSample.model !== null - " :style="`font-family:${n.v.ff} !important;`"> - {{ currentSample.model }} - </div> - </template> - <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)"></span> - </div> - </td> - </tr> - </tbody> - </table> + </template> + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿' + "> + <div v-if="currentSample.model !== undefined && + currentSample.model !== null + " :style="`font-family:${n.v.ff} !important;`"> + {{ currentSample.model }} + </div> + </template> + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '璧峰鏃堕棿' + "> + <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span> + <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" @change="(val) => changeTestTime(val, n, 'testStartTime')"> + </el-date-picker> + </template> + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '缁堟鏃堕棿' + "> + <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span> + <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" @change="(val) => changeTestTime(val, n, 'testEndTime')"> + </el-date-picker> + </template> + <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)"></span> + </div> + </td> + </tr> + </tbody> + </table> + </template> </div> <el-upload v-if="state == 1" ref="upload" :action="action" :before-upload="beforeUpload" :data="{ orderId: id, - }" :headers="headers" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false" - accept=".jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar" style="width: 80px !important"> + }" :headers="uploadHeader" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false" + accept=".jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar" + style="width: 80px !important;margin-top: 10px;"> <el-button v-if="state == 1" size="small" type="primary">闄勪欢涓婁紶</el-button></el-upload> <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" - :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> - <!-- <ValueTable :key="upIndex" ref="fileList" :componentData="componentData0" :delUrl="$api.insOrderPlan.delfile" - :url="$api.insOrderPlan.getFileList" class="value-table" style="height: 100%; margin-top: 16px" /> --> + :height="'calc(100vh - 290px)'" @pagination="pagination" style="height: 100%; margin-top: 16px"></lims-table> </div> <el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲"> <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct" - :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%" - highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample"> + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :row-class-name="tableRowClassName" + :row-key="(record) => record.index" border class="el-table" height="100%" highlight-current-row + tooltip-effect="dark" @row-click="handleChangeSample"> <el-table-column :key="Math.random()" align="center" label="搴忓彿" type="index" width="70px"> </el-table-column> <el-table-column label="鏍峰搧缂栧彿" min-width="100px" prop="sampleCode" show-overflow-tooltip></el-table-column> @@ -374,7 +369,6 @@ size="medium" style="margin-right: 5px">{{ item.label }}</el-tag> </template> </el-table-column> - <el-table-column label="妫�楠屼汉" min-width="80px" prop="checkName" show-overflow-tooltip></el-table-column> <el-table-column align="center" label="鏄惁鐣欐牱" prop="isLeave" show-overflow-tooltip width="95px"> <template slot-scope="scope"> <span>{{ scope.row.isLeave == 0 ? "鍚�" : "鏄�" }}</span> @@ -390,8 +384,8 @@ </el-table> </el-drawer> <el-drawer :size="500" :visible.sync="taskVisible" title="浠诲姟鍒囨崲"> - <!-- <ValueTable :key="upIndex" ref="insOrderPlan" :componentData="componentData" - :url="$api.insOrderPlan.inspectionOrderDetailsTaskSwitching" class="value-table" style="height: 100%" /> --> + <lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading0" + :height="'calc(100vh - 90px)'" :currentChange="handleChangeTask"></lims-table> </el-drawer> <el-dialog :visible.sync="reviewDia" title="妫�楠屽鏍�" width="500px"> <div v-if="reviewDia" class="body" style="display: flex; padding: 10px"> @@ -521,42 +515,26 @@ </el-dialog> <add-un-pass v-if="addUnPassDialog" ref="addUnPassDialog" :addUnPassDialog="addUnPassDialog" @resetAddUnPass="resetAddUnPass"></add-un-pass> - <!-- <UnPassDialog - v-if="unPassDialog" - ref="unPassDialog" - :orderId="orderId" - :unPassDialog="unPassDialog" - @resetForm="resetForm" - ></UnPassDialog> --> - <!-- <InspectionWord - v-if="unPassCheck" - :inspectorList="inspectorList" - :orderId="orderId" - :rawMaterialTag="rawMaterialTag" - :sonLaboratory="sonLaboratory" - :state="state" - :typeSource="typeSource" - :unPassCheck="unPassCheck" - @closeUnPassCheckDialog="closeUnPassCheckDialog" - @refreshView="refreshView" - /> --> - <!-- <purchase-verification - v-if="purchaseDialog" - ref="purchaseDialog" - :orderId="orderId" - :purchaseDialog="purchaseDialog" - @resetPurchaseDialog="resetPurchaseDialog" - ></purchase-verification> --> + <UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog" + @resetForm="resetForm"></UnPassDialog> + <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId" + :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource" + :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" /> + <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" :workShopId="workShopId" + :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification> + <!--鏌ョ湅宸ユ椂寮规--> + <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia> </div> </template> <script> import excelFunction from "@/utils/excelFountion"; import limsTable from "@/components/Table/lims-table.vue"; -// import UnPassDialog from "../b1-unpass-manage/unPassDialog.vue"; -// import AddUnPass from "../b1-unpass-manage/addUnPass.vue"; -// import InspectionWord from "./InspectionWord.vue"; -// import PurchaseVerification from "../b1-unpass-manage/PurchaseVerification.vue"; +import UnPassDialog from "../unpass/components/unPassDialog.vue"; +import AddUnPass from "../unpass/components/addUnPass.vue"; +import InspectionWord from "./components/InspectionWord.vue"; +import NetworkAnalyzerDataAcquisition from "./components/NetworkAnalyzerDataAcquisition.vue"; +import PurchaseVerification from "../unpass/components/PurchaseVerification.vue"; import { doInsOrder, getCableTag, @@ -565,8 +543,6 @@ dataCollection, write, getInsProduct, - getReportModel, - determineWhetherToCollectData, search, verifyPlan, checkSubmitPlan, @@ -575,22 +551,29 @@ selectUserCondition, downFile, getFileList, - delfile + delfile, + inspectionOrderDetailsTaskSwitching } from "@/api/business/inspectionTask.js"; +import InspectionWorker from '../../../workers/InspectionWorker.worker'; +import DataWorker from '../../../workers/DataWorker.worker'; import html2canvas from "html2canvas"; import { mapGetters } from "vuex"; +import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue"; export default { - // props: ["sonLaboratory", "orderId", "state", "inspectorList", "typeSource"], + name: 'Inspection', components: { - // PurchaseVerification, - // AddUnPass, + viewManHourDia, + PurchaseVerification, + AddUnPass, limsTable, - // UnPassDialog, - // InspectionWord, + UnPassDialog, + InspectionWord, + NetworkAnalyzerDataAcquisition, }, data() { return { sonLaboratory: null, + workShopId: null, orderId: null, state: null, inspectorList: null, @@ -606,7 +589,6 @@ load: null, }, dataGetDia: false, - wareTableDataLoading: false, fileAdd: false, sampleVisible: false, taskVisible: false, @@ -616,34 +598,7 @@ state: null, }, id: null, - 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: [], - }, changeType: null, - getReportModelLoading: false, insOrder: {}, sampleProduct: [], supplierDensity: "", // 鍘傚瀵嗗害 @@ -672,30 +627,14 @@ 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: [], - casing: [], currentTab: null, wareForm: { inspectionItem: 1, inspectionItemSubclass: "20(甯告俯)", }, - wareForm0: {}, - numOptions: [], - temperatureOptions: [], - wareTableData: [], otherForm: { humidity: null, temperature: null, @@ -713,18 +652,8 @@ dataAcquisitionInfo: {}, dataAcquisitionInfoNew: {}, dataAcquisitionEidtAble: false, - isGet: false, dataAcquisitionLoading: false, collected: false, - // 鐑惊鐜�---寮�濮� - thermalCyclingInfo: { - max: 0, - inspectionItem: 1, - arr: [], - length: 1, - inspectionItemClass: null, - }, - thermalCyclingLoading: false, temDataAcquisition: false, getData: [ { @@ -781,7 +710,7 @@ } else { return '鏂囦欢' } - }, + } }, { label: "闄勪欢鍚嶇О", prop: "fileName" }, { label: "涓婁紶浜�", prop: "name" }, @@ -818,25 +747,52 @@ }, tableLoading: false, // 鏂囦欢鍒楄〃鐩稿叧--缁撴潫 + // 浠诲姟鍒囨崲鍒楄〃--寮�濮� + tableData0: [], + column0: [ + { label: "濮旀墭缂栧彿", prop: "entrustCode", width: '160px' }, + { label: "妫�楠屽璞�", prop: "sampleType", width: '140px' }, + { + label: "绱ф�ョ▼搴�", prop: "type", dataType: "tag", + formatData: (params) => { + return this.urgentList.find(m => m.value == params).label + }, + formatType: (params) => { + return this.urgentList.find(m => m.value == params).type + } + }, + { + label: "鐘舵��", prop: "insState", dataType: "tag", + formatData: (params) => { + return this.typeList.find(m => m.value == params).label + }, + formatType: (params) => { + return this.typeList.find(m => m.value == params).type + } + }, + { label: "绾﹀畾鏃堕棿", prop: "appointed", width: '140px' }, + { label: "涓嬪彂鏃堕棿", prop: "sendTime", width: '140px' }, + ], + page0: { + total: 0, + size: -1, + current: -1, + }, + tableLoading0: false, + // 浠诲姟鍒囨崲鍒楄〃--缁撴潫 }; }, // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭� computed: { ...mapGetters(["userId"]), - headers() { - return { - token: sessionStorage.getItem("token"), - }; - }, action() { return this.javaApi + "/insOrderPlan/uploadFile"; }, }, created() { - this.componentData.entity.sonLaboratory = this.sonLaboratory; - this.getUserInfo(); - let { sonLaboratory, orderId, state, inspectorList, typeSource } = + let { sonLaboratory, orderId, state, inspectorList, typeSource, workShopId } = this.$route.query; + this.workShopId = workShopId this.sonLaboratory = sonLaboratory; this.orderId = orderId; this.id = this.orderId; @@ -849,89 +805,23 @@ this.getInsStateDicts(); this.getComparisonList(); this.getAuthorizedPerson(); - this.scrollInit(); - // this.getPower(); this.startWorker(); + // this.getList0() // 浠诲姟鍒囨崲 + this.scrollInit(); + }, + activated() { + this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」 + this.getInsStateDicts(); + this.getComparisonList(); + this.getAuthorizedPerson(); + this.startWorker(); + // this.getList0() // 浠诲姟鍒囨崲 + this.scrollInit(); }, watch: { // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭� id(val) { - this.loading = true; - doInsOrder({ - id: val, - laboratory: this.sonLaboratory, - }).then(async (res) => { - this.insOrder = res.data.insOrder; - this.supplierDensity = res.data.supplierDensity; - this.getList() - 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) { - this.$emit("goback"); - return this.$message.error("璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�"); - } - // 璧嬪�煎綋鍓嶆牱鍝佸垪琛� - this.sampleProduct = res.data.sampleProduct; - this.currentSample = this.HaveJson(this.sampleProduct[0]); - let insProduct = this.HaveJson(this.currentSample.insProduct); - // 娓╁害銆佹箍搴﹁祴鍊� - this.otherForm = { - temperature: this.insOrder.temperature - ? this.insOrder.temperature - : null, - humidity: this.insOrder.humidity ? this.insOrder.humidity : null, - }; - if (this.typeSource == "1") { - this.getRawMaterialTag(this.currentSample.id); // 鍘熸潗鏂欑殑妫�楠屼换鍔℃煡璇㈡壒鏁� - this.rawMaterialTag = "1"; - } - this.getEquipOptions(1); - // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」 - let list = await this.getCurrentProduct(this.currentSample.id, 0); - this.currentSample.insProduct = this.HaveJson(list); - // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁� - this.param = {}; - this.changeType = 0; - this.currentSample.insProduct.forEach((a) => { - // 鏄惁涓烘垚鍝佺數缂嗕笅鐨勬澗濂楃椤圭洰锛屼笉鏄垯鎵ц鍒濆鍖� - if (this.handleCasing(a.inspectionItem)) { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null, - }; - } - }); - this.determineWhetherToCollectData(); //鏄惁闇�瑕佹暟閲� - this.getReportModel(this.currentSample.id); //鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭� - if (this.currentSample.index == undefined) - this.currentSample["index"] = 1; - let bushing = this.currentSample.bushing; - this.getTableLists(); //澶勭悊妯℃澘鍒楄〃淇℃伅 - - this.componentData.currentId = val; - this.currentKey = 1; - this.getCableTag(this.currentSample.id); // 鏌ヨ鏄惁鏈夎澶氭妫�楠岀殑鐢电紗閰嶇疆 - this.getRepetitionTag(this.currentSample.id); // 鏌ヨ鏄惁鏈夎閲嶅妫�楠岄」 - // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁---涓嬮潰淇℃伅鏆傛椂鍙拷鐣� - this.fiberOpticTape = []; - this.currentFiberOpticTape = null; - this.fiberOptic = []; - this.currentFiberOptic = null; - this.bushing = []; - this.currentBushing = null; - this.currentTab = null; - if (bushing && bushing.length > 0) { - this.bushing = bushing; - } - }); + this.refreshView() }, // 鐩戝惉褰撳墠妯℃澘鍙樺寲 currentTable(val1, val0) { @@ -946,18 +836,17 @@ 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.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null, + testEndTime: [], + testStartTime: [], + }; }); - this.getReportModel(this.currentSample.id); //鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭� // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘 const mySet1 = new Set(); this.tableLists = this.currentSample.insProduct.filter((m) => { @@ -1029,17 +918,32 @@ confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning", - }) - .then(() => { - delfile({ id: row.id }).then((res) => { - if (res.code == 201) return; - this.$message.success("鍒犻櫎鎴愬姛"); - this.refresh(); - }); - }) - .catch(() => { }); + }).then(() => { + delfile({ id: row.id }).then((res) => { + this.$message.success("鍒犻櫎鎴愬姛"); + this.getList(); + }); + }).catch(() => { }); }, // 鏂囦欢绠$悊--缁撴潫 + + // 浠诲姟鍒囨崲--寮�濮� + getList0() { + this.tableLoading0 = true; + let param = { userId: this.userId, sonLaboratory: this.sonLaboratory, ...this.page0 }; + delete param.total; + inspectionOrderDetailsTaskSwitching({ ...param }) + .then((res) => { + this.tableLoading0 = false; + if (res.code === 200) { + this.tableData0 = res.data.records; + } + }) + .catch((err) => { + this.tableLoading0 = false; + }); + }, + // 浠诲姟鍒囨崲--缁撴潫 closeAddVerifyDia() { this.addCheck = false; @@ -1047,7 +951,67 @@ }, // 鍒锋柊椤甸潰 refreshView() { - this.$emit("refreshView"); + this.loading = true; + doInsOrder({ + id: this.id, + laboratory: this.sonLaboratory, + }).then(async (res) => { + this.insOrder = res.data.insOrder; + this.supplierDensity = res.data.supplierDensity; + this.getList() + 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) { + this.goback(); + return this.$message.error("璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�"); + } + // 璧嬪�煎綋鍓嶆牱鍝佸垪琛� + this.sampleProduct = res.data.sampleProduct; + this.currentSample = this.HaveJson(this.sampleProduct[0]); + // let insProduct = this.HaveJson(this.currentSample.insProduct); + // 娓╁害銆佹箍搴﹁祴鍊� + this.otherForm = { + temperature: this.insOrder.temperature + ? this.insOrder.temperature + : null, + humidity: this.insOrder.humidity ? this.insOrder.humidity : null, + }; + if (this.typeSource == "1") { + this.getRawMaterialTag(this.currentSample.id); // 鍘熸潗鏂欑殑妫�楠屼换鍔℃煡璇㈡壒鏁� + this.rawMaterialTag = "1"; + } + this.getEquipOptions(1); + // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」 + let list = await this.getCurrentProduct(this.currentSample.id, 0); + this.currentSample.insProduct = this.HaveJson(list); + // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁� + this.param = {}; + this.changeType = 0; + this.currentSample.insProduct.forEach((a) => { + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null, + testEndTime: [], + testStartTime: [], + }; + }); + if (this.currentSample.index == undefined) + this.currentSample["index"] = 1; + let bushing = this.currentSample.bushing; + this.getTableLists(); //澶勭悊妯℃澘鍒楄〃淇℃伅 + + this.currentKey = 1; + this.getCableTag(this.currentSample.id); // 鏌ヨ鏄惁鏈夎澶氭妫�楠岀殑鐢电紗閰嶇疆 + this.getRepetitionTag(this.currentSample.id); // 鏌ヨ鏄惁鏈夎閲嶅妫�楠岄」 + }); }, closeUnPassCheckDialog() { this.unPassCheck = false; @@ -1127,7 +1091,7 @@ }, // 鎵撳紑杩涜揣楠岃瘉寮规 openPurchase() { - const operationType = this.state === 1 ? "add" : "view"; + const operationType = this.state == 1 ? "add" : "view"; this.purchaseDialog = true; const item = { id: this.currentSample.id, @@ -1167,6 +1131,8 @@ this.dataAcquisitionInfoNew = this.HaveJson(res.data); // 瀵规暟閲囧洖鏉ョ殑鍊艰繘琛屽鐞� this.handleDataAcquisition(res.data); + }).catch(err => { + this.dataAcquisitionLoading = false; }); }, objectOrder(obj) { @@ -1187,7 +1153,6 @@ this.dataAcquisitionInfo = {}; this.getData = []; for (let i in this.objectOrder(data)) { - console.log("i---", i); let obj = {}; if (i.includes("@")) { obj = { @@ -1336,11 +1301,11 @@ n.v.ps.value.includes("妫�楠屽��") ) { num++; + if (str0 == str) { + maxNum = num; + } } }); - if (str0 == str) { - maxNum = num; - } } // 缁戝畾璁惧 if ( @@ -1506,16 +1471,17 @@ }, // 澶氱嚎绋� startWorker() { + console.log(`Worker 绾跨▼寮�濮嬭繍琛�...`, this.worker, this.worker0) if (this.worker) { this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� } // 鍒涘缓 Worker 瀹炰緥 - this.worker = new Worker("/static/js/worker.js"); + this.worker = new InspectionWorker(); if (this.worker0) { this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� } // 鍒涘缓 Worker 瀹炰緥 - this.worker0 = new Worker("/static/js/worker0.js"); + this.worker0 = new DataWorker(); }, // 鍋滄澶氱嚎绋� stopWorker() { @@ -1528,15 +1494,12 @@ this.worker0 = null; } }, - // 鐑惊鐜�---缁撴潫 // 淇濆瓨婀垮害銆佹俯搴︽暟鎹� subOtherForm(m, type) { - console.log("m---", m); write({ [type]: type === "remark" ? m : Number(m), id: this.insOrder.id, }).then((res) => { - if (res.code == 201) return; this.$message.success("淇濆瓨鎴愬姛"); }); }, @@ -1555,34 +1518,6 @@ a.download = "table.png"; a.click(); }); - }, - // 鏉冮檺鑾峰彇 - getPower() { - let power = JSON.parse(sessionStorage.getItem("power")); - let fileDel = false; - let fileAdd = false; - let collected = false; - let temDataAcquisition = false; - for (var i = 0; i < power.length; i++) { - if (power[i].menuMethod == "uploadFile") { - fileAdd = true; - } - if (power[i].menuMethod == "delfile") { - fileDel = true; - } - if (power[i].menuMethod == "isItAllowedToModifyTheCollectedValues") { - collected = true; - } - if (power[i].menuMethod == "temDataAcquisition") { - temDataAcquisition = true; - } - } - if (!fileDel) { - // this.componentData0.do.splice(1, 1); - } - this.fileAdd = fileAdd; - this.collected = collected; - this.temDataAcquisition = temDataAcquisition; }, uploadSample() { doInsOrder({ @@ -1609,7 +1544,7 @@ repetitionTag: this.repetitionTag }); this.tableLoading = false; - if (res.data.length > 0) { + if (res.data) { return res.data; } }, @@ -1617,13 +1552,6 @@ 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); @@ -1634,23 +1562,17 @@ 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.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null, + testEndTime: [], + testStartTime: [], + }; }); - // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁 - this.getReportModel(row.id); - let bushing = this.currentSample.bushing; - if (bushing && bushing.length > 0) { - this.bushing = bushing; - } // 澶勭悊椤甸潰鍒楄〃鏁版嵁 this.getTableLists(); this.currentKey = row.index; @@ -1665,33 +1587,6 @@ currentTable: this.currentTable, }) ); - }, - // 鏉惧绠$殑鍒ゆ柇\濡傛灉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; - } - this.getReportModelLoading = true; - getReportModel({ - sampleId: id - }).then((res) => { - this.getReportModelLoading = false; - this.fibers = res.data["鍏夌氦甯�"]; - this.fiber = res.data["鍏夌氦"]; - this.casing = res.data["濂楃"]; - }); }, async handleChangeCableTag(m, type, num, m2) { let cableTag = ""; @@ -1721,10 +1616,11 @@ equipValue: [], equipName: [], insResult: null, + testEndTime: [], + testStartTime: [], }; }); this.getTableLists0(list); - this.getReportModel(this.currentSample.id); this.worker.postMessage( JSON.stringify({ type: "saveData", @@ -1743,21 +1639,19 @@ }, // 鏀瑰彉浠诲姟 handleChangeTask(row) { - if (row.length > 0) this.id = row[0].id; + if (row) this.id = row.id; this.taskVisible = false; }, // 瀛楀吀鑾峰彇淇℃伅 getTypeDicts() { this.getDicts("urgency_level").then((response) => { this.urgentList = this.dictToValue(response.data); - this.componentData.tagField.type.select = this.urgentList; }); }, // 瀛楀吀鑾峰彇淇℃伅 getInsStateDicts() { this.getDicts("inspection_task_state").then((response) => { this.typeList = this.dictToValue(response.data); - this.componentData.tagField.insState.select = this.typeList; }); }, // 瀛楀吀鑾峰彇淇℃伅 @@ -2084,6 +1978,12 @@ ) { 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.radius; + } } } }); @@ -2123,6 +2023,7 @@ (n) => n.v.ps != undefined && n.v.ps.value === "鏈�缁堝��" ); //鏈�缁堝�煎垪琛� a.template.forEach((b) => { + // console.log(444444, b) if ( b.v.ps != undefined && b.v.ps.value === "搴忓彿" && @@ -2145,6 +2046,10 @@ this.$set(b.v, "v", ""); // b.v.v = '' b.u = ""; + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } b.i && this.param[b.i] && this.param[b.i].insValue.push(b); } if (b.v.ps != undefined && b.v.ps.value === "璁$畻鍊�") { @@ -2159,8 +2064,31 @@ } if (b.v.ps != undefined && b.v.ps.value === "璁惧鍚嶇О") { this.$set(b.v, "v", ""); + b.u = ""; + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } // b.v.v = '' b.i && this.param[b.i] && this.param[b.i].equipName.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "璧峰鏃堕棿") { + this.$set(b.v, "v", ''); + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } + // this.param[b.i].testStartTime = [] + b.i && this.param[b.i] && this.param[b.i].testStartTime.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "缁堟鏃堕棿") { + this.$set(b.v, "v", ""); + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } + // this.param[b.i].testEndTime = [] + b.i && this.param[b.i] && this.param[b.i].testEndTime.push(b); } if (b.v.ps != undefined && b.v.ps.value === "鏈�缁堝��") { // b.v.v = '' @@ -2174,6 +2102,11 @@ } } if (b.v.ps != undefined && b.v.ps.value === "缁撹") { + b.u = ""; + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } if ( b.i !== undefined && this.param[b.i] && @@ -2196,7 +2129,8 @@ } }); // 浠ヤ笅鏄牱寮忓鐞嗛�昏緫 - set = Array.sort(set); + set = [...set] + // set = set.sort(); set.forEach((b) => { let arr = []; a.template.forEach((c) => { @@ -2295,6 +2229,24 @@ } catch (e) { console.log("璁惧鍚嶇О璧嬪��----", e); } + try { + // 璧峰鏃堕棿璧嬪�� + let testStartTime = a.insProductResult.testStartTime ? JSON.parse(a.insProductResult.testStartTime) : [] + for (let i = 0; i < testStartTime.length; i++) { + // 鏅�氳澶囧悕绉拌祴鍊� + this.param[a.id].testStartTime[i].v.v = testStartTime[i].v; + } + } catch (e) { + + } + try { + // 缁堟鏃堕棿璧嬪�� + let testEndTime = a.insProductResult.testEndTime ? JSON.parse(a.insProductResult.testEndTime) : [] + for (let i = 0; i < testEndTime.length; i++) { + // 鏅�氳澶囧悕绉拌祴鍊� + this.param[a.id].testEndTime[i].v.v = testEndTime[i].v; + } + } catch (e) { } try { // 鏈�缁堝�艰祴鍊� this.param[a.id].resValue.v.v = this.toFixed( @@ -2407,11 +2359,6 @@ } }, 200); }, - // 鏄惁闇�瑕佹暟閲� - async determineWhetherToCollectData() { - let res = await determineWhetherToCollectData({ managementNumber: '' }) - this.isGet = res.data; - }, // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁 param => this.tableList[0].insProductResult getCurrentInsProduct(pId) { if (!this.tableList[0].insProductResult) { @@ -2496,6 +2443,46 @@ console.log(888, error); } } + break; + // 璧嬪�艰捣濮嬫椂闂� + case "testEndTime": + 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); + }); + try { + this.tableList[0].insProductResult[m] = JSON.stringify( + this.tableList[0].insProductResult[m] + ); + } catch (error) { + console.log(888, error); + } + } + // this.tableList[0].insProductResult[m] = value ? value.v.v : ""; + break; + // 璧嬪�肩粓姝㈡椂闂� + case "testStartTime": + 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); + }); + try { + this.tableList[0].insProductResult[m] = JSON.stringify( + this.tableList[0].insProductResult[m] + ); + } catch (error) { + console.log(888, error); + } + } + // this.tableList[0].insProductResult[m] = value ? value.v.v : ""; break; // 璧嬪�兼渶缁堝�� case "resValue": @@ -2635,9 +2622,6 @@ // } // } // }, - getUserInfo() { - this.componentData.entity.userId = this.userId; - }, openAddCheck() { this.addCheck = true; }, @@ -2655,7 +2639,7 @@ }).then((res) => { if (res.code === 200) { this.$message.success("鎿嶄綔鎴愬姛"); - this.$emit("goback"); + this.goback(); this.addCheck = false; } this.reviewLoading = false; @@ -2680,7 +2664,7 @@ }).then((res) => { if (res.code === 200) { this.$message.success("鎿嶄綔鎴愬姛"); - this.$emit("goback"); + this.goback(); } this.reviewLoading = false; }) @@ -2691,6 +2675,13 @@ } else { this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜"); } + }, + // 鏌ョ湅宸ユ椂 + viewManHour() { + this.$refs.viewManHourDia.showDialog(this.id, 99); + }, + openAddVerifyDia() { + this.addVerifyDia = true; }, submit() { if (this.verifyUser === null || this.verifyUser === "") { @@ -2721,7 +2712,7 @@ }).then((res) => { if (res.code === 200) { this.$message.success("鎿嶄綔鎴愬姛"); - this.$emit("goback"); + this.goback(); this.submitLoading = false; this.addVerifyDia = false; } @@ -2773,7 +2764,7 @@ if (res.code === 200) { this.$message.success("鎿嶄綔鎴愬姛"); this.addVerifyDia = false; - this.$emit("goback"); + this.goback(); } this.submitLoading = false; }) @@ -2806,11 +2797,9 @@ param: JSON.stringify(param), currentTable: this.currentTable, sampleId: this.currentSample.id, + orderId: this.orderId, + sonLaboratory: this.sonLaboratory }).then((res) => { - if (res.code == 201) { - this.$message.error("淇濆瓨澶辫触"); - return; - } this.$message.success("宸蹭繚瀛�"); }); // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 @@ -2877,8 +2866,13 @@ console.log("changeEquip----", e); } }, + // 璧峰鏃堕棿/缁堟鏃堕棿淇濆瓨 + changeTestTime(val, n, type) { + this.$set(this.param[n.i][type][0].v, 'v', val) + this.saveInsContext(n.i); + }, getAuthorizedPerson() { - selectUserCondition({ type: 0 }).then((res) => { + selectUserCondition({ type: 1 }).then((res) => { let data = []; res.data.forEach((a) => { data.push({ @@ -2936,16 +2930,16 @@ 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.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null, + testEndTime: [], + testStartTime: [], + }; }); // 椤甸潰鏁版嵁澶勭悊 this.getTableLists(); @@ -2964,7 +2958,7 @@ this.upLoading = false; if (response.code == 200) { this.$message.success("涓婁紶鎴愬姛"); - this.$refs.fileList.selectList(); + this.getList(); } }, beforeUpload(file) { @@ -2983,16 +2977,7 @@ }, handleDown(row) { downFile({ id: row.id }).then((res) => { - if (res.code === 200) { - let url = ""; - if (res.data.type == 1) { - url = this.javaApi + "/img/" + res.data.fileUrl; - this.$download.saveAs(url, row.fileName) - } else { - url = this.javaApi + "/word/" + res.data.fileUrl; - this.$download.saveAs(url, row.fileName) - } - } + this.$download.saveAs(res.data.fileUrl, row.fileName) }) .catch((error) => { }); }, @@ -3016,6 +3001,9 @@ return v; } }, + goback() { + this.$router.go(-1) + } }, }; </script> @@ -3048,13 +3036,14 @@ .title { height: 60px; line-height: 60px; + padding: 0 16px; } .search { width: 100%; - margin-bottom: 10px; background-color: #fff; border-radius: 3px; + margin-bottom: 10px; } .search .form-inline { @@ -3064,7 +3053,7 @@ } .center { - width: calc(100% - 40px); + width: 100%; /* max-height: 580px; */ background-color: #fff; border-radius: 3px; @@ -3091,6 +3080,7 @@ .tables { table-layout: fixed; margin: 5px 5px 16px; + border-collapse: collapse; } .tables td { @@ -3149,7 +3139,7 @@ } .content-h-2 { - justify-content: end; + justify-content: flex-end; } .content-v-0 { @@ -3220,10 +3210,10 @@ align-items: center; } </style> -<style> -.inspection .el-form-item__label { +<style scoped> +/* .inspection .el-form-item__label { color: #000; -} +} */ .inspection .el-drawer__header::before { content: ""; -- Gitblit v1.9.3