From 10903aca3b8fd5dd7cd8573fa5c99ccf19cb8f29 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期四, 10 四月 2025 13:06:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/radio-frequency-cable' into radio-frequency-cable --- src/views/business/productOrder/components/add.vue | 3203 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 1,641 insertions(+), 1,562 deletions(-) diff --git a/src/views/business/productOrder/components/add.vue b/src/views/business/productOrder/components/add.vue index 6681783..aa85fa8 100644 --- a/src/views/business/productOrder/components/add.vue +++ b/src/views/business/productOrder/components/add.vue @@ -1,346 +1,386 @@ <template> <div class="app-container"> - <div v-show="!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" - @focus="getQuarterOnOrderList"></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-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" :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 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="!cableConfigShow&&!auxiliaryShow" style="margin-top: 10px"> + <div v-show="!cableConfigShow && !auxiliaryShow" style="margin-top: 10px"> <div class="search"> - <el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right"> - <el-form-item label="濮旀墭缂栧彿:"> - <el-input v-model="addObj.entrustCode" clearable disabled placeholder="绯荤粺鐢熸垚" size="small"></el-input> - </el-form-item> - <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-form-item label="鍒跺崟浜�:"> - <el-input v-model="addObj.custom" disabled size="small" clearable></el-input> - </el-form-item> - <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-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-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-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-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-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-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-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-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-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-form-item label="鏍峰搧澶勭悊鏂瑰紡:"> - <el-radio-group v-model="addObj.processing" :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-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-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-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-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-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-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-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-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-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-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;justify-content: space-between;"> - <div v-if="active==1"> + <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"> - <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" - allow-create clearable default-first-option filterable - size="small" - @change="changeModel"> + <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> </el-form-item> - <el-form-item label="妫�楠屾爣鍑�:"> - <el-select v-model="standardMethodListId" :loading="methodLoad" - :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small" - @change="changeStandardMethodListId" @focus="methodFocus"> + <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> </el-form-item> </el-form> </div> - <div style="display: flex;align-items: center;margin-bottom: 10px"> + <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-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> + <el-table-column label="璇曢獙鏂规硶" min-width="120" prop="method" 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> @@ -348,10 +388,9 @@ </div> <el-dialog :visible.sync="selectUserDia" title="閫夋嫨鍗曚綅" width="70%"> <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> + <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> @@ -359,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> @@ -398,7 +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"> @@ -412,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> @@ -421,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> @@ -431,7 +475,7 @@ </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="issuedDialogVisible=false;closeOpenPage">鍙� 娑�</el-button> + <el-button @click="issuedDialogVisible = false; closeOpenPage">鍙� 娑�</el-button> <el-button :loading="upLoad" type="primary" @click="submitForm2">纭� 瀹�</el-button> </el-row> </span> @@ -449,28 +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> <!--鐢电紗閰嶇疆--> - <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> @@ -478,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> @@ -492,43 +537,28 @@ </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> @@ -547,16 +577,17 @@ } from "@/api/business/rawMaterialOrder"; import { addInsOrder, addInsOrderTemplate, delInsOrderTemplate, - getQuarterOnOrder, + getQuarterOnOrder, selectInsOrderTemplateById, selectOrderManDay, updateInsOrder, upInsOrder, upInsOrderOfState } from "@/api/business/add"; -import {selectUserCondition} from "@/api/performance/class"; -import {selectsStandardMethodByFLSSM} from "@/api/standard/standardLibrary"; +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 { selectCustomPageList } from "@/api/system/customer"; +import { mapGetters } from "vuex"; export default { name: 'Add', @@ -565,6 +596,9 @@ cableConfig, AuxiliaryWireCore }, + computed: { + ...mapGetters(["nickName"]), + }, dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'], data() { return { @@ -572,7 +606,7 @@ tabIndex: '', currentId: '', sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁 - editTable:[], + editTable: [], template: null, templates: [], addObj: { @@ -604,8 +638,8 @@ production: null, productionEn: null, companyId: null, - prepareUser:null, // 濮旀墭浜� - prepareUserEn:null, // 濮旀墭浜鸿嫳鏂� + prepareUser: null, // 濮旀墭浜� + prepareUserEn: null, // 濮旀墭浜鸿嫳鏂� prepareCode: '', // 濮旀墭浜哄伐鍙� quarterItemId: '', sampleView: '', // 鏍峰搧鍚嶇О锛堟姤鍛婂睍绀哄瓧娈碉級 @@ -664,19 +698,19 @@ 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'} + { 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 + total: 0, + size: 10, + current: 1 }, selectStandardTree: false, search: null, @@ -686,6 +720,7 @@ sampleViewEn: null, expandedKeys: [], sampleList: [], + upIndex: 0, sampleIds: [], methodList: [], addSampleDia: false, @@ -703,7 +738,7 @@ distributeData: { appointed: '', userId: '', - sonLaboratory:'' + sonLaboratory: '' }, personList: [], upLoad: false, @@ -731,18 +766,18 @@ totalArr: [], addObj1: {}, model: null, - standardMethodListId: null, - symbolList:['RTS'], - inspectionItem:null, - inspectionItemSubclass:null, - methodS:null, - isBsm2Val2:false, + standardMethodListId: [], + symbolList: ['RTS'], + inspectionItem: null, + inspectionItemSubclass: null, + methodS: null, + isBsm2Val2: false, temperatureEngList: [], isShowInput: false, temId: '', - sonLaboratoryList:[], + sonLaboratoryList: [], selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃 - quarterItemOptions: [], // 鏌ヨ瀛e害淇℃伅 + quarterItemOptions: [], // 鏌ヨ鍙潬鎬т俊鎭� specialStandardMethod: '', isSpecial: false, } @@ -777,16 +812,16 @@ }, 'addObj.sample'(val) { this.model = null - this.standardMethodListId = null + this.standardMethodListId = [] }, 'addObj.sampleNum'(val) { this.model = null - this.standardMethodListId = null + this.standardMethodListId = [] }, - tabIndex(val){ - if(val==4&&this.active==2){ + tabIndex(val) { + if (val == 4 && this.active == 2) { this.isSpecial = true - }else{ + } else { this.isSpecial = false } } @@ -821,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 @@ -833,1340 +873,1379 @@ }) }) } - if(this.tabIndex==4&&this.active==2){ + if (this.tabIndex == 4 && this.active == 2) { this.isSpecial = true - }else{ + } else { this.isSpecial = false } }, - 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 + 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 - }, - 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 - } + // 缂栬緫瑕佹眰鍊艰〃鏍� + 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 } } - }, - 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(a.state == 0&&a.bsmRow){ - a = this.HaveJson(a.bsmRow) - } - }) - }, - searchFilterList () { - const vtw = { - inspectionItem: this.inspectionItem, // 妫�楠岄」 - inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」 - methodS: this.methodS, // 璇曢獙鏂规硶 - } - const isHaveValue = Object.values(vtw).some(item => { - return item - }) - this.changeProductList0() - if (isHaveValue) { - for(let i in vtw) { - if (vtw[i]) { - this.productList = this.productList0.filter((item) => { - return item[i] && item[i].includes(vtw[i]) - }) - } - } - this.$nextTick(()=>{ - this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) - }) - }) - } else { - // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹� - this.productList = this.productList0 - this.$nextTick(()=>{ - this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) - }) - }) - } - }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - getAuthorizedPerson() { - selectUserCondition().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 - } - }) - 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('锝�') + } + }, + changeProductList0() { + this.productList0.forEach(a => { + let obj = this.productList.find(m => { + if (a.repetitionTag) { + return m.id === a.id && m.repetitionTag == a.repetitionTag } 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) { - this.sampleList.forEach(item => { - item.specialStandardMethod = this.specialStandardMethod - }) - try { - this.sampleList.forEach(item => { - if (item.insulating){ - let sampleListArr = [] - let insulatingArr = [] - // 鏈夌數缂嗛厤缃椂锛屾瘮杈冪數缂嗛厤缃殑妫�楠岄」鏄惁涓庡闈㈤噸澶� - item.insProduct.filter(a => a.state == 1).forEach(obj => { - sampleListArr.push(obj.id) - }) - item.insulating.insProduct.filter(a => a.state == 1).forEach(obj => { - insulatingArr.push(obj.id) - }) - const sameLength = sampleListArr.filter(id => insulatingArr.indexOf(id) > -1).length - if (sameLength > 0) { - this.$message.error('妫�楠岄」涓庣數缂嗛厤缃楠岄」涓嶈兘閲嶅') - } - throw sameLength > 0 - } - }) - } catch (e) { - console.log('e---', e) - if (e === true) throw e - } - let sampleList = this.HaveJson(this.sampleList) - sampleList.forEach(a => { - if (a.insProduct.length > 0) { - a.insProduct.forEach(c => { - delete c.id - }) - } - if (a.endModels) { - a.model = a.endModels - } - a.insProduct = a.insProduct.filter(b=>b.state === 1) - }) - let projectNum = this.totalArr.filter(a => a.state == 1).length - if(projectNum==0){ - this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - this.saveMethod(sampleList) - }).catch(() => {}) - }else{ - let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1) - if (isRTS) { - this.editTable = this.handleData(sampleList,this.containsValue, 0) - this.editTable.forEach(item => { - item.value = item.modelNum - }) - this.bsm3Dia = true; - return - } - this.saveMethod(sampleList) - } + return m.id === a.id && !m.repetitionTag } }) - }, - save0(){ - if(this.editTable.every(m=>m.value)){ - let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) + + 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]) + }) + } + } + 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 + } + }) + 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)) + 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) { + let sampleListArr = [] + let insulatingArr = [] + // 鏈夌數缂嗛厤缃椂锛屾瘮杈冪數缂嗛厤缃殑妫�楠岄」鏄惁涓庡闈㈤噸澶� + item.insProduct.filter(a => a.state == 1).forEach(obj => { + sampleListArr.push(obj.id) + }) + item.insulating.insProduct.filter(a => a.state == 1).forEach(obj => { + insulatingArr.push(obj.id) + }) + const sameLength = sampleListArr.filter(id => insulatingArr.indexOf(id) > -1).length + if (sameLength > 0) { + this.$message.error('妫�楠岄」涓庣數缂嗛厤缃楠岄」涓嶈兘閲嶅') + } + throw sameLength > 0 + } + }) + } catch (e) { + console.log('e---', e) + 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 => { - delete c.id + 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) }) - 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('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') - } - } - } - } - }) - } - 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){ - // 閫�鍥炲悗鎻愪氦 - updateInsOrder({insOrder: this.addObj, sampleList: sampleList}).then(res => { - this.saveLoad = false - this.$message.success('宸叉彁浜�') - this.bsm3Dia = false; - this.closeOpenPage() - }).catch(e=>{ - this.saveLoad = false - }) - }else{ - // 甯歌鎻愪氦 - 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 - if (res.code == 201) return - 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 => { - if (res.code === 201) { - this.upLoad = false - return - } - 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.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 + ' - ' + '' + let projectNum = this.totalArr.filter(a => a.state == 1).length + if (projectNum == 0) { + this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + this.saveMethod(sampleList) + }).catch(() => { }) } else { - this.selectTree += ' - ' + val.label - } - this.getNodeParent(val.parent) - } - }, - 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 < 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() - }, - 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 + 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.forEach(item => { + item.value = item.modelNum }) - } 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 = 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++ - } - }, - 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.productList = row.insProduct - this.productList0 = JSON.parse(JSON.stringify(this.productList)) - setTimeout(() => { - this.productList.forEach(a => { - if (a.state == 1) { - this.toggleSelection(a) - }else{ - this.$refs.productTable.toggleRowSelection(a, false); - } - }) - }, 200) - }, - toggleSelection(row) { - this.$refs.productTable.toggleRowSelection(row, true); - }, - 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) - } - 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 === 0) { - return ''; - } - return 'warning-row'; - }, - 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 => { - if (res.code === 201) { + this.bsm3Dia = true; return } - 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 = 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 = [] - }, - 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.saveMethod(sampleList) } } - 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, - standardMethodListId: val, - 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(); - }); - setTimeout(() => { - this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) + }) + }, + 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 + } }) - }, 200) + } + if (a.endModels) { + a.model = a.endModels + } + a.insProduct = a.insProduct.filter(b => b.state === 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) + 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('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') + } + } + } + } + }) + } + 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 { - 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) + 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) { + 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 + } + // 閫�鍥炲悗鎻愪氦 + updateInsOrder({ insOrder: this.addObj, sampleProduct: sampleList }).then(res => { + this.saveLoad = false + this.$message.success('宸叉彁浜�') + this.bsm3Dia = false; + this.closeOpenPage() + }).catch(e => { + this.saveLoad = false + }) + } 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.productList = row.insProduct + this.productList0 = JSON.parse(JSON.stringify(this.productList)) + setTimeout(() => { + this.productList.forEach(a => { + if (a.state == 1) { + this.toggleSelection(a) + } else { + this.$refs.productTable.toggleRowSelection(a, false); + } + }) + }, 200) + }, + toggleSelection(row) { + this.$refs.productTable.toggleRowSelection(row, true); + }, + 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) + } + 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) + }) + }, 200) + }) + }, + 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) + } + } 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 || 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 + }) + 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) - selectStandardProductList({ - model: this.addObj.model?this.addObj.model:row.model, - modelNum: row.modelNum, - standardMethodListId: val, - cores: row.cores, - factory: selectTreeList.join(" - "), - }).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) - }) - }, - 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{ - 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 + }) + } else { + this.productList.map(m => { + m.state = 0 + return m + }) + } + 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 }) - }, - selectStandardMethods() { - selectStandardMethodEnum().then(res => { - this.methods = res.data + } 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 }) - }, - selectable() { - if (this.active > 1) { - return false + } + 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; + 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.auxiliaryShow = true } 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 - }) - } else { - this.productList.map(m => { - m.state = 0 - return m - }) - } - 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; - 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.$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 + } + } + } 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] } - 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 - } - } - } - 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() - }, - 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) }) + 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 } } - }) - 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, - }) - } - }) - }, - 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 + }) + 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, + }) } - 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 + }) + }, + 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 } - this.productList0.splice(index,1) - }, - goBack () { - if (this.active == 1) { - this.$router.go(-1) - } else { - this.closeOpenPage() + 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 } - }, - closeOpenPage() { + 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) - this.$tab.closeOpenPage() - }, - } + } else { + this.closeOpenPage() + } + }, + closeOpenPage() { + this.$router.go(-1) + this.$tab.closeOpenPage() + }, } +} </script> <style scoped> -.el-table .warning-row .cell { - color: #3A7BFA; +>>>.warning-row { + color: #1890FF; +} + +.node_i { + color: orange; + font-size: 18px; } </style> -- Gitblit v1.9.3