From 45792b3776cda2e1ada31755ffc226a663f90b48 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 19 三月 2025 15:32:23 +0800
Subject: [PATCH] 锁屏功能
---
src/views/business/inspectionOrder/add.vue | 5061 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 5,051 insertions(+), 10 deletions(-)
diff --git a/src/views/business/inspectionOrder/add.vue b/src/views/business/inspectionOrder/add.vue
index 9267eaa..1691fcb 100644
--- a/src/views/business/inspectionOrder/add.vue
+++ b/src/views/business/inspectionOrder/add.vue
@@ -1,3 +1,5033 @@
+<template>
+ <div class="bg-1">
+ <div style="margin: 5px 15px" v-show="!configShow && !equipConfigShow">
+ <el-row class="title">
+ <el-col :span="6"
+ >濮旀墭鍗曚俊鎭� 鎬讳环锛�<span style="color: #3a7bfa"
+ >锟{ total }}</span
+ ></el-col
+ >
+ <el-col :span="18" style="text-align: right">
+ <el-select
+ v-model="template"
+ size="medium"
+ filterable
+ placeholder="涓嬪崟妯℃澘"
+ style="margin-right: 10px"
+ v-show="active == 1"
+ @change="selectInsOrderTemplateById"
+ >
+ <el-option
+ v-for="(a, ai) in templates"
+ :key="ai"
+ :value="a.id"
+ :label="a.name"
+ >
+ <span style="float: left">{{ a.name }}</span>
+ <i
+ class="el-icon-delete"
+ style="float: right; color: #66b1ff; font-size: 16px"
+ @click.stop="handleDelete(a)"
+ ></i>
+ </el-option>
+ </el-select>
+ <el-button
+ size="medium"
+ @click="templateDia = true"
+ v-show="active == 1"
+ >
+ <span style="color: #3a7bfa">淇濆瓨妯℃澘</span>
+ </el-button>
+ <el-button
+ size="medium"
+ type="primary"
+ @click="openEquipConfig"
+ v-if="active == 1"
+ >瀛愭牱鍝侀厤缃�</el-button
+ >
+ <el-button
+ size="medium"
+ type="primary"
+ @click="openConfig"
+ v-if="addObj.sampleType === '鍏夌紗'"
+ >鍏夌氦閰嶇疆</el-button
+ >
+ <el-button
+ size="medium"
+ type="primary"
+ @click="save"
+ :loading="saveLoad"
+ v-show="active == 1"
+ >鎻愪氦</el-button
+ >
+ <!-- 瀹℃牳 -->
+ <el-button
+ size="medium"
+ @click="upInsOrderOfState(2)"
+ :loading="saveLoad"
+ v-show="active == 3 && addObj.companyId"
+ :disabled="saveLoad"
+ >涓嶉�氳繃</el-button
+ >
+ <el-button
+ size="medium"
+ type="primary"
+ @click="upInsOrderOfState(1)"
+ :loading="saveLoad"
+ v-show="active == 3 && addObj.companyId"
+ >閫氳繃</el-button
+ >
+ <el-button size="medium" @click="goBack">
+ <span style="color: #3a7bfa">杩斿洖</span>
+ </el-button>
+ </el-col>
+ </el-row>
+ </div>
+ <basic-container v-show="!configShow && !equipConfigShow">
+ <div class="search">
+ <el-form
+ :model="addObj"
+ :rules="formRule"
+ label-position="right"
+ inline
+ >
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="濮旀墭缂栧彿锛�" prop="entrustCode">
+ <el-input
+ v-model="addObj.entrustCode"
+ size="small"
+ class="search_input"
+ placeholder="绯荤粺鐢熸垚"
+ disabled
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="妫�楠岀被鍒細" prop="orderType">
+ <el-select
+ size="small"
+ class="search_input"
+ clearable
+ v-model="addObj.orderType"
+ :disabled="active > 1"
+ >
+ <el-option
+ v-for="(a, ai) in orderType"
+ :key="ai"
+ :value="a.dictValue"
+ :label="a.dictLabel"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鍒跺崟浜猴細" prop="custom">
+ <el-input
+ size="small"
+ class="search_input"
+ clearable
+ disabled
+ v-model="addObj.custom"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item
+ label="濮旀墭鍗曚綅锛�"
+ prop="company"
+ class="company_input"
+ >
+ <el-input
+ readonly
+ size="small"
+ v-model="addObj.company"
+ placeholder="閫夋嫨濮旀墭鍗曚綅"
+ >
+ <template slot="append"
+ ><el-button
+ slot="append"
+ icon="el-icon-search"
+ @click="selectUserDia = true"
+ :disabled="
+ active > 1 || addObj.company != '涓ぉ绉戞妧妫�娴嬩腑蹇�'
+ "
+ ></el-button
+ ></template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鑱旂郴鏂瑰紡锛�" prop="phone">
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ class="search_input"
+ clearable
+ :disabled="active > 1"
+ v-model="addObj.phone"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="绱ф�ョ▼搴︼細" prop="type">
+ <el-select
+ @change="changeType"
+ size="small"
+ class="search_input"
+ clearable
+ v-model="addObj.type"
+ :disabled="active > 1"
+ >
+ <el-option
+ v-for="(a, ai) in type"
+ :key="ai"
+ :value="a.dictValue"
+ :label="a.dictLabel"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item
+ label="鏍峰搧鍚嶇О锛�"
+ prop="sample"
+ class="sample_input"
+ >
+ <el-input readonly size="small" v-model="addObj.sample">
+ <template slot="append"
+ ><el-button
+ slot="append"
+ icon="el-icon-search"
+ @click="selectStandardTree = true"
+ :disabled="active > 1"
+ ></el-button
+ ></template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏍峰搧鏁伴噺锛�" prop="sampleNum">
+ <el-input-number
+ size="small"
+ v-model="addObj.sampleNum"
+ :min="1"
+ :max="100"
+ :precision="0"
+ @change="addStandardTree"
+ :disabled="active > 1"
+ ></el-input-number>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鏉ユ牱鏂瑰紡锛�" prop="formType">
+ <el-select
+ v-model="addObj.formType"
+ size="small"
+ class="search_input"
+ :disabled="active > 1"
+ >
+ <el-option
+ v-for="(a, ai) in formType"
+ :key="ai"
+ :label="a.dictLabel"
+ :value="a.dictValue"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎶ュ憡鍙戦�佹柟寮忥細" prop="send">
+ <el-radio-group v-model="addObj.send" :disabled="active > 1">
+ <el-radio :label="1">鑷彇</el-radio>
+ <el-radio :label="0">鍏朵粬</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item
+ label="鏍峰搧澶勭悊鏂瑰紡锛�"
+ prop="processing"
+ class="processing_input"
+ >
+ <el-radio-group
+ v-model="addObj.processing"
+ :disabled="active > 1"
+ size="mini"
+ >
+ <el-radio :label="0">濮旀墭鍗曚綅鍙栧洖</el-radio>
+ <el-radio :label="1">瀹為獙瀹ゅ鐞�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="宸ョ▼鍚嶇О锛�" prop="engineering">
+ <el-input
+ size="small"
+ class="search_input"
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ clearable
+ v-model="addObj.engineering"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item
+ label="宸ョ▼鍚嶇ОEN锛�"
+ prop="engineeringEn"
+ class="engineeringEn_input"
+ >
+ <el-input
+ size="small"
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ clearable
+ v-model="addObj.engineeringEn"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鐢熶骇鍗曚綅锛�" prop="production">
+ <el-input
+ size="small"
+ class="search_input"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="addObj.production"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item
+ label="鐢熶骇鍗曚綅EN锛�"
+ prop="productionEn"
+ class="productionEn_input"
+ >
+ <el-input
+ size="small"
+ class="search_input"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="addObj.productionEn"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏄惁鐣欐牱锛�" prop="isLeave">
+ <el-radio-group v-model="addObj.isLeave" :disabled="active > 1">
+ <el-radio :label="0">涓嶇暀鏍�</el-radio>
+ <el-radio :label="1">鐣欐牱</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鏄惁娑夊強閰嶅鏍峰搧锛�" prop="mating">
+ <el-radio-group
+ :disabled="active > 1"
+ v-model="addObj.mating"
+ @change="$refs.sampleTable.doLayout()"
+ >
+ <el-radio :label="1">鏄�</el-radio>
+ <el-radio :label="0">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item
+ label="OTC璁㈠崟鍙凤細"
+ prop="otcCode"
+ class="otcCode_input"
+ >
+ <el-input
+ size="small"
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ clearable
+ v-model="addObj.otcCode"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="濮旀墭浜猴細" prop="prepareUser">
+ <el-input
+ size="small"
+ class="search_input"
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ clearable
+ v-model="addObj.prepareUser"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="澶囨敞锛�" prop="remark">
+ <el-input
+ type="textarea"
+ :autosize="{ minRows: 2, maxRows: 2 }"
+ size="small"
+ clearable
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ v-model="addObj.remark"
+ :disabled="active > 1"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ </basic-container>
+ <div
+ class="search"
+ v-if="active == 1 && !configShow && !equipConfigShow"
+ style="display: flex; background: transparent"
+ >
+ <div style="display: flex; align-items: center">
+ <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
+ <div class="search_input">
+ <el-select
+ v-model="model"
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ filterable
+ allow-create
+ default-first-option
+ size="small"
+ @change="changeModel"
+ >
+ <el-option
+ v-for="item in models"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <div style="display: flex; align-items: center">
+ <div class="search_label">妫�楠屾爣鍑嗭細</div>
+ <div class="search_input">
+ <el-select
+ filterable
+ v-model="standardMethodListId"
+ :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+ size="small"
+ @focus="methodFocus"
+ :loading="methodLoad"
+ @change="changeStandardMethodListId"
+ >
+ <el-option
+ v-for="item in methods"
+ :key="item.id"
+ :label="item.code"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ </div>
+ <basic-container v-show="!configShow && !equipConfigShow">
+ <div style="height: auto">
+ <el-table
+ class="el-table sampleTable"
+ ref="sampleTable"
+ :data="sampleList"
+ max-height="400px"
+ tooltip-effect="dark"
+ border
+ @selection-change="selectSample"
+ highlight-current-row
+ @row-click="rowClick"
+ style="margin-top: 10px"
+ >
+ <el-table-column
+ type="selection"
+ width="60"
+ :selectable="selectable"
+ v-if="active == 1"
+ ></el-table-column>
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="65"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ prop="sample"
+ label="鏍峰搧鍚嶇О"
+ align="center"
+ min-width="100"
+ >
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ v-model="scope.row.sample"
+ clearable
+ :readonly="active > 1"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="sampleCode"
+ label="鏍峰搧缂栧彿"
+ min-width="140"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ v-model="scope.row.sampleCode"
+ clearable
+ placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+ :readonly="active > 1"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="model"
+ label="鏍峰搧鍨嬪彿"
+ align="center"
+ min-width="100"
+ >
+ <template slot-scope="scope">
+ <el-select
+ v-model="scope.row.model"
+ filterable
+ allow-create
+ default-first-option
+ placeholder="鏍峰搧鍨嬪彿"
+ size="small"
+ @change="handleChangeModel"
+ :disabled="active > 1"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in models"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="modelNum"
+ label="鍨嬪彿鍙傛暟"
+ width="130"
+ align="center"
+ v-if="!(active > 1)"
+ >
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ v-model="scope.row.modelNum"
+ clearable
+ placeholder="闈炲繀濉�"
+ @keyup.enter.native="
+ methodChange(scope.row.standardMethodListId, scope.row)
+ "
+ @clear="methodChange(scope.row.standardMethodListId, scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="standardMethodListId"
+ label="妫�楠屾爣鍑�"
+ align="center"
+ min-width="100"
+ >
+ <template slot-scope="scope">
+ <el-select
+ v-model="scope.row.standardMethodListId"
+ :disabled="scope.row.model == null || active > 1"
+ placeholder="妫�楠屾爣鍑�"
+ filterable
+ size="small"
+ :loading="methodLoad"
+ @change="(value) => methodChange(value, scope.row)"
+ @focus="methodFocus"
+ :readonly="active > 1"
+ style="width: 100%"
+ clearable
+ @clear="productList = []"
+ >
+ <el-option
+ v-for="item in methods"
+ :key="item.id"
+ :label="item.code"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="joinName"
+ label="閰嶅鏍峰搧鍚嶇О"
+ width="140"
+ align="center"
+ v-if="addObj.mating == 1"
+ >
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 1 }"
+ v-model="scope.row.joinName"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="joinModel"
+ label="閰嶅鏍峰搧鍨嬪彿"
+ width="140"
+ align="center"
+ v-if="addObj.mating == 1"
+ >
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 1 }"
+ v-model="scope.row.joinModel"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="joinNum"
+ label="閰嶅鏍峰搧鏁伴噺"
+ width="140"
+ align="center"
+ v-if="addObj.mating == 1"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ size="small"
+ v-model="scope.row.joinNum"
+ :min="1"
+ :max="100"
+ :precision="0"
+ :controls="false"
+ style="width: 80%"
+ ></el-input-number>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="proNum"
+ label="寰呮椤规暟閲�"
+ width="105"
+ align="center"
+ ></el-table-column>
+ </el-table>
+ <el-table
+ class="el-table"
+ ref="productTable"
+ :data="productList"
+ max-height="400px"
+ tooltip-effect="dark"
+ border
+ @selection-change="selectProduct"
+ style="margin-bottom: 10px"
+ @select="upProductSelect"
+ :row-class-name="tableRowClassName"
+ v-loading="standardLoading || getProductLoad"
+ @select-all="handleAll"
+ >
+ <el-table-column
+ type="selection"
+ width="65"
+ :selectable="selectable"
+ v-if="active == 1"
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ min-width="140"
+ show-overflow-tooltip
+ >
+ <template slot="header" slot-scope="scope">
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ font-size: 14px;
+ "
+ >
+ <span>妫�楠岄」</span>
+ <el-input
+ v-if="active == 1"
+ v-model="inspectionItem"
+ @input="searchFilterList"
+ size="mini"
+ placeholder="璇疯緭鍏�"
+ />
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠岄」瀛愰」"
+ min-width="140"
+ show-overflow-tooltip
+ >
+ <template slot="header" slot-scope="scope">
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ font-size: 14px;
+ "
+ >
+ <span>妫�楠岄」瀛愰」</span>
+ <el-input
+ v-if="active == 1"
+ v-model="inspectionItemSubclass"
+ @input="searchFilterList"
+ size="mini"
+ placeholder="璇疯緭鍏�"
+ />
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px">
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鎻忚堪"
+ v-model="scope.row.tell"
+ clearable
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ @change="(e) => requestChange(e, scope.row, 'tell')"
+ v-if="active == 1 && isAskOnlyRead"
+ ></el-input>
+ <span v-else>
+ <template>{{ scope.row.tell }}</template>
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="ask"
+ label="瑕佹眰鍊�"
+ min-width="220px"
+ v-if="isAskOnlyRead"
+ >
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鍊�"
+ v-model="scope.row.ask"
+ clearable
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ @change="(e) => requestChange(e, scope.row, 'ask')"
+ v-if="
+ active == 1 &&
+ isAskOnlyRead &&
+ scope.row.inspectionValueType != '5'
+ "
+ ></el-input>
+ <span v-else>
+ <template>{{ scope.row.ask }}</template>
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="methodS"
+ label="璇曢獙鏂规硶"
+ min-width="120"
+ show-overflow-tooltip
+ >
+ <template slot="header" slot-scope="scope">
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ font-size: 14px;
+ "
+ >
+ <span>璇曢獙鏂规硶</span>
+ <el-input
+ v-if="active == 1"
+ v-model="methodS"
+ @input="searchFilterList"
+ size="mini"
+ placeholder="璇疯緭鍏�"
+ />
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="unit"
+ label="璁¢噺鍗曚綅"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="price"
+ label="鍗曚环"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="section"
+ label="鍖洪棿"
+ min-width="120"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="sonLaboratory"
+ label="瀛愬疄楠屽"
+ min-width="130"
+ show-overflow-tooltip
+ :filters="filters"
+ :filter-method="filterHandler"
+ ></el-table-column>
+ </el-table>
+ </div>
+ </basic-container>
+ <el-dialog
+ title="閫夋嫨鏍峰搧"
+ :visible.sync="selectStandardTree"
+ width="500px"
+ >
+ <div
+ class="body"
+ style="height: 60vh; overflow-y: auto; user-select: none"
+ v-if="selectStandardTree"
+ >
+ <el-row>
+ <el-col :span="24">
+ <el-input
+ placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
+ suffix-icon="el-icon-search"
+ v-model="search"
+ size="small"
+ style="margin-bottom: 5px"
+ clearable
+ @blur="searchFilter"
+ @clear="searchFilter"
+ @keyup.enter.native="searchFilter"
+ ></el-input>
+ </el-col>
+ </el-row>
+ <el-tree
+ :data="list"
+ ref="tree"
+ :props="{ children: 'children', label: 'label' }"
+ node-key="label"
+ :filter-node-method="filterNode"
+ @node-click="handleNodeClick"
+ highlight-current
+ @node-expand="nodeOpen"
+ @node-collapse="nodeClose"
+ :default-expanded-keys="expandedKeys"
+ @dblclick.native="activeStandardTree"
+ >
+ <div class="custom-tree-node" slot-scope="{ node, data }">
+ <el-row>
+ <el-col :span="24">
+ <span
+ ><i
+ :class="`node_i ${
+ data.children != undefined
+ ? data.code === '[1]'
+ ? 'el-icon-folder-opened'
+ : 'el-icon-folder'
+ : 'el-icon-tickets'
+ }`"
+ ></i>
+ {{ data.code }} {{ data.label }}</span
+ >
+ </el-col>
+ </el-row>
+ </div>
+ </el-tree>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="selectStandardTree = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%">
+ <div class="body" style="height: 60vh" v-if="selectUserDia">
+ <ValueTable
+ ref="ValueTable2"
+ :url="$api.user.selectCustomPageList"
+ :componentData="componentData2"
+ />
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="selectUserDia = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="selectUser">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="淇濆瓨妯℃澘" :visible.sync="templateDia" width="400px">
+ <div
+ class="body"
+ style="display: flex; align-items: center"
+ v-if="templateDia"
+ >
+ <div class="search_label" style="width: 90px">
+ <span class="required-span">* </span>妯℃澘鍚嶇О锛�
+ </div>
+ <div class="search_input">
+ <el-input size="small" clearable v-model="templateName"></el-input>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="templateDia = false">鍙� 娑�</el-button>
+ <el-button
+ type="primary"
+ @click="addTemplateDia"
+ :loading="templateLoading"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <el-dialog
+ title="妫�楠屼笅鍙�"
+ :visible.sync="issuedDialogVisible"
+ width="450px"
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ :show-close="false"
+ >
+ <div class="body" style="max-height: 60vh">
+ <el-row style="margin-bottom: 20px">
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
+ </el-col>
+ <el-col :span="16">
+ <el-date-picker
+ size="small"
+ v-model="distributeData.appointed"
+ :picker-options="{ disabledDate: this.disabledDate }"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd"
+ style="width: 100%"
+ format="yyyy-MM-dd"
+ >
+ </el-date-picker>
+ </el-col>
+ </el-row>
+ <el-row style="margin-bottom: 20px">
+ <el-col :span="8" style="text-align: right">
+ <div>
+ <span class="required-span" v-if="addObj.type == 2">* </span
+ >鎸囨淳浜哄憳锛�
+ </div>
+ </el-col>
+ <el-col :span="16">
+ <el-select
+ multiple
+ v-model="distributeData.userId"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ filterable
+ style="width: 100%"
+ @change="changeUser"
+ >
+ <el-option-group
+ v-for="(item, index) in Object.keys(personList)"
+ :key="index"
+ :label="item"
+ >
+ <el-option
+ v-for="op in personList[item]"
+ :key="op.id"
+ :label="op.name"
+ :value="op.id"
+ >
+ </el-option>
+ </el-option-group>
+ </el-select>
+ </el-col>
+ </el-row>
+ <el-row
+ v-if="distributeData.userId.length > 0"
+ style="margin-bottom: 20px"
+ >
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>璇曢獙瀹わ細</div>
+ </el-col>
+ <el-col :span="16">
+ <el-select
+ v-model="distributeData.sonLaboratory"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ filterable
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in sonLaboratoryList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-row>
+ <el-row style="margin-bottom: 20px">
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>鍒涘缓濮旀墭鍗曪細</div>
+ </el-col>
+ <el-col :span="16">
+ <el-select
+ v-model="distributeData.isCreate"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ filterable
+ style="width: 100%"
+ >
+ <el-option label="鏄�" :value="true"></el-option>
+ <el-option label="鍚�" :value="false"></el-option>
+ </el-select>
+ </el-col>
+ </el-row>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="issuedDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm2" :loading="upLoad"
+ >纭� 瀹�</el-button
+ >
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog title="涓嶉�氳繃鍘熷洜" :visible.sync="noDialogVisible" width="400px">
+ <div class="body" style="max-height: 60vh">
+ <el-row>
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div>
+ </el-col>
+ <el-col :span="16">
+ <el-input
+ v-model="tell"
+ size="small"
+ placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"
+ ></el-input>
+ </el-col>
+ </el-row>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="(noDialogVisible = false), (tell = '')"
+ >鍙� 娑�</el-button
+ >
+ <el-button type="primary" @click="submitTell" :loading="noLoading"
+ >纭� 瀹�</el-button
+ >
+ </el-row>
+ </span>
+ </el-dialog>
+ <fiberOpticConfig
+ :fiberPairing="fiberPairing"
+ :currentId="currentId"
+ @saveFiberopticConfig="saveFiberConfigEvent($event)"
+ v-if="configShow && examine == 0"
+ :active="active"
+ :inspectionItemST="inspectionItemST"
+ />
+ <fiberOpticConfigReadOnly
+ :currentId="currentId"
+ v-if="configShow && examine == 1"
+ :active="active"
+ />
+ <equipConfig
+ :currentId="currentId"
+ v-if="equipConfigShow"
+ :active="active"
+ />
+ <!-- 鍗曢�夌壒娈婂�煎鐞嗘-->
+ <el-dialog
+ title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
+ :visible.sync="bsm1Dia"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ min-width="400px"
+ :show-close="false"
+ :before-close="beforeClose"
+ >
+ <div class="body" style="max-height: 60vh">
+ <el-row v-if="bsm1">
+ <el-col
+ class="search_thing"
+ :span="24"
+ style="height: initial; margin: 5px 0"
+ >
+ <div class="search_label" style="width: 80px">
+ <span class="required-span">* </span>閫夐」锛�
+ </div>
+ <div class="search_input">
+ <el-radio-group v-model="bsm1Val" @input="upBsm1">
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ style="margin-bottom: 2px; margin-top: 2px"
+ ></el-radio>
+ </el-radio-group>
+ </div>
+ </el-col>
+ <el-col
+ class="search_thing"
+ :span="24"
+ style="height: initial; margin: 5px 0"
+ >
+ <div class="search_label" style="width: 80px">瑕佹眰鍊硷細</div>
+ <div
+ class="search_input"
+ v-show="bsm1Val !== null && bsm1Val !== ''"
+ >
+ <el-radio-group v-model="bsm1Val" @input="upBsm1">
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio
+ >
+ </el-radio-group>
+ </div>
+ </el-col>
+ </el-row>
+ <el-row v-if="bsm2">
+ <el-col class="search_thing" :span="22">
+ <div class="search_label" style="width: 220px">
+ <span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�
+ </div>
+ <div class="search_input">
+ <el-input-number
+ size="medium"
+ v-model="bsm2Val"
+ :min="1"
+ :max="bsm2Val3.length"
+ :precision="0"
+ style="width: 70%"
+ :controls="false"
+ @change="bsm2Up"
+ ></el-input-number>
+ <span>MAX锛歿{ bsm2Val3.length }}</span>
+ </div>
+ </el-col>
+ <el-col style="margin-top: 6px">
+ <el-col v-for="(a, ai) in bsm2Val2" :key="ai">
+ <el-col :span="10">
+ <el-select
+ v-model="a[0]"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="(item, index) in sampleList"
+ :key="index"
+ :label="index + 1"
+ :value="index + 1"
+ >
+ </el-option>
+ </el-select>
+ </el-col>
+ <el-col
+ :span="4"
+ class="pairing"
+ style="border: 0; color: rgba(0, 0, 0, 0.2)"
+ >鈥斺��</el-col
+ >
+ <el-col :span="10">
+ <el-select
+ v-model="a[1]"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="(item, index) in sampleList"
+ :key="index"
+ :label="index + 1"
+ :value="index + 1"
+ >
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-col>
+ </el-col>
+ </el-row>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button type="primary" @click="save2" :loading="saveLoad"
+ >纭� 瀹�</el-button
+ >
+ </el-row>
+ </span>
+ </el-dialog>
+ <!-- 鍏ㄩ�夌壒娈婂�煎鐞嗘-->
+ <el-dialog
+ title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
+ :visible.sync="bsm1DiaAll"
+ min-width="400px"
+ :show-close="false"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ :before-close="beforeClose"
+ >
+ <div
+ class="body"
+ style="max-height: 60vh"
+ v-for="(item, index) in bsm1DiaList"
+ :key="index"
+ >
+ <el-row v-if="item.bsm1">
+ <el-col
+ class="search_thing"
+ :span="24"
+ style="height: initial; margin: 5px 0"
+ >
+ <div class="search_label" style="width: 80px">
+ <span class="required-span">* </span>閫夐」锛�
+ </div>
+ <div class="search_input">
+ <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">
+ <el-radio
+ v-for="(a, ai) in JSON.parse(item.bsmRow.section)"
+ :key="ai"
+ :label="a"
+ style="margin-bottom: 2px; margin-top: 2px"
+ ></el-radio>
+ </el-radio-group>
+ </div>
+ </el-col>
+ <el-col
+ class="search_thing"
+ :span="24"
+ style="height: initial; margin: 5px 0"
+ >
+ <div class="search_label" style="width: 80px">瑕佹眰鍊硷細</div>
+ <div
+ class="search_input"
+ v-show="item.bsm1Val !== null && item.bsm1Val !== ''"
+ >
+ <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">
+ <el-radio
+ v-for="(a, ai) in JSON.parse(item.bsmRow.section)"
+ :key="ai"
+ :label="a"
+ >{{ JSON.parse(item.bsmRow.ask)[ai] }}</el-radio
+ >
+ </el-radio-group>
+ </div>
+ </el-col>
+ </el-row>
+ <el-row v-if="item.bsm2">
+ <el-col class="search_thing" :span="22">
+ <div class="search_label" style="width: 220px">
+ <span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�
+ </div>
+ <div class="search_input">
+ <el-input-number
+ size="medium"
+ v-model="item.bsm2Val"
+ :min="1"
+ :max="item.bsm2Val3.length"
+ :precision="0"
+ style="width: 70%"
+ :controls="false"
+ @change="bsm2Up"
+ ></el-input-number>
+ <span>MAX锛歿{ item.bsm2Val3.length }}</span>
+ </div>
+ </el-col>
+ <el-col style="margin-top: 6px">
+ <el-col v-for="(a, ai) in item.bsm2Val2" :key="ai">
+ <el-col :span="10">
+ <el-select
+ v-model="a[0]"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="(item, index) in item.sampleList"
+ :key="index"
+ :label="index + 1"
+ :value="index + 1"
+ >
+ </el-option>
+ </el-select>
+ </el-col>
+ <el-col
+ :span="4"
+ class="pairing"
+ style="border: 0; color: rgba(0, 0, 0, 0.2)"
+ >鈥斺��</el-col
+ >
+ <el-col :span="10">
+ <el-select
+ v-model="a[1]"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="(item, index) in item.sampleList"
+ :key="index"
+ :label="index + 1"
+ :value="index + 1"
+ >
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-col>
+ </el-col>
+ </el-row>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button type="primary" @click="save1" :loading="saveLoad"
+ >纭� 瀹�</el-button
+ >
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog
+ title="鐗规畩鍊煎~鍐�"
+ :visible.sync="bsm3Dia"
+ top="5vh"
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ width="800px"
+ :show-close="false"
+ >
+ <el-table :data="editTable" style="width: 100%" height="500px">
+ <!-- inspectionItemList -->
+ <el-table-column prop="inspectionItemList" label="妫�楠岄」" width="180">
+ </el-table-column>
+ <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" width="180">
+ </el-table-column>
+ <el-table-column prop="model" label="鏍峰搧鍨嬪彿" width="180">
+ </el-table-column>
+ <el-table-column prop="symbolItem" label="璇嗗埆绗﹀彿"> </el-table-column>
+ <el-table-column prop="value" label="璇嗗埆绗﹀��">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value"
+ placeholder="璇疯緭鍏�"
+ @input="inputValueHandler(scope.row, scope.$index)"
+ size="small"
+ type="number"
+ ></el-input>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="bsm3Dia = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="save0" :loading="saveLoad"
+ >纭� 瀹�</el-button
+ >
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog
+ title="娓╁害寰幆瑕佹眰濉啓"
+ :visible.sync="circulateShow"
+ width="900px"
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ :before-close="beforeCirculateShowClose"
+ :show-close="false"
+ >
+ <div class="search" style="display: flex; background: transparent">
+ <div class="search_thing">
+ <div class="search_label">淇濇俯鏃堕棿锛�</div>
+ <div class="search_input">
+ <el-input
+ v-model="circulateForm.entrustTime"
+ size="small"
+ placeholder=""
+ type="number"
+ ></el-input>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">寰幆娆℃暟锛�</div>
+ <div class="search_input">
+ <el-input
+ v-model="circulateForm.entrustNum"
+ size="small"
+ placeholder=""
+ type="number"
+ ></el-input>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">娓╁害鐐癸細</div>
+ <div class="search_input">
+ <el-input
+ @focus="() => (isFocus = true)"
+ @blur="changeTemperatureData"
+ v-model="circulateForm.entrustPoint"
+ size="small"
+ placeholder=""
+ type="number"
+ ></el-input>
+ </div>
+ </div>
+ </div>
+ <div class="circulateTable">
+ <div class="opticalProject">
+ <div style="line-height: 30px">鍏夌氦椤圭洰</div>
+ <el-divider></el-divider>
+ <div>
+ <el-table
+ ref="multipleTable"
+ border
+ :header-cell-style="{ 'text-align': 'center' }"
+ :cell-style="{ 'text-align': 'center' }"
+ :data="opticalProject"
+ tooltip-effect="dark"
+ style="width: 100%"
+ @row-click="rowClickOptical"
+ @select="selectOpticalProject"
+ @select-all="selectAllOptical"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55"> </el-table-column>
+ <el-table-column
+ prop="value"
+ label="鍏夌氦椤圭洰"
+ show-overflow-tooltip
+ ></el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <div class="temperatureList">
+ <div class="temperatureListTitle">
+ <span>娓╁害鐐归泦鍚�</span>
+ <span>
+ <el-button
+ type="primary"
+ size="mini"
+ :disabled="isFocus"
+ @click="addTemperatureData"
+ >鏂板</el-button
+ >
+ <el-button size="mini" @click="deleteTemperatureData"
+ >鍒犻櫎</el-button
+ >
+ </span>
+ </div>
+ <el-divider></el-divider>
+ <el-table
+ :data="temperatureData"
+ border
+ :header-cell-style="{ 'text-align': 'center' }"
+ :cell-style="{ 'text-align': 'center' }"
+ style="width: 100%"
+ >
+ <el-table-column prop="date" label="娓╁害鐐�(鈩�)" width="120px">
+ <template slot-scope="scope">
+ <el-input
+ size="small"
+ v-model="scope.row.temperaturePoint"
+ clearable
+ placeholder="璇疯緭鍏�"
+ @change="changeTemperature"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" label="瑕佹眰(dB/Km)">
+ <template slot-scope="scope">
+ <span>x</span>
+ <el-select
+ v-model="scope.row.askSymbol"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 120px"
+ @change="changeTemperature"
+ >
+ <el-option
+ v-for="item in temperatureDataList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ <el-input
+ size="small"
+ v-model="scope.row.askNum"
+ clearable
+ placeholder="璇疯緭鍏�"
+ style="width: 120px"
+ @change="changeTemperature"
+ ></el-input>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="cleanSpliceData">鍙栨秷</el-button>
+ <el-button type="primary" @click="spliceData">淇濆瓨</el-button>
+ </span>
+ </el-dialog>
+ <!-- 鐢靛姏璇曢獙瀹�---娓╁崌璇曢獙/鐑惊鐜� -->
+ <el-dialog
+ :title="temperatureTitle"
+ :visible.sync="temperatureShow"
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ width="260px"
+ :before-close="temperatureShowClose"
+ :show-close="false"
+ >
+ <div>
+ <div v-if="isShowInput" style="margin-bottom: 6px">
+ <span>寰幆娆℃暟:</span>
+ <!-- <el-input size="small" type="number" v-model="temperatureTestNum" style="width: 120px"></el-input> -->
+ <el-input-number
+ v-model="temperatureTestNum"
+ :min="2"
+ :max="1000000"
+ size="small"
+ label=""
+ ></el-input-number>
+ </div>
+ <el-checkbox-group
+ v-model="temperatureTest"
+ @change="handleTemperatureTestChange"
+ style="display: flex; flex-direction: column"
+ >
+ <el-checkbox
+ v-for="item in temperatureList"
+ :label="item"
+ :key="item"
+ style="margin-bottom: 6px"
+ >{{ item }}</el-checkbox
+ >
+ </el-checkbox-group>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="cleanTemperatureTest">鍙栨秷</el-button>
+ <el-button type="primary" @click="spliceTemperatureTest"
+ >淇濆瓨</el-button
+ >
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {
+ selectInsOrderTemplate,
+ hasSendUrgentOrder,
+ addInsOrder,
+ selectOrderManDay,
+ selectInsOrderTemplateById,
+ upInsOrderOfState,
+ upInsOrder,
+ getInsOrder,
+ addInsOrderTemplate,
+ delInsOrderTemplate,
+ labelPrinting,
+} from "@/api/business/inspectionOrder";
+import {
+ selectStandardTreeList2,
+ selectStandardMethodEnum,
+ selectsStandardMethodByFLSSM,
+ selectStandardProductList,
+} from "@/api/standard/standardLibrary";
+import { selectBushingBySampleId } from "@/api/business/insBushing";
+import { getLaboratoryPersonList } from "@/api/system/user";
+import { mapGetters } from "vuex";
+import fiberOpticConfig from "./fiberoptic-config.vue";
+import fiberOpticConfigReadOnly from "./fiberoptic-config-readonly.vue";
+import equipConfig from "./equip-config.vue";
+import getLodop from "@/utils/lodop";
+import { bigEval } from "@/utils/bigEval";
+import { getDicts } from "@/api/system/dict/data";
+import Big from "big.js";
+export default {
+ components: {
+ fiberOpticConfig,
+ fiberOpticConfigReadOnly,
+ equipConfig,
+ },
+ computed: {
+ ...mapGetters(["nickName", "loginUserInfo"]),
+ },
+ props: {},
+ data() {
+ return {
+ isReview: false, //鏄惁鏄煡鐪嬭鎯�
+ examine: 0,
+ active: 0,
+ currentId: 0,
+ fiberLoss: [],
+ qrDataList: [],
+ isFocus: false,
+ methodCount: 0,
+ standardLoading: false,
+ errorInspectionItemList: [],
+ errorInspectionItem: false,
+ inspectionItemST: null,
+ sampleSelectionList: [], //鏍峰搧琛ㄦ牸閫変腑鏁版嵁
+ editTable: [],
+ template: null,
+ templates: [],
+ addObj: {
+ entrustCode: null,
+ custom: null,
+ company: null,
+ userId: null,
+ type: "0",
+ code: null,
+ appointed: null,
+ remark: null,
+ otcCode: null,
+ mating: 0,
+ sample: null,
+ factory: null,
+ laboratory: null,
+ sampleType: null,
+ sampleNum: 1,
+ unit: null,
+ model: null,
+ method: null,
+ phone: null,
+ processing: 1,
+ isLeave: 0,
+ orderType: null,
+ send: 1,
+ formType: "閫佹",
+ engineering: null,
+ engineeringEn: null,
+ production: null,
+ productionEn: null,
+ companyId: null,
+ prepareUser: null,
+ },
+ formRule: {
+ orderType: {
+ required: true,
+ message: "璇烽�夋嫨妫�楠岀被鍒�",
+ trigger: "change",
+ },
+ custom: { required: true, message: "", trigger: "blur" },
+ company: { required: true, message: "璇烽�夋嫨濮旀墭鍗曚綅", trigger: "blur" },
+ phone: { required: true, message: "璇疯緭鍏ヨ仈绯绘柟寮�", trigger: "blur" },
+ type: { required: true, message: "璇烽�夋嫨绱ф�ョ▼搴�", trigger: "change" },
+ sample: { required: true, message: "璇烽�夋嫨鏍峰搧鍚嶇О", trigger: "blur" },
+ sampleNum: {
+ required: true,
+ message: "璇疯緭鍏ユ牱鍝佹暟閲�",
+ trigger: "blur",
+ },
+ formType: {
+ required: true,
+ message: "璇烽�夋嫨鏉ユ牱鏂瑰紡",
+ trigger: "change",
+ },
+ production: {
+ required: true,
+ message: "璇疯緭鍏ョ敓浜у崟浣�",
+ trigger: "blur",
+ },
+ productionEn: {
+ required: true,
+ message: "璇疯緭鍏ョ敓浜у崟浣岴N",
+ trigger: "blur",
+ },
+ },
+ sample: {
+ sampleCode: null,
+ laboratory: null,
+ factory: null,
+ sampleType: null,
+ sample: null,
+ model: null,
+ modelNum: null,
+ sampleNum: 1,
+ isLeave: 0,
+ unit: null,
+ },
+ type: [],
+ selectUserDia: false,
+ componentData2: {
+ entity: {
+ orderBy: {
+ field: "id",
+ order: "desc",
+ },
+ },
+ isIndex: true,
+ showSelect: true,
+ select: false,
+ do: [],
+ tagField: {
+ state: {
+ select: [
+ {
+ value: 1,
+ type: "success",
+ label: "鍚敤",
+ },
+ {
+ value: 0,
+ type: "danger",
+ label: "鍋滅敤",
+ },
+ ],
+ },
+ },
+ selectField: {},
+ },
+ selectStandardTree: false,
+ search: null,
+ list: [],
+ selectTree: null,
+ expandedKeys: [],
+ sampleList: [],
+ sampleIds: [],
+ methodList: [],
+ addSampleDia: false,
+ count: 1,
+ productList: [],
+ productList0: [],
+ bsm1DiaList: [],
+ productIds: [],
+ productListSelected: [],
+ getProductLoad: false,
+ saveLoad: false,
+ templateDia: false,
+ templateLoading: false,
+ templateName: "",
+ issuedDialogVisible: false,
+ distributeData: {
+ appointed: "",
+ userId: [],
+ sonLaboratory: "",
+ isCreate: false,
+ },
+ personList: [],
+ upLoad: false,
+ units: [],
+ models: [],
+ methods: [],
+ methodLoad: false,
+ noDialogVisible: false,
+ tell: "",
+ noLoading: false,
+ orderType: [],
+ filters: [],
+ formType: [],
+ configShow: false,
+ currentMethod: null,
+ isAskOnlyRead: false,
+ sampleId: null,
+ bsmRow: null,
+ bsm1: false,
+ bsm1Val: null,
+ bsm1Dia: false,
+ bsm1DiaAll: false,
+ equipConfigShow: false,
+ bsm2: false,
+ bsm2Val: null,
+ bsm2Dia: false,
+ bsm2Val2: [],
+ bsm2Val3: [],
+ bsmRow3: null,
+ bsm3Val: null,
+ bsm3Dia: false,
+ total: 0,
+ RTS: "",
+ totalArr: [],
+ model: null,
+ standardMethodListId: null,
+ symbolList: [
+ "RTS",
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z",
+ ],
+ inspectionItem: null,
+ inspectionItemSubclass: null,
+ methodS: null,
+ circulateShow: false,
+ circulateForm: {
+ entrustTime: "",
+ entrustNum: "",
+ entrustPoint: "",
+ },
+ singleVerticalCombustionShow: false, //鍗曟牴鍨傜洿鐕冪儳妫�楠岄」寮规
+ singleVerticalCombustionNum: 0, //鍗曟牴鍨傜洿鐕冪儳妫�楠岄」璁℃暟
+ isBsm2Val2: false,
+ opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃
+ opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁�
+ temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛�
+ temperatureDataList: [
+ { label: "<", value: "<" },
+ { label: "鈮�", value: "鈮�" },
+ { label: "=", value: "=" },
+ { label: "鈮�", value: "鈮�" },
+ { label: ">", value: ">" },
+ ],
+ temperatureShow: false, // 娓╁崌璇曢獙妫�楠岄」寮规
+ temperatureTest: [],
+ temperatureList: [],
+ temperatureEngList: [],
+ temperatureTitle: "",
+ temperatureTestNum: "",
+ isShowInput: false,
+ temId: "",
+ sonLaboratoryList: [],
+ selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃
+ fiberPairing: [], //鍏夌氦閰嶇疆閲岀殑鐔旀帴閰嶅
+ };
+ },
+ watch: {
+ productList: {
+ deep: true,
+ handler(val) {
+ if (val && val.length > 0) {
+ let arr = [];
+ val.forEach((item) => {
+ if (
+ item.sonLaboratory &&
+ !arr.find((a) => a.value == item.sonLaboratory)
+ ) {
+ arr.push({
+ text: item.sonLaboratory,
+ value: item.sonLaboratory,
+ });
+ }
+ });
+ this.filters = arr;
+ }
+ },
+ },
+ sampleList: {
+ deep: true,
+ handler(val) {
+ console.log(val);
+ if (val.length > 0) {
+ this.getTotal(val[0].bushing, false);
+ }
+ },
+ },
+ "addObj.sample"(val) {
+ this.model = null;
+ this.standardMethodListId = null;
+ },
+ "addObj.sampleNum"(val) {
+ this.model = null;
+ this.standardMethodListId = null;
+ },
+ },
+ created() {
+ this.active = Number(this.$route.query.active);
+ this.currentId = this.$route.query.currentId;
+ this.examine = this.$route.query.examine;
+ this.isReview = this.$route.query.isReview;
+ },
+ mounted() {
+ //鏌ヨ瀛楀吀
+ this.selectDictForType();
+ this.selectDictForOrderType();
+ this.selectDictForUnit();
+ this.selectDictForSampleForm();
+ if (this.active != 3) {
+ this.init();
+ }
+ this.selectStandardTreeList();
+ this.getAuthorizedPerson();
+ this.selectStandardMethods();
+ if (this.active != 1) {
+ // 鏌ョ湅/瀹℃牳娴佺▼
+ // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹�
+ getInsOrder({
+ orderId: this.currentId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.addObj = {
+ ...res.data.insOrder,
+ };
+ this.addObj.type = String(this.addObj.type);
+ this.sampleList = this.HaveJson(res.data.sampleProduct);
+ this.getProNum();
+ this.addObj.sampleNum = this.sampleList.length;
+ this.$nextTick(() => {
+ this.$refs.sampleTable.doLayout();
+ if (this.addObj.sampleNum > 0) {
+ this.$refs.sampleTable.setCurrentRow(this.sampleList[0], true);
+ this.rowClick(this.sampleList[0]);
+ }
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ },
+ methods: {
+ goBack() {
+ let path = this.$route.query.isPlan
+ ? "/business/inspectionTask"
+ : "/business/inspectionOrder";
+ this.$router.push(path);
+ },
+ //涓嬫鏍告煡鏃ユ湡:绂佺敤鍦ㄦ牳鏌ユ棩鏈熷墠鐨勬棩鏈�
+ disabledDate(time) {
+ if (time) {
+ let now = new Date();
+ now.setHours(0, 0, 0, 0);
+ return time < now.getTime();
+ }
+ return false;
+ },
+ changeType(type) {
+ this.hasSendUrgentOrder(type)
+ .then((res) => {
+ console.log(res);
+ if (!res) {
+ this.addObj.type = "1";
+ this.$message.error("褰撳ぉ鍔犳�ラ搴﹀凡鐢ㄥ畬");
+ throw "褰撳ぉ鍔犳�ラ搴﹀凡鐢ㄥ畬";
+ }
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+ //鍒ゆ柇褰撳ぉ鏄惁鍙笅鍙戠揣鎬ヨ鍗�
+ async hasSendUrgentOrder(type) {
+ let flag = true;
+ //濡傛灉鏄被鍨嬫槸绱ф�ワ紝鍒ゆ柇褰撳墠瀹㈡埛褰撳ぉ鐨勭揣鎬ラ搴︽槸鍚︾敤瀹�
+ if (type == 2) {
+ await hasSendUrgentOrder()
+ .then((res) => {
+ flag = res.data;
+ return flag;
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ return flag;
+ },
+ //鍏夌氦閰嶇疆淇濆瓨鍥炶皟
+ saveFiberConfigEvent(event) {
+ console.log(event);
+ this.$nextTick(() => {
+ this.getTotal(event.bushing);
+ this.fiberPairing = event.fiberPairing;
+ });
+ },
+ //淇濆瓨鍗曟牴鍨傜洿鐕冪儳鐗规畩鍊�
+ saveSingleVerticalCombustionData() {},
+ openSingleVerticalCombustionDialog() {
+ this.$prompt("鍗曟牴鍨傜洿鐕冪儳娆℃暟", "鐗规畩妫�娴嬮」鐩�", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ inputValidator: this.customDecimalValidate,
+ closeOnClickModal: false,
+ })
+ .then(({ value }) => {
+ this.sampleList.forEach((item) => {
+ this.singleVerticalData(item.insProduct, value);
+ });
+ this.singleVerticalData(this.productList, value);
+ this.singleVerticalData(this.productList0, value);
+ this.changeProductList0();
+ this.currentMethod.insProduct = this.productList0;
+ this.getProNum();
+ })
+ .catch(() => {});
+ },
+ singleVerticalData(arr, value) {
+ arr.forEach((ins) => {
+ if (ins.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" && ins.state == 1) {
+ let tell = "";
+ if (ins.tell.includes(",")) {
+ tell = ins.tell.split(",")[0];
+ } else {
+ tell = ins.tell;
+ }
+ ins.tell = tell + "," + value + "鏍�";
+ }
+ });
+ },
+ customDecimalValidate(value) {
+ console.log(value);
+ if (value == 0) {
+ return "涓嶈兘涓�0锛岃杈撳叆鏁板瓧";
+ } else if (!/^[0-9]*[1-9][0-9]*$/.test(value)) {
+ return "璇疯緭鍏ユ鏁存暟";
+ }
+ },
+ //鐗规畩鍊煎~鍐欏鐞�
+ inputValueHandler(row, index) {
+ if (row) {
+ const nextIndex = index + 1;
+ // console.log(nextIndex, this.editTable)
+ for (let i = nextIndex; i < this.editTable.length; i++) {
+ const element = this.editTable[i];
+ if (
+ element.model == row.model &&
+ row.symbolItem == element.symbolItem
+ ) {
+ this.editTable[i].value = row.value;
+ }
+ }
+ }
+ },
+ spliceData() {
+ if (
+ !this.circulateForm.entrustNum ||
+ !this.circulateForm.entrustTime ||
+ !this.circulateForm.entrustPoint ||
+ this.opticalProjectList.length === 0 ||
+ this.temperatureData.length === 0
+ ) {
+ this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+ return;
+ }
+ // 鎷兼帴瑕佹眰鍊糰sk
+ const opticalProjectList = JSON.parse(
+ JSON.stringify(this.opticalProjectList)
+ );
+ opticalProjectList.forEach((o) => {
+ o.temperatureData.forEach((t) => {
+ if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+ throw this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+ }
+ });
+ if (!o.temperatureData.some((item) => item.temperaturePoint == "20")) {
+ throw this.$message.error(`${o.value + "娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣"}`);
+ }
+ });
+ let entrustTime = this.circulateForm.entrustTime;
+ let entrustNum = this.circulateForm.entrustNum;
+ let opticalProjectList2 = JSON.parse(
+ JSON.stringify(this.opticalProjectList)
+ );
+ let askArr = [];
+ let opticalProjectArr = [];
+ opticalProjectList.forEach((o) => {
+ opticalProjectArr.push(o.value);
+ o.temperatureData.unshift({ temperaturePoint: 20 });
+ o.temperatureData.forEach((t) => {
+ if (!t.askSymbol) {
+ const askObj =
+ t.temperaturePoint + "鈩�(甯告俯)" + "," + o.value + "," + null;
+ askArr.push(askObj);
+ } else {
+ const askObj =
+ t.temperaturePoint +
+ "鈩�" +
+ "," +
+ o.value +
+ "," +
+ t.askSymbol +
+ t.askNum;
+ askArr.push(askObj);
+ }
+ });
+ });
+ askArr.push(this.circulateForm.entrustNum);
+ const ask = askArr.join(";");
+ // 鎷兼帴瑕佹眰鎻忚堪tell
+ let askNum = [];
+ let temperaturePointList = [];
+ let temperaturePointList2 = [];
+ entrustTime = entrustTime + "h";
+ entrustNum = entrustNum + "娆�";
+ opticalProjectList2.forEach((o) => {
+ o.temperatureData.forEach((t) => {
+ t.temperaturePoint = t.temperaturePoint + "鈩�";
+ temperaturePointList2.push(t.temperaturePoint);
+ temperaturePointList.push(t.temperaturePoint);
+ askNum.push(t.askSymbol + t.askNum + "dB/Km");
+ });
+ });
+ temperaturePointList = Array.from(new Set(temperaturePointList));
+ temperaturePointList2 = Array.from(new Set(temperaturePointList2));
+ temperaturePointList2.unshift(20 + "鈩�(甯告俯)");
+ let additionArr = [];
+ askNum.forEach((a) => {
+ additionArr.push(temperaturePointList.join(",") + a);
+ });
+ additionArr = Array.from(new Set(additionArr));
+ const tell =
+ "娓╁害鑼冨洿:" +
+ temperaturePointList2.join(",") +
+ ";" +
+ "淇濇俯鏃堕棿:" +
+ entrustTime +
+ ";" +
+ "寰幆娆℃暟:" +
+ entrustNum +
+ ";" +
+ "鍏夌氦(" +
+ opticalProjectArr.join(",") +
+ ")" +
+ "闄勫姞琛板噺缁濆鍊�:" +
+ additionArr.join(";");
+ this.productList.forEach((item) => {
+ if (item.inspectionItem === "娓╁害寰幆") {
+ item.ask = ask;
+ item.tell = tell;
+ }
+ });
+ this.circulateShow = false;
+ this.changeProductList0();
+ this.currentMethod.insProduct = this.productList0;
+ this.sampleList.forEach((ele) => {
+ ele.insProduct = this.productList0;
+ });
+ this.getProNum();
+ },
+ //娓╁崌/鐑惊鐜壒娈婇」鐩敓鎴�
+ //璋冩暣锛氭棤闇�鐢ㄦ埛閫夋嫨锛岄粯璁ょ敓鎴愬洓涓瓙椤癸紝寰幆涓�娆�
+ spliceTemperatureTest() {
+ // console.log(this.temperatureList)
+ // if (this.temperatureTest.length === 0) {
+ // this.$message.error("璇烽�夋嫨");
+ // return;
+ // }
+ let askStr = "";
+ let askArr1 = [];
+ let askArr2 = "";
+ let ask = "";
+ let index = "";
+ // this.temperatureTest.map((val) => {
+ // index = this.temperatureEngList.findIndex((item) => item.label === val);
+ // if (index > -1) {
+ // askStr = val + "," + this.temperatureEngList[index].value;
+ // }
+ // askArr1.push(askStr);
+ // });
+ this.temperatureEngList.forEach((item, i) => {
+ index = i;
+ if (index > -1) {
+ askStr = item.label + "," + this.temperatureEngList[index].value;
+ }
+ askArr1.push(askStr);
+ });
+ askArr2 = askArr1.join(";");
+ ask = askArr2 + ";1";
+ // if (this.temperatureTitle === "娓╁崌璇曢獙瑕佹眰濉啓") {
+ // askArr2 = askArr1.join(";");
+ // ask = askArr2 + ";1";
+ // } else {
+ // if (!this.temperatureTestNum) {
+ // this.$message.error("璇峰~鍐欏惊鐜鏁�");
+ // return;
+ // }
+ // askArr2 = askArr1.join(";");
+ // ask = askArr2 + ";" + this.temperatureTestNum;
+ // }
+ this.productList.forEach((item) => {
+ if (item.id === this.temId) {
+ item.ask = ask;
+ item.tell = ask;
+ }
+ });
+ //灏嗘俯鍗囪瘯楠�/鐑惊鐜殑瑕佹眰鍊煎拰瑕佹眰鎻忚堪锛岃祴缁檚ampleList
+ this.sampleList.forEach((ele) => {
+ if (ele.id == this.currentMethod.id) {
+ ele.insProduct.forEach((item) => {
+ if (item.id === this.temId) {
+ item.ask = ask;
+ item.tell = ask;
+ item.state = 1;
+ }
+ });
+ }
+ });
+ // this.temperatureShow = false;
+ },
+ temperatureShowClose() {
+ if (
+ this.temperatureTitle === "鐑惊鐜姹傚~鍐�" &&
+ !this.temperatureTestNum
+ ) {
+ this.$message.error("璇峰~鍐欏惊鐜鏁�");
+ return;
+ }
+ if (this.temperatureTest.length === 0) {
+ this.$message.error("璇烽�夋嫨");
+ return;
+ }
+ this.spliceTemperatureTest();
+ },
+ cleanTemperatureTest() {
+ this.temperatureTest = [];
+ this.temperatureTestNum = "";
+ this.temperatureShow = false;
+ },
+ cleanSpliceData() {
+ this.circulateForm.entrustNum = null;
+ this.circulateForm.entrustTime = null;
+ this.circulateForm.entrustPoint = null;
+ this.opticalProjectList = [];
+ this.$refs.multipleTable.clearSelection();
+ this.temperatureData = [];
+ this.circulateShow = false;
+ },
+ beforeCirculateShowClose() {
+ if (
+ !this.circulateForm.entrustNum ||
+ !this.circulateForm.entrustTime ||
+ !this.circulateForm.entrustPoint ||
+ this.opticalProjectList.length === 0 ||
+ this.temperatureData.length === 0
+ ) {
+ this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+ return;
+ }
+ // 鎷兼帴瑕佹眰鍊糰sk
+ const opticalProjectList = JSON.parse(
+ JSON.stringify(this.opticalProjectList)
+ );
+ opticalProjectList.forEach((o) => {
+ o.temperatureData.forEach((t) => {
+ if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+ throw this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+ }
+ });
+ if (!o.temperatureData.some((item) => item.temperaturePoint == "20")) {
+ throw this.$message.error(`${o.value + "娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣"}`);
+ }
+ });
+ this.spliceData();
+ },
+
+ handleTemperatureTestChange(value) {
+ // console.log('value---', value)
+ },
+ handleSelectionChange(val) {
+ this.opticalProjectList = val;
+ },
+ selectAllOptical(val) {
+ if (val.length > 0) {
+ if (val[val.length - 1].temperatureData) {
+ this.temperatureData = this.HaveJson(val.temperatureData);
+ } else {
+ this.temperatureData = [];
+ }
+ } else {
+ this.temperatureData = [];
+ }
+ this.circulateForm.entrustPoint = this.temperatureData.length;
+ },
+ selectOpticalProject(val) {
+ if (val.temperatureData) {
+ this.temperatureData = this.HaveJson(val.temperatureData);
+ } else {
+ this.temperatureData = [];
+ }
+ this.circulateForm.entrustPoint = this.temperatureData.length;
+ },
+ rowClickOptical(val) {
+ const index = this.opticalProjectList.findIndex(
+ (item) => item.value === val.value
+ );
+ if (index > -1 && val.temperatureData) {
+ this.temperatureData = this.HaveJson(val.temperatureData);
+ }
+ this.circulateForm.entrustPoint = this.temperatureData.length;
+ },
+ changeTemperature() {
+ this.opticalProjectList.forEach((item) => {
+ item.temperatureData = this.HaveJson(this.temperatureData);
+ });
+ },
+ addTemperatureData() {
+ const obj = {};
+ this.temperatureData.push(obj);
+ this.circulateForm.entrustPoint = this.temperatureData.length;
+ },
+ deleteTemperatureData() {
+ if (this.temperatureData.length > 0) {
+ this.temperatureData = this.temperatureData.slice(0, -1);
+ }
+ this.circulateForm.entrustPoint = this.temperatureData.length;
+ },
+ changeTemperatureData() {
+ const length = this.temperatureData.length;
+ const entrustPoint = Number(this.circulateForm.entrustPoint);
+ if (entrustPoint > length) {
+ for (let i = 0; i < entrustPoint - length; i++) {
+ const obj = {};
+ this.temperatureData.push(obj);
+ }
+ } else if (entrustPoint < length) {
+ const deleteNum = length - entrustPoint;
+ this.temperatureData = this.temperatureData.slice(0, -deleteNum);
+ }
+ setTimeout(() => {
+ this.isFocus = false;
+ }, 300);
+ },
+ changeProductList0() {
+ this.productList0.forEach((a) => {
+ let obj = this.productList.find((m) => m.id == a.id);
+ if (obj) {
+ a.state = obj.state;
+ a.section = obj.section;
+ a.ask = obj.ask;
+ a.manHour = obj.manHour;
+ a.price = obj.price;
+ a.tell = obj.tell;
+ }
+ if (a.state == 0 && a.bsmRow) {
+ a = this.HaveJson(a.bsmRow);
+ }
+ });
+ },
+ searchFilterList() {
+ const vtw = {
+ inspectionItem: this.inspectionItem, // 妫�楠岄」
+ inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」
+ methodS: this.methodS, // 璇曢獙鏂规硶
+ };
+ const isHaveValue = Object.values(vtw).some((item) => {
+ return item;
+ });
+ this.changeProductList0();
+ if (isHaveValue) {
+ for (let i in vtw) {
+ if (vtw[i]) {
+ this.productList = this.productList0.filter((item) => {
+ return item[i] && item[i].includes(vtw[i]);
+ });
+ }
+ }
+ this.$nextTick(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) this.toggleSelection(a);
+ });
+ });
+ } else {
+ // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹�
+ this.productList = this.productList0;
+ this.$nextTick(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) this.toggleSelection(a);
+ });
+ });
+ }
+ },
+ getAuthorizedPerson() {
+ getLaboratoryPersonList()
+ .then((res) => {
+ if (res.code === 200) {
+ this.personList = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectDictForType() {
+ getDicts("urgency_level")
+ .then((res) => {
+ if (res.code === 200) {
+ this.type = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectUser() {
+ let selects = this.$refs.ValueTable2.multipleSelection;
+ if (selects.length == 0) {
+ this.$message.error("鏈�夋嫨鏁版嵁");
+ return;
+ }
+ this.addObj.company = selects.company;
+ this.addObj.code = selects.code;
+ this.addObj.companyId = selects.id;
+ this.selectUserDia = false;
+ if (this.active == 1) {
+ // TODO
+ this.selectInsOrderTemplate();
+ }
+ },
+ containsValue(str) {
+ if (str) {
+ let symbolItem = "";
+ this.symbolList.some((value) => {
+ if (str.includes(value)) {
+ symbolItem = value;
+ return true;
+ }
+ });
+ return symbolItem;
+ }
+ },
+ /**
+ * 鑾峰彇灏忔暟鐨勬渶澶т綅鏁�
+ * @param number 鍨嬪彿鍙傛暟
+ * @param ask 瑕佹眰鍊�
+ * @param calcNum 璁$畻鍊�
+ */
+ getDecimalPlaces(number, ask, calcNum) {
+ console.log("璁$畻灏忔暟鐐�-->", number, ask, calcNum);
+ let count1 = 0;
+ let count2 = 0;
+ const reg = /(\d+\.)(\d+)/g;
+ let matches = [];
+ if (ask) {
+ matches = ask.match(reg);
+ }
+ if (
+ matches &&
+ matches.length > 0 &&
+ matches[0].toString().indexOf(".") > -1
+ ) {
+ count1 = matches[0].toString().split(".")[1].length;
+ }
+ if (number.toString().indexOf(".") > -1) {
+ count2 = number.toString().split(".")[1].length;
+ }
+ if (calcNum.toString().indexOf(".") > -1) {
+ const pointLength2 = calcNum.toString().split(".")[1].length;
+ count2 = count2 > pointLength2 ? count2 : pointLength2;
+ }
+ return count1 > count2 ? count1 : count2;
+ },
+ handleAsk(ask, symbolItem, value) {
+ console.log("澶勭悊瑕佹眰鍊�--銆�", ask, symbolItem, value);
+ try {
+ let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"];
+ if (ask.includes("&")) {
+ // 澶氫釜鏉′欢
+ let arr0 = ask.split("&");
+ let arr1 = [];
+ arr0.forEach((m) => {
+ let index = code.findIndex((b) => m.includes(b));
+ if (index > -1) {
+ let arr = m.split(code[index]).filter((b) => !!b);
+ let calcNum = new Big(
+ bigEval(this.replaceAll(arr[0], symbolItem, value))
+ );
+ let num = calcNum.toFixed(
+ this.getDecimalPlaces(value, ask, calcNum)
+ );
+ m = code[index] + "" + num;
+ arr1.push(m);
+ }
+ });
+ // console.log("澶勭悊澶氫釜鏉′欢瑕佹眰鍊�--銆�", arr1.join("&"));
+ return arr1.join("&");
+ } else {
+ // 鍗曚釜鏉′欢
+ let index = code.findIndex((b) => ask.includes(b));
+ // console.log("index--銆�", index);
+ if (index > -1) {
+ let arr = ask.split(code[index]).filter((b) => !!b);
+ console.log("鐗规畩鍊兼浛鎹�--銆�", arr);
+ let calcNum = new Big(
+ bigEval(this.replaceAll(arr[0], symbolItem, value))
+ );
+ let num = calcNum.toFixed(
+ this.getDecimalPlaces(value, ask, calcNum)
+ );
+ console.log("澶勭悊鍗曚釜鏉′欢瑕佹眰鍊�--銆�", code[index] + "" + num);
+ return code[index] + "" + num;
+ }
+ }
+ } catch (e) {
+ console.error("澶勭悊瑕佹眰鍊煎紓甯�-->", e);
+ }
+ },
+ handleTell(tell, symbolItem, value) {
+ try {
+ let num = this.replaceAll(tell, symbolItem, value);
+ return num;
+ } catch (e) {}
+ },
+ replaceAll(str, find, value) {
+ if (str === undefined) {
+ return str;
+ }
+ return str.split(find).join(value);
+ },
+ save() {
+ if (!this.addObj.companyId) {
+ this.$message.error("鏈�夋嫨瀹㈡埛鍗曚綅");
+ return;
+ }
+ if (!this.addObj.type) {
+ this.$message.error("鏈�夋嫨绱ф�ョ▼搴�");
+ } else if (!this.addObj.formType) {
+ this.$message.error("璇疯緭鍏ユ潵鏍锋柟寮�");
+ } else if (!this.addObj.orderType) {
+ this.$message.error("璇烽�夋嫨妫�楠岀被鍒�");
+ } else if (!this.addObj.production) {
+ this.$message.error("璇疯緭鍏ョ敓浜у崟浣�");
+ } else if (!this.addObj.productionEn) {
+ this.$message.error("璇疯緭鍏ョ敓浜у崟浣岴N");
+ } else if (this.sampleList.length < 1) {
+ this.$message.error("璇锋坊鍔犱竴涓牱鍝�");
+ } else if (!this.sampleList.every((m) => m.sample)) {
+ this.$message.error("璇疯緭鍏ユ牱鍝佸悕绉�");
+ } else if (!this.sampleList.every((m) => m.model)) {
+ this.$message.error("璇疯緭鍏ユ牱鍝佸瀷鍙�");
+ } else if (!this.sampleList.every((m) => m.standardMethodListId)) {
+ this.$message.error("璇烽�夋嫨妫�楠屾爣鍑�");
+ } else {
+ const select = this.selectTree.split(" - ");
+ const productListSelected = this.productListSelected.some(
+ (item) => item.inspectionItem === "娓╁害寰幆"
+ );
+ let isHaveBushing = "";
+ this.sampleList.forEach((item) => {
+ if (!item.bushing || item.bushing.length === 0) {
+ isHaveBushing = false;
+ }
+ });
+ //鍒ゆ柇绱ф�ラ搴︽槸鍚︾敤瀹�
+ this.hasSendUrgentOrder(this.addObj.type).then((res) => {
+ if (!res) {
+ this.addObj.type = "1";
+ this.$message.error("褰撳ぉ绱ф�ラ搴﹀凡鐢ㄥ畬");
+ } else {
+ let sampleCodes = new Set();
+ let flag = false;
+ for (let i = 0; i < this.sampleList.length; i++) {
+ if (
+ this.sampleList[i].sampleCode &&
+ this.sampleList[i].sampleCode.trim() !== "" &&
+ this.sampleList[i].sampleCode != null
+ ) {
+ if (sampleCodes.has(this.sampleList[i].sampleCode)) {
+ flag = true;
+ break;
+ }
+ sampleCodes.add(this.sampleList[i].sampleCode);
+ }
+ }
+ if (flag) {
+ this.$message.error("鏍峰搧缂栧彿涓嶈兘閲嶅");
+ return;
+ }
+ //杩囨护妫�娴嬮」锛氬幓闄ょ壒娈婇」
+ let filterProductList = this.productListSelected
+ .filter((ele) => ele.bsm == 0)
+ .filter((ele) => {
+ if (
+ select[1].indexOf("閫氫俊") >= 0 &&
+ ["鍏夌紗", "鍏夌氦"].includes(select[2])
+ ) {
+ return !["娓╁害寰幆", "鍏夌氦鎺ュご鎹熻��"].includes(
+ ele.inspectionItem
+ );
+ }
+ return true;
+ })
+ .filter((ele) => {
+ if (select[1].indexOf("鐢靛姏") >= 0) {
+ return !["娓╁崌璇曢獙", "鐑惊鐜�"].includes(ele.inspectionItem);
+ }
+ return true;
+ });
+ //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
+ const isTrue = this.checkRequiredValueAndRemark(
+ filterProductList,
+ this.isAskOnlyRead
+ );
+ if (!isTrue) {
+ this.errorInspectionItem = true;
+ this.errorInspectionItemList = [
+ ...new Set(this.errorInspectionItemList),
+ ];
+ let newData = [];
+ const h = this.$createElement;
+ for (let i in this.errorInspectionItemList) {
+ const lastChar = this.errorInspectionItemList[i].slice(-1);
+ if (lastChar == "-") {
+ this.errorInspectionItemList[i] =
+ this.errorInspectionItemList[i].slice(0, -1);
+ }
+ newData.push(
+ h(
+ "p",
+ { style: "font-size: 14px;color: red;" },
+ Number(i) + 1 + "銆�" + this.errorInspectionItemList[i]
+ )
+ );
+ }
+ newData.push(
+ h(
+ "p",
+ {
+ style:
+ "font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh",
+ },
+ "浠ヤ笂椤圭洰瑕佹眰鎻忚堪涓庤姹傚�间笉鍖归厤锛岀‘瀹氭彁浜わ紵"
+ )
+ );
+ this.$confirm("鎻愮ず", {
+ title: "鎻愮ず",
+ message: h("div", null, newData),
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "",
+ })
+ .then(() => {
+ console.log("纭畾");
+ // console.log('isHaveBushing===', this.totalArr)
+ let spcialItem = this.totalArr.filter(
+ (a) =>
+ a.state == 1 &&
+ (a.inspectionItem.includes("鏉惧绠�") ||
+ (a.inspectionItemSubclass &&
+ a.inspectionItemSubclass.includes("鏉惧绠�")))
+ );
+ if (
+ productListSelected &&
+ select[2] === "鍏夌紗" &&
+ isHaveBushing === false &&
+ spcialItem.length == 0
+ ) {
+ this.$message.error("鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆");
+ this.$refs.sampleTable.setCurrentRow(
+ this.currentMethod,
+ true
+ );
+ this.rowClick(this.currentMethod);
+ this.sampleIds = [this.currentMethod.id];
+ this.openConfig();
+ return;
+ } else if (spcialItem.length > 0 && isHaveBushing === false) {
+ this.$message.error("鏉惧绠¢」鐩繀椤昏繘琛屽厜绾ら厤缃�");
+ this.$refs.sampleTable.setCurrentRow(
+ this.currentMethod,
+ true
+ );
+ this.rowClick(this.currentMethod);
+ this.sampleIds = [this.currentMethod.id];
+ // spcialItem.forEach(item=>{
+ // this.sampleIds.push(item.id)
+ // })
+ this.openConfig();
+ return;
+ }
+ let sampleList = this.HaveJson(this.sampleList);
+ let projectNum = this.totalArr.filter(
+ (a) => a.state == 1
+ ).length;
+ if (projectNum == 0) {
+ this.$confirm("妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ this.saveMethod(sampleList);
+ })
+ .catch(() => {});
+ } else {
+ let isRTS = this.totalArr.find(
+ (a) =>
+ a.ask != null &&
+ this.symbolList.find((b) => a.ask.includes(b)) &&
+ a.state == 1
+ );
+ if (isRTS && this.PROJECT == "妫�娴嬩腑蹇�") {
+ this.editTable = this.handleData(
+ sampleList,
+ this.containsValue,
+ 0
+ );
+ if (this.editTable.length === 0) {
+ this.$message.error("瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒");
+ return;
+ }
+ // console.log('editTable1===', this.editTable);
+ this.editTable.forEach((item) => {
+ item.value = item.modelNum;
+ });
+ this.bsm3Dia = true;
+ return;
+ }
+ this.saveMethod(sampleList);
+ }
+ this.errorInspectionItemList = [];
+ })
+ .catch(() => {
+ this.errorInspectionItemList = [];
+ this.errorInspectionItem = false;
+ return;
+ });
+ //this.$message.error('妫�楠岄」'+this.errorInspectionItemList+'鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�')
+ //return
+ }
+ if (this.errorInspectionItem) {
+ return;
+ }
+ // console.log('isHaveBushing===', this.totalArr)
+ let spcialItem = this.totalArr.filter(
+ (a) =>
+ a.state == 1 &&
+ (a.inspectionItem.includes("鏉惧绠�") ||
+ (a.inspectionItemSubclass &&
+ a.inspectionItemSubclass.includes("鏉惧绠�")))
+ );
+ if (
+ productListSelected &&
+ select[2] === "鍏夌紗" &&
+ isHaveBushing === false &&
+ spcialItem.length == 0
+ ) {
+ this.$message.error("鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆");
+ this.$refs.sampleTable.setCurrentRow(this.currentMethod, true);
+ this.rowClick(this.currentMethod);
+ this.sampleIds = [this.currentMethod.id];
+ this.openConfig();
+ return;
+ } else if (spcialItem.length > 0 && isHaveBushing === false) {
+ this.$message.error("鏉惧绠¢」鐩繀椤昏繘琛屽厜绾ら厤缃�");
+ this.$refs.sampleTable.setCurrentRow(this.currentMethod, true);
+ this.rowClick(this.currentMethod);
+ this.sampleIds = [this.currentMethod.id];
+ // spcialItem.forEach(item=>{
+ // this.sampleIds.push(item.id)
+ // })
+ this.openConfig();
+ return;
+ }
+ let sampleList = this.HaveJson(this.sampleList);
+ let projectNum = this.totalArr.filter((a) => a.state == 1).length;
+ if (projectNum == 0) {
+ this.$confirm("妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ this.saveMethod(sampleList);
+ })
+ .catch(() => {});
+ } else {
+ let isRTS = this.totalArr.find(
+ (a) =>
+ a.ask != null &&
+ this.symbolList.find((b) => a.ask.includes(b)) &&
+ a.state == 1
+ );
+ if (isRTS && this.PROJECT == "妫�娴嬩腑蹇�") {
+ this.editTable = this.handleData(
+ sampleList,
+ this.containsValue,
+ 0
+ );
+ if (this.editTable.length === 0) {
+ this.$message.error("瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒");
+ return;
+ }
+ // console.log('editTable1===', this.editTable);
+ this.editTable.forEach((item) => {
+ item.value = item.modelNum;
+ });
+ this.bsm3Dia = true;
+ return;
+ }
+ this.saveMethod(sampleList);
+ }
+ }
+ });
+ }
+ },
+ errorSet() {},
+ /**
+ * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊�
+ *
+ */
+ checkRequiredValueAndRemark(data, isAskOnlyRead) {
+ let isTrue = true;
+ //杩囨护瑕佹眰鍊兼垨瑕佹眰鎻忚堪涓虹┖鐨勬楠岄」
+ let emptyList = data.filter(
+ (ele) =>
+ ele.ask == undefined ||
+ ele.ask == "" ||
+ ele.ask == null ||
+ ele.tell == undefined ||
+ ele.tell == "" ||
+ ele.tell == null
+ );
+ if (emptyList.length > 0) {
+ emptyList.forEach((ele) => {
+ console.log("ask or tell is null");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ });
+ isTrue = false;
+ }
+ //濮旀墭瑕佹眰鎵嶈蛋涓嬮潰鐨勬牎楠�
+ if (isAskOnlyRead) {
+ try {
+ data.forEach((ele) => {
+ //瑕佹眰鍊煎拰瑕佹眰鎻忚堪涓嶈兘涓虹┖
+ // if(!ele.ask || !ele.tell){
+ // console.log(111111);
+ // this.errorInspectionItemList.push(ele.inspectionItem + ' ' + (ele.inspectionItemSubclass == null ? '' : ele.inspectionItemSubclass))
+ // //this.errorInspectionItemList.push(h('p', {style: 'font-size: 14px;color: red;'},ele.inspectionItem + ' ' + ele.inspectionItemSubclass))
+ // //this.errorInspectionItemList.push(h('p', { style: 'font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh' },'浠ヤ笂椤圭洰涓嶅悎鏍硷紝纭畾鎻愪氦锛�'))
+ // isTrue = false
+ // }else{
+ // }
+ if (/[0-9]/.test(ele.ask)) {
+ //鍒ゆ柇锛堚墹,鈮�,>,<,=锛夎繖鍑犵鎯呭喌
+ //鍒ゆ柇瑕佹眰鍊间腑鐨勬暟瀛楁槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓�
+ //.match(/\d+(\.\d+)?/g) 姝ゆ鍒欐埅鍙栧瓧绗︿腑鐨勬暣鏁板拰灏忔暟
+ if (["鈮�", "鈮�", ">", "<", "="].includes(ele.ask[0])) {
+ const askVal = ele.ask.match(/\d+(\.\d+)?/g);
+ // 鍒ゆ柇瑕佹眰鍊兼槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓�
+ if (ele.tell.includes(ele.ask[0])) {
+ const regex = /([鈮も墺<>!=]=?|[<>=])[+-]?\d*(\.\d+)?/g;
+ const matches = ele.tell.match(regex);
+ if (
+ ele.ask != ele.tell &&
+ matches.filter((item) => item == ele.ask).length == 0
+ ) {
+ console.log(
+ "瑕佹眰鍊煎拰瑕佹眰鎻忚堪涓嶇浉绛�,骞朵笖瑕佹眰鎻忚堪涓笉鍖呭惈瑕佹眰鍊�"
+ );
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ }
+ if (isNaN(askVal[0])) {
+ console.log("瑕佹眰鍊间腑娌℃湁鏁板瓧");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ if (
+ ele.tell.includes("鐩村緞鍏樊涔嬪崐") &&
+ ele.ask.indexOf("0.5") < 0
+ ) {
+ console.log("鐩村緞鍏樊涔嬪崐涓�0.5涓嶅尮閰�");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ // if(ele.tell.indexOf(askVal[0])<0 && ele.tell.indexOf('鍗�')<0){
+ // console.log(askVal);
+ // console.log(2222233);
+ // isTrue = false
+ // }else if(askVal==0.5&&ele.tell.indexOf('鍗�')<0){
+ // console.log(22222);
+ // isTrue = false
+ // }
+ }
+ }
+ //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸-
+ if (
+ ele.ask.indexOf("-") > 0 &&
+ ele.ask.length > 1 &&
+ ele.ask.indexOf("&") < 0
+ ) {
+ //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁�
+ let tell = ele.tell;
+ if (
+ ele.tell.indexOf("~") > 0 ||
+ ele.tell.indexOf("锛�") ||
+ ele.tell.indexOf("锛�")
+ ) {
+ tell = tell.replace("~", "-");
+ tell = tell.replace("锛�", "(");
+ tell = tell.replace("锛�", ")");
+ }
+ const splits = ele.ask.split("-");
+ //婊¤冻鏍煎紡瑕佹眰锛屽苟涓斾袱涓兘鏄暟瀛�
+ if (
+ splits.length == 2 &&
+ !isNaN(splits[0]) &&
+ !isNaN(splits[1])
+ ) {
+ /**
+ * 鍒ゆ柇鎯呭喌
+ * 1.瑕佹眰鎻忚堪涓庤姹傛弿杩扮浉鍚�
+ * 2.瑕佹眰鎻忚堪鍖呭惈瑕佹眰鍊�
+ * 3.瑕佹眰鎻忚堪涓�3N-10N杩欑鎯呭喌
+ * 4.瑕佹眰鎻忚堪涓�10卤5杩欑鎯呭喌
+ * 5.瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鎯呭喌
+ */
+ let min = Math.min(...splits);
+ let max = Math.max(...splits);
+ if (min == max) {
+ console.log("鏈�澶у�煎拰鏈�灏忓�肩浉绛�");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
+ if (tell.indexOf("卤") < 0 && tell.indexOf("-") < 0) {
+ console.log("瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛�");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ } else if (ele.tell.indexOf("-") == 0) {
+ console.log("瑕佹眰鍊肩殑鍖洪棿鏍煎紡閿欒");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ } else if (tell.indexOf("-") > 0 || tell.indexOf("卤") > 0) {
+ if (tell.indexOf("卤") > 0 && tell.indexOf("-") > 0) {
+ const num = tell.split("卤")[1];
+ const startIndex = tell.indexOf("(");
+ const endIndex = tell.indexOf(")");
+ ////鏍¢獙瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鍐欐硶鐨勬儏鍐�
+ if (startIndex > -1 && endIndex > 0) {
+ const str = tell.substring(startIndex, endIndex);
+ if (str && str.indexOf("-") > 0) {
+ let strList = str.split("-");
+ const minNum = Number(strList[0] - num);
+ const maxNum = Number(strList[1] + num);
+ if (minNum > min || maxNum < max) {
+ console.log("閿欒鐨勫尯闂磋缃�");
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ }
+ }
+ } else if (tell.indexOf("卤") > 0 && tell.indexOf("-") < 0) {
+ //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐�
+ let splitNums = tell.split("卤");
+ if (splitNums.length < 2) {
+ console.log(777777);
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ } else {
+ let leftNum = splitNums[0].match(/\d+(\.\d+)?/g);
+ let rightNum = splitNums[1].match(/\d+(\.\d+)?/g);
+ console.log(leftNum, rightNum);
+ let minTell = Number(
+ Number(leftNum) - Number(rightNum)
+ ).toFixed(6);
+ let maxTell = Number(
+ Number(leftNum) + Number(rightNum)
+ ).toFixed(6);
+ if (minTell != min || maxTell != max) {
+ console.log(888888);
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ }
+ } else {
+ const splitTells = tell.split("-");
+ if (
+ splitTells[0].indexOf(min) < 0 ||
+ splitTells[1].indexOf(max) < 0
+ ) {
+ console.log(99999);
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ }
+ }
+ } else {
+ console.log(1010101001);
+ this.errorInspectionItemList.push(
+ ele.inspectionItem +
+ " " +
+ (ele.inspectionItemSubclass == null
+ ? ""
+ : ele.inspectionItemSubclass)
+ );
+ isTrue = false;
+ }
+ }
+ // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){
+ // //鍒ゆ柇
+ // }
+ }
+ });
+ } catch (error) {
+ console.log(error);
+ isTrue = false;
+ }
+ }
+ return isTrue;
+ },
+ save0() {
+ console.log("editTable2===", this.editTable);
+ if (this.editTable.every((m) => m.value)) {
+ let sampleList = this.handleData(
+ this.HaveJson(this.sampleList),
+ this.handleAsk,
+ 1
+ );
+ if (sampleList.length === 0) {
+ this.$message.error("瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒");
+ return;
+ }
+ this.saveMethod(sampleList);
+ } else {
+ this.$message.error("璇峰~鍐欒瘑鍒鍊�");
+ }
+ },
+ handleData(sampleList, calBack, type) {
+ let editTable = [];
+ let isTrue = true;
+ sampleList.forEach((item) => {
+ let obj = {
+ sampleCode: item.sampleCode,
+ model: item.model,
+ symbolList: [],
+ sampleId: item.id,
+ modelNum: item.modelNum,
+ };
+ if (item.insProduct && item.insProduct.length > 0) {
+ item.insProduct.forEach((a) => {
+ if (a.state == 1) {
+ if (type == 0) {
+ let str = calBack(a.ask);
+ str &&
+ obj.symbolList.push({
+ symbolItem: str,
+ inspectionItem: a.inspectionItem,
+ });
+ } else if (type == 1) {
+ let arr = this.HaveJson(
+ this.editTable.filter((b) => b.sampleId == item.id)
+ );
+ for (var i = 0; i < arr.length; i++) {
+ if (a.ask) {
+ if (a.ask.includes(arr[i].symbolItem)) {
+ let ask = calBack(a.ask, arr[i].symbolItem, arr[i].value);
+ if (ask) {
+ a.ask = ask;
+ }
+ let tell = this.handleTell(
+ a.tell,
+ arr[i].symbolItem,
+ arr[i].value
+ );
+ if (tell) {
+ a.tell = tell;
+ }
+ }
+ } else {
+ isTrue = false;
+ }
+ }
+ // arr.forEach(f => {
+ // if(a.ask){
+ // if(a.ask.includes(f.symbolItem)){
+ // let ask = calBack(a.ask, f.symbolItem,f.value)
+ // if (ask) {
+ // a.ask = ask
+ // }
+ // let tell = this.handleTell(a.tell, f.symbolItem,f.value)
+ // if (tell) {
+ // a.tell = tell
+ // }
+ // }
+ // }else{}
+ // })
+ }
+ }
+ });
+ }
+ // 鍏夌氦甯﹂」鐩�
+ if (item.bushing && item.bushing.length > 0) {
+ item.bushing.forEach((a) => {
+ if (a.fiber && a.fiber.length > 0) {
+ a.fiber.forEach((b) => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach((c) => {
+ if (c.state == 1) {
+ if (type == 0) {
+ let str = calBack(c.ask);
+ str &&
+ obj.symbolList.push({
+ symbolItem: str,
+ inspectionItem: c.inspectionItem,
+ });
+ } else if (type == 1) {
+ let arr = this.editTable.filter(
+ (b) => b.sampleId == item.id
+ );
+ arr.forEach((f) => {
+ if (c.ask.includes(f.symbolItem)) {
+ let ask = calBack(c.ask, f.symbolItem, f.value);
+ if (ask) {
+ c.ask = ask;
+ }
+ let tell = this.handleTell(
+ c.tell,
+ f.symbolItem,
+ f.value
+ );
+ if (tell) {
+ c.tell = tell;
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ }
+ if (a.fibers && a.fibers.length > 0) {
+ a.fibers.forEach((b) => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach((c) => {
+ if (c.state == 1) {
+ if (type == 0) {
+ let str = calBack(c.ask);
+ str &&
+ obj.symbolList.push({
+ symbolItem: str,
+ inspectionItem: c.inspectionItem,
+ });
+ } else if (type == 1) {
+ // let ask = calBack(c.ask, c.rts)
+ // if (ask && c.state == 1) {
+ // c.ask = csk
+ // }
+ let arr = this.editTable.filter(
+ (b) => b.sampleId == item.id
+ );
+ arr.forEach((f) => {
+ if (c.ask.includes(f.symbolItem)) {
+ let ask = calBack(c.ask, f.symbolItem, f.value);
+ if (ask) {
+ c.ask = ask;
+ }
+ let tell = this.handleTell(
+ c.tell,
+ f.symbolItem,
+ f.value
+ );
+ if (tell) {
+ c.tell = tell;
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ if (b.fiber && b.fiber.length > 0) {
+ b.fiber.forEach((c) => {
+ if (c.productList && c.productList.length > 0) {
+ c.productList.forEach((d) => {
+ if (d.state == 1) {
+ if (type == 0) {
+ let str = calBack(d.ask);
+ str &&
+ obj.symbolList.push({
+ symbolItem: str,
+ inspectionItem: d.inspectionItem,
+ });
+ } else if (type == 1) {
+ // let ask = calBack(d.ask, d.rts)
+ // if (ask && d.state == 1) {
+ // d.ask = ask
+ // }
+ let arr = this.editTable.filter(
+ (b) => b.sampleId == item.id
+ );
+ arr.forEach((f) => {
+ if (d.ask.includes(f.symbolItem)) {
+ let ask = calBack(d.ask, f.symbolItem, f.value);
+ if (ask) {
+ d.ask = ask;
+ }
+ let tell = this.handleTell(
+ d.tell,
+ f.symbolItem,
+ f.value
+ );
+ if (tell) {
+ d.tell = tell;
+ }
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ }
+ });
+ }
+ });
+ }
+ if (type == 0) {
+ editTable.push(obj);
+ }
+ });
+ if (type == 0) {
+ editTable.forEach((a) => {
+ a.symbolList.forEach((b) => {
+ let arr = a.symbolList.filter((c) => c.symbolItem == b.symbolItem);
+ b.inspectionItemList = arr.map((c) => c.inspectionItem).join(",");
+ });
+ });
+ editTable.forEach((a) => {
+ let mySet = new Set();
+ a.symbolList = a.symbolList.filter((b) => {
+ let num0 = mySet.size;
+ mySet.add(b.symbolItem);
+ let num1 = mySet.size;
+ if (num0 != num1) {
+ return true;
+ } else {
+ return false;
+ }
+ });
+ });
+ let editTableNew = [];
+ editTable.forEach((a) => {
+ a.symbolList.forEach((b) => {
+ let obj = {
+ sampleCode: a.sampleCode,
+ model: a.model,
+ symbolItem: b.symbolItem,
+ sampleId: a.sampleId,
+ sampleIdTwo: a.sampleId,
+ value: null,
+ inspectionItemList: b.inspectionItemList,
+ modelNum: a.modelNum,
+ };
+ editTableNew.push(obj);
+ });
+ });
+ return isTrue ? editTableNew : [];
+ } else {
+ return isTrue ? sampleList : [];
+ }
+ },
+ saveMethod(sampleList0) {
+ let sampleList = this.HaveJson(sampleList0);
+ sampleList.forEach((a) => {
+ a.insProduct.forEach((b) => {
+ b.id = null;
+ delete b.bsmRow;
+ });
+ if (a.bushing && a.bushing.length > 0) {
+ a.bushing.forEach((b) => {
+ b.fiber.forEach((c) => {
+ c.productList.forEach((d) => {
+ d.id = null;
+ });
+ });
+ b.fibers.forEach((c) => {
+ c.productList.forEach((d) => {
+ d.id = null;
+ });
+ });
+ });
+ }
+ });
+ this.editTable.forEach((item) => {
+ sampleList.forEach((a) => {
+ if (item.sampleIdTwo == a.id) {
+ a.insProduct.forEach((b) => {
+ if (item.inspectionItemList == b.inspectionItem) {
+ b.ask = b.ask.replace(item.symbolItem, item.value);
+ this.$set(b, "specialValue", item.value);
+ }
+ });
+ }
+ });
+ });
+ console.log(this.sampleList);
+ console.log(this.fiberPairing);
+ this.saveLoad = true;
+ addInsOrder({
+ insOrder: this.addObj,
+ list: sampleList.map((a) => {
+ a.model =
+ a.model +
+ (a.modelNum == null || a.modelNum == "" || a.modelNum == "null"
+ ? ""
+ : "-" + a.modelNum);
+ a.insProduct = a.insProduct.filter((b) => b.state === 1);
+ return a;
+ }),
+ pairing: this.bsm2Val2,
+ fiberPairing: this.fiberPairing,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("宸叉彁浜�");
+ this.bsm3Dia = false;
+ this.goBack();
+ }
+ this.saveLoad = false;
+ })
+ .catch((error) => {
+ this.saveLoad = false;
+ console.error(error);
+ });
+ },
+ upInsOrderOfState(state) {
+ if (state == 1) {
+ this.issuedDialogVisible = true;
+ selectOrderManDay({
+ id: this.currentId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.distributeData.orderId = this.currentId;
+ this.distributeData.appointed = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ setTimeout(() => {
+ this.issuedDialogVisible = true;
+ }, 1000);
+ } else {
+ // 涓嶉�氳繃
+ this.noDialogVisible = true;
+ }
+ },
+ getLabelPrinting(currentId) {
+ labelPrinting({
+ ids: currentId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ //瀹℃牳閫氳繃锛岄粯璁ゅ彧鎵撳嵃绗竴涓牱鍝佹爣绛�
+ let firstSample = res.data[0];
+ let arr1 = [];
+ firstSample.insProduct.forEach((b) => {
+ arr1.push(b.inspectionItem);
+ });
+ firstSample.item = [...new Set(arr1)].join(",");
+ this.beginPrint(firstSample);
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ //寮�濮嬫爣绛炬墦鍗�
+ beginPrint(qrData) {
+ console.log("qrData", qrData);
+ if (qrData == null || qrData.code == null || qrData.code == "") {
+ return;
+ }
+ this.LODOP = getLodop();
+ this.LODOP.SET_LICENSES(
+ "鍗楅�氬競閼槼杞欢寮�鍙戞湁闄愬叕鍙�",
+ "60F8E5078AE17DEB340C94BC7E83CAFF",
+ "",
+ ""
+ );
+ this.LODOP.PRINT_INITA();
+ let qrStr =
+ "https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=" +
+ qrData.id +
+ "&type=sample";
+ // this.LODOP.NEWPAGE()
+ // this.LODOP.SET_PRINT_PAGESIZE(0, 100, 360, '')
+ this.LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 1);
+ this.LODOP.ADD_PRINT_BARCODE(2, 5, 80, 80, "QRCode", qrStr);
+ this.LODOP.ADD_PRINT_TEXT(5, 85, 60, 18, "鏍峰搧缂栧彿锛�");
+ this.LODOP.SET_PRINT_STYLEA(2, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(5, 117, 280, 18, qrData.sampleCode);
+ this.LODOP.SET_PRINT_STYLEA(3, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(15, 85, 60, 18, "濮旀墭鍗曞彿锛�");
+ this.LODOP.SET_PRINT_STYLEA(4, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(15, 117, 280, 18, qrData.code);
+ this.LODOP.SET_PRINT_STYLEA(5, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(25, 85, 60, 18, "瑙勬牸鍨嬪彿锛�");
+ this.LODOP.SET_PRINT_STYLEA(6, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(25, 117, 280, 18, qrData.model);
+ this.LODOP.SET_PRINT_STYLEA(7, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(35, 85, 60, 18, "鏍峰搧鍚嶇О锛�");
+ this.LODOP.SET_PRINT_STYLEA(8, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(35, 117, 280, 18, qrData.sample);
+ this.LODOP.SET_PRINT_STYLEA(9, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(45, 85, 60, 20, "妫�娴嬮」鐩細");
+ this.LODOP.SET_PRINT_STYLEA(10, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(
+ 45,
+ 117,
+ 150,
+ 20,
+ qrData.item.length > 42
+ ? qrData.item.substring(0, 39) + "..."
+ : qrData.item
+ );
+ this.LODOP.SET_PRINT_STYLEA(11, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(67, 85, 60, 18, "鏍峰搧鐘舵�侊細");
+ this.LODOP.SET_PRINT_STYLEA(12, "FontSize", 5);
+ let stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+ let leaveStr =
+ qrData.isLeave && qrData.isLeave === 1 ? " 鈻g暀鏍�" : " 鈻㈢暀鏍�";
+ if (qrData.insState == 0) {
+ stateStr = "鈻e緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+ } else if (qrData.insState == 1) {
+ stateStr = "鈻㈠緟妫� 鈻e湪妫� 鈻㈠凡妫�";
+ } else if (qrData.insState == 2) {
+ stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻e凡妫�";
+ }
+ this.LODOP.ADD_PRINT_TEXT(67, 117, 280, 18, stateStr + leaveStr);
+ this.LODOP.SET_PRINT_STYLEA(13, "FontSize", 5);
+ this.LODOP.PRINT();
+ // this.LODOP.PREVIEW()
+ },
+ // 涓嬪彂
+ submitForm2() {
+ if (
+ this.distributeData.appointed == null ||
+ this.distributeData.appointed == ""
+ ) {
+ this.$message.error("绾﹀畾鏃堕棿鏈~鍐�");
+ return;
+ }
+ if (
+ this.addObj.type == 2 &&
+ (this.distributeData.userId == null ||
+ this.distributeData.userId.length == 0)
+ ) {
+ this.$message.error("鎸囨淳浜哄憳鏈~鍐�");
+ return;
+ }
+ if (
+ this.distributeData.userId.length > 0 &&
+ (this.distributeData.sonLaboratory == null ||
+ this.distributeData.sonLaboratory == "")
+ ) {
+ this.$message.error("璇曢獙瀹ゆ湭濉啓");
+ return;
+ }
+ // let flag = true;
+ upInsOrderOfState({
+ state: 1,
+ id: this.currentId,
+ companyId: this.addObj.companyId,
+ laboratory: this.addObj.laboratory,
+ company: this.addObj.company,
+ isCreate: this.distributeData.isCreate,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.upLoad = true;
+ upInsOrder({
+ orderId: this.distributeData.orderId,
+ appointed: this.distributeData.appointed,
+ userIdList: this.distributeData.userId,
+ sonLaboratory: this.distributeData.sonLaboratory,
+ })
+ .then((res) => {
+ if (res.code === 201) {
+ this.upLoad = false;
+ return;
+ }
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.issuedDialogVisible = false;
+ this.upLoad = false;
+ this.goBack();
+ //瀹℃牳閫氳繃鍚庯紝鑷姩鎵撳嵃浜岀淮鐮�
+ //TODO: 鐢靛姏璇曢獙瀹ゆ殏鏃朵笉鐢ㄦ爣绛炬墦鍗�
+ if (
+ this.sonLaboratoryList.filter((f) => f.value === "鐢靛姏璇曢獙瀹�")
+ .length === 0
+ ) {
+ this.$nextTick(() => {
+ this.getLabelPrinting(this.currentId);
+ });
+ }
+ })
+ .catch((error) => {
+ this.$message.error("鎻愪氦澶辫触");
+ this.upLoad = false;
+ console.error(error);
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ init() {
+ if (this.addObj.custom == "" || this.addObj.custom == null) {
+ this.addObj.custom = this.loginUserInfo.nickName; //璁剧疆鍒跺崟浜轰负褰撳墠鐧诲綍浜�
+ } else {
+ this.addObj.custom = this.loginUserInfo.nickName;
+ }
+ this.addObj.company = this.loginUserInfo.companyName;
+ this.addObj.companyId = this.loginUserInfo.company;
+ this.addObj.userId = this.loginUserInfo.userId;
+ // this.addObj.code = this.loginUserInfo.code;
+ this.addObj.phone = this.loginUserInfo.phoneNumber;
+ this.addObj.production = "/";
+ this.addObj.productionEn = "/";
+ if (this.active == 1) {
+ this.selectInsOrderTemplate();
+ }
+ },
+ getProNum() {
+ this.sampleSelectionList.forEach((m, i) => {
+ this.$set(
+ this.sampleSelectionList[i],
+ "proNum",
+ m.insProduct.filter((a) => a.state == 1).length
+ );
+ });
+ this.$refs.sampleTable.doLayout();
+ },
+ searchFilter() {
+ this.$refs.tree.filter(this.search);
+ },
+ nodeOpen(data, node, el) {
+ $($(el.$el).find(".node_i")[0]).attr(
+ "class",
+ "node_i el-icon-folder-opened"
+ );
+ },
+ nodeClose(data, node, el) {
+ $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder");
+ },
+ handleNodeClick(val, node, el) {
+ this.selectTree = "";
+ this.models = val.children;
+ this.getNodeParent(node);
+ let flag = false;
+ if (node.level == 3) {
+ if (node.data.children.length > 0) {
+ node.data.children.forEach((a) => {
+ let key = Object.keys(a);
+ if (!key.includes("level")) {
+ flag = true;
+ }
+ });
+ }
+ }
+ this.selectTree = this.selectTree.replace(" - ", "");
+ if (flag) {
+ this.selectTree = " - - " + this.selectTree;
+ }
+ console.log("00000", this.selectTree);
+ let data = this.selectTree.split(" - ");
+ let data2 = "";
+ for (let index = data.length - 1; index >= 0; index--) {
+ data2 += " - " + data[index];
+ }
+ this.selectTree = data2.replace(" - ", "");
+ },
+ getNodeParent(val) {
+ if (val.parent != null) {
+ if (val.data.children === null) {
+ this.selectTree += " - " + val.label + " - " + "";
+ } else {
+ this.selectTree += " - " + val.label;
+ }
+ this.getNodeParent(val.parent);
+ }
+ },
+ selectStandardTreeList() {
+ selectStandardTreeList2()
+ .then((res) => {
+ if (res.code === 200) {
+ this.list = res.data;
+ this.list.forEach((a) => {
+ this.expandedKeys.push(a.label);
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.label.indexOf(value) !== -1;
+ },
+ activeStandardTree() {
+ let trees = this.selectTree.split(" - ");
+ if (trees.length < 3) {
+ this.$message.error("鏈�夋嫨瀵硅薄");
+ return;
+ }
+ this.addObj.factory = trees[0];
+ this.addObj.laboratory = trees[1];
+ this.addObj.sampleType = trees[2];
+ if (trees[3] === undefined || trees[3] === "" || trees[3] === "- ") {
+ this.addObj.sample = trees[2];
+ } else {
+ this.addObj.sample = trees[3];
+ }
+ this.addObj.model = trees[4] == undefined ? null : trees[4];
+ this.selectStandardTree = false;
+ this.sampleList = [];
+ for (var i = 0; i < this.addObj.sampleNum; i++) {
+ this.sample.joinName = null;
+ this.sample.joinModel = null;
+ this.sample.joinNum = 1;
+ this.sample.sample = this.addObj.sample;
+ this.sample.model = this.addObj.model;
+ this.sample.unit = this.addObj.unit;
+ this.sample.standardMethodListId = null;
+ this.sample.insProduct = [];
+ this.sample.id = this.count;
+ this.sample.childSampleList = [];
+ this.sample.insulating = null;
+ this.sample.sheath = null;
+ this.sampleList.push(this.HaveJson(this.sample));
+ this.count++;
+ }
+ this.$refs.sampleTable.doLayout();
+ // this.selectsStandardMethodByFLSSM()
+ },
+ selectsStandardMethodByFLSSM() {
+ this.methodLoad = true;
+ selectsStandardMethodByFLSSM({
+ tree: this.selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.methodLoad = false;
+ try {
+ if (
+ res.data.standardMethodList.length == 0 &&
+ this.selectTree.split("-").length == 5
+ ) {
+ let arr = this.selectTree.split("-");
+ let arr0 = arr.slice(0, arr.length - 1);
+ let selectTree = arr0
+ .join("-")
+ .substring(0, arr0.join("-").length - 1);
+ template()
+ .then((res) => {
+ if (res.status === 200) {
+ console.log(res);
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ selectsStandardMethodByFLSSM({
+ tree: selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.methods = ress.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ this.methods = res.data.standardMethodList;
+ }
+ } catch (e) {}
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ addStandardTree(currentValue, oldValue) {
+ if (this.selectTree == null) return;
+ //鍑忎竴涓牱鍝�
+ const absNum = Math.abs(currentValue - oldValue);
+ if (absNum == 1) {
+ if (currentValue < oldValue) {
+ this.sampleList.splice(currentValue, 1);
+ } else if (currentValue > oldValue) {
+ //鍔犱竴涓牱鍝�
+ //澶嶅埗绗竴涓牱鍝佷俊鎭�
+ let copySample = this.HaveJson(this.sampleList[0]);
+ copySample.id = parseInt(currentValue);
+ this.sampleList.push(copySample);
+ }
+ } else {
+ //鐩存帴杈撶殑鏁伴噺锛屽惊鐜敓鎴�
+ if (currentValue > oldValue) {
+ const num = currentValue - oldValue;
+ for (let i = 1; i <= num; i++) {
+ //澶嶅埗绗竴涓牱鍝佷俊鎭�
+ let copySample = this.HaveJson(this.sampleList[0]);
+ copySample.id = parseInt(oldValue + i);
+ this.sampleList.push(copySample);
+ }
+ } else if (oldValue > currentValue) {
+ const num = oldValue - currentValue;
+ this.sampleList.splice(currentValue, num);
+ }
+ }
+ // this.sampleList = []
+ // this.productList = []
+ // for (var i = 0; i < this.addObj.sampleNum; i++) {
+ // this.sample.joinName = null
+ // this.sample.joinModel = null
+ // this.sample.joinNum = 1
+ // this.sample.sample = this.addObj.sample
+ // this.sample.model = this.addObj.model
+ // this.sample.unit = this.addObj.unit
+ // this.sample.standardMethodListId = null
+ // this.sample.insProduct = []
+ // this.sample.id = parseInt(i+1)
+ // this.sample.childSampleList = []
+ // this.sample.insulating = null
+ // this.sample.sheath = null
+ // this.sampleList.push(this.HaveJson(this.sample))
+ // this.count++
+ // }
+ this.computationalPairing(this.sampleList.length);
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+ },
+ selectSample(val) {
+ this.sampleIds = [];
+ val.forEach((a) => {
+ this.sampleIds.push(a.id);
+ });
+ this.sampleSelectionList = val;
+ console.log("selectSample", this.sampleList);
+ console.log("val", val);
+ },
+ delSample() {
+ this.sampleIds.forEach((a) => {
+ for (var i = 0; i < this.sampleList.length; i++) {
+ if (this.sampleList[i].id == a) {
+ this.sampleList.splice(i, 1);
+ i -= 1;
+ break;
+ }
+ }
+ });
+ this.$refs.sampleTable.doLayout();
+ },
+ selectProduct(val) {
+ this.productListSelected = val;
+ this.productIds = [];
+ val.forEach((a) => {
+ this.productIds.push(a.id);
+ });
+ },
+ rowClick(row, column, event) {
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.sampleId = row.id;
+ if (this.active !== 1) {
+ this.sampleIds = [];
+ this.sampleSelectionList.forEach((ele) => {
+ if (ele.id == row.id) {
+ this.sampleIds.push(row.id);
+ }
+ });
+ }
+ this.productList = row.insProduct;
+ this.productList0 = JSON.parse(JSON.stringify(this.productList));
+ setTimeout(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) {
+ this.toggleSelection(a);
+ } else {
+ this.$refs.productTable.toggleRowSelection(a, false);
+ }
+ });
+ }, 200);
+ },
+ toggleSelection(row) {
+ this.$refs.productTable.toggleRowSelection(row, true);
+ },
+ upProductSelect(selection, row) {
+ let list = this.productListSelected.filter(
+ (item) => item.inspectionItem == "鍏夌氦鎺ュご鎹熻��"
+ );
+ if (list.length > 0) {
+ this.fiberLoss = list.map(
+ (item) => item.inspectionItem + "" + item.inspectionItemSubclass
+ );
+ }
+ if (row.inspectionItem == "鍏夌氦鎺ュご鎹熻��") {
+ this.fiberLoss.push(
+ row.inspectionItem + "" + row.inspectionItemSubclass
+ );
+ }
+ let arr1 = [...new Set(this.fiberLoss)];
+ this.bsm1DiaList = [];
+ row.state = row.state == 1 ? 0 : 1;
+ if (row.section === null) {
+ row.section = "";
+ }
+ let arr = this.productList.filter(
+ (m) =>
+ m.state == 1 &&
+ row.section.includes(m.section) &&
+ m.ask &&
+ m.section.indexOf("[") == -1
+ );
+ if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 1 &&
+ arr.length == 0
+ ) {
+ if (row.section.indexOf("[") > -1) {
+ row.bsmRow = this.HaveJson(row);
+ }
+ row.bsm1 = true;
+ this.bsm1DiaList.push(row);
+ this.bsm1DiaAll = true;
+ } else if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 0 &&
+ arr.length == 0
+ ) {
+ row.bsm1 = false;
+ } else if (arr.length > 0) {
+ try {
+ row.bsmRow = this.HaveJson(row);
+ if (row.section.indexOf("[") > -1) {
+ row.section = arr[0].section;
+ row.bsm1Val = arr[0].section;
+ this.bsm1DiaList.push(row);
+ this.upBsmAll(row);
+ } else {
+ let section = arr[0].section;
+ let arr0 = JSON.parse(row.section);
+ let arr1 = JSON.parse(row.ask);
+ let arr2 = JSON.parse(row.manHour);
+ let arr3 = JSON.parse(row.price);
+ let arr4 = JSON.parse(row.tell);
+ let index = arr0.indexOf(section);
+ row.section = section;
+ row.ask = arr1[index];
+ row.manHour = arr2[index];
+ row.price = arr3[index];
+ row.tell = arr4[index];
+ }
+ // let section = arr[0].section;
+ // let arr0 = JSON.parse(row.section);
+ // let arr1 = JSON.parse(row.ask);
+ // let arr2 = JSON.parse(row.manHour);
+ // let arr3 = JSON.parse(row.price);
+ // let arr4 = JSON.parse(row.tell);
+ // let index = arr0.indexOf(section);
+ // row.section = section;
+ // row.ask = arr1[index];
+ // row.manHour = arr2[index];
+ // row.price = arr3[index];
+ // row.tell = arr4[index];
+ } catch (e) {}
+ }
+ if (
+ row.bsm === "1" &&
+ row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ this.sampleList.length > 1 &&
+ row.state === 1 &&
+ !this.isBsm2Val2
+ ) {
+ this.bsm1Dia = arr1.length == 3 ? true : false;
+ this.bsm2 = this.bsm1Dia ? true : false;
+ //this.bsm2 = true;
+ // this.bsm1Dia = true;
+ if (this.bsm2Val2.length === 0) {
+ this.bsm2Val =
+ ((this.sampleList.length - 1) * this.sampleList.length) / 2;
+ this.computationalPairing(this.sampleList.length);
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+ }
+ } else if (
+ row.bsm === "1" &&
+ row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ row.state === 1 &&
+ this.sampleList.length > 1
+ ) {
+ this.bsm2 = false;
+ } else if (
+ row.bsm === "1" &&
+ row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ this.sampleList.length < 2
+ ) {
+ this.$message.error("鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�");
+ row.state = row.state == 1 ? 0 : 1;
+ this.$refs.productTable.toggleRowSelection(row, false);
+ return;
+ }
+ /* if (row.ask.includes('D')&&row.state === 1) {
+ this.bsmRow3 = null;
+ row.rts = ''
+ this.bsm3Val = ''
+ this.bsm3Dia = true
+ this.bsmRow3 = row
+ }else{
+ this.bsm3Dia = false
+ } */
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ if (m.id == row.id) {
+ m.state = row.state;
+ }
+ return m;
+ });
+ }
+ return item;
+ });
+ const select = this.selectTree.split(" - ");
+ if (
+ row.inspectionItem === "娓╁害寰幆" &&
+ select[2] === "鍏夌紗" &&
+ row.state === 1 &&
+ this.isAskOnlyRead
+ ) {
+ this.circulateShow = true;
+ return;
+ } else if (
+ row.inspectionItem === "娓╁害寰幆" &&
+ select[2] === "鍏夌紗" &&
+ row.state === 0
+ ) {
+ this.circulateShow = false;
+ }
+ if (
+ (row.inspectionItem === "娓╁崌璇曢獙" ||
+ row.inspectionItem === "鐑惊鐜�") &&
+ row.state === 1
+ ) {
+ // console.log('row---', row)
+ this.temperatureTitle = `${row.inspectionItem}瑕佹眰濉啓`;
+ this.isShowInput = row.inspectionItem === "鐑惊鐜�";
+ this.temId = row.id;
+ // this.temperatureShow = true;
+ this.spliceTemperatureTest();
+ return;
+ } else if (
+ (row.inspectionItem === "娓╁崌璇曢獙" ||
+ row.inspectionItem === "鐑惊鐜�") &&
+ row.state === 0
+ ) {
+ this.temperatureShow = false;
+ }
+ if (
+ row.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+ select[2] === "鍏夌紗" &&
+ row.state === 1
+ ) {
+ this.singleVerticalCombustionNum++;
+ if (this.singleVerticalCombustionNum > 1) {
+ this.openSingleVerticalCombustionDialog();
+ return;
+ }
+ } else if (
+ row.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+ select[2] === "鍏夌紗" &&
+ row.state === 0
+ ) {
+ this.singleVerticalCombustionNum--;
+ }
+ this.changeProductList0();
+ this.currentMethod.insProduct = this.productList0;
+ this.getProNum();
+ console.log("upProductSelect", this.sampleList);
+ },
+ searchProject() {
+ getDicts("fiber_type")
+ .then((res) => {
+ if (res.code === 200) {
+ this.opticalProject = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ permute(nums) {
+ const result = [];
+
+ function backtrack(temp, nums) {
+ if (temp.length === 2) {
+ result.push([...temp]);
+ return;
+ }
+ for (let i = 0; i < nums.length; i++) {
+ if (temp.includes(nums[i])) continue;
+ // 閬垮厤閲嶅鏁板瓧
+ if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚�
+ temp.push(nums[i]);
+ backtrack(temp, nums);
+ temp.pop();
+ }
+ }
+ backtrack([], nums);
+ return result;
+ },
+ computationalPairing(n) {
+ const nums = [];
+ for (let i = 1; i <= n; i++) {
+ nums.push(i);
+ }
+ this.bsm2Val3 = this.HaveJson(this.permute(nums));
+ },
+ tableRowClassName({ row, rowIndex }) {
+ if (row.state === 0) {
+ return "";
+ }
+ return "warning-row";
+ },
+ selectInsOrderTemplate() {
+ selectInsOrderTemplate({ company: this.addObj.company })
+ .then((res) => {
+ if (res.code === 200) {
+ this.templates = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛
+ handleDelete(row) {
+ this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ delInsOrderTemplate({
+ id: row.id,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.selectInsOrderTemplate();
+ }
+ })
+ .catch((error) => {
+ this.$message.error("鍒犻櫎澶辫触");
+ console.error(error);
+ });
+ })
+ .catch(() => {});
+ },
+ // 淇濆瓨妯℃澘
+ addTemplateDia() {
+ if (this.templateName) {
+ this.templateLoading = true;
+ addInsOrderTemplate({
+ name: this.templateName,
+ thing: JSON.stringify({
+ addObj: this.addObj,
+ sampleList: this.sampleList,
+ selectTree: this.selectTree,
+ }),
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.templateLoading = false;
+ this.templateDia = false;
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.selectInsOrderTemplate();
+ this.templateName = "";
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ this.$message.error("璇峰~鍐欐ā鏉垮悕绉�");
+ }
+ },
+ // 鏌ヨ妯℃澘
+ selectInsOrderTemplateById(e) {
+ selectInsOrderTemplateById({ id: e })
+ .then((res) => {
+ if (res.code === 200) {
+ let obj = res.data;
+ console.log(obj);
+ //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛
+ obj.addObj.custom = this.loginUserInfo.nickName;
+ obj.addObj.userId = this.loginUserInfo.userId;
+ this.addObj = obj.addObj;
+ this.sampleList = obj.sampleList;
+ this.selectTree = obj.selectTree;
+ //榛樿閫変腑绗竴涓牱鍝�
+ this.$nextTick(() => {
+ if (this.sampleList.length > 0) {
+ this.rowClick(this.sampleList[0]);
+ }
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ delSampleAndProduct() {
+ this.sampleList.splice(scope.$index, 1);
+ this.productList = [];
+ },
+ selectDictForUnit() {
+ getDicts("sys_unit")
+ .then((res) => {
+ if (res.code === 200) {
+ this.units = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ //鏌ヨ
+ selectDictForOrderType() {
+ getDicts("check_type1")
+ .then((res) => {
+ if (res.code === 200) {
+ this.orderType = res.data;
+ if (res.data.length > 0) {
+ this.addObj.orderType = res.data[0].dictValue;
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectDictForSampleForm() {
+ getDicts("form_type")
+ .then((res) => {
+ if (res.code === 200) {
+ this.formType = res.data;
+ if (this.formType.length > 0) {
+ this.addObj.formType = this.formType[0].dictValue;
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ methodChange(val, row) {
+ if (val === null || val === "") return;
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.getProductLoad = true;
+ let selectTreeList = this.selectTree.split(" - ");
+ this.addObj.model &&
+ (selectTreeList[selectTreeList.length - 1] = this.addObj.model);
+ selectStandardProductList({
+ model:
+ (this.addObj.model ? this.addObj.model : row.model) +
+ "-" +
+ row.modelNum,
+ standardMethodListId: val,
+ factory: selectTreeList.join(" - "),
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ row.insProduct = this.HaveJson(res.data);
+ this.productList = row.insProduct;
+ this.productList0 = JSON.parse(JSON.stringify(this.productList));
+ // this.$refs.sampleTable.setCurrentRow(row)
+ // setTimeout(() => {
+ // this.productList.forEach(a => {
+ // if (a.state == 1) this.toggleSelection(a)
+ // })
+ // }, 200)
+ this.$nextTick(() => {
+ this.methodCount++;
+ this.getProductLoad = false;
+ if (this.sampleSelectionList.length == this.methodCount) {
+ this.standardLoading = false;
+ }
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ this.searchProject();
+ this.searchTemList();
+ },
+ //鎵归噺淇敼鏍囧噯鏂规硶
+ batchMethodChange(val, row) {
+ if (val === null || val === "") return;
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.getProductLoad = true;
+ let selectTreeList = this.selectTree.split(" - ");
+ this.addObj.model &&
+ (selectTreeList[selectTreeList.length - 1] = this.addObj.model);
+ selectStandardProductList({
+ model:
+ (this.addObj.model ? this.addObj.model : row.model) +
+ "-" +
+ row.modelNum,
+ standardMethodListId: val,
+ factory: selectTreeList.join(" - "),
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ row.insProduct = this.HaveJson(res.data);
+ this.productList = row.insProduct;
+ this.productList0 = JSON.parse(JSON.stringify(this.productList));
+ // this.$refs.sampleTable.setCurrentRow(row)
+ // setTimeout(() => {
+ // this.productList.forEach(a => {
+ // if (a.state == 1) this.toggleSelection(a)
+ // })
+ // }, 200)
+ this.$nextTick(() => {
+ this.methodCount++;
+ this.getProductLoad = false;
+ if (this.sampleSelectionList.length == this.methodCount) {
+ this.standardLoading = false;
+ }
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ this.searchProject();
+ this.searchTemList();
+ },
+ searchTemList() {
+ this.temperatureList = [];
+ getDicts("temperature_cycling_type")
+ .then((res) => {
+ if (res.code === 200) {
+ this.temperatureEngList = res.data;
+ res.data.forEach((item) => {
+ this.temperatureList.push(item.dictLabel);
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ changeModel() {
+ this.sampleList.forEach((a) => {
+ let obj = this.sampleIds.find((b) => b == a.id);
+ if (obj) {
+ a.model = this.model;
+ }
+ });
+ },
+ changeStandardMethodListId() {
+ this.methodCount = 0;
+ this.standardLoading = true;
+ for (let i = 0; i < this.sampleSelectionList.length; i++) {
+ let a = this.sampleSelectionList[i];
+ let obj = this.sampleIds.find((b) => b == a.id);
+ if (obj) {
+ a.standardMethodListId = this.standardMethodListId;
+ this.methodChange(this.standardMethodListId, a);
+ }
+ }
+ },
+ methodFocus() {
+ this.selectsStandardMethodByFLSSM();
+ },
+ handleChangeModel(e) {
+ this.productList = [];
+ let num = this.selectTree.split("-").length;
+ if (num != 5) {
+ this.selectTree = this.selectTree + " - " + e;
+ } else {
+ let arr = this.selectTree.split("-");
+ let arr0 = arr.slice(0, arr.length - 1);
+ this.selectTree = arr0.join("-") + "- " + e;
+ }
+ },
+ // 瑕佹眰鍊煎彉鍖栨椂
+ requestChange(e, row, type) {
+ //this.currentMethod 褰撳墠鏍峰搧id
+ this.sampleList.forEach((item) => {
+ if (item.id == this.currentMethod.id) {
+ item.insProduct.forEach((i) => {
+ if (i.id == row.id) {
+ i[type] = e;
+ }
+ });
+ }
+ });
+ let flag =
+ this.sampleSelectionList.filter((a) => a.id == this.currentMethod.id)
+ .length > 0
+ ? true
+ : false;
+ if (!flag) {
+ return;
+ }
+
+ // this.sampleSelectionList 鍕鹃�夌殑鏍峰搧
+ this.sampleSelectionList.forEach((item) => {
+ // 鍦╰his.sampleList鑾峰彇鍕鹃�夌殑鏍峰搧
+ this.sampleList.forEach((s) => {
+ if (s.id == item.id) {
+ // 閬嶅巻鍕鹃�夌殑鏍峰搧
+ if (s.insProduct.length > 0) {
+ s.insProduct.forEach((a) => {
+ if (a.id == row.id && a.state == 1) {
+ a[type] = e;
+ }
+ // if(a.id == row.id && a.state == 1) {
+ // a[type] = e
+ // }
+ });
+ }
+ }
+ });
+ });
+ // this.sampleList.map(item => {
+ // if (this.sampleIds.indexOf(item.id) > -1) {
+ // item.insProduct.map(m => {
+ // if (m.id == row.id) {
+ // m[type] = e;
+ // }
+ // return m;
+ // })
+ // }
+ // return item
+ // })
+ },
+ selectStandardMethods() {
+ selectStandardMethodEnum()
+ .then((res) => {
+ if (res.code === 200) {
+ this.methods = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectable() {
+ if (this.active > 1) {
+ return false;
+ } else {
+ return true;
+ }
+ },
+ handleAll(e) {
+ console.log("e", e);
+ if (e.length > 0) {
+ this.productList.map((m) => {
+ if (e.find((a) => a.id == m.id)) {
+ m.state = 1;
+ }
+ return m;
+ });
+ } else {
+ this.productList.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ }
+ this.bsmRow3 = [];
+ this.bsm1DiaList = [];
+ this.productList.forEach((p) => {
+ if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 1
+ ) {
+ if (p.section.indexOf("[") > -1) {
+ p.bsmRow = this.HaveJson(p);
+ }
+ p.bsm1 = true;
+ this.bsm1DiaList.push(p);
+ this.bsm1DiaAll = true;
+ } else if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 0
+ ) {
+ p.bsm1 = false;
+ }
+ if (
+ p.bsm === "1" &&
+ p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ this.sampleList.length > 1 &&
+ p.state === 1 &&
+ !this.isBsm2Val2
+ ) {
+ this.bsm2 = true;
+ this.bsm1Dia = true;
+ if (this.bsm2Val2.length === 0) {
+ this.bsm2Val =
+ ((this.sampleList.length - 1) * this.sampleList.length) / 2;
+ this.computationalPairing(this.sampleList.length);
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+ }
+ } else if (
+ p.bsm === "1" &&
+ p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ p.state === 1 &&
+ this.sampleList.length > 1
+ ) {
+ this.bsm2 = false;
+ } else if (
+ p.bsm === "1" &&
+ p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ this.sampleList.length < 2
+ ) {
+ this.$message.error("鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�");
+ this.$refs.productTable.clearSelection();
+ return;
+ }
+ const select = this.selectTree.split(" - ");
+ if (
+ p.inspectionItem === "娓╁害寰幆" &&
+ select[2] === "鍏夌紗" &&
+ p.state === 1 &&
+ this.isAskOnlyRead
+ ) {
+ this.circulateShow = true;
+ return;
+ } else if (
+ p.inspectionItem === "娓╁害寰幆" &&
+ select[2] === "鍏夌紗" &&
+ p.state === 0
+ ) {
+ this.circulateShow = false;
+ }
+ if (
+ (p.inspectionItem === "娓╁崌璇曢獙" || p.inspectionItem === "鐑惊鐜�") &&
+ p.state === 1
+ ) {
+ // console.log('p---', p)
+ this.temperatureTitle = `${p.inspectionItem}瑕佹眰濉啓`;
+ this.isShowInput = p.inspectionItem === "鐑惊鐜�";
+ this.temId = p.id;
+ this.spliceTemperatureTest();
+ // this.temperatureShow = true;
+ return;
+ } else if (
+ (p.inspectionItem === "娓╁崌璇曢獙" || p.inspectionItem === "鐑惊鐜�") &&
+ p.state === 0
+ ) {
+ this.temperatureShow = false;
+ }
+ if (
+ p.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+ select[2] === "鍏夌紗" &&
+ p.state === 1
+ ) {
+ this.singleVerticalCombustionNum++;
+ if (this.singleVerticalCombustionNum > 1) {
+ this.openSingleVerticalCombustionDialog();
+ return;
+ }
+ } else if (
+ p.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+ select[2] === "鍏夌紗" &&
+ p.state === 0
+ ) {
+ this.singleVerticalCombustionNum--;
+ }
+ /* if (p.ask.includes('RTS')&&p.state === 1) {
+ p.rts = ''
+ this.bsm3Val = ''
+ this.bsm3 = true
+ this.bsm3Dia = true
+ this.bsmRow3.push(p)
+ } */
+ });
+ if (e.length > 0) {
+ // this.sampleList.map(item => {
+ // if (item.id === this.currentMethod.id) {
+ // item.insProduct.map(m => {
+ // m.state = 1
+ // return m;
+ // })
+ // }
+ // })
+ console.log("aaa-----", this.sampleList);
+ this.sampleList.map((item) => {
+ console.log("this.sampleSelectionList-->", this.sampleSelectionList);
+ this.sampleSelectionList.forEach((ele) => {
+ if (ele.id == item.id) {
+ item.insProduct.map((m) => {
+ m.state = 1;
+ return m;
+ });
+ }
+ });
+ });
+ } else {
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ }
+ return item;
+ });
+ }
+ this.changeProductList0();
+ this.currentMethod.insProduct = this.productList0;
+ this.getProNum();
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout();
+ });
+ },
+ submitTell() {
+ if (!this.tell) {
+ this.$message.error("璇疯緭鍏ヤ笉閫氳繃鍘熷洜");
+ return;
+ }
+ this.noLoading = true;
+ upInsOrderOfState({
+ state: 2,
+ id: this.currentId,
+ tell: this.tell,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.noLoading = false;
+ this.tell = "";
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.issuedDialogVisible = false;
+ this.goBack();
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectEnumByCategoryForSonLaboratory() {
+ getDicts("sys_sub_lab")
+ .then((res) => {
+ if (res.code === 200) {
+ this.factory = [];
+ res.data.forEach((a) => {
+ this.filters.push({
+ text: a.dictLabel,
+ value: a.dictValue,
+ });
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ filterHandler(value, row, column) {
+ const property = column["property"];
+ return row[property] === value;
+ },
+ openConfig() {
+ if (this.active === 1) {
+ if (this.sampleIds.length === 0) {
+ this.$message.error("鏈�夋嫨鏍峰搧");
+ return;
+ }
+ this.configShow = true;
+ } else {
+ if (this.sampleId === null) {
+ this.$message.error("鏈�変腑鏍峰搧");
+ return;
+ }
+ this.sampleIds = [this.sampleId];
+ selectBushingBySampleId({
+ sampleId: this.sampleId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ if (res.data.length === 0) {
+ this.$message.error("璇ユ牱鍝佹病鏈夐厤缃厜绾�");
+ return;
+ }
+ for (var i in this.sampleList) {
+ if ((this.sampleList[i].id = this.sampleId)) {
+ this.sampleList[i].bushing = res.data;
+ break;
+ }
+ }
+ this.$nextTick(() => {
+ this.configShow = true;
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ },
+ openEquipConfig() {
+ if (this.active === 1) {
+ if (this.sampleIds.length === 0) {
+ this.$message.error("鏈�夋嫨鏍峰搧");
+ return;
+ }
+ this.equipConfigShow = true;
+ } else {
+ if (this.sampleId === null) {
+ this.$message.error("鏈�変腑鏍峰搧");
+ return;
+ }
+ }
+ },
+ upBsm1(val) {
+ let sections = JSON.parse(this.bsmRow.section);
+ let asks = JSON.parse(this.bsmRow.ask);
+ let tells = JSON.parse(this.bsmRow.tell);
+ let manHours = JSON.parse(this.bsmRow.manHour);
+ let prices = JSON.parse(this.bsmRow.price);
+ for (var a in sections) {
+ if (val === sections[a]) {
+ this.productList.forEach((p) => {
+ if (p.id === this.bsmRow.id) {
+ p.section = sections[a];
+ p.ask = asks[a];
+ p.tell = tells[a];
+ p.manHour = manHours[a];
+ p.price = prices[a];
+ }
+ });
+ break;
+ }
+ }
+ },
+ upBsmAll(item) {
+ // console.log(1111,item,this.bsm1DiaList)
+ for (let i = 0; i < this.bsm1DiaList.length; i++) {
+ this.bsm1DiaList[i].bsm1Val = item.bsm1Val;
+ let sections = JSON.parse(this.bsm1DiaList[i].bsmRow.section);
+ let asks = JSON.parse(this.bsm1DiaList[i].bsmRow.ask);
+ let tells = JSON.parse(this.bsm1DiaList[i].bsmRow.tell);
+ let manHours = JSON.parse(this.bsm1DiaList[i].bsmRow.manHour);
+ let prices = JSON.parse(this.bsm1DiaList[i].bsmRow.price);
+ for (var a in sections) {
+ console.log(
+ this.bsm1DiaList[i].bsm1Val === sections[a],
+ "====",
+ this.bsm1DiaList[i],
+ "===="
+ );
+ if (this.bsm1DiaList[i].bsm1Val === sections[a]) {
+ this.productList.forEach((p) => {
+ if (p.id === this.bsm1DiaList[i].bsmRow.id) {
+ p.section = sections[a];
+ p.ask = asks[a];
+ p.tell = tells[a];
+ p.manHour = manHours[a];
+ p.price = prices[a];
+ }
+ });
+ this.sampleSelectionList.forEach((item) => {
+ item.insProduct.forEach((p) => {
+ if (p.id === this.bsm1DiaList[i].bsmRow.id) {
+ p.section = sections[a];
+ p.ask = asks[a];
+ p.tell = tells[a];
+ p.manHour = manHours[a];
+ p.price = prices[a];
+ }
+ });
+ });
+ break;
+ }
+ }
+ }
+ console.log("tthis.sampleSelectionList", this.sampleSelectionList);
+ console.log("this.sampleList", this.sampleList);
+ console.log("this.productList", this.productList);
+ this.changeProductList0();
+ this.currentMethod.insProduct = this.productList0;
+ },
+ save1() {
+ if (this.bsm1DiaList.length > 0) {
+ this.bsm1DiaList.forEach((item) => {
+ if (!item.bsm1Val) {
+ throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ }
+ });
+ }
+ if (this.bsm2) {
+ if (this.bsm2Val2.length === 0) {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
+ }
+ console.log("this.bsm2Val2", this.bsm2Val2);
+ let set = new Set();
+ for (let i = 0; i < this.bsm2Val2.length; i++) {
+ let num0 = set.size;
+ set.add(JSON.stringify(this.bsm2Val2[i]));
+ let num1 = set.size;
+ if (num1 == num0) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+ let num2 = set.size;
+ if (num1 == num2) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ }
+ this.isBsm2Val2 = true;
+ }
+ this.bsm1DiaAll = false;
+ },
+ save2() {
+ if (this.bsm1DiaList.length > 0) {
+ this.bsm1DiaList.forEach((item) => {
+ if (!item.bsm1Val) {
+ throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ }
+ });
+ }
+ if (this.bsm2) {
+ if (this.bsm2Val2.length === 0) {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
+ }
+ let set = new Set();
+ for (let i = 0; i < this.bsm2Val2.length; i++) {
+ let num0 = set.size;
+ set.add(JSON.stringify(this.bsm2Val2[i]));
+ let num1 = set.size;
+ if (num1 == num0) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+ let num2 = set.size;
+ if (num1 == num2) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ }
+ this.isBsm2Val2 = true;
+ }
+ this.bsm1Dia = false;
+ },
+ beforeClose(done) {
+ // if (this.bsm1) {
+ // if (this.bsm1Val === null || this.bsm1Val === '') {
+ // this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
+ // return
+ // }
+ // }
+ if (this.bsm1DiaList.length > 0) {
+ this.bsm1DiaList.forEach((item) => {
+ if (!item.bsm1Val) {
+ throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ }
+ });
+ }
+ if (this.bsm2) {
+ if (this.bsm2Val2.length === 0) {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
+ }
+ let set = new Set();
+ for (let i = 0; i < this.bsm2Val2.length; i++) {
+ let num0 = set.size;
+ set.add(JSON.stringify(this.bsm2Val2[i]));
+ let num1 = set.size;
+ if (num1 == num0) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+ let num2 = set.size;
+ if (num1 == num2) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ }
+ this.isBsm2Val2 = true;
+ }
+ // if(this.bsm3){
+ // if(!this.bsm3Val){
+ // this.$message.error('RST蹇呴』濉啓')
+ // return
+ // }else{
+ // if(Array.isArray(this.bsmRow3)){
+ // this.bsmRow3.forEach(item=>{
+ // item.rts = this.bsm3Val
+ // })
+ // }else{
+ // this.bsmRow3.rts = this.bsm3Val
+ // }
+ // }
+ // }
+ done();
+ },
+ beforeClose0(done) {
+ if (!this.bsm3Val) {
+ this.$message.error("RST蹇呴』濉啓");
+ return;
+ } else {
+ if (Array.isArray(this.bsmRow3)) {
+ this.bsmRow3.forEach((item) => {
+ item.rts = this.bsm3Val;
+ });
+ } else {
+ this.bsmRow3.rts = this.bsm3Val;
+ }
+ }
+ done();
+ },
+ getTotal(bushing, flag = true) {
+ this.totalArr = [];
+ this.total = 0;
+ // 灏嗛�変腑鐨勬牱鍝佹坊鍔燽ushing 娌℃湁鍕鹃�夊氨鏄叏閮� 琛ㄦ牸鐩戝惉璋冪敤涓嶈繘琛屽厜绾块厤缃殑璧嬪��
+ if (flag) {
+ if (this.sampleSelectionList.length > 0) {
+ +this.sampleSelectionList.forEach((item) => {
+ this.sampleList.forEach((a) => {
+ if (a.id == item.id) {
+ a.bushing = bushing;
+ }
+ });
+ });
+ } else {
+ this.sampleList.forEach((a) => {
+ a.bushing = bushing;
+ });
+ }
+ }
+ console.log("sampleSelectionList", this.sampleSelectionList);
+ console.log("this.sampleList", this.sampleList);
+ this.sampleList.forEach((item) => {
+ if (item.insProduct && item.insProduct.length > 0) {
+ item.insProduct.forEach((a) => {
+ this.totalArr.push(a);
+ });
+ }
+ if (item.bushing && item.bushing.length > 0) {
+ item.bushing.forEach((a) => {
+ if (a.fiber && a.fiber.length > 0) {
+ a.fiber.forEach((b) => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach((c) => {
+ this.totalArr.push(c);
+ });
+ }
+ });
+ }
+ if (a.fibers && a.fibers.length > 0) {
+ a.fibers.forEach((b) => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach((c) => {
+ this.totalArr.push(c);
+ });
+ }
+ if (b.fiber && b.fiber.length > 0) {
+ b.fiber.forEach((c) => {
+ if (c.productList && c.productList.length > 0) {
+ c.productList.forEach((d) => {
+ this.totalArr.push(d);
+ });
+ }
+ });
+ }
+ });
+ }
+ });
+ }
+ });
+ let mySet = new Set();
+ let arr0 = this.totalArr.filter((item) => {
+ if (item.state == 1) {
+ let num1 = mySet.size;
+ if (item.manHourGroup === "" || !item.manHourGroup) {
+ return true;
+ } else {
+ mySet.add(item.manHourGroup);
+ let num2 = mySet.size;
+ if (num2 > num1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
+ });
+ arr0.forEach((item) => {
+ this.total += Number(item.price);
+ });
+ let arr1 = this.totalArr.filter((item) => item.state == 1);
+ let mySet0 = new Set();
+ this.sonLaboratoryList = [];
+ arr1.forEach((item) => {
+ let num1 = mySet0.size;
+ mySet0.add(item.sonLaboratory);
+ let num2 = mySet0.size;
+ if (num2 > num1) {
+ this.sonLaboratoryList.push({
+ label: item.sonLaboratory,
+ value: item.sonLaboratory,
+ });
+ }
+ });
+ },
+ bsm2Up(val) {
+ let list = [];
+ for (let a = 1; a < this.bsm2Val3.length + 1; a++) {
+ list.push(a);
+ }
+ let set = new Set();
+ let size1 = set.length;
+ while (set.size < val) {
+ set.add(Math.ceil(Math.random() * this.bsm2Val3.length));
+ }
+ this.bsm2Val2 = [];
+ for (let a of set) {
+ this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a - 1]));
+ }
+ },
+ changeUser() {
+ if (this.sonLaboratoryList.length > 0) {
+ this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value;
+ }
+ },
+ },
+};
+</script>
+
<style scoped>
.ins_order_add {
width: 100%;
@@ -16,7 +5046,7 @@
}
.search {
- width: calc(100% - 40px);
+ height: 100%;
background-color: #fff;
padding: 5px 40px 5px 0;
}
@@ -34,7 +5064,7 @@
}
.search_input {
- width: calc(100% - 120px);
+ width: calc(100% - 20px);
}
.node_i {
@@ -70,17 +5100,21 @@
line-height: 24px;
margin-top: 5px;
}
+
.circulateTable {
display: flex;
flex-direction: row;
justify-content: space-between;
}
+
.opticalProject {
width: 38%;
}
+
.temperatureList {
width: 60%;
}
+
.temperatureListTitle {
display: flex;
flex-direction: row;
@@ -131,12 +5165,19 @@
.ins_order_add .el-select .is-disabled .el-input__inner {
background: transparent !important;
}
+
+.company_input .el-form-item__content,
+.sample_input .el-form-item__content {
+ width: 70%;
+}
+
+.engineeringEn_input .el-form-item__content,
+.otcCode_input .el-form-item__content,
+.productionEn_input .el-form-item__content {
+ width: 63%;
+}
+
+.processing_input .el-form-item__content {
+ width: 60%;
+}
</style>
-
-<template>
- <div>add</div>
-</template>
-
-<script>
-export default {};
-</script>
--
Gitblit v1.9.3