From c4cc315e6b46adabc9f649c7b14e6c2b0bcc3346 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期四, 10 四月 2025 14:00:42 +0800 Subject: [PATCH] 修改检验任务 --- src/views/business/productOrder/components/add.vue | 4566 +++++++++++++++++++++++----------------------------------- 1 files changed, 1,811 insertions(+), 2,755 deletions(-) diff --git a/src/views/business/productOrder/components/add.vue b/src/views/business/productOrder/components/add.vue index ddc6a68..55d3413 100644 --- a/src/views/business/productOrder/components/add.vue +++ b/src/views/business/productOrder/components/add.vue @@ -1,440 +1,396 @@ <template> <div class="app-container"> - <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow&&!auxiliaryShow"> + <div v-show="!cableConfigShow && !auxiliaryShow"> <div style="display: flex;justify-content: space-between;align-items:center;"> + <div>濮旀墭鍗曚俊鎭�</div> <div> - 濮旀墭鍗曚俊鎭� - </div> - <div> - <el-cascader - v-model="addObj.quarterItemId" - :disabled="active>1" - :options="quarterItemOptions" - size="small" - style="width: 380px" - @change="handleChange" - @focus="getQuarterOnOrder"></el-cascader> - <el-select v-show="active==1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" - @change="selectInsOrderTemplateById"> + <el-cascader v-model="addObj.quarterItemId" :disabled="active > 1" :options="quarterItemOptions" size="small" + style="width: 380px" @focus="getQuarterOnOrderList"></el-cascader> + <el-select v-show="active == 1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" + @change="selectInsOrderTemplateById"> <el-option v-for="(a, ai) in templates" :key="ai" :label="a.name" :value="a.id"> <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> + @click.stop="handleDelete(a)"></i> </el-option> </el-select> - <el-button v-show="active==1" size="small" @click="templateDia=true"> + <el-button v-show="active == 1" size="small" @click="templateDia = true"> <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> </el-button> - <el-button v-if="active==1&&addObj.sampleType!=undefined&&(addObj.sampleType.indexOf('鐢电紗')>-1 ||addObj.sampleType.indexOf('缁煎悎')>-1)" size="small" type="primary" @click="openCableConfig">鐢电紗閰嶇疆</el-button> - <el-button v-if="active==1&&addObj.sampleType!=undefined&&addObj.sampleType.indexOf('鐢电紗')>-1" size="small" type="primary" @click="openAuxiliaryCore">杈呭姪绾胯姱閰嶇疆</el-button> - <el-button v-if="active==1" size="small" type="primary" @click="openEquipConfig">瀛愭牱鍝侀厤缃�</el-button> - <el-button v-if="addObj.sampleType==='鍏夌紗'" size="small" type="primary" @click="openConfig">鍏夌氦閰嶇疆</el-button> - <el-button v-show="active==1||(tabIndex==4&&active==2)" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button> + <el-button + v-if="active == 1 && addObj.sampleType != undefined && (addObj.sampleType.indexOf('鐢电紗') > -1 || addObj.sampleType.indexOf('缁煎悎') > -1)" + size="small" type="primary" @click="openCableConfig">鐢电紗閰嶇疆</el-button> + <el-button v-if="active == 1 && addObj.sampleType != undefined && addObj.sampleType.indexOf('鐢电紗') > -1" + size="small" type="primary" @click="openAuxiliaryCore">杈呭姪绾胯姱閰嶇疆</el-button> + <el-button v-show="active == 1 || (tabIndex == 4 && active == 2)" :loading="saveLoad" size="small" + type="primary" @click="save">鎻愪氦</el-button> <!-- 瀹℃牳 --> - <el-button v-show="active==3&&addObj.companyId" :disabled="saveLoad" :loading="saveLoad" size="small" - @click="upInsOrderOfState(2)">涓嶉�氳繃</el-button> - <el-button v-show="active==3&&addObj.companyId" :loading="saveLoad" size="small" type="primary" - @click="upInsOrderOfState(1)">閫氳繃</el-button> - <el-button size="small" @click="$parent.playOrder(0)"> + <el-button v-show="active == 3" :disabled="saveLoad" :loading="saveLoad" size="small" + @click="upInsOrderOfState(2)">涓嶉�氳繃</el-button> + <el-button v-show="active == 3" :loading="saveLoad" size="small" type="primary" + @click="upInsOrderOfState(1)">閫氳繃</el-button> + <el-button size="small" @click="goBack"> <span style="color: #3A7BFA;">杩斿洖</span> </el-button> </div> </div> </div> - <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow&&!auxiliaryShow" class="container"> + <div v-show="!cableConfigShow && !auxiliaryShow" style="margin-top: 10px"> <div class="search"> - <el-row> - <el-col :span="6" class="search_thing"> - <div class="search_label">濮旀墭缂栧彿锛�</div> - <div class="search_input"> - <el-input v-model="addObj.entrustCode" disabled placeholder="绯荤粺鐢熸垚" size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>妫�楠岀被鍒細</div> - <div class="search_input"> - <el-select v-model="addObj.orderType" :disabled="active>1&&tabIndex!=4" clearable size="small" style="width: 100%;"> - <el-option v-for="(a, ai) in orderType" :key="ai" :label="a.label" :value="a.value"></el-option> - </el-select> - </div> - </el-col> - <el-col :span="6" class="search_thing" > - <div class="search_label"><span class="required-span">* </span>鍒跺崟浜猴細</div> - <div class="search_input"> - <el-input v-model="addObj.custom" clearable disabled size="small"></el-input> - <!-- <el-input disabled size="small" v-model="addObj.custom"> - <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true" - :disabled="active>1"></el-button></template> - </el-input> --> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>濮旀墭鍗曚綅锛�</div> - <div class="search_input"> - <!-- <el-input size="small" placeholder="鈫愰�夋嫨濮旀墭瀹㈡埛" clearable disabled v-model="addObj.company"></el-input> --> - <el-input v-model="addObj.company" disabled placeholder="閫夋嫨濮旀墭鍗曚綅" size="small"> - <template slot="append"><el-button slot="append" :disabled="active>1&&tabIndex!=4" icon="el-icon-search" - @click="selectUserDia = true"></el-button></template> - </el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鑱旂郴鏂瑰紡锛�</div> - <div class="search_input"> - <el-input v-model="addObj.phone" :disabled="active>1&&tabIndex!=4" clearable placeholder="閫夋嫨濮旀墭瀹㈡埛" size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>绱ф�ョ▼搴︼細</div> - <div class="search_input"> - <el-select v-model="addObj.type" :disabled="active>1&&tabIndex!=4" clearable size="small" style="width: 100%;"> - <el-option v-for="(a, ai) in type" :key="ai" :label="a.label" :value="a.value"></el-option> - </el-select> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鏍峰搧鍚嶇О锛�</div> - <div class="search_input"> - <el-input v-model="addObj.sample" disabled size="small"> - <template slot="append"><el-button slot="append" :disabled="active>1&&tabIndex!=4" icon="el-icon-search" - @click="selectStandardTree = true"></el-button></template> - </el-input> - </div> - </el-col> - <!-- <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>鏍峰搧绫诲瀷锛�</div> - <div class="search_input"> - <el-input size="small" clearable disabled v-model="addObj.sampleType"></el-input> - </div> - </el-col> --> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鏍峰搧鏁伴噺锛�</div> - <div class="search_input"> - <el-input-number v-model="addObj.sampleNum" :disabled="active>1" :max="100" :min="1" :precision="0" - size="small" style="width: 65%;" @change="addStandardTree"></el-input-number> - </div> - </el-col> - <!-- <el-col class="search_thing" :span="6"> - <div class="search_label">鏍峰搧鍗曚綅锛�</div> - <div class="search_input"> - <el-select v-model="addObj.unit" clearable size="small" style="width: 100%;" :disabled="active>1"> - <el-option v-for="(a, i) in units" :key="i" :label="a.label" :value="a.value"></el-option> - </el-select> - </div> - </el-col> --> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鏍峰搧鐘舵�侊細</div> - <div class="search_input"> - <el-select v-model="addObj.sampleStatus" :disabled="active>1&&tabIndex!=4" size="small" style="width: 100%;"> - <el-option v-for="(a,ai) in sampleStatusList" :key="ai" :label="a.label" :value="a.value"></el-option> - </el-select> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鎶芥鏁伴噺锛�</div> - <div class="search_input"> - <el-input v-model="addObj.testQuantity" :disabled="active>1&&tabIndex!=4" clearable size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鏉ユ牱鏂瑰紡锛�</div> - <div class="search_input"> - <el-select v-model="addObj.formType" :disabled="active>1&&tabIndex!=4" size="small" style="width: 100%;"> - <el-option v-for="(a,ai) in formType" :key="ai" :label="a.label" :value="a.value"></el-option> - </el-select> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label">鎶ュ憡鍙戦�佹柟寮忥細</div> - <div class="search_input"> - <el-radio-group v-model="addObj.send" :disabled="active>1&&tabIndex!=4"> - <el-radio :label="1">鑷彇</el-radio> - <el-radio :label="0">鍏朵粬</el-radio> - </el-radio-group> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label">鏍峰搧澶勭悊鏂瑰紡锛�</div> - <div class="search_input"> - <el-radio-group v-model="addObj.processing" :disabled="active>1&&tabIndex!=4"> - <el-radio :label="0">濮旀墭鍗曚綅鍙栧洖</el-radio> - <el-radio :label="1">瀹為獙瀹ゅ鐞�</el-radio> - </el-radio-group> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鐢熶骇鍗曚綅锛�</div> - <div class="search_input"> - <el-input v-model="addObj.production" :disabled="active>1&&tabIndex!=4" clearable placeholder="璇疯緭鍏�" - size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label"><span class="required-span">* </span>鐢熶骇鍗曚綅EN锛�</div> - <div class="search_input"> - <el-input v-model="addObj.productionEn" :disabled="active>1&&tabIndex!=4" clearable placeholder="璇疯緭鍏�" - size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label">鏄惁鐣欐牱锛�</div> - <div class="search_input"> - <el-radio-group v-model="addObj.isLeave" :disabled="active>1&&tabIndex!=4"> - <el-radio :label="0">涓嶇暀鏍�</el-radio> - <el-radio :label="1">鐣欐牱</el-radio> - </el-radio-group> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label">濮旀墭浜猴細</div> - <div class="search_input"> - <el-input v-model="addObj.prepareUser" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing"> - <div class="search_label">濮旀墭浜鸿嫳鏂囷細</div> - <div class="search_input"> - <el-input v-model="addObj.prepareUserEn" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing" style="align-items: flex-start;margin: 8px 0;"> - <div class="search_label">澶囨敞锛�</div> - <div class="search_input"> - <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small" type="textarea"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing" style="align-items: flex-start;margin: 8px 0;"> - <div class="search_label">澶囨敞鑻辨枃锛�</div> - <div class="search_input"> - <el-input v-model="addObj.remarkEn" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small" type="textarea"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing" style="align-items: flex-start;margin: 8px 0;"> - <div class="search_label">鏍峰搧鍚嶇О锛�</div> - <div class="search_input"> - <el-input v-model="addObj.sampleView" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing" style="align-items: flex-start;margin: 8px 0;"> - <div class="search_label">鏍峰搧鍚嶇О鑻辨枃锛�</div> - <div class="search_input"> - <el-input v-model="addObj.sampleViewEn" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small"></el-input> - </div> - </el-col> - <el-col :span="6" class="search_thing" style="align-items: flex-start;margin: 8px 0;"> - <div class="search_label">濮旀墭浜哄伐鍙凤細</div> - <div class="search_input"> - <el-input v-model="addObj.prepareCode" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small"></el-input> - </div> - </el-col> - </el-row> + <el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" + label-position="right"> + <el-row> + <el-col :span="6"> + <el-form-item label="濮旀墭缂栧彿:"> + <el-input v-model="addObj.entrustCode" clearable disabled placeholder="绯荤粺鐢熸垚" size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="妫�楠岀被鍒�:" prop="orderType"> + <el-select v-model="addObj.orderType" :disabled="active > 1 && tabIndex != 4" clearable size="small" + style="width: 100%;"> + <el-option v-for="(a, ai) in dict.type.check_type1" :key="ai" :label="a.label" + :value="a.value"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鍒跺崟浜�:"> + <el-input v-model="addObj.custom" disabled size="small" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="濮旀墭鍗曚綅:" prop="company"> + <el-input v-model="addObj.company" disabled placeholder="閫夋嫨濮旀墭鍗曚綅" size="small" style="width: 208px"> + <template slot="append"> + <el-button slot="append" :disabled="active > 1 && tabIndex != 4" icon="el-icon-search" + @click="openCompanyList"></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 v-model="addObj.phone" :disabled="active > 1 && tabIndex != 4" clearable placeholder="閫夋嫨濮旀墭瀹㈡埛" + size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="绱ф�ョ▼搴�:" prop="type"> + <el-select v-model="addObj.type" :disabled="active > 1 && tabIndex != 4" clearable size="small"> + <el-option v-for="(a, ai) in dict.type.urgency_level" :key="ai" :label="a.label" + :value="a.value"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鏍峰搧鍚嶇О:" prop="sample"> + <el-input v-model="addObj.sample" disabled size="small" style="width: 208px"> + <template slot="append"><el-button slot="append" :disabled="active > 1 && tabIndex != 4" + icon="el-icon-search" @click="selectStandardTree = true"></el-button></template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鏍峰搧鏁伴噺:" prop="sampleNum" style="margin-right: 0"> + <el-input-number v-model="addObj.sampleNum" :disabled="active > 1" :max="100" :min="1" :precision="0" + size="small" @change="addStandardTree"></el-input-number> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鏍峰搧鐘舵��:" prop="sampleStatus"> + <el-select v-model="addObj.sampleStatus" :disabled="active > 1 && tabIndex != 4" size="small"> + <el-option v-for="(a, ai) in dict.type.sample_status_list" :key="ai" :label="a.label" + :value="a.value"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鎶芥鏁伴噺:" prop="testQuantity"> + <el-input v-model="addObj.testQuantity" :disabled="active > 1 && tabIndex != 4" clearable + size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鏉ユ牱鏂瑰紡:" prop="formType"> + <el-select v-model="addObj.formType" :disabled="active > 1 && tabIndex != 4" size="small" clearable> + <el-option v-for="(a, ai) in dict.type.form_type" :key="ai" :label="a.label" + :value="a.value"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鎶ュ憡鍙戦�佹柟寮�:"> + <el-radio-group v-model="addObj.send" :disabled="active > 1 && tabIndex != 4" size="mini"> + <el-radio :label="1" border style="margin-right: 0">鑷彇</el-radio> + <el-radio :label="0" border>鍏朵粬</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鏍峰搧澶勭悊鏂瑰紡:"> + <el-radio-group v-model="addObj.processing" :disabled="active > 1 && tabIndex != 4" size="mini" + style="display: flex; flex-direction: column;"> + <el-radio :label="0" border style="margin-right: 0">濮旀墭鍗曚綅鍙栧洖</el-radio> + <el-radio :label="1" border>瀹為獙瀹ゅ鐞�</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鐢熶骇鍗曚綅:" prop="production"> + <el-input v-model="addObj.production" :disabled="active > 1 && tabIndex != 4" clearable + placeholder="璇疯緭鍏�" size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鐢熶骇鍗曚綅EN:" prop="productionEn"> + <el-input v-model="addObj.productionEn" :disabled="active > 1 && tabIndex != 4" clearable + placeholder="璇疯緭鍏�" size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鏄惁鐣欐牱:"> + <el-radio-group v-model="addObj.isLeave" border :disabled="active > 1 && tabIndex != 4" size="mini"> + <el-radio :label="0" border style="margin-right: 0">涓嶇暀鏍�</el-radio> + <el-radio :label="1" border>鐣欐牱</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="濮旀墭浜�:"> + <el-input v-model="addObj.prepareUser" :disabled="active > 1 && tabIndex != 4" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="濮旀墭浜鸿嫳鏂�:"> + <el-input v-model="addObj.prepareUserEn" :disabled="active > 1 && tabIndex != 4" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="澶囨敞:"> + <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2 }" + :disabled="active > 1 && tabIndex != 4" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small" + style="width: 100%" type="textarea"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="澶囨敞鑻辨枃:"> + <el-input v-model="addObj.remarkEn" :autosize="{ minRows: 2, maxRows: 2 }" + :disabled="active > 1 && tabIndex != 4" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small" + type="textarea"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鏍峰搧鍚嶇О:"> + <el-input v-model="addObj.sampleView" :disabled="active > 1 && tabIndex != 4" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鏍峰搧鍚嶇О鑻辨枃:"> + <el-input v-model="addObj.sampleViewEn" :disabled="active > 1 && tabIndex != 4" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="濮旀墭浜哄伐鍙�:"> + <el-input v-model="addObj.prepareCode" :disabled="active > 1 && tabIndex != 4" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> </div> <div> - <div style="display: flex;flex-direction: row;justify-content: space-between;padding: 5px 0;"> - <div v-if="active==1" style="display: flex;background: transparent;"> - <div class="search_thing"> - <div class="search_label">鏍峰搧鍨嬪彿锛�</div> - <div class="search_input"> - <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" - allow-create clearable default-first-option filterable - size="small" - @change="changeModel"> + <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px"> + <div v-if="active == 1"> + <el-form :inline="true" :model="addObj1" label-width="90px"> + <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px;margin-top: 6px"> + <el-select v-model="model" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" allow-create clearable + default-first-option filterable 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 class="search_thing"> - <div class="search_label">妫�楠屾爣鍑嗭細</div> - <div class="search_input"> - <el-select v-model="standardMethodListId" :loading="methodLoad" - :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small" - @change="changeStandardMethodListId" @focus="methodFocus"> + </el-form-item> + <el-form-item label="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px"> + <el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus" multiple> <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> </el-option> </el-select> - </div> - </div> + </el-form-item> + </el-form> </div> - <div class="search_thing"> + <div style="display: flex;align-items: center;margin-bottom: 6px;margin-top: 6px"> <span style="width: 150px;font-size: 14px;text-align: right;">鐗规畩鏍囧噯锛�</span> - <el-input v-model="specialStandardMethod" :disabled="!isSpecial" clearable - size="small"></el-input> - <el-button v-show="active==1" size="small" style="margin-left: 10px" - type="primary" @click="editSpecial">缂栬緫</el-button> + <el-input v-model="specialStandardMethod" :disabled="!isSpecial" clearable size="small"></el-input> + <el-button v-show="active == 1" size="small" style="margin-left: 10px" type="primary" + @click="editSpecial">缂栬緫</el-button> </div> </div> <el-table ref="sampleTable" :data="sampleList" border class="el-table sampleTable" highlight-current-row - max-height="400px" tooltip-effect="dark" @selection-change="selectSample" @row-click="rowClick"> - <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="60"></el-table-column> + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" max-height="400px" tooltip-effect="dark" + @selection-change="selectSample" @row-click="rowClick"> + <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="60"></el-table-column> <el-table-column align="center" label="搴忓彿" type="index" width="65"></el-table-column> <el-table-column align="center" label="鏍峰搧鍚嶇О" min-width="100" prop="sample"> <template slot-scope="scope"> - <el-input v-model="scope.row.sample" :disabled="active>1" clearable size="small"></el-input> + <el-input v-model="scope.row.sample" :disabled="active > 1" clearable size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="鏍峰搧缂栧彿" min-width="100" prop="sampleCode"> <template slot-scope="scope"> - <el-input v-model="scope.row.sampleCode" :disabled="active>1" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" + <el-input v-model="scope.row.sampleCode" :disabled="active > 1" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="鏍峰搧鍨嬪彿" min-width="60" prop="model"> <template slot-scope="scope"> - <el-select v-model="scope.row.model" :disabled="active>1" allow-create default-first-option filterable + <el-select v-model="scope.row.model" :disabled="active > 1" allow-create default-first-option filterable placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" @change="handleChangeModel"> <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 v-if="!(active>1)" align="center" label="鑺暟" prop="cores" width="130"> + <el-table-column v-if="!(active > 1)" align="center" label="鑺暟" prop="cores" width="130"> <template slot-scope="scope"> <el-input v-model="scope.row.cores" clearable placeholder="闈炲繀濉�" size="small" - @input="spliceString(scope.row, scope.row.standardMethodListId, 'cores')"></el-input> + @input="spliceString(scope.row, scope.row.standardMethodListId, 'cores')"></el-input> </template> </el-table-column> - <el-table-column v-if="!(active>1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="110"> + <el-table-column v-if="!(active > 1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="110"> <template slot-scope="scope"> <el-input v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�" size="small" @input="methodChange(scope.row.standardMethodListId, scope.row, 'splice')"></el-input> </template> </el-table-column> - <el-table-column v-if="!(active>1)" align="center" label="鏈�缁堟牱鍝佸瀷鍙�" prop="endModels" width="160"> + <el-table-column v-if="!(active > 1)" align="center" label="鏈�缁堟牱鍝佸瀷鍙�" prop="endModels" width="160"> <template slot-scope="scope"> <el-input v-model="scope.row.endModels" clearable placeholder="闈炲繀濉�" size="small"></el-input> </template> </el-table-column> <el-table-column align="center" label="妫�楠屾爣鍑�" min-width="100" prop="standardMethodListId"> <template slot-scope="scope"> - <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" - :loading="methodLoad" :readonly="active>1" clearable placeholder="妫�楠屾爣鍑�" - size="small" style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus"> + <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model == null || active > 1" + :loading="methodLoad" :readonly="active > 1" clearable placeholder="妫�楠屾爣鍑�" size="small" + style="width: 100%;" @change="(value) => methodChange(value, scope.row)" @clear="productList = []" + @focus="methodFocus" multiple> <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 v-if="!(active>1)" align="center" label="瀵间綋鏉愯川" prop="conductorMaterial" width="100"> + <el-table-column v-if="!(active > 1)" align="center" label="瀵间綋鏉愯川" prop="conductorMaterial" width="100"> <template slot-scope="scope"> <el-input v-model="scope.row.conductorMaterial" clearable placeholder="闈炲繀濉�" size="small" - @input="spliceString(scope.row, scope.row.standardMethodListId)"></el-input> + @input="spliceString(scope.row, scope.row.standardMethodListId)"></el-input> </template> </el-table-column> - <el-table-column v-if="!(active>1)" align="center" label="瀵间綋绫诲瀷" prop="conductorType" width="100"> + <el-table-column v-if="!(active > 1)" align="center" label="瀵间綋绫诲瀷" prop="conductorType" width="100"> <template slot-scope="scope"> <el-input v-model="scope.row.conductorType" clearable placeholder="闈炲繀濉�" size="small" - @input="spliceString(scope.row, scope.row.standardMethodListId)"></el-input> + @input="spliceString(scope.row, scope.row.standardMethodListId)"></el-input> </template> </el-table-column> </el-table> - <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" border class="el-table" - max-height="400px" style="margin-bottom: 10px;" tooltip-effect="dark" - @select="selectOne" @selection-change="selectProduct" @select-all="handleAll"> - <el-table-column v-if="active==1" :selectable="selectable0" type="selection" width="65"></el-table-column> - <el-table-column label="妫�楠岄」鍒嗙被" min-width="140" prop="inspectionItemClass" show-overflow-tooltip></el-table-column> + <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" + border class="el-table" :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" max-height="400px" + style="margin-bottom: 10px;" tooltip-effect="dark" @select="selectOne" @selection-change="selectProduct" + @select-all="handleAll"> + <el-table-column v-if="active == 1" :selectable="selectable0" type="selection" width="65"></el-table-column> + <el-table-column label="妫�楠岄」鍒嗙被" min-width="140" prop="inspectionItemClass" + show-overflow-tooltip></el-table-column> <el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" 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" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="inspectionItem" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> - <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass" - show-overflow-tooltip> + <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass" 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" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="inspectionItemSubclass" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> <el-table-column label="瑕佹眰鍊�" min-width="220px" prop="ask"> <template slot-scope="scope"> - <el-input v-if="(active==1||tabIndex==4)&&(isAskOnlyRead || isSpecial)&&scope.row.inspectionValueType!='5'" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鍊�" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row,'ask')"></el-input> + <el-input + v-if="(active == 1 || tabIndex == 4) && (isAskOnlyRead || isSpecial) && scope.row.inspectionValueType != '5'" + v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鍊�" size="small" + type="textarea" @change="e => requestChange(e, scope.row, 'ask')"></el-input> <span v-else> - <template >{{ scope.row.ask }}</template> + <template>{{ scope.row.ask }}</template> </span> </template> </el-table-column> <el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell"> <template slot-scope="scope"> - <el-input v-if="(active==1||tabIndex==4)&&(isAskOnlyRead || isSpecial)" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鎻忚堪" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row,'tell')"></el-input> + <el-input v-if="(active == 1 || tabIndex == 4) && (isAskOnlyRead || isSpecial)" v-model="scope.row.tell" + :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪" size="small" type="textarea" + @change="e => requestChange(e, scope.row, 'tell')"></el-input> <span v-else> - <template >{{ scope.row.tell }}</template> + <template>{{ scope.row.tell }}</template> </span> </template> </el-table-column> - <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip> + <el-table-column label="璇曢獙鏉′欢" min-width="140" prop="radius" show-overflow-tooltip> <template slot-scope="scope"> - <el-input v-if="(active==1||tabIndex==4)&&(isAskOnlyRead || isSpecial)" v-model="scope.row.radius" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="鏉′欢" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row,'radius')"> + <el-input v-if="(active == 1 || tabIndex == 4) && (isAskOnlyRead || isSpecial)" v-model="scope.row.radius" + :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="璇曢獙鏉′欢" size="small" type="textarea" + @change="e => requestChange(e, scope.row, 'radius')"> </el-input> -<!-- <el-select v-else-if="scope.row.inspectionItem.includes('楂樻俯鍘嬪姏璇曢獙') && (active==1||tabIndex==4)" v-model="scope.row.radius" clearable--> -<!-- placeholder="鏉′欢"--> -<!-- size="small" @change="e=>requestChange(e,scope.row,'radius')">--> -<!-- <el-option v-for="(a,i) in JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option>--> -<!-- </el-select>--> - <span v-else>{{scope.row.radius}}</span> + <span v-else>{{ scope.row.radius }}</span> </template> </el-table-column> <el-table-column label="璇曢獙鏂规硶" min-width="120" prop="methodS" 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" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="methodS" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> <el-table-column label="璁¢噺鍗曚綅" prop="unit" show-overflow-tooltip width="100"></el-table-column> <el-table-column label="鍗曚环" prop="price" show-overflow-tooltip width="100"></el-table-column> - <!-- <el-table-column prop="manDay" label="棰勮鏃堕棿(澶�)" width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="100" show-overflow-tooltip></el-table-column> --> - <!-- <el-table-column prop="deviceGroup" label="璁惧缁�" width="120" show-overflow-tooltip></el-table-column> --> <el-table-column label="鍖洪棿" min-width="120" prop="section" show-overflow-tooltip></el-table-column> - <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" prop="sonLaboratory" - show-overflow-tooltip></el-table-column> - <el-table-column v-if="isSpecial&&active==1" - fixed="right" - label="鎿嶄綔" - width="100"> + <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" + prop="sonLaboratory" show-overflow-tooltip></el-table-column> + <el-table-column v-if="isSpecial && active == 1" label="鎿嶄綔" width="100"> <template slot-scope="scope"> - <el-button v-if="!scope.row.repetitionTag" size="small" type="text" @click="addProductList(productList,scope.row,scope.$index)">鎻掑叆琛�</el-button> - <el-button v-if="!!scope.row.repetitionTag&&scope.row.delete" size="small" type="text" @click="deleteProductList(scope.$index,productList)">鍒犻櫎</el-button> + <el-button v-if="!scope.row.repetitionTag" size="small" type="text" + @click="addProductList(productList, scope.row, scope.$index)">鎻掑叆琛�</el-button> + <el-button v-if="!!scope.row.repetitionTag && scope.row.delete" size="small" type="text" + @click="deleteProductList(scope.$index, productList)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> </div> </div> <el-dialog :visible.sync="selectUserDia" title="閫夋嫨鍗曚綅" width="70%"> - <div v-if="selectUserDia" class="body" style="height: 60vh;"> - <ValueTable ref="ValueTable2" :componentData="componentData2" :url="$api.user.selectCustomPageList" /> + <div v-if="selectUserDia" class="body"> + <lims-table :tableData="tableData1" :column="column1" :isSelection="true" :handleSelectionChange="selectMethod" + @pagination="pagination1" height="400px" key="tableData1" :page="page1" + :tableLoading="tableLoading1"></lims-table> </div> <span slot="footer" class="dialog-footer"> <el-button @click="selectUserDia = false">鍙� 娑�</el-button> @@ -442,22 +398,24 @@ </span> </el-dialog> <el-dialog :visible.sync="selectStandardTree" title="閫夋嫨鏍峰搧" width="500px"> - <div v-if="selectStandardTree" v-loading="selectStandardTreeLoading" class="body" style="height: 60vh;overflow-y: auto;user-select: none;"> + <div v-if="selectStandardTree" v-loading="selectStandardTreeLoading" class="body" + style="height: 60vh;overflow-y: auto;user-select: none;"> <el-row> <el-col :span="24"> - <el-input v-model="search" clearable placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" size="small" - style="margin-bottom: 5px;" suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter" + <el-input v-model="search" clearable placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" size="small" style="margin-bottom: 5px;" + suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter" @keyup.enter.native="searchFilter"></el-input> </el-col> </el-row> <el-tree ref="tree" :data="list" :default-expanded-keys="expandedKeys" :filter-node-method="filterNode" - :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" @node-click="handleNodeClick" - @node-expand="nodeOpen" @node-collapse="nodeClose" @dblclick.native="activeStandardTree"> + :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" + @node-click="handleNodeClick" @node-expand="nodeOpen" @node-collapse="nodeClose" + @dblclick.native="activeStandardTree"> <div slot-scope="{ node, data }" class="custom-tree-node"> <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> + :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> @@ -481,8 +439,8 @@ <el-button :loading="templateLoading" type="primary" @click="addTemplateDia">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" :visible.sync="issuedDialogVisible" - title="妫�楠屼笅鍙�" width="400px"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="issuedDialogVisible" title="妫�楠屼笅鍙�" width="400px"> <div class="body" style="max-height: 60vh;"> <el-row> <el-col :span="22" class="search_thing"> @@ -496,7 +454,8 @@ <el-col :span="22" class="search_thing"> <div class="search_label"><span class="required-span">* </span>鎸囨淳浜哄憳锛�</div> <div class="search_input"> - <el-select v-model="distributeData.userId" filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;" @change="changeUser"> + <el-select v-model="distributeData.userId" filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;" + @change="changeUser"> <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -505,7 +464,8 @@ <el-col v-if="distributeData.userId" :span="22" class="search_thing"> <div class="search_label"><span class="required-span">* </span>璇曢獙瀹わ細</div> <div class="search_input"> - <el-select v-model="distributeData.sonLaboratory" filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> + <el-select v-model="distributeData.sonLaboratory" filterable placeholder="璇烽�夋嫨" size="small" + style="width: 100%;"> <el-option v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -515,7 +475,7 @@ </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="issuedDialogVisible=false;$parent.playOrder(0)">鍙� 娑�</el-button> + <el-button @click="issuedDialogVisible = false; closeOpenPage">鍙� 娑�</el-button> <el-button :loading="upLoad" type="primary" @click="submitForm2">纭� 瀹�</el-button> </el-row> </span> @@ -533,32 +493,29 @@ </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="noDialogVisible=false,tell=''">鍙� 娑�</el-button> + <el-button @click="noDialogVisible = false, tell = ''">鍙� 娑�</el-button> <el-button :loading="noLoading" type="primary" @click="submitTell">纭� 瀹�</el-button> </el-row> </span> </el-dialog> - <fiberOpticConfig v-if="configShow && examine==0" :active="active" :currentId="currentId" :inspectionItemST='inspectionItemST' @saveFiberopticConfig="getTotal()" /> - <fiberOpticConfigTwo v-if="configShow && examine==1" :active="active" :currentId="currentId" /> - <!--瀛愭牱鍝侀厤缃�--> - <equipConfig v-if="equipConfigShow" :active="active" :currentId="currentId" /> <!--鐢电紗閰嶇疆--> - <cableConfig v-if="cableConfigShow" ref="cableConfigShow" :active="active" :isSpecial="isSpecial" :sampleSelectionList="sampleSelectionList" @goBackAdd="goBackAdd"/> + <cableConfig v-if="cableConfigShow" ref="cableConfigShow" :active="active" :isSpecial="isSpecial" + :sampleSelectionList="sampleSelectionList" @goBackAdd="goBackAdd" /> <!--杈呭姪绾胯姱閰嶇疆--> - <auxiliary-wire-core v-if="auxiliaryShow" :active="active" :isSpecial="isSpecial" :sampleSelectionList="sampleSelectionList" @goBackAdd2="goBackAdd2"></auxiliary-wire-core> + <auxiliary-wire-core v-if="auxiliaryShow" :active="active" :isSpecial="isSpecial" + :sampleSelectionList="sampleSelectionList" @goBackAdd2="goBackAdd2"></auxiliary-wire-core> <!--鐗规畩鍊煎鐞嗘--> - <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" - :visible.sync="bsm1DiaAll" - min-width="400px" - title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"> + <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" + :show-close="false" :visible.sync="bsm1DiaAll" min-width="400px" title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"> <div v-for="(item, index) in bsm1DiaList" :key="item.id" class="body" style="max-height: 60vh;"> - <span>{{item.inspectionItem}}</span> + <span>{{ item.inspectionItem }}</span> <el-row v-if="item.bsm1"> <el-col :span="24" class="search_thing" 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" v-removeAriaHidden @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" + style="margin-bottom: 2px;margin-top: 2px;"></el-radio> </el-radio-group> </div> </el-col> @@ -566,8 +523,8 @@ <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div> <div class="search_input"> <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" - :label="a">{{JSON.parse(item.bsmRow.askCopy)[ai]}}</el-radio> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a">{{ + JSON.parse(item.bsmRow.askCopy)[ai] }}</el-radio> </el-radio-group> </div> </el-col> @@ -579,462 +536,319 @@ </el-row> </span> </el-dialog> - <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" - :show-close="false" :visible.sync="bsm3Dia" - title="鍖洪棿鍊煎~鍐�" width="800px"> - <el-table - :data="editTable" - height="80vh" style="width: 100%"> - <!-- inspectionItemList --> - <el-table-column - label="妫�楠岄」" - prop="inspectionItemList" - width="180"> + <!--鍖洪棿濉啓--> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" :visible.sync="bsm3Dia" + title="鍖洪棿鍊煎~鍐�" width="800px"> + <el-table :data="editTable" height="80vh" style="width: 100%"> + <!-- inspectionItemList --> + <el-table-column label="妫�楠岄」" prop="inspectionItemList" width="180"> </el-table-column> - <el-table-column - label="鏍峰搧缂栧彿" - prop="sampleCode" - width="180"> + <el-table-column label="鏍峰搧缂栧彿" prop="sampleCode" width="180"> </el-table-column> - <el-table-column - label="鏍峰搧鍨嬪彿" - prop="model" - width="180"> + <el-table-column label="鏍峰搧鍨嬪彿" prop="model" width="180"> </el-table-column> - <el-table-column - label="璇嗗埆绗﹀彿" - prop="symbolItem"> + <el-table-column label="璇嗗埆绗﹀彿" prop="symbolItem"> </el-table-column> - <el-table-column - label="璇嗗埆绗﹀��" - prop="value"> + <el-table-column label="璇嗗埆绗﹀��" prop="value"> <template slot-scope="scope"> - <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" @input="inputValueHandler(scope.row,scope.$index)"></el-input> + <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" + @input="inputValueHandler(scope.row, scope.$index)"></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 @click="bsm3Dia = false">鍙� 娑�</el-button> <el-button :loading="saveLoad" type="primary" @click="save0">纭� 瀹�</el-button> </el-row> - </span> - </el-dialog> - <el-dialog :before-close="beforeCirculateShowClose" :close-on-click-modal="false" :close-on-press-escape="false" - :show-close="false" :visible.sync="circulateShow" - title="娓╁害寰幆瑕佹眰濉啓" width="900px"> - <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" placeholder="" size="small" 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" placeholder="" size="small" type="number"></el-input> - </div> - </div> - <div class="search_thing"> - <div class="search_label">娓╁害鐐癸細</div> - <div class="search_input"> - <el-input v-model="circulateForm.entrustPoint" placeholder="" size="small" type="number" @blur="changeTemperatureData"></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" - :cell-style="{'text-align':'center'}" - :data="opticalProject" - :header-cell-style="{'text-align':'center'}" - border - style="width: 100%" - tooltip-effect="dark" - @select="selectOpticalProject" - @row-click="rowClickOptical" - @select-all="selectAllOptical" - @selection-change="handleSelectionChange"> - <el-table-column - type="selection" - width="55"> - </el-table-column> - <el-table-column label="鍏夌氦椤圭洰" prop="value" show-overflow-tooltip></el-table-column> - </el-table> - </div> - </div> - <div class="temperatureList"> - <div class="temperatureListTitle"> - <span>娓╁害鐐归泦鍚�</span> - <span> - <el-button size="mini" type="primary" @click="addTemperatureData">鏂板</el-button> - <el-button size="mini" @click="deleteTemperatureData">鍒犻櫎</el-button> - </span> - </div> - <el-divider></el-divider> - <el-table - :cell-style="{'text-align':'center'}" - :data="temperatureData" - :header-cell-style="{'text-align':'center'}" - border - style="width: 100%"> - <el-table-column label="娓╁害鐐�(鈩�)" prop="date" width="120px"> - <template slot-scope="scope"> - <el-input v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�" size="small" @change="changeTemperature"></el-input> - </template> - </el-table-column> - <el-table-column label="瑕佹眰(dB/Km)" prop="name"> - <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 v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" size="small" 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 :before-close="beforeCirculateShowClose" :close-on-click-modal="false" :close-on-press-escape="false" - :show-close="false" :visible.sync="singleVerticalCombustionShow" - title="鍗曟牴鍨傜洿鐕冪儳妫�娴嬫鏁板~鍐�" width="900px"> - <div>111</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 :before-close="temperatureShowClose" :close-on-click-modal="false" - :close-on-press-escape="false" :show-close="false" - :title="temperatureTitle" :visible.sync="temperatureShow" width="260px"> - <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" :max="1000000" :min="2" label="" size="small"></el-input-number> - </div> - <el-checkbox-group v-model="temperatureTest" style="display: flex;flex-direction: column;" @change="handleTemperatureTestChange"> - <el-checkbox v-for="item in temperatureList" :key="item" :label="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 ValueTable from '../../tool/value-table.vue' -// import fiberOpticConfig from './fiberoptic-config.vue' -// import fiberOpticConfigTwo from './fiberoptic-config-two.vue' -// import equipConfig from './equip-config.vue' -// import cableConfig from './cable-config.vue' -// import Vue from 'vue' -// import {iuCharts} from "../../../util/echarts"; -// import AuxiliaryWireCore from "./auxiliaryWireCore.vue"; +import cableConfig from './cable-config.vue' +import AuxiliaryWireCore from "./auxiliaryWireCore.vue"; +import { + getInsOrder, + getUserNow, selectInsOrderTemplate, + selectStandardMethodEnum, selectStandardProductList, + selectStandardTreeList2 +} from "@/api/business/rawMaterialOrder"; +import { + addInsOrder, addInsOrderTemplate, delInsOrderTemplate, + getQuarterOnOrder, selectInsOrderTemplateById, + selectOrderManDay, + updateInsOrder, + upInsOrder, + upInsOrderOfState +} from "@/api/business/add"; +import { selectUserCondition } from "@/api/performance/class"; +import { selectsStandardMethodByFLSSM } from "@/api/standard/standardLibrary"; +import limsTable from "@/components/Table/lims-table.vue"; +import { selectCustomPageList } from "@/api/system/customer"; +import { mapGetters } from "vuex"; export default { - components: { - // AuxiliaryWireCore, - // ValueTable, - // fiberOpticConfig, - // fiberOpticConfigTwo, - // equipConfig, - // cableConfig - }, - props: { - currentId: { - type: Number, - default: () => 0 - }, - tabIndex:{ - type: Number, - default: () => 0 - } - }, - data() { - return { - examine: '', - active: '', - inspectionItemST: null, - sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁 - editTable:[], - template: null, - templates: [], - addObj: { - entrustCode: null, - custom: null, - company: null, - userId: null, - type: '0', - code: null, - appointed: null, - remark: null, // 澶囨敞 - remarkEn: null, // 澶囨敞鑻辨枃 - 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: '閫佹', // 鏉ユ牱鏂瑰紡 - sampleStatus: 'In good condition', // 鏍峰搧鐘舵�� - testQuantity: '', // 鏍峰搧鐘舵�� - production: null, - productionEn: null, - companyId: null, - prepareUser:null, // 濮旀墭浜� - prepareUserEn:null, // 濮旀墭浜鸿嫳鏂� - prepareCode: '', // 濮旀墭浜哄伐鍙� - quarterItemId: '', - sampleView: '', // 鏍峰搧鍚嶇О锛堟姤鍛婂睍绀哄瓧娈碉級 - sampleViewEn: '', // 鏍峰搧鍚嶇О鑻辨枃锛堟姤鍛婂睍绀哄瓧娈碉級 - }, - 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: [], - selectStandardTreeLoading: false, - selectTree: null, - sampleViewEn: 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:'' - }, - 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, - bsm1DiaAll: false, - equipConfigShow: false, - cableConfigShow: false, - auxiliaryShow: false, - bsm2: false, - bsm2Val: null, - bsm2Dia: false, - bsm2Val2: [], - bsm2Val3: [], - bsmRow3: null, - bsm3Val: null, - bsm3Dia: false, - // total: 0, - RTS: '', - totalArr: [], + name: 'Add', + components: { + limsTable, + cableConfig, + AuxiliaryWireCore + }, + computed: { + ...mapGetters(["nickName"]), + }, + dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'], + data() { + return { + active: '', + tabIndex: '', + currentId: '', + sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁 + editTable: [], + template: null, + templates: [], + addObj: { + entrustCode: null, + custom: null, + company: null, + userId: null, + type: '0', + code: null, + appointed: null, + remark: null, // 澶囨敞 + remarkEn: null, // 澶囨敞鑻辨枃 + sample: null, + factory: null, + laboratory: null, + sampleType: null, + sampleNum: 1, + unit: null, model: null, - standardMethodListId: null, - symbolList:['RTS'], - inspectionItem:null, - inspectionItemSubclass:null, - methodS:null, - circulateShow:false, - circulateForm:{ - entrustTime: '', - entrustNum: '', - entrustPoint: '' - }, - singleVerticalCombustionShow: false, - isBsm2Val2:false, - opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃 - opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁� - temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛� - temperatureDataList: [ - {label: '<', value: '<'}, - {label: '鈮�', value: '鈮�'}, - {label: '=', value: '='}, - {label: '鈮�', value: '鈮�'}, - {label: '>', value: '>'}, + method: null, + phone: null, + processing: 1, + isLeave: 0, + orderType: null, + send: 1, + formType: '閫佹', // 鏉ユ牱鏂瑰紡 + sampleStatus: 'In good condition', // 鏍峰搧鐘舵�� + testQuantity: '', // 鏍峰搧鐘舵�� + production: null, + productionEn: null, + companyId: null, + prepareUser: null, // 濮旀墭浜� + prepareUserEn: null, // 濮旀墭浜鸿嫳鏂� + prepareCode: '', // 濮旀墭浜哄伐鍙� + quarterItemId: '', + sampleView: '', // 鏍峰搧鍚嶇О锛堟姤鍛婂睍绀哄瓧娈碉級 + sampleViewEn: '', // 鏍峰搧鍚嶇О鑻辨枃锛堟姤鍛婂睍绀哄瓧娈碉級 + }, + addObjRules: { // 琛ㄥ崟鏍¢獙瑙勫垯 + orderType: [ + { required: true, message: '璇烽�夋嫨妫�楠岀被鍒�', trigger: 'change' } ], - temperatureShow: false, // 娓╁崌璇曢獙妫�楠岄」寮规 - temperatureTest: [], - temperatureList: [], - temperatureEngList: [], - temperatureTitle: '', - temperatureTestNum: '', - isShowInput: false, - temId: '', - sonLaboratoryList:[], - selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃 - sampleStatusList: [], // 鏍峰搧鐘舵�佷笅鎷夋鏁版嵁 - quarterItemOptions: [], // 鏌ヨ瀛e害淇℃伅 - specialStandardMethod: '', - isSpecial: false, - userList: [], - } + company: [ + { required: true, message: '璇烽�夋嫨濮旀墭鍗曚綅', trigger: 'change' } + ], + phone: [ + { required: true, message: '璇峰~鍐欒仈绯绘柟寮�', trigger: 'blur' } + ], + type: [ + { required: true, message: '璇烽�夋嫨绱ф�ョ▼搴�', trigger: 'change' } + ], + sample: [ + { required: true, message: '璇烽�夋嫨鏍峰搧鍚嶇О', trigger: 'change' } + ], + sampleNum: [ + { required: true, message: '璇峰~鍐欐牱鍝佹暟閲�', trigger: 'blur' } + ], + sampleStatus: [ + { required: true, message: '璇烽�夋嫨鏍峰搧鐘舵��', trigger: 'change' } + ], + formType: [ + { required: true, message: '璇烽�夋嫨鏉ユ牱鏂瑰紡', trigger: 'change' } + ], + testQuantity: [ + { required: true, message: '璇峰~鍐欐娊妫�鏁伴噺', trigger: 'blur' } + ], + 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, + tableData1: [], + tableLoading1: false, + multipleSelection: [], + column1: [ + { label: '瀹㈡埛鍚嶇О', prop: 'company' }, + { label: '瀹㈡埛鍗曚綅EN', prop: 'companyEn' }, + { label: '鍗曚綅鍦板潃', prop: 'address' }, + { label: '鍗曚綅鍦板潃EN', prop: 'addressEn' }, + { label: '鍗曚綅鐢佃瘽', prop: 'phone' }, + { label: '鍔犳�ラ搴�', prop: 'num' }, + { label: '瀹㈡埛缂栧彿', prop: 'code2' }, + { label: '宸ュ巶鍩�', prop: 'code' } + ], + page1: { + total: 0, + size: 10, + current: 1 + }, + selectStandardTree: false, + search: null, + list: [], + selectStandardTreeLoading: false, + selectTree: null, + sampleViewEn: null, + expandedKeys: [], + sampleList: [], + upIndex: 0, + sampleIds: [], + methodList: [], + addSampleDia: false, + count: 1, + productList: [], + productList0: [], + bsm1DiaList: [], + productIds: [], + getProductLoad: false, + saveLoad: false, + templateDia: false, + templateLoading: false, + templateName: '', + issuedDialogVisible: false, + distributeData: { + appointed: '', + userId: '', + sonLaboratory: '' + }, + personList: [], + upLoad: false, + models: [], + methods: [], + methodLoad: false, + noDialogVisible: false, + tell: '', + noLoading: false, + orderType: [], + filters: [], + formType: [], + currentMethod: null, + isAskOnlyRead: false, + sampleId: null, + bsmRow: null, + bsm1: false, + bsm1Val: null, + bsm1DiaAll: false, + cableConfigShow: false, + auxiliaryShow: false, + bsm3Dia: false, + // total: 0, + RTS: '', + totalArr: [], + addObj1: {}, + model: null, + standardMethodListId: [], + symbolList: ['RTS'], + inspectionItem: null, + inspectionItemSubclass: null, + methodS: null, + isBsm2Val2: false, + temperatureEngList: [], + isShowInput: false, + temId: '', + sonLaboratoryList: [], + selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃 + quarterItemOptions: [], // 鏌ヨ鍙潬鎬т俊鎭� + specialStandardMethod: '', + isSpecial: false, + } + }, + watch: { + sampleList() { + this.addObj.method = null + this.productList = [] }, - watch: { - sampleList() { - this.addObj.method = null - this.productList = [] - }, - 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 - } - } - }, - productListSelected: { - deep: true, - handler(val) { - if(val.length>0){ - for(let i =0 ; i< val.length; i++){ - if(val[i].inspectionItem.includes('鏉惧绠�')){ - this.inspectionItemST = 1 - break; - }else{ - this.inspectionItemST = 0 - } + 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 + }) } - }else{ - this.inspectionItemST = 0 - } - } - }, - sampleList: { - deep: true, - handler(val) { - this.getTotal() - } - }, - 'addObj.sample'(val) { - this.model = null - this.standardMethodListId = null - }, - 'addObj.sampleNum'(val) { - this.model = null - this.standardMethodListId = null - }, - tabIndex(val){ - if(val==4&&this.active==2){ - this.isSpecial = true - }else{ - this.isSpecial = false + }) + this.filters = arr } } }, - mounted() { - this.active = this.$route.query.active - this.examine = this.$route.query.examine - this.selectEnumByCategoryForType() - this.getUserNow() + sampleList: { + deep: true, + handler(val) { + this.getTotal() + } + }, + 'addObj.sample'(val) { + this.model = null + this.standardMethodListId = [] + }, + 'addObj.sampleNum'(val) { + this.model = null + this.standardMethodListId = [] + }, + tabIndex(val) { + if (val == 4 && this.active == 2) { + this.isSpecial = true + } else { + this.isSpecial = false + } + } + }, + mounted() { + this.active = this.$route.query.active + this.tabIndex = this.$route.query.tabIndex + this.currentId = this.$route.query.currentId + this.getInfo() + }, + activated() { + this.active = this.$route.query.active + this.tabIndex = this.$route.query.tabIndex + this.currentId = this.$route.query.currentId + this.getInfo(); + }, + methods: { + getInfo() { + this.getUserNowData() this.selectStandardTreeList() - // this.selectInsOrderTemplate() this.getAuthorizedPerson(); - this.selectEnumByCategoryForUnit() this.selectStandardMethods() - this.selectEnumByCategoryForOrderType() - // this.selectEnumByCategoryForSonLaboratory() - this.selectEnumByCategoryForSampleForm() // 鏉ユ牱鏂瑰紡瀛楀吀 - this.selectSampleStatus() // 鏍峰搧鐘舵�佸瓧鍏� - // this.getUserList() this.getPrepareUser() // 澶嶅埗褰撳墠璐﹀彿浜轰负濮旀墭浜� if (this.active != 1) { // 鏌ョ湅/瀹℃牳娴佺▼ // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹� - this.$axios.post(this.$api.insOrder.getInsOrder, { + getInsOrder({ orderId: this.currentId }).then(res => { this.addObj = { @@ -1042,6 +856,11 @@ }; this.addObj.type = String(this.addObj.type) this.sampleList = this.HaveJson(res.data.sampleProduct); + this.sampleList.forEach(m => { + if (m.standardMethodListId) { + m.standardMethodListId = JSON.parse(m.standardMethodListId) + } + }) this.specialStandardMethod = this.sampleList[0].specialStandardMethod this.getProNum() this.addObj.sampleNum = this.sampleList.length @@ -1054,475 +873,232 @@ }) }) } - if(this.tabIndex==4&&this.active==2){ + if (this.tabIndex == 4 && this.active == 2) { this.isSpecial = true - }else{ + } else { this.isSpecial = false } }, - methods: { - getPrepareUser () { - this.addObj.prepareUser = JSON.parse(localStorage.getItem("user")).name; - this.addObj.prepareUserEn = JSON.parse(localStorage.getItem("user")).nameEn - this.addObj.prepareCode = JSON.parse(localStorage.getItem("user")).account - }, - getUserList(){ - this.$axios.post(this.$api.user.selectUserList, { - page: {current: -1, size: -1,}, - entity: {name: null} - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - if (res.code === 201) { - return - } - this.userList = res.data.body.records - }) - }, - // 缂栬緫瑕佹眰鍊艰〃鏍� - editSpecial () { - this.isSpecial = true - }, - getQuarterOnOrder () { - this.$axios.get(this.$api.finishProductSpotCheck.getQuarterOnOrder).then(res => { - if (res.code === 200) { - console.log('res----', res) - this.quarterItemOptions = res.data - } - }) - }, - handleChange () { - - }, - //鐗规畩鍊煎~鍐欏鐞� - inputValueHandler(row,index){ - if(row){ - const nextIndex = index+1 - 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 - } + getPrepareUser() { + // this.addObj.prepareUser = JSON.parse(localStorage.getItem("user")).name; + // this.addObj.prepareUserEn = JSON.parse(localStorage.getItem("user")).nameEn + // this.addObj.prepareCode = JSON.parse(localStorage.getItem("user")).account + }, + // 缂栬緫瑕佹眰鍊艰〃鏍� + editSpecial() { + this.isSpecial = true + this.$nextTick(() => { + this.$refs.productTable.doLayout(); + }); + }, + getQuarterOnOrderList() { + getQuarterOnOrder().then(res => { + if (res.code === 200) { + this.quarterItemOptions = res.data + } + }) + }, + //鐗规畩鍊煎~鍐欏鐞� + inputValueHandler(row, index) { + if (row) { + const nextIndex = index + 1 + 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.getProNum() - }, - spliceTemperatureTest () { - 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) - }) - - 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 - } - }) - 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) { - }, - handleSelectionChange(val) { - this.opticalProjectList = val; - }, - selectAllOptical (val) { - if (val.length > 0) { - if (val[val.length-1].temperatureData) { - this.temperatureData = this.HaveJson(val.temperatureData) + } + }, + changeProductList0() { + this.productList0.forEach(a => { + let obj = this.productList.find(m => { + if (a.repetitionTag) { + return m.id === a.id && m.repetitionTag == a.repetitionTag } else { - this.temperatureData = [] + return m.id === a.id && !m.repetitionTag } - } 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) - } - }, - changeProductList0(){ - this.productList0.forEach(a=>{ - let obj = this.productList.find(m => { - if(a.repetitionTag){ - return m.id === a.id&&m.repetitionTag == a.repetitionTag - }else{ - return m.id === a.id&&!m.repetitionTag - } - }) - 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 - a.radius = obj.radius + 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 + a.radius = obj.radius + } + 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]) + }) } - if(a.state == 0&&a.bsmRow){ - a = this.HaveJson(a.bsmRow) + } + 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() { + selectUserCondition({ type: 1 }).then(res => { + let data = [] + res.data.forEach(a => { + data.push({ + label: a.name, + value: a.id + }) + }) + this.personList = data + }) + }, + openCompanyList() { + this.selectUserDia = true + this.getCompanyList() + }, + getCompanyList() { + selectCustomPageList({ ...this.page1 }).then(res => { + this.tableLoading1 = false + if (res.code === 200) { + this.tableData1 = res.data.records + this.page1.total = res.data.total + } + }).catch(err => { + this.tableLoading1 = false + }) + }, + pagination1(page) { + this.page1.size = page.limit + this.getCompanyList() + }, + selectMethod(row) { + this.multipleSelection = row + }, + selectUser() { + if (this.multipleSelection.length === 0) { + this.$message.error('鏈�夋嫨鏁版嵁') + return + } + this.addObj.company = this.multipleSelection[0].company + this.addObj.code = this.multipleSelection[0].code + this.addObj.companyId = this.multipleSelection[0].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 } }) - }, - 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() { - this.$axios.get(this.$api.user.selectQualityUserList).then(res => { - let data = [] - res.data.forEach(a => { - data.push({ - label: a.name, - value: a.id - }) - }) - this.personList = data - }) - }, - selectEnumByCategoryForType() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "绱ф�ョ▼搴�" - }).then(res => { - this.type = res.data - }) - }, - 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 - } - }, - handleAsk(ask,symbolItem, value) { - try{ - let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"]; - let code2 = ['+', '*', '/', '-'] - 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 num = eval(this.replaceAll(arr[0], symbolItem, value)) - m = code[index] + '' + num - arr1.push(m) - } - }) - return arr1.join('&') - } else if (ask.includes('锝�') || ask.includes('~')) { - let arr0 = [] - if (ask.includes('锝�')) { - arr0 = ask.split('锝�') - } else { - arr0 = ask.split('~') - } - // 澶氫釜鏉′欢 - let arr1 = [] - arr0.forEach(m => { - m = m.replace(symbolItem, value) - const index = code2.findIndex(b => m.includes(b)) - if (index > -1) { - m = eval(m) - } - arr1.push(m) - }) - return arr1.join('锝�') - } else { - // 鍗曚釜鏉′欢 - let index = code.findIndex(b => ask.includes(b)) + return symbolItem + } + }, + handleAsk(ask, symbolItem, value) { + try { + let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"]; + let code2 = ['+', '*', '/', '-'] + 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 = ask.split(code[index]).filter(b => !!b) + let arr = m.split(code[index]).filter(b => !!b) let num = eval(this.replaceAll(arr[0], symbolItem, value)) - return code[index] + '' + num + m = code[index] + '' + num + arr1.push(m) } - } - }catch(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.replaceAll(find, 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.sampleStatus) { - this.$message.error('璇烽�夋嫨鏍峰搧鐘舵��') - } else if (!this.addObj.testQuantity) { - 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 { - let isHaveBushing = '' - this.sampleList.forEach(item => { - if (!item.bushing || item.bushing.length === 0) { - isHaveBushing = false - } - item.specialStandardMethod = this.specialStandardMethod }) + return arr1.join('&') + } else if (ask.includes('锝�') || ask.includes('~')) { + let arr0 = [] + if (ask.includes('锝�')) { + arr0 = ask.split('锝�') + } else { + arr0 = ask.split('~') + } + // 澶氫釜鏉′欢 + let arr1 = [] + arr0.forEach(m => { + m = m.replace(symbolItem, value) + const index = code2.findIndex(b => m.includes(b)) + if (index > -1) { + m = eval(m) + } + arr1.push(m) + }) + return arr1.join('锝�') + } else { + // 鍗曚釜鏉′欢 + let index = code.findIndex(b => ask.includes(b)) + if (index > -1) { + let arr = ask.split(code[index]).filter(b => !!b) + let num = eval(this.replaceAll(arr[0], symbolItem, value)) + return code[index] + '' + num + } + } + } catch (e) { } + }, + replaceAll(str, find, value) { + if (str === undefined) { + return str + } + return str.replaceAll(find, value); + }, + save() { + this.$refs['addObj'].validate((valid) => { + if (valid) { + // 閫夋嫨澶氫釜鏍囧噯 + let isHaveStandardMethodListId = false + this.sampleList.forEach(item => { + // 璧嬪�肩壒娈婃爣鍑� + item.specialStandardMethod = this.specialStandardMethod + if (!item.standardMethodListId || item.standardMethodListId.length == 0) { + isHaveStandardMethodListId = true + } + }) + if (isHaveStandardMethodListId) { + return this.$message.error('璇烽�夋嫨鏍囧噯') + } try { this.sampleList.forEach(item => { - if (item.insulating){ + if (item.insulating) { let sampleListArr = [] let insulatingArr = [] // 鏈夌數缂嗛厤缃椂锛屾瘮杈冪數缂嗛厤缃殑妫�楠岄」鏄惁涓庡闈㈤噸澶� @@ -1544,25 +1120,58 @@ if (e === true) throw e } let sampleList = this.HaveJson(this.sampleList) + // 澶氶�夋楠屾爣鍑嗘椂锛屾楠岄」涓嶈兘閲嶅閫夋嫨 + for (let i = 0; i < sampleList.length; i++) { + if (sampleList[i].insProduct.length > 0) { + let set = new Set(); + for (let j = 0; j < sampleList[i].insProduct.length; j++) { + if (sampleList[i].insProduct[j].state == 1) { + let num0 = set.size; + set.add( + sampleList[i].insProduct[j].inspectionItem + + "-" + + sampleList[i].insProduct[j].inspectionItemSubclass + ); + let num1 = set.size; + if (num0 == num1) { + this.$message.error( + sampleList[i].insProduct[j].inspectionItem + + "-" + + sampleList[i].insProduct[j].inspectionItemSubclass + + "閲嶅" + ); + return; + } + } + } + } + } sampleList.forEach(a => { + if (a.insProduct.length > 0) { + a.insProduct.forEach(c => { + if (this.tabIndex != 4) { + delete c.id + } + }) + } if (a.endModels) { a.model = a.endModels } - a.insProduct = a.insProduct.filter(b=>b.state === 1) + a.insProduct = a.insProduct.filter(b => b.state === 1) }) let projectNum = this.totalArr.filter(a => a.state == 1).length - if(projectNum==0){ + 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) + }).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.editTable = this.handleData(sampleList,this.containsValue, 0) + this.editTable = this.handleData(sampleList, this.containsValue, 0) this.editTable.forEach(item => { item.value = item.modelNum }) @@ -1572,1624 +1181,1071 @@ this.saveMethod(sampleList) } } - }, - /** - * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊� - * - */ - checkRequiredValueAndRemark(data){ - //杩囨护瑕佹眰鍊间腑鍖呭惈鏁板瓧鐨勬墠鏍¢獙 - let filterData = data.filter(d=>/[0-9]/.test(d.ask)) - if(filterData.length===0){ - return false + }) + }, + save0() { + if (this.editTable.every(m => m.value)) { + let sampleList = this.handleData(this.HaveJson(this.sampleList), this.handleAsk, 1) + sampleList.forEach(a => { + if (a.insProduct.length > 0) { + a.insProduct.forEach(c => { + if (this.tabIndex != 4) { + delete c.id + } + }) + } + if (a.endModels) { + a.model = a.endModels + } + a.insProduct = a.insProduct.filter(b => b.state === 1) + }) + this.saveMethod(sampleList) + } else { + this.$message.error('璇峰~鍐欒瘑鍒鍊�') + } + }, + handleData(sampleList, calBack, type) { + let editTable = [] + sampleList.forEach(item => { + let obj = { + sampleCode: item.sampleCode, + model: item.model, + symbolList: [], + sampleId: item.id, + modelNum: item.modelNum, } - let isTrue = true - try{ - filterData.forEach(ele=>{ - //瑕佹眰鍊煎拰瑕佹眰鎻忚堪涓嶈兘涓虹┖ - if(!ele.ask || !ele.tell){ - isTrue = false - }else{ - //鍒ゆ柇锛堚墹,鈮�,>,<,=锛夎繖鍑犵鎯呭喌 - //鍒ゆ柇瑕佹眰鍊间腑鐨勬暟瀛楁槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓� - if(['鈮�','鈮�','>','<','='].includes(ele.ask[0])){ - const askVal = ele.ask.substring(1,ele.ask.length) - if(isNaN(askVal) || ele.tell.indexOf(askVal)<0){ - isTrue = false - } - } - //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸- - if(ele.ask.indexOf('-')>0 && ele.ask.length>1){ - //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁� - 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. - */ - let min = Math.min(...splits) - let max = Math.max(...splits) - if(min==max){ - isTrue = false - } - //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse - if(tell.indexOf('卤')<0&&tell.indexOf('-')<0){ - isTrue = false - }else if(ele.tell.indexOf('-')==0){ - isTrue = false - }else if(tell.indexOf('-')>0){ - if(tell.indexOf('卤')>0){ - ////鏍¢獙瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鍐欐硶鐨勬儏鍐� - const num = tell.split('卤')[1] - const startIndex = tell.indexOf('(') - const endIndex = tell.indexOf(')') - 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){ - isTrue = false - } + 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.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 } - }else{ - //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐� - let splitNums = ele.tell.split('卤') - if(splitNums.length<2){ - isTrue = false - }else{ - let minTell = Number(splitNums[0])-Number(splitNums[1]) - let maxTell = Number(splitNums[0])+Number(splitNums[1]) - if(minTell!=min || maxTell!=max){ - isTrue = false - } + let tell = this.handleAsk(a.tell, arr[i].symbolItem, arr[i].value) + if (tell) { + a.tell = tell } } - }else{ - const splitTells = tell.split('-') - if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){ - isTrue = false - } + } else { + this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') } } - }else{ - isTrue = false } } - // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){ - // //鍒ゆ柇 - // } - } }) - }catch(error){ - console.log(error); - isTrue = false } - return isTrue - }, - save0(){ - if(this.editTable.every(m=>m.value)){ - let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) - sampleList.forEach(a => { - if (a.endModels) { - a.model = a.endModels - } - a.insProduct = a.insProduct.filter(b=>b.state === 1) + 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(',') }) - this.saveMethod(sampleList) - }else{ - this.$message.error('璇峰~鍐欒瘑鍒鍊�') - } - }, - handleData(sampleList,calBack,type){ - let editTable = [] - 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.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.handleAsk(a.tell, arr[i].symbolItem,arr[i].value) - if (tell) { - a.tell = tell - } - } - }else{ - this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') - } - } - // 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, - value:null, - inspectionItemList:b.inspectionItemList, - modelNum:a.modelNum, - } - editTableNew.push(obj) - }) - }) - return editTableNew - }else{ - return sampleList - } - }, - saveMethod(sampleList){ - console.log('sampleList----', sampleList) - this.saveLoad = true - if (this.addObj.quarterItemId) { - this.addObj.quarterItemId = this.addObj.quarterItemId[1] - } - - if(this.tabIndex==4&&this.active==2){ - // 閫�鍥炲悗鎻愪氦 - this.$axios.post(this.$api.insOrder.updateInsOrder, { - insOrder: this.addObj, - sampleProduct: sampleList, - },{ - headers: { - 'Content-Type': 'application/json' - }, - noQs:true - }).then(res => { - this.saveLoad = false - if (res.code == 201) return - this.$message.success('宸叉彁浜�') - this.bsm3Dia = false; - this.$parent.playOrder(0) - }).catch(e=>{ - this.saveLoad = false - }) - }else{ - // 甯歌鎻愪氦 - this.$axios.post(this.$api.insOrder.addInsOrder, { - str: JSON.stringify({ - insOrder: this.addObj, - list: JSON.stringify(sampleList), - pairing: JSON.stringify(this.bsm2Val2) - }) - }).then(res => { - this.saveLoad = false - if (res.code == 201) return - this.$message.success('宸叉彁浜�') - this.bsm3Dia = false; - this.$parent.playOrder(0) - }).catch(e=>{ - this.saveLoad = false - }) - } - - }, - upInsOrderOfState(state) { - if (state == 1) { - this.saveLoad = true - this.$axios.post(this.$api.insOrder.upInsOrderOfState, { - state, - id: this.currentId, - companyId:this.addObj.companyId, - laboratory:this.addObj.laboratory, - company: this.addObj.company - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - this.saveLoad = false - if (res.code == 201) return - this.$message.success('鎻愪氦鎴愬姛') - // this.$parent.multipleSelection = [{id: this.currentId}] - // this.$parent.print() - // 濡傛灉绱ф�ョ▼搴︿负绱ф�ワ紝闇�瑕佺洿鎺ヤ笅鍙戜汉鍛� - // if (this.addObj.type == 2) { - // this.issuedDialogVisible = true; - // this.$axios.post(this.$api.insOrder.selectOrderManDay, { - // id: this.currentId - // }).then(ress => { - // this.distributeData.orderId = this.currentId - // this.distributeData.appointed = ress.data - // }) - // } else { - // this.$parent.playOrder(0) - // } - this.$axios.post(this.$api.insOrder.selectOrderManDay, { - id: this.currentId - }).then(ress => { - this.distributeData.orderId = this.currentId - this.distributeData.appointed = ress.data - }) - setTimeout(() => { - this.issuedDialogVisible = true; - }, 1000) - }) - } else { - // 涓嶉�氳繃 - this.noDialogVisible = true - } - }, - // 涓嬪彂 - submitForm2() { - if (this.distributeData.appointed == null || this.distributeData.appointed == '') { - this.$message.error('绾﹀畾鏃堕棿鏈~鍐�') - return - } - if (this.distributeData.userId == null || this.distributeData.userId == '') { - this.$message.error('鎸囨淳浜哄憳鏈~鍐�') - return - } - if (this.distributeData.userId&&(this.distributeData.sonLaboratory== null ||this.distributeData.sonLaboratory== '')) { - this.$message.error('璇曢獙瀹ゆ湭濉啓') - return - } - this.upLoad = true; - this.$axios.post(this.$api.insOrder.upInsOrder, { - orderId: this.distributeData.orderId, - appointed: this.distributeData.appointed, - userId: this.distributeData.userId, - sonLaboratory:this.distributeData.sonLaboratory - }).then(res => { - if (res.code === 201) { - this.upLoad = false - return - } - this.$message.success('鎻愪氦鎴愬姛') - this.upLoad = false - this.issuedDialogVisible = false - this.$parent.playOrder(0) - }).catch(e => { - this.$message.error('鎻愪氦澶辫触') - this.upLoad = false - }) - }, - getUserNow() { - this.$axios.get(this.$api.user.getUserNow).then(res => { - let selects = res.data - if (selects == null) return - this.addObj.userId = selects.id - this.addObj.company = selects.company - this.addObj.custom = selects.name - this.addObj.code = selects.code - this.addObj.phone = selects.phone - this.addObj.companyId = selects.departId - this.addObj.production = '涓ぉ绉戞妧瑁呭鐢电紗鏈夐檺鍏徃' - this.addObj.productionEn = 'Zhongtian Technology Industrial Wire&Cable System CO.,LTD' - if(this.active==1){ - this.selectInsOrderTemplate() - } - }) - }, - getProNum() { - this.sampleSelectionList.forEach((m, i) => { - Vue.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') - if (node.data.code === '[3]') { - this.sampleViewEn = data.sampleTypeEn - } else if (node.data.code === '[4]') { - this.sampleViewEn = data.sampleEn - } - }, - 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 - } - }) - - } - } - if (node.data.code === '[3]') { - this.sampleViewEn = val.sampleTypeEn - } else if (node.data.code === '[4]') { - console.log('node.data---', node.data) - if (node.data.children!==null && node.data.children.length>0) { - this.sampleViewEn = val.sampleEn - } - } - this.selectTree = this.selectTree.replace(' - ', '') - if(flag) { - this.selectTree = ' - - ' + 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() { - this.selectStandardTreeLoading = true - this.$axios.get(this.$api.standardTree.selectStandardTreeList2).then(res => { - this.list = res.data - this.list.forEach(a => { - this.expandedKeys.push(a.label) - }) - this.selectStandardTreeLoading=false - }) - }, - 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.sampleView = this.addObj.sample - this.addObj.sampleViewEn = this.sampleViewEn - 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 - this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { - tree: this.selectTree - }).then(res => { - 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) - this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { - tree: selectTree - }).then(ress => { - this.methods = ress.data.standardMethodList - }) + 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 { - this.methods = res.data.standardMethodList + return false } - } catch (e) {} + }) }) - }, - addStandardTree() { - if (this.selectTree == null) return - 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++ + let editTableNew = [] + editTable.forEach(a => { + a.symbolList.forEach(b => { + let obj = { + sampleCode: a.sampleCode, + model: a.model, + symbolItem: b.symbolItem, + sampleId: a.sampleId, + value: null, + inspectionItemList: b.inspectionItemList, + modelNum: a.modelNum, + } + editTableNew.push(obj) + }) + }) + return editTableNew + } else { + return sampleList + } + }, + saveMethod(sampleList) { + this.saveLoad = true + if (this.addObj.quarterItemId) { + this.addObj.quarterItemId = this.addObj.quarterItemId[1] + } + if (this.tabIndex == 4 && this.active == 2) { + if (this.addObj.createTime) { + delete this.addObj.createTime } - this.computationalPairing(this.sampleList.length) - this.bsm2Val2 = this.HaveJson(this.bsm2Val3) - }, - selectSample(val) { - this.sampleIds = [] - val.forEach(a => { - this.sampleIds.push(a.id) + // 閫�鍥炲悗鎻愪氦 + updateInsOrder({ insOrder: this.addObj, sampleProduct: sampleList }).then(res => { + this.saveLoad = false + this.$message.success('宸叉彁浜�') + this.bsm3Dia = false; + this.closeOpenPage() + }).catch(e => { + this.saveLoad = false }) - this.sampleSelectionList = 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 - } + } else { + // 甯歌鎻愪氦 + sampleList.forEach(m => { + m.standardMethodListId = JSON.stringify(m.standardMethodListId) + }) + addInsOrder({ insOrder: this.addObj, sampleList: sampleList }).then(res => { + this.saveLoad = false + this.$message.success('宸叉彁浜�') + this.bsm3Dia = false; + this.closeOpenPage() + }).catch(e => { + this.saveLoad = false + }) + } + + }, + upInsOrderOfState(state) { + if (state == 1) { + this.saveLoad = true + upInsOrderOfState({ + state, + id: this.currentId, + companyId: this.addObj.companyId, + laboratory: this.addObj.laboratory, + company: this.addObj.company + }).then(res => { + this.saveLoad = false + this.$message.success('鎻愪氦鎴愬姛') + selectOrderManDay({ + id: this.currentId + }).then(ress => { + this.distributeData.orderId = this.currentId + this.distributeData.appointed = ress.data + }) + setTimeout(() => { + this.issuedDialogVisible = true; + }, 1000) + }) + } else { + // 涓嶉�氳繃 + this.noDialogVisible = true + } + }, + // 涓嬪彂 + submitForm2() { + if (this.distributeData.appointed == null || this.distributeData.appointed == '') { + this.$message.error('绾﹀畾鏃堕棿鏈~鍐�') + return + } + if (this.distributeData.userId == null || this.distributeData.userId == '') { + this.$message.error('鎸囨淳浜哄憳鏈~鍐�') + return + } + if (this.distributeData.userId && (this.distributeData.sonLaboratory == null || this.distributeData.sonLaboratory == '')) { + this.$message.error('璇曢獙瀹ゆ湭濉啓') + return + } + this.upLoad = true; + upInsOrder({ + orderId: this.distributeData.orderId, + appointed: this.distributeData.appointed, + userId: this.distributeData.userId, + sonLaboratory: this.distributeData.sonLaboratory + }).then(res => { + this.$message.success('鎻愪氦鎴愬姛') + this.upLoad = false + this.issuedDialogVisible = false + this.closeOpenPage() + }).catch(e => { + this.$message.error('鎻愪氦澶辫触') + this.upLoad = false + }) + }, + getUserNowData() { + getUserNow().then(res => { + let selects = res.data + if (selects == null) return + this.addObj.userId = selects.id + this.addObj.company = selects.company + this.addObj.custom = selects.name + this.addObj.code = selects.code + this.addObj.phone = selects.phone + this.addObj.companyId = selects.departId + this.addObj.production = '涓ぉ绉戞妧瑁呭鐢电紗鏈夐檺鍏徃' + this.addObj.productionEn = 'Zhongtian Technology Industrial Wire&Cable System CO.,LTD' + 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') + if (node.data.code === '[3]') { + this.sampleViewEn = data.sampleTypeEn + } else if (node.data.code === '[4]') { + this.sampleViewEn = data.sampleEn + } + }, + 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.selectTree = this.getReversedTreePath(node) + }, + /** + * 鑾峰彇鍙嶅悜鎷兼帴鐨勬爲璺緞瀛楃涓� + * @param {Object} node - 褰撳墠鑺傜偣 + * @returns {string} - 鍙嶅悜鎷兼帴鐨勬爲璺緞 + */ + getReversedTreePath(node) { + const pathParts = []; + + // 閫掑綊鑾峰彇鐖惰妭鐐硅矾寰� + const collectParentLabels = (currentNode) => { + if (currentNode && currentNode.label) { + pathParts.unshift(currentNode.label); // 灏嗗綋鍓嶈妭鐐规爣绛炬彃鍏ュ埌鏁扮粍寮�澶� + } + if (currentNode.parent) { + collectParentLabels(currentNode.parent); // 閫掑綊澶勭悊鐖惰妭鐐� + } + }; + + collectParentLabels(node); + + // 鎷兼帴璺緞骞惰繑鍥� + return pathParts.join(" - "); + }, + selectStandardTreeList() { + this.selectStandardTreeLoading = true + selectStandardTreeList2().then(res => { + this.list = res.data + this.list.forEach(a => { + this.expandedKeys.push(a.label) + }) + this.selectStandardTreeLoading = false + }) + }, + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + activeStandardTree() { + let trees = this.selectTree.split(" - ") + if (trees.length < 4) { + this.$message.error('鏈�夋嫨瀵硅薄') + return + } + this.addObj.factory = trees[0] + this.addObj.laboratory = trees[1] + if (trees[2] == '鍖呮潗' || trees[2] == '鍘熻緟鏉�') { + this.addObj.sampleType = trees[4] + if (trees[5] === undefined || trees[5] === '' || trees[5] === '- ') { + this.addObj.sample = trees[4] + } else { + this.addObj.sample = trees[5] + } + this.addObj.model = (trees[6] == undefined ? null : trees[6]) + } else { + this.addObj.sampleType = trees[3] + if (trees[4] === undefined || trees[4] === '' || trees[4] === '- ') { + this.addObj.sample = trees[3] + } else { + this.addObj.sample = trees[4] + } + this.addObj.model = (trees[5] == undefined ? null : trees[5]) + } + this.addObj.sampleView = this.addObj.sample + this.addObj.sampleViewEn = this.sampleViewEn + 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 = [] + 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() + }, + selectsStandardMethodByFLSSMList() { + this.methodLoad = true + selectsStandardMethodByFLSSM({ + tree: this.selectTree + }).then(res => { + 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) + selectsStandardMethodByFLSSM({ + tree: selectTree + }).then(ress => { + this.methods = ress.data.standardMethodList + }) + } else { + this.methods = res.data.standardMethodList + } + } catch (e) { } + }) + }, + addStandardTree() { + if (this.selectTree == null) return + 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 = [] + 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++ + } + }, + selectSample(val) { + this.sampleIds = [] + val.forEach(a => { + this.sampleIds.push(a.id) + }) + this.sampleSelectionList = val + }, + selectProduct(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.$refs.sampleTable.doLayout() - }, - selectProduct(val) { - this.productListSelected = val - this.productIds = [] - val.forEach(a => { - this.productIds.push(a.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); + } }) - }, - 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 + }, 200) + }, + toggleSelection(row) { + this.$refs.productTable.toggleRowSelection(row, true); + }, + selectOne(selection, row) { + this.bsm1DiaList = [] + row.state = row.state == 1 ? 0 : 1 + if (row.section === null) { + row.section = "" + } + if (row.sectionCopy === undefined && row.section) { + if (row.section.indexOf('[') > -1) { + this.$set(row, 'sectionCopy', row.section) } - this.sampleId = row.id - if (this.active !== 1) { - this.sampleIds = [] - this.sampleSelectionList.forEach(ele=>{ - if(ele.id == row.id){ - this.sampleIds.push(row.id) + } + if (row.ask.includes('[')) { + this.$set(row, 'askCopy', row.ask) + } + if (row.tell.includes('[')) { + this.$set(row, 'tellCopy', row.tell) + } + let arr = this.productList.filter(m => m.state == 1 && row.sectionCopy && row.sectionCopy.includes(m.sectionCopy) && m.ask && m.sectionCopy.indexOf('[') == -1) + if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1 && arr.length == 0) { + if (row.sectionCopy.indexOf('[') > -1) { + row.bsmRow = this.HaveJson(row) + } + row.bsm1 = true + this.bsm1DiaList.push(row) + this.bsm1DiaAll = true + } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0 && arr.length == 0) { + row.bsm1 = false + } else if (arr.length > 0) { + try { + row.bsmRow = this.HaveJson(row) + let sectionCopy = arr[0].sectionCopy + let arr0 = JSON.parse(row.sectionCopy) + let arr1 = JSON.parse(row.ask) + let arr4 = JSON.parse(row.tell) + let index = arr0.indexOf(sectionCopy) + row.sectionCopy = sectionCopy + row.ask = arr1[index] + row.tell = arr4[index] + } catch (e) { } + } + this.sampleList.forEach(item => { + if (this.sampleIds.indexOf(item.id) > -1 || this.currentMethod.id == item.id) { + item.insProduct.forEach(m => { + if (m.id == row.id) { + m.state = row.state; } }) } + }) + this.productList.forEach(item => { + if (item.id == row.id) { + item.state = row.state; + } + }) + this.changeProductList0() + this.currentMethod.insProduct = this.productList0 + this.getProNum() + }, + 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; + }, + tableRowClassName({ row, rowIndex }) { + if (row.state == 1) { + return 'warning-row'; + } else { + return ''; + } + }, + selectInsOrderTemplate() { + selectInsOrderTemplate({ company: this.addObj.company }).then(res => { + this.templates = res.data + }) + }, + // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛 + handleDelete(row) { + this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + delInsOrderTemplate({ + id: row.id + }).then(res => { + this.$message.success('鍒犻櫎鎴愬姛') + this.selectInsOrderTemplate() + }).catch(e => { + this.$message.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 => { + this.templateLoading = false; + this.templateDia = false; + this.$message.success('淇濆瓨鎴愬姛') + this.selectInsOrderTemplate() + this.templateName = '' + }).catch(e => { + this.templateLoading = false; + }) + } else { + this.$message.error('璇峰~鍐欐ā鏉垮悕绉�') + } + }, + // 鏌ヨ妯℃澘 + selectInsOrderTemplateById(e) { + selectInsOrderTemplateById({ id: e }).then(res => { + let obj = JSON.parse(res.data) + //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛 + let user = this.nickName + obj.addObj.custom = user.name + obj.addObj.userId = user.userId + this.addObj = obj.addObj; + this.sampleList = obj.sampleList; + this.selectTree = obj.selectTree + this.rowClick(this.sampleList[0]) + }) + }, + delSampleAndProduct() { + this.sampleList.splice(scope.$index, 1) + this.productList = [] + }, + spliceString(row, val, type) { + if (type === 'cores') { + const index = this.sampleList.findIndex(item => item.id === row.id) + if (index > -1) { + if (this.sampleList[index].modelNum) { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores + '*' + this.sampleList[index].modelNum) + } else { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores) + } + if (this.sampleList[index].modelNum && !this.sampleList[index].cores) { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].modelNum) + } + } + } + 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, + modelNum: row.modelNum, + standardMethodListIds: val, + state: 1, + factory: selectTreeList.join(" - "), + cores: row.cores, + conductorMaterial: row.conductorMaterial, + conductorType: row.conductorType, + }).then(res => { + res.data.forEach(a => { + a.state = 0 + }) + row.insProduct = this.HaveJson(res.data) + this.getProductLoad = false this.productList = row.insProduct this.productList0 = JSON.parse(JSON.stringify(this.productList)) + this.$refs.sampleTable.setCurrentRow(row) + this.$nextTick(() => { + this.$refs.productTable.doLayout(); + this.upIndex++ + }); setTimeout(() => { this.productList.forEach(a => { - if (a.state == 1) { - this.toggleSelection(a) - }else{ - this.$refs.productTable.toggleRowSelection(a, false); - } + if (a.state == 1) this.toggleSelection(a) }) }, 200) - }, - toggleSelection(row) { - this.$refs.productTable.toggleRowSelection(row, true); - }, - selectOne(selection, row) { - this.bsm1DiaList = [] - row.state = row.state == 1 ? 0 : 1 - if(row.section === null) { - row.section = "" - } - if (row.sectionCopy === undefined && row.section) { - if (row.section.indexOf('[') > -1) { - this.$set(row, 'sectionCopy', row.section) - } - } - if (row.ask.includes('[')) { - this.$set(row, 'askCopy', row.ask) - } - if (row.tell.includes('[')) { - this.$set(row, 'tellCopy', row.tell) - } - // if (row.manHour.includes('[')) { - // this.$set(row, 'manHourCopy', row.manHour) - // } - // if (row.price.includes('[')) { - // this.$set(row, 'priceCopy', row.price) - // } - let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1) - if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1&&arr.length==0) { - if (row.sectionCopy.indexOf('[') > -1) { - row.bsmRow = this.HaveJson(row) - } - row.bsm1 = true - this.bsm1DiaList.push(row) - this.bsm1DiaAll = true - } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0&&arr.length==0) { - row.bsm1 = false - }else if(arr.length>0){ - try{ - row.bsmRow = this.HaveJson(row) - let sectionCopy = arr[0].sectionCopy - let arr0 = JSON.parse(row.sectionCopy) - 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(sectionCopy) - row.sectionCopy = sectionCopy - row.ask = arr1[index] - // row.manHour = arr2[index] - // row.price = arr3[index] - row.tell = arr4[index] - } catch(e) {} - } - this.sampleList.forEach(item => { - if (this.sampleIds.indexOf(item.id) > -1||this.currentMethod.id==item.id) { - item.insProduct.forEach(m => { - if (m.id == row.id) { - m.state = row.state; - } - }) - } - }) - this.productList.forEach(item => { - if (item.id == row.id) { - item.state = row.state; - } - }) - this.changeProductList0() - this.currentMethod.insProduct = this.productList0 - this.getProNum() - }, - searchProject () { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鍏夌氦椤圭洰" - }).then(res => { - this.opticalProject = res.data - }) - }, - 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() { - this.$axios.get(this.$api.insOrder.selectInsOrderTemplate+'?company='+this.addObj.company).then(res => { - if (res.code == 201) return - this.templates = res.data - }) - }, - // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛 - handleDelete(row) { - this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - this.$axios.post(this.$api.insOrder.delInsOrderTemplate, { - id: row.id - }).then(res => { - if (res.code === 201) { - return - } - this.$message.success('鍒犻櫎鎴愬姛') - this.selectInsOrderTemplate() - }).catch(e => { - this.$message.error('鍒犻櫎澶辫触') - }) - }).catch(() => {}) - }, - // 淇濆瓨妯℃澘 - addTemplateDia() { - if (this.templateName) { - this.templateLoading = true; - this.$axios.post(this.$api.insOrder.addInsOrderTemplate, { - name: this.templateName, - thing: JSON.stringify({ - addObj: this.addObj, - sampleList: this.sampleList, - selectTree:this.selectTree - }) - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - if (res.code == 201) return - this.templateLoading = false; - this.templateDia = false; - this.$message.success('淇濆瓨鎴愬姛') - this.selectInsOrderTemplate() - this.templateName = '' - }) - } else { - this.$message.error('璇峰~鍐欐ā鏉垮悕绉�') - } - }, - // 鏌ヨ妯℃澘 - selectInsOrderTemplateById(e) { - this.$axios.post(this.$api.insOrder.selectInsOrderTemplateById + '?id=' + e).then(res => { - if (res.code == 201) return - let obj = JSON.parse(res.data) - //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛 - let user = JSON.parse(localStorage.getItem('user')) - obj.addObj.custom = user.name - obj.addObj.userId = user.userId - this.addObj = obj.addObj; - this.sampleList = obj.sampleList; - this.selectTree = obj.selectTree - }) - }, - delSampleAndProduct() { - this.sampleList.splice(scope.$index, 1) - this.productList = [] - }, - selectEnumByCategoryForUnit() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鍗曚綅" - }).then(res => { - this.units = res.data - }) - }, - selectEnumByCategoryForOrderType() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "妫�楠岀被鍒�" - }).then(res => { - this.orderType = res.data - if (res.data.length > 0) { - this.addObj.orderType = res.data[0].value - } - }) - }, - selectEnumByCategoryForSampleForm() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鏉ユ牱鏂瑰紡" - }).then(res => { - this.formType = res.data - if (this.formType.length > 0) { - this.addObj.formType = this.formType[0].value - } - }) - }, - selectSampleStatus() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鏍峰搧鐘舵��" - }).then(res => { - this.sampleStatusList = res.data - if (this.sampleStatusList.length > 0) { - this.addObj.sampleStatus = this.sampleStatusList[0].value - } - }) - }, - spliceString (row, val, type) { - if (type === 'cores') { - const index = this.sampleList.findIndex(item => item.id === row.id) - if (index > -1) { + }) + }, + methodChange(val, row, type) { + if (type === 'splice') { + const index = this.sampleList.findIndex(item => item.id === row.id) + if (index > -1) { + if (this.sampleList[index].cores) { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores + '*' + this.sampleList[index].modelNum) + } else { if (this.sampleList[index].modelNum) { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores + '*' + this.sampleList[index].modelNum) + const index2 = this.sampleList[index].modelNum.indexOf('脳') + if (index2 === 0) { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + this.sampleList[index].modelNum) + } else if (index2 === -1) { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].modelNum) + } else { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].modelNum + this.sampleList[index].model) + } } else { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores) + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ((this.sampleList[index].modelNum == null || this.sampleList[index].modelNum == '' || this.sampleList[index].modelNum == 'null') ? '' : (' ' + this.sampleList[index].modelNum))) } - if (this.sampleList[index].modelNum && !this.sampleList[index].cores) { - this.$set(this.sampleList[index], 'endModels',this.sampleList[index].model + ' ' + this.sampleList[index].modelNum) - } + } + if (!this.sampleList[index].modelNum && this.sampleList[index].cores) { + this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores) } } - this.getProductLoad = true - let selectTreeList = this.selectTree.split(" - ") - this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) - this.$axios.post(this.$api.standardTree.selectStandardProductList, { - model: this.addObj.model?this.addObj.model:row.model, - modelNum: row.modelNum, - standardMethodListId: val, - factory: selectTreeList.join(" - "), - cores: row.cores, - conductorMaterial: row.conductorMaterial, - conductorType: row.conductorType, - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - res.data.forEach(a => { - a.state = 0 - }) - row.insProduct = this.HaveJson(res.data) - this.getProductLoad = false - 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) + } + if (!val || val.length == 0) 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, + modelNum: row.modelNum, + standardMethodListIds: val, + state: 1, + cores: row.cores, + factory: selectTreeList.join(" - "), + }).then(res => { + res.data.forEach(a => { + a.state = 0 }) - }, - methodChange(val, row, type) { - if (type === 'splice') { - const index = this.sampleList.findIndex(item => item.id === row.id) - if (index > -1) { - if (this.sampleList[index].cores) { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores + '*' + this.sampleList[index].modelNum) - } else { - if (this.sampleList[index].modelNum) { - const index2 = this.sampleList[index].modelNum.indexOf('脳') - if (index2 === 0) { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + this.sampleList[index].modelNum) - } else if (index2 === -1) { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].modelNum) - } else { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].modelNum + this.sampleList[index].model) + row.insProduct = this.HaveJson(res.data) + this.getProductLoad = false + 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) + }) + }, + changeModel() { + this.sampleList.forEach(a => { + let obj = this.sampleIds.find(b => b == a.id) + if (obj) { + a.model = this.model + } + }) + }, + changeStandardMethodListId() { + this.sampleList.forEach(a => { + let obj = this.sampleIds.find(b => b == a.id) + if (obj) { + a.standardMethodListId = this.standardMethodListId + this.methodChange(this.standardMethodListId, a) + } + }) + }, + methodFocus() { + this.selectsStandardMethodByFLSSMList() + }, + 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) { + if (row.repetitionTag) { + if (row.repetitionTag == i.repetitionTag) { + i[type] = e } } else { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ((this.sampleList[index].modelNum == null || this.sampleList[index].modelNum == '' || this.sampleList[index].modelNum == 'null') ? '' : (' ' + this.sampleList[index].modelNum))) - } - } - if (!this.sampleList[index].modelNum && this.sampleList[index].cores) { - this.$set(this.sampleList[index], 'endModels', this.sampleList[index].model + ' ' + this.sampleList[index].cores) - } - } - } - 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) - this.$axios.post(this.$api.standardTree.selectStandardProductList, { - model: this.addObj.model?this.addObj.model:row.model, - modelNum: row.modelNum, - standardMethodListId: val, - cores: row.cores, - factory: selectTreeList.join(" - "), - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - res.data.forEach(a => { - a.state = 0 - }) - row.insProduct = this.HaveJson(res.data) - this.getProductLoad = false - 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.searchProject() - this.searchTemList() - }, - searchTemList () { - this.temperatureList = [] - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鐢靛姏娓╁害寰幆妫�楠�" - }).then(res => { - if (res.data.length > 0) { - this.temperatureEngList = res.data - res.data.forEach(item => { - this.temperatureList.push(item.label) - }) - } - }) - }, - changeModel() { - this.sampleList.forEach(a => { - let obj = this.sampleIds.find(b => b == a.id) - if (obj) { - a.model = this.model - } - }) - }, - changeStandardMethodListId() { - this.sampleList.forEach(a => { - 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){ - if(row.repetitionTag){ - if(row.repetitionTag==i.repetitionTag){ - i[type] = e - } - }else{ - if(!i.repetitionTag){ - i[type] = e - } + if (!i.repetitionTag) { + i[type] = e } } - }) + } + }) + } + }) + }, + selectStandardMethods() { + selectStandardMethodEnum().then(res => { + this.methods = res.data + }) + }, + selectable() { + if (this.active > 1) { + return false + } else { + return true + } + }, + selectable0(row, index) { + if (this.active > 1 || row.repetitionTag) { + return false + } else { + return true + } + }, + handleAll(e) { + if (e.length > 0) { + this.productList.map(m => { + if (e.find(a => a.id == m.id)) { + m.state = 1 } + return m }) - }, - selectStandardMethods() { - this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => { - this.methods = res.data + } else { + this.productList.map(m => { + m.state = 0 + return m }) - }, - selectable() { - if (this.active > 1) { - return false - } else { - return true + } + this.bsm1DiaList = [] + this.productList.forEach(p => { + if (p.sectionCopy === undefined && p.section) { + if (p.section.indexOf('[') > -1) { + this.$set(p, 'sectionCopy', p.section) + } } - }, - selectable0(row,index) { - if (this.active > 1||row.repetitionTag) { - return false - } else { - return true + if (p.ask.includes('[')) { + this.$set(p, 'askCopy', p.ask) } - }, - handleAll(e) { - if (e.length > 0) { - this.productList.map(m => { - if(e.find(a=>a.id == m.id)){ + if (p.tell.includes('[')) { + this.$set(p, 'tellCopy', p.tell) + } + // if (p.manHour.includes('[')) { + // this.$set(p, 'manHourCopy', p.manHour) + // } + // if (p.price.includes('[')) { + // this.$set(p, 'priceCopy', p.price) + // } + if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) { + if (p.sectionCopy.indexOf('[') > -1) { + p.bsmRow = this.HaveJson(p) + } + p.bsm1 = true + this.bsm1DiaList.push(p) + this.bsm1DiaAll = true + } else if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.state === 0) { + p.bsm1 = false + } + }) + if (e.length > 0) { + this.sampleList.map(item => { + if (this.sampleIds.indexOf(item.id) > -1 || this.currentMethod.id == item.id) { + item.insProduct.map(m => { 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.sectionCopy === undefined && p.section) { - if (p.section.indexOf('[') > -1) { - this.$set(p, 'sectionCopy', p.section) - } - } - if (p.ask.includes('[')) { - this.$set(p, 'askCopy', p.ask) - } - if (p.tell.includes('[')) { - this.$set(p, 'tellCopy', p.tell) - } - // if (p.manHour.includes('[')) { - // this.$set(p, 'manHourCopy', p.manHour) - // } - // if (p.price.includes('[')) { - // this.$set(p, 'priceCopy', p.price) - // } - if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) { - if (p.sectionCopy.indexOf('[') > -1) { - p.bsmRow = this.HaveJson(p) - } - p.bsm1 = true - this.bsm1DiaList.push(p) - this.bsm1DiaAll = true - } else if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.state === 0) { - p.bsm1 = false - } - }) - if (e.length > 0) { - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1||this.currentMethod.id==item.id) { - item.insProduct.map(m => { - m.state = 1 - return m; - }) - } - return item - }) - } else { - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1||this.currentMethod.id==item.id) { - item.insProduct.map(m => { - m.state = 0 - return m; - }) - } - return item - }) - } - this.productList.forEach(item => { - if (item.id == row.id) { - item.state = row.state; - } - }) - 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; - this.$axios.post(this.$api.insOrder.upInsOrderOfState, { - state: 2, - id: this.currentId, - tell: this.tell - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - this.noLoading = false; - this.tell = ''; - if (res.code == 201) return - this.$message.success('鎻愪氦鎴愬姛') - this.issuedDialogVisible = false; - this.$parent.playOrder(0) - }) - }, - selectEnumByCategoryForSonLaboratory() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "瀛愬疄楠屽" - }).then(res => { - this.factory = [] - res.data.forEach(a => { - this.filters.push({ - text: a.label, - value: a.value + return m; }) - }) + } + return item }) - }, - 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 + } else { + this.sampleList.map(item => { + if (this.sampleIds.indexOf(item.id) > -1 || this.currentMethod.id == item.id) { + item.insProduct.map(m => { + m.state = 0 + return m; + }) } - this.configShow = true - } else { - if (this.sampleId === null) { - this.$message.error('鏈�変腑鏍峰搧') - return - } - this.sampleIds = [this.sampleId] - this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { - sampleId: this.sampleId - }).then(res => { - 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.configShow = true - }) + return item + }) + } + this.productList.forEach(item => { + if (item.id == row.id) { + item.state = row.state; } - }, - openEquipConfig() { - if (this.active === 1) { - if (this.sampleIds.length === 0) { - this.$message.error("鏈�夋嫨鏍峰搧") + }) + 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 => { + this.noLoading = false; + this.tell = ''; + this.$message.success('鎻愪氦鎴愬姛') + this.issuedDialogVisible = false; + this.closeOpenPage() + }) + }, + filterHandler(value, row, column) { + const property = column['property']; + return row[property] === value; + }, + areObjectsValuesEqual(objects, property) { + if (!objects || objects.length === 0) return false; + const firstValue = objects[0][property]; + return objects.every(obj => obj[property] === firstValue); + }, + // 杈呭姪绾胯姱閰嶇疆 + openAuxiliaryCore() { + if (this.active == 1) { + if (this.sampleIds.length === 0) { + this.$message.error("鏈�夋嫨鏍峰搧") + } else if (this.sampleIds.length === 1) { + if (!this.sampleSelectionList[0].standardMethodListId || this.sampleSelectionList[0].standardMethodListId.length == 0) { + this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") return } - this.equipConfigShow = true + this.auxiliaryShow = true } else { - if (this.sampleId === null) { - this.$message.error('鏈�変腑鏍峰搧') - return - } - // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { - // sampleId: this.sampleId - // }).then(res => { - // 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.configShow = true - // }) - } - }, - areObjectsValuesEqual (objects, property) { - if (!objects || objects.length === 0) return false; - const firstValue = objects[0][property]; - return objects.every(obj => obj[property] === firstValue); - }, - // 杈呭姪绾胯姱閰嶇疆 - openAuxiliaryCore () { - if (this.active === 1) { - if (this.sampleIds.length === 0) { - this.$message.error("鏈�夋嫨鏍峰搧") - } else if (this.sampleIds.length === 1) { - if (!this.sampleSelectionList[0].standardMethodListId) { - this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") + // 鍚屾椂閰嶇疆澶氫釜鏍峰搧鐨勭數缂嗛厤缃椂蹇呴』閫夋嫨鐩稿悓鐨勬楠屾爣鍑� + if (!this.sampleSelectionList.every(value => value.standardMethodListId && value.standardMethodListId.length > 0)) { + this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") + } else { + if (!this.areObjectsValuesEqual(this.sampleSelectionList, 'standardMethodListId')) { + this.$message.error("璇烽�夋嫨鐩稿悓鐨勬楠屾爣鍑�") return } this.auxiliaryShow = true - } else { - // 鍚屾椂閰嶇疆澶氫釜鏍峰搧鐨勭數缂嗛厤缃椂蹇呴』閫夋嫨鐩稿悓鐨勬楠屾爣鍑� - if (!this.sampleSelectionList.every(value => value.standardMethodListId)) { - this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") - } else { - if (!this.areObjectsValuesEqual(this.sampleSelectionList, 'standardMethodListId')) { - this.$message.error("璇烽�夋嫨鐩稿悓鐨勬楠屾爣鍑�") - return - } - this.auxiliaryShow = true - } - } - } else { - if (this.sampleId === null) { - this.$message.error('鏈�変腑鏍峰搧') } } - }, - openCableConfig() { - if (this.active === 1) { - if (this.sampleIds.length === 0) { - this.$message.error("鏈�夋嫨鏍峰搧") - } else if (this.sampleIds.length === 1) { - if (!this.sampleSelectionList[0].standardMethodListId) { - this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") + } else { + if (this.sampleId === null) { + this.$message.error('鏈�変腑鏍峰搧') + } + } + }, + openCableConfig() { + if (this.active == 1) { + if (this.sampleIds.length === 0) { + this.$message.error("鏈�夋嫨鏍峰搧") + } else if (this.sampleIds.length === 1) { + if (!this.sampleSelectionList[0].standardMethodListId || this.sampleSelectionList[0].standardMethodListId.length == 0) { + this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") + return + } + this.cableConfigShow = true + } else { + // 鍚屾椂閰嶇疆澶氫釜鏍峰搧鐨勭數缂嗛厤缃椂蹇呴』閫夋嫨鐩稿悓鐨勬楠屾爣鍑� + if (!this.sampleSelectionList.every(value => value.standardMethodListId && value.standardMethodListId.length > 0)) { + this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") + } else { + if (!this.areObjectsValuesEqual(this.sampleSelectionList, 'standardMethodListId')) { + this.$message.error("璇烽�夋嫨鐩稿悓鐨勬楠屾爣鍑�") return } this.cableConfigShow = true - } else { - // 鍚屾椂閰嶇疆澶氫釜鏍峰搧鐨勭數缂嗛厤缃椂蹇呴』閫夋嫨鐩稿悓鐨勬楠屾爣鍑� - if (!this.sampleSelectionList.every(value => value.standardMethodListId)) { - this.$message.error("鏍峰搧鏈�夋嫨妫�楠屾爣鍑�") - } else { - if (!this.areObjectsValuesEqual(this.sampleSelectionList, 'standardMethodListId')) { - this.$message.error("璇烽�夋嫨鐩稿悓鐨勬楠屾爣鍑�") - return - } - this.cableConfigShow = true - } - } - } else { - if (this.sampleId === null) { - this.$message.error('鏈�変腑鏍峰搧') } } - }, - goBackAdd () { - this.cableConfigShow = false - }, - goBackAdd2 () { - this.auxiliaryShow = false - }, - // 鍏ㄩ�夌壒娈婂�煎鐞嗘閫夋嫨瑕佹眰鍊肩殑鍥炶皟 - upBsmAll (item) { - const i = this.bsm1DiaList.findIndex(obj => obj.id === item.id) - if (i > -1) { - // 鎵惧埌鐩稿簲鐨勬楠岄」璧嬪�� - this.bsm1DiaList[i].bsm1Val = item.bsm1Val - let sections = this.bsm1DiaList[i].bsmRow.sectionCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.sectionCopy); - let asks = this.bsm1DiaList[i].bsmRow.askCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.askCopy); - let tells = this.bsm1DiaList[i].bsmRow.tellCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.tellCopy); - // let manHours = this.bsm1DiaList[i].bsmRow.manHourCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.manHourCopy); - // let prices = this.bsm1DiaList[i].bsmRow.priceCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.priceCopy); - for (var a in sections) { - 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] - } - }) - break - } - } + } else { + if (this.sampleId === null) { + this.$message.error('鏈�変腑鏍峰搧') } - this.changeProductList0() - this.currentMethod.insProduct = this.productList0 - }, - save1 () { - if (this.bsm1DiaList.length > 0) { - this.bsm1DiaList.forEach(item => { - if (!item.bsm1Val) { - throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - } - }) - } - this.bsm1DiaAll = false - }, - beforeClose(done) { - if (this.bsm1DiaList.length > 0) { - this.bsm1DiaList.forEach(item => { - if (!item.bsm1Val) { - throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - } - }) - } - 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() { - this.totalArr = [] - // this.total = 0; - 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) - }) - } - }) - } - }) + } + }, + goBackAdd() { + this.cableConfigShow = false + }, + goBackAdd2() { + this.auxiliaryShow = false + }, + // 鍏ㄩ�夌壒娈婂�煎鐞嗘閫夋嫨瑕佹眰鍊肩殑鍥炶皟 + upBsmAll(item) { + const i = this.bsm1DiaList.findIndex(obj => obj.id === item.id) + if (i > -1) { + // 鎵惧埌鐩稿簲鐨勬楠岄」璧嬪�� + this.bsm1DiaList[i].bsm1Val = item.bsm1Val + let sections = this.bsm1DiaList[i].bsmRow.sectionCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.sectionCopy); + let asks = this.bsm1DiaList[i].bsmRow.askCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.askCopy); + let tells = this.bsm1DiaList[i].bsmRow.tellCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.tellCopy); + // let manHours = this.bsm1DiaList[i].bsmRow.manHourCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.manHourCopy); + // let prices = this.bsm1DiaList[i].bsmRow.priceCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.priceCopy); + for (var a in sections) { + 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] } }) + break + } + } + } + this.changeProductList0() + this.currentMethod.insProduct = this.productList0 + }, + save1() { + if (this.bsm1DiaList.length > 0) { + this.bsm1DiaList.forEach(item => { + if (!item.bsm1Val) { + throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') } }) - let mySet = new Set(); - let arr0 = this.totalArr.filter(item => { - if (item.state == 1) { - let num1 = mySet.size - if (item.manHourGroup === '' || !item.manHourGroup) { + } + this.bsm1DiaAll = false + }, + beforeClose(done) { + if (this.bsm1DiaList.length > 0) { + this.bsm1DiaList.forEach(item => { + if (!item.bsm1Val) { + throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') + } + }) + } + done() + }, + getTotal() { + this.totalArr = [] + // this.total = 0; + this.sampleList.forEach(item => { + if (item.insProduct && item.insProduct.length > 0) { + item.insProduct.forEach(a => { + this.totalArr.push(a) + }) + } + }) + 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 { - mySet.add(item.manHourGroup) - let num2 = mySet.size - if (num2 > num1) { - return true - } else { - return false - } + 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)) + }) + 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, + }) } - 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 - } - }, - addProductList(productList,row,index){ - let list = productList.filter(m=>{ - if(m.id==row.id){ - m.delete = false - } - return m.id==row.id - }) - let num = list.length - let obj = this.HaveJson(row) - obj.repetitionTag = num - obj.delete = true - productList.splice(index+num,0,obj) - this.addProductList0(row,index) - }, - addProductList0(row,index){ - let list = this.productList0.filter(m=>{ - if(m.id==row.id){ - m.delete = false - } - return m.id==row.id - }) - let num = list.length - let obj = this.HaveJson(row) - obj.repetitionTag = num - obj.delete = true - this.productList0.splice(index+num,0,obj) - }, - deleteProductList(index,list){ - if(list[index-1]&&list[index-1].repetitionTag){ - list[index-1].delete=true - } - list.splice(index,1) - this.deleteProductList0(index) - }, - deleteProductList0(index){ - if(this.productList0[index-1]&&this.productList0[index-1].repetitionTag){ - this.productList0[index-1].delete=true - } - this.productList0.splice(index,1) + }) + }, + changeUser() { + if (this.sonLaboratoryList.length > 0) { + this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value } - } + }, + addProductList(productList, row, index) { + let list = productList.filter(m => { + if (m.id == row.id) { + m.delete = false + } + return m.id == row.id + }) + let num = list.length + let obj = this.HaveJson(row) + obj.repetitionTag = num + obj.delete = true + productList.splice(index + num, 0, obj) + this.addProductList0(row, index) + }, + addProductList0(row, index) { + let list = this.productList0.filter(m => { + if (m.id == row.id) { + m.delete = false + } + return m.id == row.id + }) + let num = list.length + let obj = this.HaveJson(row) + obj.repetitionTag = num + obj.delete = true + this.productList0.splice(index + num, 0, obj) + }, + deleteProductList(index, list) { + if (list[index - 1] && list[index - 1].repetitionTag) { + list[index - 1].delete = true + } + list.splice(index, 1) + this.deleteProductList0(index) + }, + deleteProductList0(index) { + if (this.productList0[index - 1] && this.productList0[index - 1].repetitionTag) { + this.productList0[index - 1].delete = true + } + this.productList0.splice(index, 1) + }, + goBack() { + if (this.active == 1) { + this.$router.go(-1) + } else { + this.closeOpenPage() + } + }, + closeOpenPage() { + this.$router.go(-1) + this.$tab.closeOpenPage() + }, } +} </script> <style scoped> -.ins_order_add { - width: 100%; - height: 100%; - overflow-y: auto; - overflow-x: hidden; +>>>.warning-row { + color: #1890FF; } -.ins_order_add::-webkit-scrollbar { - width: 0; -} -.circulateTable { - display: flex; - flex-direction: row; - justify-content: space-between; -} -.opticalProject { - width: 38%; -} -.temperatureList { - width: 60%; -} -.temperatureListTitle { - display: flex; - flex-direction: row; - justify-content: space-between; - line-height: 30px; -} -</style> -<style scoped> -.ins_order_add .el-input-group__append, -.el-input-group__prepend { - padding: 0 10px; -} - -.ins_order_add .el-tree-node__content { - height: 32px; - font-size: 14px; - border-radius: 2px; -} - -.ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { - color: #3A7BFA; -} - -.ins_order_add .has-gutter .el-table__cell .cell { - line-height: 30px; - background-color: #fafafa; -} - -.ins_order_add .has-gutter .el-table__cell { - background-color: #fafafa !important; -} - -.ins_order_add .el-table__row .cell { - font-size: 12px; -} - -.ins_order_add .el-table .warning-row .cell { - color: #3A7BFA; -} - -.ins_order_add .el-select .is-disabled { - background: transparent !important; -} - -.ins_order_add .el-select .is-disabled .el-input__inner { - background: transparent !important; +.node_i { + color: orange; + font-size: 18px; } </style> -- Gitblit v1.9.3