From c11fbcb9b5fbc0f64267cc3c348efc18f5caf95a Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期二, 18 二月 2025 11:58:42 +0800 Subject: [PATCH] 完成样品管理修改 --- src/components/do/b1-ins-order/add.vue | 6694 +++++++++++++++++++++++++++++++++++----------------------- src/components/view/b1-inspect-order-plan.vue | 39 src/components/view/b1-sample.vue | 41 3 files changed, 4,053 insertions(+), 2,721 deletions(-) diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index 7794127..a38e38d 100644 --- a/src/components/do/b1-ins-order/add.vue +++ b/src/components/do/b1-ins-order/add.vue @@ -1,226 +1,360 @@ <style scoped> - .ins_order_add { - width: 100%; - height: 100%; - overflow-y: auto; - overflow-x: hidden; - } +.ins_order_add { + width: 100%; + height: 100%; + overflow-y: auto; + overflow-x: hidden; +} - .ins_order_add::-webkit-scrollbar { - width: 0; - } +.ins_order_add::-webkit-scrollbar { + width: 0; +} - .title { - height: 60px; - line-height: 60px; - } +.title { + height: 60px; + line-height: 60px; +} - .search { - width: calc(100% - 40px); - background-color: #fff; - padding: 5px 40px 5px 0; - } +.search { + width: calc(100% - 40px); + background-color: #fff; + padding: 5px 40px 5px 0; +} - .search_thing { - display: flex; - align-items: center; - height: 50px; - } +.search_thing { + display: flex; + align-items: center; + height: 50px; +} - .search_label { - width: 120px; - font-size: 14px; - text-align: right; - } +.search_label { + width: 120px; + font-size: 14px; + text-align: right; +} - .search_input { - width: calc(100% - 120px); - } +.search_input { + width: calc(100% - 120px); +} - .node_i { - color: orange; - font-size: 18px; - } +.node_i { + color: orange; + font-size: 18px; +} - .el-select-dropdown__item { - display: flex; - align-items: center; - justify-content: space-between; - } +.el-select-dropdown__item { + display: flex; + align-items: center; + justify-content: space-between; +} - .pairing { - text-align: center; - line-height: 36px; - margin: 3px 0; - border: 1px solid rgba(0, 0, 0, 0.1); - border-radius: 4px; - } +.pairing { + text-align: center; + line-height: 36px; + margin: 3px 0; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; +} - .askRts { - width: 100px; - font-size: 12px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 2px solid rgba(0, 0, 0, 0.3); - text-align: center; - background-color: rgba(0, 0, 0, 0.1); - outline: none; - border-radius: 2px; - line-height: 24px; - margin-top: 5px; - } - .circulateTable { - display: flex; - flex-direction: row; - justify-content: space-between; - } - .opticalProject { - width: 38%; - } - .temperatureList { - width: 60%; - } - .temperatureListTitle { - display: flex; - flex-direction: row; - justify-content: space-between; - line-height: 30px; - } +.askRts { + width: 100px; + font-size: 12px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 2px solid rgba(0, 0, 0, 0.3); + text-align: center; + background-color: rgba(0, 0, 0, 0.1); + outline: none; + border-radius: 2px; + line-height: 24px; + margin-top: 5px; +} +.circulateTable { + display: flex; + flex-direction: row; + justify-content: space-between; +} +.opticalProject { + width: 38%; +} +.temperatureList { + width: 60%; +} +.temperatureListTitle { + display: flex; + flex-direction: row; + justify-content: space-between; + line-height: 30px; +} </style> <style> - .ins_order_add .el-input-group__append, - .el-input-group__prepend { - padding: 0 10px; - } +.ins_order_add .el-input-group__append, +.el-input-group__prepend { + padding: 0 10px; +} - .ins_order_add .el-tree-node__content { - height: 32px; - font-size: 14px; - border-radius: 2px; - } +.ins_order_add .el-tree-node__content { + height: 32px; + font-size: 14px; + border-radius: 2px; +} - .ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { - color: #3A7BFA; - } +.ins_order_add + .el-tree--highlight-current + .el-tree-node.is-current + > .el-tree-node__content { + color: #3a7bfa; +} - .ins_order_add .has-gutter .el-table__cell .cell { - line-height: 30px; - background-color: #fafafa; - } +.ins_order_add .has-gutter .el-table__cell .cell { + line-height: 30px; + background-color: #fafafa; +} - .ins_order_add .has-gutter .el-table__cell { - background-color: #fafafa !important; - } +.ins_order_add .has-gutter .el-table__cell { + background-color: #fafafa !important; +} - .ins_order_add .el-table__row .cell { - font-size: 12px; - } +.ins_order_add .el-table__row .cell { + font-size: 12px; +} - .ins_order_add .el-table .warning-row .cell { - color: #3A7BFA; - } +.ins_order_add .el-table .warning-row .cell { + color: #3a7bfa; +} - .ins_order_add .el-select .is-disabled { - background: transparent !important; - } +.ins_order_add .el-select .is-disabled { + background: transparent !important; +} - .ins_order_add .el-select .is-disabled .el-input__inner { - background: transparent !important; - } +.ins_order_add .el-select .is-disabled .el-input__inner { + background: transparent !important; +} </style> <template> <div class="ins_order_add" style=" display: block; "> - <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow"> + <div v-show="!configShow && !equipConfigShow && !cableConfigShow"> <el-row class="title"> - <el-col :span="8" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<span - style="color: #3A7BFA">锟{total.toFixed(2)}}</span></el-col> + <el-col :span="8" style="padding-left: 20px;text-align: left;" + >濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<span + style="color: #3A7BFA" + >锟{ total.toFixed(2) }}</span + ></el-col + > <el-col :span="16" style="text-align: right;"> - <el-select v-model="template" size="medium" placeholder="涓嬪崟妯℃澘" style="margin-right: 10px;" v-show="active==1" - @change="selectInsOrderTemplateById"> - <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name"> + <el-select + v-model="template" + size="medium" + placeholder="涓嬪崟妯℃澘" + style="margin-right: 10px;" + v-show="active == 1" + @change="selectInsOrderTemplateById" + > + <el-option + v-for="(a, ai) in templates" + :key="ai" + :value="a.id" + :label="a.name" + > <span style="float: left">{{ a.name }}</span> - <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px" - @click.stop="handleDelete(a)"></i> + <i + class="el-icon-delete" + style="float: right; color: #66b1ff; font-size: 16px" + @click.stop="handleDelete(a)" + ></i> </el-option> </el-select> - <el-button size="medium" @click="templateDia=true" v-show="active==1"> + <el-button + size="medium" + @click="templateDia = true" + v-show="active == 1" + > <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> </el-button> - <el-button size="medium" type="primary" @click="openEquipConfig" v-if="active==1">瀛愭牱鍝侀厤缃�</el-button> - <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">鎻愪氦</el-button> + <el-button + size="medium" + type="primary" + @click="openEquipConfig" + v-if="active == 1" + >瀛愭牱鍝侀厤缃�</el-button + > + <el-button + size="medium" + type="primary" + @click="save" + :loading="saveLoad" + v-show="active == 1" + >鎻愪氦</el-button + > <!-- 瀹℃牳 --> - <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3&&addObj.companyId" - :disabled="saveLoad">涓嶉�氳繃</el-button> - <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad" - v-show="active==3&&addObj.companyId">閫氳繃</el-button> + <el-button + size="medium" + @click="upInsOrderOfState(2)" + :loading="saveLoad" + v-show="active == 3 && addObj.companyId" + :disabled="saveLoad" + >涓嶉�氳繃</el-button + > + <el-button + size="medium" + type="primary" + @click="upInsOrderOfState(1)" + :loading="saveLoad" + v-show="active == 3 && addObj.companyId" + >閫氳繃</el-button + > <el-button size="medium" @click="$parent.playOrder(0)"> <span style="color: #3A7BFA;">杩斿洖</span> </el-button> </el-col> </el-row> </div> - <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow" class="container"> + <div + v-show="!configShow && !equipConfigShow && !cableConfigShow" + class="container" + > <div class="search"> <el-row> <el-col class="search_thing" :span="6"> <div class="search_label">濮旀墭缂栧彿锛�</div> <div class="search_input"> - <el-input v-model="addObj.entrustCode" size="small" placeholder="绯荤粺鐢熸垚" disabled></el-input> + <el-input + v-model="addObj.entrustCode" + size="small" + placeholder="绯荤粺鐢熸垚" + disabled + ></el-input> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>妫�楠岀被鍒細</div> + <div class="search_label"> + <span class="required-span">* </span>妫�楠岀被鍒細 + </div> <div class="search_input"> - <el-select size="small" style="width: 100%;" clearable v-model="addObj.orderType" :disabled="active>1"> - <el-option v-for="(a, ai) in orderType" :key="ai" :value="a.value" :label="a.label"></el-option> + <el-select + size="small" + style="width: 100%;" + clearable + v-model="addObj.orderType" + :disabled="active > 1" + > + <el-option + v-for="(a, ai) in orderType" + :key="ai" + :value="a.value" + :label="a.label" + ></el-option> </el-select> </div> </el-col> - <el-col class="search_thing" :span="6" > - <div class="search_label"><span class="required-span">* </span>鍒跺崟浜猴細</div> + <el-col class="search_thing" :span="6"> + <div class="search_label"> + <span class="required-span">* </span>鍒跺崟浜猴細 + </div> <div class="search_input"> - <el-input size="small" clearable disabled v-model="addObj.custom"></el-input> + <el-input + size="small" + clearable + disabled + v-model="addObj.custom" + ></el-input> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>濮旀墭鍗曚綅锛�</div> + <div class="search_label"> + <span class="required-span">* </span>濮旀墭鍗曚綅锛� + </div> <div class="search_input"> - <el-input readonly size="small" v-model="addObj.company" placeholder="閫夋嫨濮旀墭鍗曚綅"> - <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true,createState=1" - :disabled="active>1"></el-button></template> + <el-input + readonly + size="small" + v-model="addObj.company" + placeholder="閫夋嫨濮旀墭鍗曚綅" + > + <template slot="append" + ><el-button + slot="append" + icon="el-icon-search" + @click="(selectUserDia = true), (createState = 1)" + :disabled="active > 1" + ></el-button + ></template> </el-input> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>鑱旂郴鏂瑰紡锛�</div> + <div class="search_label"> + <span class="required-span">* </span>鑱旂郴鏂瑰紡锛� + </div> <div class="search_input"> - <el-input size="small" placeholder="閫夋嫨濮旀墭瀹㈡埛" clearable :readonly="active>1" v-model="addObj.phone"></el-input> + <el-input + size="small" + placeholder="閫夋嫨濮旀墭瀹㈡埛" + clearable + :readonly="active > 1" + v-model="addObj.phone" + ></el-input> </div> </el-col> - <el-col class="search_thing" :span="6" v-if="addObj.orderType=='C'"> - <div class="search_label"><span class="required-span">* </span>涓嬪崟鑷筹細</div> + <el-col class="search_thing" :span="6" v-if="addObj.orderType == 'C'"> + <div class="search_label"> + <span class="required-span">* </span>涓嬪崟鑷筹細 + </div> <div class="search_input"> - <el-select size="small" style="width: 100%;" clearable v-model="addObj.departmentLimsId" :disabled="active>1" placeholder="閮ㄩ棬"> - <el-option v-for="(a, ai) in deaprtEnum" :key="ai" :value="a.id" :label="a.name"></el-option> + <el-select + size="small" + style="width: 100%;" + clearable + v-model="addObj.departmentLimsId" + :disabled="active > 1" + placeholder="閮ㄩ棬" + > + <el-option + v-for="(a, ai) in deaprtEnum" + :key="ai" + :value="a.id" + :label="a.name" + ></el-option> </el-select> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>绱ф�ョ▼搴︼細</div> + <div class="search_label"> + <span class="required-span">* </span>绱ф�ョ▼搴︼細 + </div> <div class="search_input"> - <el-select size="small" style="width: 100%;" clearable v-model="addObj.type" :disabled="active>1"> - <el-option v-for="(a, ai) in type" :key="ai" :value="a.value" :label="a.label"></el-option> + <el-select + size="small" + style="width: 100%;" + clearable + v-model="addObj.type" + :disabled="active > 1" + > + <el-option + v-for="(a, ai) in type" + :key="ai" + :value="a.value" + :label="a.label" + ></el-option> </el-select> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>鏍峰搧绫诲瀷锛�</div> + <div class="search_label"> + <span class="required-span">* </span>鏍峰搧绫诲瀷锛� + </div> <div class="search_input"> <el-input readonly size="small" v-model="addObj.sample"> - <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectStandardTree = true" - :disabled="active>1"></el-button></template> + <template slot="append" + ><el-button + slot="append" + icon="el-icon-search" + @click="selectStandardTree = true" + :disabled="active > 1" + ></el-button + ></template> </el-input> </div> </el-col> @@ -231,10 +365,20 @@ </div> </el-col> --> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>鏍峰搧鏁伴噺锛�</div> + <div class="search_label"> + <span class="required-span">* </span>鏍峰搧鏁伴噺锛� + </div> <div class="search_input"> - <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0" - style="width: 100%;" @change="addStandardTree" :disabled="active>1"></el-input-number> + <el-input-number + size="small" + v-model="addObj.sampleNum" + :min="1" + :max="100" + :precision="0" + style="width: 100%;" + @change="addStandardTree" + :disabled="active > 1" + ></el-input-number> </div> </el-col> <!-- <el-col class="search_thing" :span="6"> @@ -246,25 +390,62 @@ </div> </el-col> --> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>璁㈠崟绫诲瀷锛�</div> + <div class="search_label"> + <span class="required-span">* </span>璁㈠崟绫诲瀷锛� + </div> <div class="search_input"> - <el-select v-model="addObj.formType" size="small" :disabled="active>1" style="width: 100%;"> - <el-option v-for="(a,ai) in formType" :key="ai" :label="a.label" :value="a.value"></el-option> + <el-select + v-model="addObj.formType" + size="small" + :disabled="active > 1" + style="width: 100%;" + > + <el-option + v-for="(a, ai) in formType" + :key="ai" + :label="a.label" + :value="a.value" + ></el-option> </el-select> </div> </el-col> - <el-col class="search_thing" :span="6" v-if="addObj.formType==='鍏朵粬鎴愬搧'"> + <el-col + class="search_thing" + :span="6" + v-if="addObj.formType === '鍏朵粬鎴愬搧'" + > <div class="search_label">闆朵欢鍙凤細</div> <div class="search_input"> - <el-input size="small" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.partNo" - :readonly="active>1"></el-input> + <el-input + size="small" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + clearable + v-model="addObj.partNo" + :readonly="active > 1" + ></el-input> </div> </el-col> - <el-col class="search_thing" :span="6" v-if="addObj.formType!='鍏朵粬鎴愬搧'&&addObj.formType"> - <div class="search_label"><span class="required-span">* </span>閫氱煡鑷虫牱鏈哄憳锛�</div> + <el-col + class="search_thing" + :span="6" + v-if="addObj.formType != '鍏朵粬鎴愬搧' && addObj.formType" + > + <div class="search_label"> + <span class="required-span">* </span>閫氱煡鑷虫牱鏈哄憳锛� + </div> <div class="search_input"> - <el-select v-model="addObj.issueUser" size="small" :disabled="active>1" style="width: 100%;"> - <el-option v-for="(a,ai) in personList" :key="ai" :label="a.label" :value="a.value"></el-option> + <el-select + v-model="addObj.issueUser" + size="small" + :disabled="active > 1" + style="width: 100%;" + > + <el-option + v-for="(a, ai) in personList" + :key="ai" + :label="a.label" + :value="a.value" + ></el-option> </el-select> </div> </el-col> @@ -289,33 +470,63 @@ <el-col class="search_thing" :span="6"> <div class="search_label">宸ョ▼鍚嶇О锛�</div> <div class="search_input"> - <el-input size="small" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.engineering" - :readonly="active>1"></el-input> + <el-input + size="small" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + clearable + v-model="addObj.engineering" + :readonly="active > 1" + ></el-input> </div> </el-col> <el-col class="search_thing" :span="6"> <div class="search_label">宸ョ▼鍚嶇ОEN锛�</div> <div class="search_input"> - <el-input size="small" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.engineeringEn" - :readonly="active>1"></el-input> + <el-input + size="small" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + clearable + v-model="addObj.engineeringEn" + :readonly="active > 1" + ></el-input> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>鐢熶骇鍗曚綅锛�</div> + <div class="search_label"> + <span class="required-span">* </span>鐢熶骇鍗曚綅锛� + </div> <div class="search_input"> <!-- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.production" :readonly="active>1"></el-input> --> - <el-input size="small" v-model="addObj.production" placeholder="閫夋嫨鐢熶骇鍗曚綅" :readonly="active>1"> - <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true,createState=2" - :disabled="active>1"></el-button></template> + <el-input + size="small" + v-model="addObj.production" + placeholder="閫夋嫨鐢熶骇鍗曚綅" + :readonly="active > 1" + > + <template slot="append" + ><el-button + slot="append" + icon="el-icon-search" + @click="(selectUserDia = true), (createState = 2)" + :disabled="active > 1" + ></el-button + ></template> </el-input> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>鐢熶骇鍗曚綅EN锛�</div> + <div class="search_label"> + <span class="required-span">* </span>鐢熶骇鍗曚綅EN锛� + </div> <div class="search_input"> - <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.productionEn" - :readonly="active>1"></el-input> + <el-input + size="small" + placeholder="璇疯緭鍏�" + clearable + v-model="addObj.productionEn" + :readonly="active > 1" + ></el-input> </div> </el-col> <!-- <el-col class="search_thing" :span="6"> @@ -328,9 +539,15 @@ </div> </el-col> --> <el-col class="search_thing" :span="6"> - <div class="search_label" style="width: 175px;">鏄惁娑夊強閰嶅鏍峰搧锛�</div> + <div class="search_label" style="width: 175px;"> + 鏄惁娑夊強閰嶅鏍峰搧锛� + </div> <div class="search_input" style="width: calc(100% - 175px);"> - <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> + <el-radio-group + v-model="addObj.mating" + @change="$refs.sampleTable.doLayout()" + :disabled="active > 1" + > <el-radio :label="1">鏄�</el-radio> <el-radio :label="0">鍚�</el-radio> </el-radio-group> @@ -345,57 +562,109 @@ <el-col class="search_thing" :span="6"> <div class="search_label">濮旀墭浜猴細</div> <div class="search_input"> - <el-input size="small" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.prepareUser" :readonly="active>1"></el-input> + <el-input + size="small" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + clearable + v-model="addObj.prepareUser" + :readonly="active > 1" + ></el-input> </div> </el-col> <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div> + <div class="search_label"> + <span class="required-span">* </span>绾﹀畾鏃堕棿锛� + </div> <div class="search_input"> <el-date-picker v-model="addObj.appointed" - :disabled="active>1" + :disabled="active > 1" type="date" placeholder="閫夋嫨鏃ユ湡" - size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;"> + size="small" + format="yyyy-MM-dd" + value-format="yyyy-MM-dd" + style="width: 100%;" + > </el-date-picker> </div> </el-col> - <el-col class="search_thing" :span="6" v-if="addObj.formType!='鍏朵粬鎴愬搧'&&addObj.formType"> - <div class="search_label"><span class="required-span">* </span>鏍锋満瀹屾垚鏃堕棿锛�</div> + <el-col + class="search_thing" + :span="6" + v-if="addObj.formType != '鍏朵粬鎴愬搧' && addObj.formType" + > + <div class="search_label"> + <span class="required-span">* </span>鏍锋満瀹屾垚鏃堕棿锛� + </div> <div class="search_input"> <el-date-picker v-model="addObj.issueTime" - :disabled="active>1" + :disabled="active > 1" type="date" placeholder="閫夋嫨鏃ユ湡" - size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;"> + size="small" + format="yyyy-MM-dd" + value-format="yyyy-MM-dd" + style="width: 100%;" + > </el-date-picker> </div> </el-col> - <el-col class="search_thing upload" :span="4" style="align-items: flex-start;height: auto" v-if="active==1"> + <el-col + class="search_thing upload" + :span="4" + style="align-items: flex-start;height: auto" + v-if="active == 1" + > <el-upload - style="margin: 8px 0 0px 50px;" + style="margin: 8px 0 0px 50px;" action="#" :auto-upload="false" - accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload"> + accept=".jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv" + :on-change="handleChangeUpload" + > <el-button size="small" type="primary">涓婁紶闄勪欢</el-button> </el-upload> </el-col> <el-col class="search_thing" :span="8"> <div class="search_input" style="width: 100%;margin-left: 40px;"> - <el-radio-group v-model="ruleInfo.rule" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> + <el-radio-group + v-model="ruleInfo.rule" + @change="$refs.sampleTable.doLayout()" + :disabled="active > 1" + > <el-radio :label="1">涓嶈�冭檻涓嶇‘瀹氬害</el-radio> - <el-radio :label="2">鑰冭檻涓嶇‘瀹氬害<el-input placeholder="" v-model="ruleInfo.num" style="width: 100px;margin-left: 10px;" size="mini" :disabled="active>1"> - <template slot="append">%</template> - </el-input></el-radio> + <el-radio :label="2" + >鑰冭檻涓嶇‘瀹氬害<el-input + placeholder="" + v-model="ruleInfo.num" + style="width: 100px;margin-left: 10px;" + size="mini" + :disabled="active > 1" + > + <template slot="append">%</template> + </el-input></el-radio + > </el-radio-group> </div> </el-col> - <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;"> + <el-col + class="search_thing" + :span="6" + style="align-items: flex-start;margin: 8px 0;" + > <div class="search_label">澶囨敞锛�</div> <div class="search_input"> - <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" size="small" clearable :placeholder="active>1 ? '' : '璇疯緭鍏�'" - v-model="addObj.remark" :readonly="active>1"></el-input> + <el-input + type="textarea" + :autosize="{ minRows: 2, maxRows: 2 }" + size="small" + clearable + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + v-model="addObj.remark" + :readonly="active > 1" + ></el-input> </div> </el-col> <!-- <el-col class="search_thing" :span="6" v-if="active==1"> @@ -407,19 +676,39 @@ </el-row> </div> <div style="height: auto;"> - <div class="search" v-if="active==1" style="display: flex;background: transparent;"> + <div + class="search" + v-if="active == 1" + style="display: flex;background: transparent;" + > <div class="search_thing"> <div class="search_label">鏍峰搧鍚嶇О锛�</div> <div class="search_input"> - <el-input size="small" v-model="allInfo.sample" @change="changeModel('sample')"></el-input> + <el-input + size="small" + v-model="allInfo.sample" + @change="changeModel('sample')" + ></el-input> </div> </div> <div class="search_thing"> <div class="search_label">鏍峰搧绫诲埆锛�</div> <div class="search_input"> - <el-select v-model="allInfo.model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small" - @change="changeModel('model')"> - <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> + <el-select + v-model="allInfo.model" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + filterable + allow-create + default-first-option + size="small" + @change="changeModel('model')" + > + <el-option + v-for="item in models" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </div> @@ -427,15 +716,31 @@ <div class="search_thing"> <div class="search_label">浜у搧鍨嬪彿锛�</div> <div class="search_input"> - <el-input size="small" v-model="allInfo.modelNum" @change="changeModel('modelNum')"></el-input> + <el-input + size="small" + v-model="allInfo.modelNum" + @change="changeModel('modelNum')" + ></el-input> </div> </div> <div class="search_thing"> <div class="search_label">璇曢獙鏍囧噯锛�</div> <div class="search_input"> - <el-select v-model="allInfo.testRequirements" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small" - @change="changeModel('testRequirements')"> - <el-option v-for="item in standard" :key="item.value" :label="item.label" :value="item.value"> + <el-select + v-model="allInfo.testRequirements" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" + filterable + allow-create + default-first-option + size="small" + @change="changeModel('testRequirements')" + > + <el-option + v-for="item in standard" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </div> @@ -443,136 +748,374 @@ <div class="search_thing"> <div class="search_label">妫�楠屾爣鍑嗭細</div> <div class="search_input"> - <el-select v-model="standardMethodListId" :placeholder="active>1 ? '' : '璇疯緭閫夋嫨'" size="small" @focus="methodFocus" - :loading="methodLoad" multiple @change="changeStandardMethodListId"> - <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> + <el-select + v-model="standardMethodListId" + :placeholder="active > 1 ? '' : '璇疯緭閫夋嫨'" + size="small" + @focus="methodFocus" + :loading="methodLoad" + multiple + @change="changeStandardMethodListId" + > + <el-option + v-for="item in methods" + :key="item.id" + :label="item.code" + :value="item.id" + > </el-option> </el-select> </div> </div> </div> - <el-radio-group v-model="currentPage" v-if="active>1" size="small" style="margin-top: 20px;"> + <el-radio-group + v-model="currentPage" + v-if="active > 1" + size="small" + style="margin-top: 20px;" + > <el-radio-button :label="0">鏍峰搧</el-radio-button> <el-radio-button :label="1">闄勪欢</el-radio-button> </el-radio-group> - <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" max-height="400px" tooltip-effect="dark" - border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;" v-show="currentPage==0"> - <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> - <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column> - <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100"> + <el-table + class="el-table sampleTable" + ref="sampleTable" + :data="sampleList" + max-height="400px" + tooltip-effect="dark" + border + @selection-change="selectSample" + highlight-current-row + @row-click="rowClick" + style="margin-top: 10px;" + v-show="currentPage == 0" + > + <el-table-column + type="selection" + width="60" + :selectable="selectable" + v-if="active == 1" + ></el-table-column> + <el-table-column + type="index" + label="搴忓彿" + width="65" + align="center" + ></el-table-column> + <el-table-column + prop="sample" + label="鏍峰搧鍚嶇О" + align="center" + min-width="100" + > <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1" placeholder="蹇呭~"></el-input> + <el-input + size="small" + v-model="scope.row.sample" + clearable + :readonly="active > 1" + placeholder="蹇呭~" + ></el-input> </template> </el-table-column> - <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100" align="center"> + <el-table-column + prop="sampleCode" + label="鏍峰搧缂栧彿" + min-width="100" + align="center" + > <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" - :readonly="active>1"></el-input> + <el-input + size="small" + v-model="scope.row.sampleCode" + clearable + placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" + :readonly="active > 1" + ></el-input> </template> </el-table-column> - <el-table-column prop="model" label="鏍峰搧绫诲埆" align="center" min-width="100"> + <el-table-column + prop="model" + label="鏍峰搧绫诲埆" + align="center" + min-width="100" + > <template slot-scope="scope"> - <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧绫诲埆" - size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;"> - <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> + <el-select + v-model="scope.row.model" + filterable + allow-create + default-first-option + placeholder="鏍峰搧绫诲埆" + size="small" + @change="handleChangeModel" + :disabled="active > 1" + style="width: 100%;" + > + <el-option + v-for="item in models" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </template> </el-table-column> - <el-table-column prop="modelNum" label="浜у搧鍨嬪彿" min-width="100" align="center" v-if="!(active>1)"> + <el-table-column + prop="modelNum" + label="浜у搧鍨嬪彿" + min-width="100" + align="center" + v-if="!(active > 1)" + > <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="蹇呭~" - @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)" - @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> + <el-input + size="small" + v-model="scope.row.modelNum" + clearable + placeholder="蹇呭~" + @keyup.enter.native=" + methodChange(scope.row.standardMethodListId, scope.row) + " + @clear="methodChange(scope.row.standardMethodListId, scope.row)" + ></el-input> </template> </el-table-column> - <el-table-column prop="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100"> + <el-table-column + prop="testRequirements" + label="璇曢獙鏍囧噯" + align="center" + min-width="100" + > <template slot-scope="scope"> - <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1" - placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable @change="changeModel0(scope.row)"> - <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value"> + <el-select + v-model="scope.row.testRequirements" + :disabled="scope.row.model == null || active > 1" + placeholder="璇曢獙鏍囧噯" + size="small" + :readonly="active > 1" + style="width: 100%;" + clearable + @change="changeModel0(scope.row)" + > + <el-option + v-for="item in standard" + :key="item.id" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </template> </el-table-column> - <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100"> + <el-table-column + prop="standardMethodListId" + label="妫�楠屾爣鍑�" + align="center" + min-width="100" + > <template slot-scope="scope"> - <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" - placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" - @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []" multiple> - <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> + <el-select + v-model="scope.row.standardMethodListId" + :disabled="scope.row.model == null || active > 1" + placeholder="妫�楠屾爣鍑�" + size="small" + :loading="methodLoad" + @change="value => methodChange(value, scope.row)" + @focus="methodFocus" + :readonly="active > 1" + style="width: 100%;" + clearable + @clear="productList = []" + 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 prop="joinName" label="閰嶅鏍峰搧鍚嶇О" width="140" align="center" v-if="addObj.mating==1"> + <el-table-column + prop="joinName" + label="閰嶅鏍峰搧鍚嶇О" + width="140" + align="center" + v-if="addObj.mating == 1" + > <template slot-scope="scope"> - <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}" - v-model="scope.row.joinName"></el-input> + <el-input + size="small" + type="textarea" + :autosize="{ minRows: 1, maxRows: 1 }" + v-model="scope.row.joinName" + ></el-input> </template> </el-table-column> - <el-table-column prop="joinModel" label="閰嶅鏍峰搧鍨嬪彿" width="140" align="center" v-if="addObj.mating==1"> + <el-table-column + prop="joinModel" + label="閰嶅鏍峰搧鍨嬪彿" + width="140" + align="center" + v-if="addObj.mating == 1" + > <template slot-scope="scope"> - <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}" - v-model="scope.row.joinModel"></el-input> + <el-input + size="small" + type="textarea" + :autosize="{ minRows: 1, maxRows: 1 }" + v-model="scope.row.joinModel" + ></el-input> </template> </el-table-column> - <el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" width="140" align="center" v-if="addObj.mating==1"> + <el-table-column + prop="joinNum" + label="閰嶅鏍峰搧鏁伴噺" + width="140" + align="center" + v-if="addObj.mating == 1" + > <template slot-scope="scope"> - <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0" - :controls="false" style="width: 80%;"></el-input-number> + <el-input-number + size="small" + v-model="scope.row.joinNum" + :min="1" + :max="100" + :precision="0" + :controls="false" + style="width: 80%;" + ></el-input-number> </template> </el-table-column> - <el-table-column prop="proNum" label="寰呮椤规暟閲�" width="105" align="center"></el-table-column> + <el-table-column + prop="proNum" + label="寰呮椤规暟閲�" + width="105" + align="center" + ></el-table-column> </el-table> - <el-table class="el-table" ref="productTable" :data="productList" max-height="400px" tooltip-effect="dark" border - @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect" - :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll" v-show="currentPage==0"> - <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column> - <el-table-column prop="inspectionItemClass" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被" min-width="140" show-overflow-tooltip></el-table-column> - <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被(EN)" min-width="140" show-overflow-tooltip></el-table-column> - <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip> + <el-table + class="el-table" + ref="productTable" + :data="productList" + max-height="400px" + tooltip-effect="dark" + border + @selection-change="selectProduct" + style="margin-bottom: 10px;" + @select="upProductSelect" + :row-class-name="tableRowClassName" + v-loading="getProductLoad" + @select-all="handleAll" + v-show="currentPage == 0" + > + <el-table-column + type="selection" + width="65" + :selectable="selectable" + v-if="active == 1" + ></el-table-column> + <el-table-column + prop="inspectionItemClass" + v-if="PROJECT === '瑁呭鐢电紗'" + label="妫�楠岄」鍒嗙被" + min-width="140" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="inspectionItemClassEn" + v-if="PROJECT === '瑁呭鐢电紗'" + label="妫�楠岄」鍒嗙被(EN)" + min-width="140" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="inspectionItem" + label="妫�楠岄」" + min-width="140" + show-overflow-tooltip + > <template slot="header" slot-scope="scope"> - <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> + <div + style="display: flex;align-items: center;flex-direction: column;font-size: 14px" + > <span>妫�楠岄」</span> <el-input - v-if="active==1" - v-model="inspectionItem" - @input="searchFilterList" - size="mini" - placeholder="璇疯緭鍏�"/> + v-if="active == 1" + v-model="inspectionItem" + @input="searchFilterList" + size="mini" + placeholder="璇疯緭鍏�" + /> </div> </template> </el-table-column> - <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140" - show-overflow-tooltip> + <el-table-column + prop="inspectionItemSubclass" + label="妫�楠岄」瀛愰」" + min-width="140" + show-overflow-tooltip + > <template slot="header" slot-scope="scope"> - <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> + <div + style="display: flex;align-items: center;flex-direction: column;font-size: 14px" + > <span>妫�楠岄」瀛愰」</span> <el-input - v-if="active==1" + v-if="active == 1" v-model="inspectionItemSubclass" @input="searchFilterList" size="mini" - placeholder="璇疯緭鍏�"/> + placeholder="璇疯緭鍏�" + /> </div> </template> </el-table-column> <el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px"> <template slot-scope="scope"> - <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable type="textarea" - :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'tell')" - v-if="active==1" :disabled="!!scope.row.tell&&scope.row.tell.includes('[')&&scope.row.tell.includes(']')&&scope.row.tell.includes(',')"></el-input> + <el-input + size="small" + placeholder="瑕佹眰鎻忚堪" + v-model="scope.row.tell" + clearable + type="textarea" + :autosize="{ minRows: 1, maxRows: 3 }" + @change="e => requestChange(e, scope.row, 'tell')" + v-if="active == 1" + :disabled=" + !!scope.row.tell && + scope.row.tell.includes('[') && + scope.row.tell.includes(']') && + scope.row.tell.includes(',') + " + ></el-input> <span v-else> - <template >{{ scope.row.tell }}</template> + <template>{{ scope.row.tell }}</template> </span> </template> </el-table-column> - <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px" > + <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px"> <template slot-scope="scope"> - <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea" - :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')" - v-if="active==1&&scope.row.inspectionValueType!='5'" :disabled="!!scope.row.ask&&scope.row.ask.includes('[')&&scope.row.ask.includes(']')&&scope.row.ask.includes(',')"></el-input> + <el-input + size="small" + placeholder="瑕佹眰鍊�" + v-model="scope.row.ask" + clearable + type="textarea" + :autosize="{ minRows: 1, maxRows: 3 }" + @change="e => requestChange(e, scope.row, 'ask')" + v-if="active == 1 && scope.row.inspectionValueType != '5'" + :disabled=" + !!scope.row.ask && + scope.row.ask.includes('[') && + scope.row.ask.includes(']') && + scope.row.ask.includes(',') + " + ></el-input> <span v-else> <!-- <template v-if="(scope.row.ask.indexOf('D')>-1 ||scope.row.ask.indexOf('W')>-1 @@ -583,64 +1126,140 @@ <input class="askRts" v-model="scope.row.rts" /><br />{{ scope.row.ask }} </template> <template v-else>{{ scope.row.ask }}</template> --> - <template >{{ scope.row.ask }}</template> + <template>{{ scope.row.ask }}</template> </span> </template> </el-table-column> - <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip> + <el-table-column + prop="methodS" + label="璇曢獙鏂规硶" + min-width="120" + show-overflow-tooltip + > <template slot="header" slot-scope="scope"> - <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> + <div + style="display: flex;align-items: center;flex-direction: column;font-size: 14px" + > <span>璇曢獙鏂规硶</span> <el-input - v-if="active==1" + v-if="active == 1" v-model="methodS" @input="searchFilterList" size="mini" - placeholder="璇疯緭鍏�"/> + placeholder="璇疯緭鍏�" + /> </div> </template> </el-table-column> - <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column> + <el-table-column + prop="unit" + label="璁¢噺鍗曚綅" + width="100" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="price" + label="鍗曚环" + width="100" + show-overflow-tooltip + ></el-table-column> <!-- <el-table-column prop="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 prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters" - :filter-method="filterHandler"></el-table-column> + <el-table-column + prop="section" + label="鍖洪棿" + min-width="120" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="sonLaboratory" + label="瀛愬疄楠屽" + min-width="130" + show-overflow-tooltip + :filters="filters" + :filter-method="filterHandler" + ></el-table-column> </el-table> - <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" - :componentData="componentData0" - :delUrl="$api.insOrderPlan.delfile" style="height: 100%;margin-top: 16px;" v-show="currentPage==1"/> + <ValueTable + class="value-table" + ref="fileList" + :url="$api.insOrderPlan.getFileList" + :componentData="componentData0" + :delUrl="$api.insOrderPlan.delfile" + style="height: 100%;margin-top: 16px;" + v-show="currentPage == 1" + /> </div> </div> <el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%"> <div class="body" style="height: 60vh;" v-if="selectUserDia"> - <ValueTable ref="ValueTable2" :url="$api.user.selectCustomPageList" :componentData="componentData2" /> + <ValueTable + ref="ValueTable2" + :url="$api.user.selectCustomPageList" + :componentData="componentData2" + /> </div> <span slot="footer" class="dialog-footer"> <el-button @click="selectUserDia = false">鍙� 娑�</el-button> <el-button type="primary" @click="selectUser">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog title="閫夋嫨鏍峰搧" :visible.sync="selectStandardTree" width="500px"> - <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree"> + <el-dialog + title="閫夋嫨鏍峰搧" + :visible.sync="selectStandardTree" + width="500px" + > + <div + class="body" + style="height: 60vh;overflow-y: auto;user-select: none;" + v-if="selectStandardTree" + > <el-row> <el-col :span="24"> - <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small" - style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter" - @keyup.enter.native="searchFilter"></el-input> + <el-input + placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" + suffix-icon="el-icon-search" + v-model="search" + size="small" + style="margin-bottom: 5px;" + clearable + @blur="searchFilter" + @clear="searchFilter" + @keyup.enter.native="searchFilter" + ></el-input> </el-col> </el-row> - <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label" - :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" - @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree"> + <el-tree + :data="list" + ref="tree" + :props="{ children: 'children', label: 'label' }" + node-key="label" + :filter-node-method="filterNode" + @node-click="handleNodeClick" + highlight-current + @node-expand="nodeOpen" + @node-collapse="nodeClose" + :default-expanded-keys="expandedKeys" + @dblclick.native="activeStandardTree" + > <div class="custom-tree-node" slot-scope="{ node, data }"> <el-row> <el-col :span="24"> - <span><i - :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> - {{ data.code }} {{ data.label }}</span> + <span + ><i + :class=" + `node_i ${ + data.children != undefined + ? data.code === '[1]' + ? 'el-icon-folder-opened' + : 'el-icon-folder' + : 'el-icon-tickets' + }` + " + ></i> + {{ data.code }} {{ data.label }}</span + > </el-col> </el-row> </div> @@ -652,43 +1271,97 @@ </span> </el-dialog> <el-dialog title="淇濆瓨妯℃澘" :visible.sync="templateDia" width="400px"> - <div class="body" style="display: flex;align-items: center;" v-if="templateDia"> - <div class="search_label" style="width: 90px;"><span class="required-span">* </span>妯℃澘鍚嶇О锛�</div> + <div + class="body" + style="display: flex;align-items: center;" + v-if="templateDia" + > + <div class="search_label" style="width: 90px;"> + <span class="required-span">* </span>妯℃澘鍚嶇О锛� + </div> <div class="search_input"> <el-input size="small" clearable v-model="templateName"></el-input> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="templateDia = false">鍙� 娑�</el-button> - <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button> + <el-button + type="primary" + @click="addTemplateDia" + :loading="templateLoading" + >纭� 瀹�</el-button + > </span> </el-dialog> - <el-dialog title="妫�楠屼笅鍙�" :visible.sync="issuedDialogVisible" width="400px" :close-on-click-modal="false" - :close-on-press-escape="false" :show-close="false"> + <el-dialog + title="妫�楠屼笅鍙�" + :visible.sync="issuedDialogVisible" + width="400px" + :close-on-click-modal="false" + :close-on-press-escape="false" + :show-close="false" + > <div class="body" style="max-height: 60vh;"> <el-row> <el-col class="search_thing" :span="22"> - <div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div> + <div class="search_label"> + <span class="required-span">* </span>绾﹀畾鏃堕棿锛� + </div> <div class="search_input"> - <el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="閫夋嫨鏃ユ湡" - value-format="yyyy-MM-dd" style="width: 100%;" format="yyyy-MM-dd"> + <el-date-picker + size="small" + v-model="distributeData.appointed" + type="date" + placeholder="閫夋嫨鏃ユ湡" + value-format="yyyy-MM-dd" + style="width: 100%;" + format="yyyy-MM-dd" + > </el-date-picker> </div> </el-col> <el-col class="search_thing" :span="22"> - <div class="search_label"><span class="required-span" v-if="addObj.type == 2">* </span>鎸囨淳浜哄憳锛�</div> + <div class="search_label"> + <span class="required-span" v-if="addObj.type == 2">* </span + >鎸囨淳浜哄憳锛� + </div> <div class="search_input"> - <el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" filterable style="width: 100%;" @change="changeUser"> - <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value"> + <el-select + v-model="distributeData.userId" + placeholder="璇烽�夋嫨" + size="small" + filterable + 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> </div> </el-col> <el-col class="search_thing" :span="22" v-if="distributeData.userId"> - <div class="search_label"><span class="required-span">* </span>璇曢獙瀹わ細</div> + <div class="search_label"> + <span class="required-span">* </span>璇曢獙瀹わ細 + </div> <div class="search_input"> - <el-select v-model="distributeData.sonLaboratory" placeholder="璇烽�夋嫨" size="small" filterable style="width: 100%;"> - <el-option v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value"> + <el-select + v-model="distributeData.sonLaboratory" + placeholder="璇烽�夋嫨" + size="small" + filterable + style="width: 100%;" + > + <el-option + v-for="item in sonLaboratoryList" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </div> @@ -697,8 +1370,16 @@ </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="issuedDialogVisible=false;$parent.playOrder(0)">鍙� 娑�</el-button> - <el-button type="primary" @click="submitForm2" :loading="upLoad">纭� 瀹�</el-button> + <el-button + @click=" + issuedDialogVisible = false; + $parent.playOrder(0); + " + >鍙� 娑�</el-button + > + <el-button type="primary" @click="submitForm2" :loading="upLoad" + >纭� 瀹�</el-button + > </el-row> </span> </el-dialog> @@ -706,72 +1387,157 @@ <div class="body" style="max-height: 60vh;"> <el-row> <el-col class="search_thing" :span="22"> - <div class="search_label"><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div> + <div class="search_label"> + <span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛� + </div> <div class="search_input"> - <el-input v-model="tell" size="small" placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"></el-input> + <el-input + v-model="tell" + size="small" + placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜" + ></el-input> </div> </el-col> </el-row> </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="noDialogVisible=false,tell=''">鍙� 娑�</el-button> - <el-button type="primary" @click="submitTell" :loading="noLoading">纭� 瀹�</el-button> + <el-button @click="(noDialogVisible = false), (tell = '')" + >鍙� 娑�</el-button + > + <el-button type="primary" @click="submitTell" :loading="noLoading" + >纭� 瀹�</el-button + > </el-row> </span> </el-dialog> - <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine==0" :active="active" :inspectionItemST='inspectionItemST' /> - <fiberOpticConfigTwo :currentId="currentId" v-if="configShow && examine==1" :active="active" /> - <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" /> + <fiberOpticConfig + :currentId="currentId" + @saveFiberopticConfig="getTotal()" + v-if="configShow && examine == 0" + :active="active" + :inspectionItemST="inspectionItemST" + /> + <fiberOpticConfigTwo + :currentId="currentId" + v-if="configShow && examine == 1" + :active="active" + /> + <equipConfig + :currentId="currentId" + v-if="equipConfigShow" + :active="active" + /> <cableConfig v-if="cableConfigShow" :active="active" /> -<!-- 鍗曢�夌壒娈婂�煎鐞嗘--> - <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" - :close-on-press-escape="false" - :close-on-click-modal="false" - min-width="400px" :show-close="false" - :before-close="beforeClose"> + <!-- 鍗曢�夌壒娈婂�煎鐞嗘--> + <el-dialog + title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" + :visible.sync="bsm1Dia" + :close-on-press-escape="false" + :close-on-click-modal="false" + min-width="400px" + :show-close="false" + :before-close="beforeClose" + > <div class="body" style="max-height: 60vh;"> <el-row v-if="bsm1"> - <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> - <div class="search_label" style="width: 80px;"><span class="required-span">* </span>閫夐」锛�</div> + <el-col + class="search_thing" + :span="24" + style="height: initial;margin: 5px 0;" + > + <div class="search_label" style="width: 80px;"> + <span class="required-span">* </span>閫夐」锛� + </div> <div class="search_input"> <el-radio-group v-model="bsm1Val" @input="upBsm1"> - <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> + <el-radio + v-for="(a, ai) in JSON.parse(bsmRow.section)" + :key="ai" + :label="a" + style="margin-bottom: 2px;margin-top: 2px;" + ></el-radio> </el-radio-group> </div> </el-col> - <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> + <el-col + class="search_thing" + :span="24" + style="height: initial;margin: 5px 0;" + > <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div> - <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''"> + <div + class="search_input" + v-show="bsm1Val !== null && bsm1Val !== ''" + > <el-radio-group v-model="bsm1Val" @input="upBsm1"> - <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" - :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio> + <el-radio + v-for="(a, ai) in JSON.parse(bsmRow.section)" + :key="ai" + :label="a" + >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio + > </el-radio-group> </div> </el-col> </el-row> <el-row v-if="bsm2"> <el-col class="search_thing" :span="22"> - <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div> + <div class="search_label" style="width: 220px;"> + <span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛� + </div> <div class="search_input"> - <el-input-number size="medium" v-model="bsm2Val" :min="1" :max="bsm2Val3.length" :precision="0" - style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number> - <span>MAX锛歿{bsm2Val3.length}}</span> + <el-input-number + size="medium" + v-model="bsm2Val" + :min="1" + :max="bsm2Val3.length" + :precision="0" + style="width: 70%;" + :controls="false" + @change="bsm2Up" + ></el-input-number> + <span>MAX锛歿{ bsm2Val3.length }}</span> </div> </el-col> <el-col style="margin-top: 6px;"> - <el-col v-for="(a,ai) in bsm2Val2" :key="ai"> + <el-col v-for="(a, ai) in bsm2Val2" :key="ai"> <el-col :span="10"> - <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> - <el-option v-for="(item,index) in sampleList" :key="index" :label="index+1" :value="index+1"> + <el-select + v-model="a[0]" + placeholder="璇烽�夋嫨" + size="small" + style="width: 100%;" + > + <el-option + v-for="(item, index) in sampleList" + :key="index" + :label="index + 1" + :value="index + 1" + > </el-option> </el-select> </el-col> <!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> --> - <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col> + <el-col + :span="4" + class="pairing" + style="border: 0;color: rgba(0, 0, 0, 0.2);" + >鈥斺��</el-col + > <el-col :span="10"> - <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> - <el-option v-for="(item,index) in sampleList" :key="index" :label="index+1" :value="index+1"> + <el-select + v-model="a[1]" + placeholder="璇烽�夋嫨" + size="small" + style="width: 100%;" + > + <el-option + v-for="(item, index) in sampleList" + :key="index" + :label="index + 1" + :value="index + 1" + > </el-option> </el-select> </el-col> @@ -790,57 +1556,126 @@ </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button type="primary" @click="save2" :loading="saveLoad">纭� 瀹�</el-button> + <el-button type="primary" @click="save2" :loading="saveLoad" + >纭� 瀹�</el-button + > </el-row> </span> </el-dialog> -<!-- 鍏ㄩ�夌壒娈婂�煎鐞嗘--> - <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1DiaAll" min-width="400px" :show-close="false" - :close-on-press-escape="false" - :close-on-click-modal="false" - :before-close="beforeClose"> - <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index"> + <!-- 鍏ㄩ�夌壒娈婂�煎鐞嗘--> + <el-dialog + title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" + :visible.sync="bsm1DiaAll" + min-width="400px" + :show-close="false" + :close-on-press-escape="false" + :close-on-click-modal="false" + :before-close="beforeClose" + > + <div + class="body" + style="max-height: 60vh;" + v-for="(item, index) in bsm1DiaList" + :key="index" + > <el-row v-if="item.bsm1"> - <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> - <div class="search_label" style="width: 80px;"><span class="required-span">* </span>閫夐」锛�</div> + <el-col + class="search_thing" + :span="24" + style="height: initial;margin: 5px 0;" + > + <div class="search_label" style="width: 80px;"> + <span class="required-span">* </span>閫夐」锛� + </div> <div class="search_input"> <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> + <el-radio + v-for="(a, ai) in JSON.parse(item.bsmRow.section)" + :key="ai" + :label="a" + style="margin-bottom: 2px;margin-top: 2px;" + ></el-radio> </el-radio-group> </div> </el-col> - <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> + <el-col + class="search_thing" + :span="24" + style="height: initial;margin: 5px 0;" + > <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div> - <div class="search_input" v-show="item.bsm1Val!==null&&item.bsm1Val!==''"> + <div + class="search_input" + v-show="item.bsm1Val !== null && item.bsm1Val !== ''" + > <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" - :label="a">{{JSON.parse(item.bsmRow.ask)[ai]}}</el-radio> + <el-radio + v-for="(a, ai) in JSON.parse(item.bsmRow.section)" + :key="ai" + :label="a" + >{{ JSON.parse(item.bsmRow.ask)[ai] }}</el-radio + > </el-radio-group> </div> </el-col> </el-row> <el-row v-if="item.bsm2"> <el-col class="search_thing" :span="22"> - <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div> + <div class="search_label" style="width: 220px;"> + <span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛� + </div> <div class="search_input"> - <el-input-number size="medium" v-model="item.bsm2Val" :min="1" :max="item.bsm2Val3.length" :precision="0" - style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number> - <span>MAX锛歿{item.bsm2Val3.length}}</span> + <el-input-number + size="medium" + v-model="item.bsm2Val" + :min="1" + :max="item.bsm2Val3.length" + :precision="0" + style="width: 70%;" + :controls="false" + @change="bsm2Up" + ></el-input-number> + <span>MAX锛歿{ item.bsm2Val3.length }}</span> </div> </el-col> <el-col style="margin-top: 6px;"> - <el-col v-for="(a,ai) in item.bsm2Val2" :key="ai"> + <el-col v-for="(a, ai) in item.bsm2Val2" :key="ai"> <el-col :span="10"> - <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> - <el-option v-for="(item,index) in item.sampleList" :key="index" :label="index+1" :value="index+1"> + <el-select + v-model="a[0]" + placeholder="璇烽�夋嫨" + size="small" + style="width: 100%;" + > + <el-option + v-for="(item, index) in item.sampleList" + :key="index" + :label="index + 1" + :value="index + 1" + > </el-option> </el-select> </el-col> <!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> --> - <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col> + <el-col + :span="4" + class="pairing" + style="border: 0;color: rgba(0, 0, 0, 0.2);" + >鈥斺��</el-col + > <el-col :span="10"> - <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> - <el-option v-for="(item,index) in item.sampleList" :key="index" :label="index+1" :value="index+1"> + <el-select + v-model="a[1]" + placeholder="璇烽�夋嫨" + size="small" + style="width: 100%;" + > + <el-option + v-for="(item, index) in item.sampleList" + :key="index" + :label="index + 1" + :value="index + 1" + > </el-option> </el-select> </el-col> @@ -851,71 +1686,91 @@ </div> <span slot="footer" class="dialog-footer"> <el-row> - <el-button type="primary" @click="save1" :loading="saveLoad">纭� 瀹�</el-button> + <el-button type="primary" @click="save1" :loading="saveLoad" + >纭� 瀹�</el-button + > </el-row> </span> </el-dialog> - <el-dialog title="鐗规畩鍊煎~鍐�" :visible.sync="bsm3Dia" - :close-on-click-modal="false" :close-on-press-escape="false" - width="800px" :show-close="false"> - <el-table - :data="editTable" - style="width: 100%" height="80vh"> - <!-- inspectionItemList --> - <el-table-column - prop="inspectionItemList" - label="妫�楠岄」" - width="180"> + <el-dialog + title="鐗规畩鍊煎~鍐�" + :visible.sync="bsm3Dia" + :close-on-click-modal="false" + :close-on-press-escape="false" + width="800px" + :show-close="false" + > + <el-table :data="editTable" style="width: 100%" height="80vh"> + <!-- inspectionItemList --> + <el-table-column prop="inspectionItemList" label="妫�楠岄」" width="180"> </el-table-column> - <el-table-column - prop="sampleCode" - label="鏍峰搧缂栧彿" - width="180"> + <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" width="180"> </el-table-column> - <el-table-column - prop="model" - label="鏍峰搧鍨嬪彿" - width="180"> + <el-table-column prop="model" label="鏍峰搧鍨嬪彿" width="180"> </el-table-column> - <el-table-column - prop="symbolItem" - label="璇嗗埆绗﹀彿"> - </el-table-column> - <el-table-column - prop="value" - label="璇嗗埆绗﹀��"> + <el-table-column prop="symbolItem" label="璇嗗埆绗﹀彿"> </el-table-column> + <el-table-column prop="value" label="璇嗗埆绗﹀��"> <template slot-scope="scope"> - <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" @input="inputValueHandler(scope.row,scope.$index)" size="small"></el-input> + <el-input + v-model="scope.row.value" + placeholder="璇疯緭鍏�" + @input="inputValueHandler(scope.row, scope.$index)" + size="small" + ></el-input> </template> </el-table-column> </el-table> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="bsm3Dia=false">鍙� 娑�</el-button> - <el-button type="primary" @click="save0" :loading="saveLoad">纭� 瀹�</el-button> + <el-button @click="bsm3Dia = false">鍙� 娑�</el-button> + <el-button type="primary" @click="save0" :loading="saveLoad" + >纭� 瀹�</el-button + > </el-row> </span> </el-dialog> - <el-dialog title="娓╁害寰幆瑕佹眰濉啓" :visible.sync="circulateShow" width="900px" - :close-on-click-modal="false" :close-on-press-escape="false" - :before-close="beforeCirculateShowClose" :show-close="false"> + <el-dialog + title="娓╁害寰幆瑕佹眰濉啓" + :visible.sync="circulateShow" + width="900px" + :close-on-click-modal="false" + :close-on-press-escape="false" + :before-close="beforeCirculateShowClose" + :show-close="false" + > <div class="search" style="display: flex;background: transparent;"> <div class="search_thing"> <div class="search_label">淇濇俯鏃堕棿锛�</div> <div class="search_input"> - <el-input v-model="circulateForm.entrustTime" size="small" placeholder="" type="number"></el-input> + <el-input + v-model="circulateForm.entrustTime" + size="small" + placeholder="" + type="number" + ></el-input> </div> </div> <div class="search_thing"> <div class="search_label">寰幆娆℃暟锛�</div> <div class="search_input"> - <el-input v-model="circulateForm.entrustNum" size="small" placeholder="" type="number"></el-input> + <el-input + v-model="circulateForm.entrustNum" + size="small" + placeholder="" + type="number" + ></el-input> </div> </div> <div class="search_thing"> <div class="search_label">娓╁害鐐癸細</div> <div class="search_input"> - <el-input @blur="changeTemperatureData" v-model="circulateForm.entrustPoint" size="small" placeholder="" type="number"></el-input> + <el-input + @blur="changeTemperatureData" + v-model="circulateForm.entrustPoint" + size="small" + placeholder="" + type="number" + ></el-input> </div> </div> </div> @@ -927,20 +1782,22 @@ <el-table ref="multipleTable" border - :header-cell-style="{'text-align':'center'}" - :cell-style="{'text-align':'center'}" + :header-cell-style="{ 'text-align': 'center' }" + :cell-style="{ 'text-align': 'center' }" :data="opticalProject" tooltip-effect="dark" style="width: 100%" @row-click="rowClickOptical" @select="selectOpticalProject" @select-all="selectAllOptical" - @selection-change="handleSelectionChange"> + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55"> </el-table-column> <el-table-column - type="selection" - width="55"> - </el-table-column> - <el-table-column prop="value" label="鍏夌氦椤圭洰" show-overflow-tooltip></el-table-column> + prop="value" + label="鍏夌氦椤圭洰" + show-overflow-tooltip + ></el-table-column> </el-table> </div> </div> @@ -948,30 +1805,59 @@ <div class="temperatureListTitle"> <span>娓╁害鐐归泦鍚�</span> <span> - <el-button type="primary" size="mini" @click="addTemperatureData">鏂板</el-button> - <el-button size="mini" @click="deleteTemperatureData">鍒犻櫎</el-button> + <el-button type="primary" size="mini" @click="addTemperatureData" + >鏂板</el-button + > + <el-button size="mini" @click="deleteTemperatureData" + >鍒犻櫎</el-button + > </span> </div> <el-divider></el-divider> <el-table :data="temperatureData" border - :header-cell-style="{'text-align':'center'}" - :cell-style="{'text-align':'center'}" - style="width: 100%"> + :header-cell-style="{ 'text-align': 'center' }" + :cell-style="{ 'text-align': 'center' }" + style="width: 100%" + > <el-table-column prop="date" label="娓╁害鐐�(鈩�)" width="120px"> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�" @change="changeTemperature"></el-input> + <el-input + size="small" + v-model="scope.row.temperaturePoint" + clearable + placeholder="璇疯緭鍏�" + @change="changeTemperature" + ></el-input> </template> </el-table-column> <el-table-column prop="name" label="瑕佹眰(dB/Km)"> <template slot-scope="scope"> <span>x</span> - <el-select v-model="scope.row.askSymbol" placeholder="璇烽�夋嫨" size="small" style="width: 120px" @change="changeTemperature"> - <el-option v-for="item in temperatureDataList" :key="item.value" :label="item.label" :value="item.value"> + <el-select + v-model="scope.row.askSymbol" + placeholder="璇烽�夋嫨" + size="small" + style="width: 120px" + @change="changeTemperature" + > + <el-option + v-for="item in temperatureDataList" + :key="item.value" + :label="item.label" + :value="item.value" + > </el-option> </el-select> - <el-input size="small" v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" style="width: 120px" @change="changeTemperature"></el-input> + <el-input + size="small" + v-model="scope.row.askNum" + clearable + placeholder="璇疯緭鍏�" + style="width: 120px" + @change="changeTemperature" + ></el-input> </template> </el-table-column> </el-table> @@ -982,9 +1868,15 @@ <el-button type="primary" @click="spliceData">淇濆瓨</el-button> </span> </el-dialog> - <el-dialog title="鍗曟牴鍨傜洿鐕冪儳妫�娴嬫鏁板~鍐�" :visible.sync="singleVerticalCombustionShow" width="900px" - :close-on-click-modal="false" :close-on-press-escape="false" - :before-close="beforeCirculateShowClose" :show-close="false"> + <el-dialog + title="鍗曟牴鍨傜洿鐕冪儳妫�娴嬫鏁板~鍐�" + :visible.sync="singleVerticalCombustionShow" + width="900px" + :close-on-click-modal="false" + :close-on-press-escape="false" + :before-close="beforeCirculateShowClose" + :show-close="false" + > <div>111</div> <span slot="footer" class="dialog-footer"> <el-button @click="cleanSpliceData">鍙栨秷</el-button> @@ -992,1436 +1884,1678 @@ </span> </el-dialog> <!-- 鐢靛姏璇曢獙瀹�---娓╁崌璇曢獙/鐑惊鐜� --> - <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow" - :close-on-click-modal="false" :close-on-press-escape="false" - width="260px" :before-close="temperatureShowClose" :show-close="false"> + <el-dialog + :title="temperatureTitle" + :visible.sync="temperatureShow" + :close-on-click-modal="false" + :close-on-press-escape="false" + width="260px" + :before-close="temperatureShowClose" + :show-close="false" + > <div> <div v-if="isShowInput" style="margin-bottom: 6px"> <span>寰幆娆℃暟:</span> <!-- <el-input size="small" type="number" v-model="temperatureTestNum" style="width: 120px"></el-input> --> - <el-input-number v-model="temperatureTestNum" :min="2" :max="1000000" size="small" label=""></el-input-number> + <el-input-number + v-model="temperatureTestNum" + :min="2" + :max="1000000" + size="small" + label="" + ></el-input-number> </div> - <el-checkbox-group v-model="temperatureTest" @change="handleTemperatureTestChange" style="display: flex;flex-direction: column;"> - <el-checkbox v-for="item in temperatureList" :label="item" :key="item" style="margin-bottom: 6px">{{item}}</el-checkbox> + <el-checkbox-group + v-model="temperatureTest" + @change="handleTemperatureTestChange" + style="display: flex;flex-direction: column;" + > + <el-checkbox + v-for="item in temperatureList" + :label="item" + :key="item" + style="margin-bottom: 6px" + >{{ item }}</el-checkbox + > </el-checkbox-group> </div> <span slot="footer" class="dialog-footer"> <el-button @click="cleanTemperatureTest">鍙栨秷</el-button> - <el-button type="primary" @click="spliceTemperatureTest">淇濆瓨</el-button> + <el-button type="primary" @click="spliceTemperatureTest" + >淇濆瓨</el-button + > </span> </el-dialog> <!-- 鍔熺巼瀹归噺--濉啓绔彛 --> - <el-dialog title="濉啓绔彛" :visible.sync="powerShow" - :close-on-click-modal="false" :close-on-press-escape="false" - width="50%"> - <el-table - :data="powerTable" - border - style="width: 100%"> - <el-table-column - fixed - prop="sample" - label="鏍峰搧" - min-width="150"> + <el-dialog + title="濉啓绔彛" + :visible.sync="powerShow" + :close-on-click-modal="false" + :close-on-press-escape="false" + width="50%" + > + <el-table :data="powerTable" border style="width: 100%"> + <el-table-column fixed prop="sample" label="鏍峰搧" min-width="150"> </el-table-column> - <el-table-column - prop="model" - label="鍨嬪彿" - min-width="120"> + <el-table-column prop="model" label="鍨嬪彿" min-width="120"> </el-table-column> - <el-table-column - prop="inspectionItem" - label="妫�楠岄」" - min-width="120"> + <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="120"> </el-table-column> - <el-table-column - prop="ask" - label="绔彛" - min-width="120"> + <el-table-column prop="ask" label="绔彛" min-width="120"> <template slot-scope="scope"> - <el-input-number v-model="scope.row.ask" :min="1" :max="100" label="绔彛" size="small"></el-input-number> + <el-input-number + v-model="scope.row.ask" + :min="1" + :max="100" + label="绔彛" + size="small" + ></el-input-number> </template> </el-table-column> </el-table> <span slot="footer" class="dialog-footer"> - <el-button @click="powerShow=false">鍙栨秷</el-button> + <el-button @click="powerShow = false">鍙栨秷</el-button> <el-button type="primary" @click="savePowerTest">淇濆瓨</el-button> </span> </el-dialog> <el-dialog title="鏂囦欢棰勮" :visible.sync="lookFileVisible" - width="60%" fullscreen> - <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" - :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/> + width="60%" + fullscreen + > + <filePreview + v-if="lookFileVisible" + :fileUrl="currentFile.url" + :currentFile="currentFile" + style="max-height: 87vh;overflow-y: auto;" + /> </el-dialog> - <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">鍙屾柟鎵胯:<br/> - 1銆佸鎵樻柟鎵胯鎻愪緵鐨勪俊鎭笌鏍峰搧鐨勭湡瀹炴��;<br/> - 2銆佸鎵橀�佹牱妫�楠岀粨鏋滀粎閫傜敤浜庢敹鍒扮殑鏍峰搧;<br/> - 3銆佽瘯楠岃繃绋嬪鑷寸殑鏍峰搧鎹熷潖銆侀厤浠舵崯鍧忋�佹崯鑰楋紝鏈祴璇曞満涓嶆壙鎷呰禂鍋胯矗浠�;<br/> + <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;"> + 鍙屾柟鎵胯:<br /> + 1銆佸鎵樻柟鎵胯鎻愪緵鐨勪俊鎭笌鏍峰搧鐨勭湡瀹炴��;<br /> + 2銆佸鎵橀�佹牱妫�楠岀粨鏋滀粎閫傜敤浜庢敹鍒扮殑鏍峰搧;<br /> + 3銆佽瘯楠岃繃绋嬪鑷寸殑鏍峰搧鎹熷潖銆侀厤浠舵崯鍧忋�佹崯鑰楋紝鏈祴璇曞満涓嶆壙鎷呰禂鍋胯矗浠�;<br /> 4銆佸疄楠屽鎵胯鍏寮�灞曟娴嬫椿鍔紝骞舵壙璇轰繚瀹堝湪妫�娴嬫椿鍔ㄨ繃绋嬩腑鎵�鑾风煡鐨勪繚瀵嗕俊鎭�� - </p> + </p> </div> </template> <script> -import ValueTable from '../../tool/value-table.vue' -import fiberOpticConfig from './fiberoptic-config.vue' -import fiberOpticConfigTwo from './fiberoptic-config-two.vue' -import equipConfig from './equip-config.vue' -import cableConfig from './cable-config.vue' -import Vue from 'vue' -import filePreview from '../../tool/file-preview.vue' +import ValueTable from "../../tool/value-table.vue"; +import fiberOpticConfig from "./fiberoptic-config.vue"; +import fiberOpticConfigTwo from "./fiberoptic-config-two.vue"; +import equipConfig from "./equip-config.vue"; +import cableConfig from "./cable-config.vue"; +import Vue from "vue"; +import filePreview from "../../tool/file-preview.vue"; export default { - components: { - ValueTable, - fiberOpticConfig, - fiberOpticConfigTwo, - equipConfig, - cableConfig, - filePreview + components: { + ValueTable, + fiberOpticConfig, + fiberOpticConfigTwo, + equipConfig, + cableConfig, + filePreview + }, + props: { + examine: { + type: Number, + default: () => 0 }, - props: { - examine: { - type: Number, - default: () => 0 - }, - active: { - type: Number, - default: () => 0 - }, - currentId: { - type: Number, - default: () => 0 - } + active: { + type: Number, + default: () => 0 }, - data() { - return { - currentFile:{}, - lookFileVisible:false, - inspectionItemST: null, - sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁 - editTable:[], - template: null, - templates: [], - addObj: { - entrustCode: null, - custom: null, - company: null, - userId: null, - type: '0', - code: null, - appointed: null, - issueTime:null, - remark: null, - otcCode: null, - mating: 0, - sample: null, - factory: null, - laboratory: null, - sampleType: null, - sampleNum: 1, - unit: null, - model: null, - method: null, - phone: null, - processing: 1, - isLeave: 0, - orderType: null, - send: 1, - formType: '閫佹', - engineering: null, - engineeringEn: null, - production: null, - productionEn: null, - companyId: null, - prepareUser:null, - departmentLimsId:null, - departmentLims:null, - partNo: null, // 闆朵欢鍙� - }, - sample: { - sampleCode: null, - laboratory: null, - factory: null, - sampleType: null, - sample: null, - model: null, - modelNum: null, - sampleNum: 1, - isLeave: 0, - unit: null - }, - type: [], - selectUserDia: false, - componentData2: { - entity: { - orderBy: { - field: 'id', - order: 'desc' - } - }, - isIndex: true, - showSelect: true, - select: false, - do: [], - tagField: { - state: { - select: [{ - value: 1, - type: 'success', - label: '鍚敤' - }, { - value: 0, - type: 'danger', - label: '鍋滅敤' - }] - } - }, - selectField: {}, - }, - selectStandardTree: false, - search: null, - list: [], - selectTree: null, - expandedKeys: [], - sampleList: [], - sampleIds: [], - methodList: [], - addSampleDia: false, - count: 1, - productList: [], - productList0: [], - bsm1DiaList: [], - productIds: [], - productListSelected: [], - getProductLoad: false, - saveLoad: false, - templateDia: false, - templateLoading: false, - templateName: '', - issuedDialogVisible: false, - distributeData: { - appointed: '', - userId: '', - sonLaboratory:'' - }, - personList: [], - upLoad: false, - units: [], - models: [], - methods: [], - methodLoad: false, - noDialogVisible: false, - tell: '', - noLoading: false, - orderType: [], - filters: [], - formType: [], - configShow: false, - currentMethod: null, - isAskOnlyRead: false, - sampleId: null, - bsmRow: null, - bsm1: false, - bsm1Val: null, - bsm1Dia: false, - bsm1DiaAll: false, - equipConfigShow: false, - cableConfigShow: false, - bsm2: false, - bsm2Val: null, - bsm2Dia: false, - bsm2Val2: [], - bsm2Val3: [], - bsmRow3: null, - bsm3Val: null, - bsm3Dia: false, - total: 0, - RTS: '', - totalArr: [], + currentId: { + type: Number, + default: () => 0 + } + }, + data() { + return { + currentFile: {}, + lookFileVisible: false, + inspectionItemST: null, + sampleSelectionList: [], //鏍峰搧琛ㄦ牸閫変腑鏁版嵁 + editTable: [], + template: null, + templates: [], + addObj: { + entrustCode: null, + custom: null, + company: null, + userId: null, + type: "0", + code: null, + appointed: null, + issueTime: null, + remark: null, + otcCode: null, + mating: 0, + sample: null, + factory: null, + laboratory: null, + sampleType: null, + sampleNum: 1, + unit: null, model: null, - standardMethodListId: [], - symbolList:[ - 'RTS','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'], - inspectionItem:null, - inspectionItemSubclass:null, - methodS:null, - circulateShow:false, - circulateForm:{ - entrustTime: '', - entrustNum: '', - entrustPoint: '' + method: null, + phone: null, + processing: 1, + isLeave: 0, + orderType: null, + send: 1, + formType: "閫佹", + engineering: null, + engineeringEn: null, + production: null, + productionEn: null, + companyId: null, + prepareUser: null, + departmentLimsId: null, + departmentLims: null, + partNo: null // 闆朵欢鍙� + }, + sample: { + sampleCode: null, + laboratory: null, + factory: null, + sampleType: null, + sample: null, + model: null, + modelNum: null, + sampleNum: 1, + isLeave: 0, + unit: null + }, + type: [], + selectUserDia: false, + componentData2: { + entity: { + orderBy: { + field: "id", + order: "desc" + } }, - singleVerticalCombustionShow: false, - isBsm2Val2:false, - opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃 - opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁� - temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛� - temperatureDataList: [ - {label: '<', value: '<'}, - {label: '鈮�', value: '鈮�'}, - {label: '=', value: '='}, - {label: '鈮�', value: '鈮�'}, - {label: '>', value: '>'}, + isIndex: true, + showSelect: true, + select: false, + do: [], + tagField: { + state: { + select: [ + { + value: 1, + type: "success", + label: "鍚敤" + }, + { + value: 0, + type: "danger", + label: "鍋滅敤" + } + ] + } + }, + selectField: {} + }, + selectStandardTree: false, + search: null, + list: [], + selectTree: null, + expandedKeys: [], + sampleList: [], + sampleIds: [], + methodList: [], + addSampleDia: false, + count: 1, + productList: [], + productList0: [], + bsm1DiaList: [], + productIds: [], + productListSelected: [], + getProductLoad: false, + saveLoad: false, + templateDia: false, + templateLoading: false, + templateName: "", + issuedDialogVisible: false, + distributeData: { + appointed: "", + userId: "", + sonLaboratory: "" + }, + personList: [], + upLoad: false, + units: [], + models: [], + methods: [], + methodLoad: false, + noDialogVisible: false, + tell: "", + noLoading: false, + orderType: [], + filters: [], + formType: [], + configShow: false, + currentMethod: null, + isAskOnlyRead: false, + sampleId: null, + bsmRow: null, + bsm1: false, + bsm1Val: null, + bsm1Dia: false, + bsm1DiaAll: false, + equipConfigShow: false, + cableConfigShow: false, + bsm2: false, + bsm2Val: null, + bsm2Dia: false, + bsm2Val2: [], + bsm2Val3: [], + bsmRow3: null, + bsm3Val: null, + bsm3Dia: false, + total: 0, + RTS: "", + totalArr: [], + model: null, + standardMethodListId: [], + symbolList: [ + "RTS", + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z" + ], + inspectionItem: null, + inspectionItemSubclass: null, + methodS: null, + circulateShow: false, + circulateForm: { + entrustTime: "", + entrustNum: "", + entrustPoint: "" + }, + singleVerticalCombustionShow: false, + isBsm2Val2: false, + opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃 + opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁� + temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛� + temperatureDataList: [ + { label: "<", value: "<" }, + { label: "鈮�", value: "鈮�" }, + { label: "=", value: "=" }, + { label: "鈮�", value: "鈮�" }, + { label: ">", value: ">" } + ], + temperatureShow: false, // 娓╁崌璇曢獙妫�楠岄」寮规 + temperatureTest: [], + temperatureList: [], + temperatureEngList: [], + temperatureTitle: "", + temperatureTestNum: "", + isShowInput: false, + temId: "", + sonLaboratoryList: [], + selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃 + deaprtEnum: [], + standard: [], + createState: 1, //1:閫夋嫨濮旀墭鍗曚綅锛�2锛氶�夋嫨鐢熶骇鍗曚綅 + fileList: [], + currentPage: 0, //0:鏍峰搧淇℃伅锛�1锛氶檮浠� + componentData0: { + entity: { + insOrderId: "" + }, + isIndex: true, + showSelect: false, + select: false, + sort: false, + init: false, + do: [ + { + id: "handleDown", + font: "涓嬭浇", + type: "text", + method: "handleDown" + }, + { + id: "1", + font: "棰勮", + type: "text", + method: "lookFile" + } ], - temperatureShow: false, // 娓╁崌璇曢獙妫�楠岄」寮规 - temperatureTest: [], - temperatureList: [], - temperatureEngList: [], - temperatureTitle: '', - temperatureTestNum: '', - isShowInput: false, - temId: '', - sonLaboratoryList:[], - selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃 - deaprtEnum:[], - standard:[], - createState:1,//1:閫夋嫨濮旀墭鍗曚綅锛�2锛氶�夋嫨鐢熶骇鍗曚綅 - fileList:[], - currentPage:0,//0:鏍峰搧淇℃伅锛�1锛氶檮浠� - componentData0: { - entity: { - insOrderId:'' - }, - isIndex: true, - showSelect: false, - select: false, - sort: false, - init:false, - do: [ - { - id: 'handleDown', - font: '涓嬭浇', - type: 'text', - method: 'handleDown' - }, - { - id: '1', - font: '棰勮', - type: 'text', - method: 'lookFile', - } - ], - isPage: false, - linkEvent: {}, - tagField: { - type:{ - select:[ - { - value: 1, - label: '鍥剧墖' - }, - { - value: 2, - label: '鏂囦欢' - } - ] + isPage: false, + linkEvent: {}, + tagField: { + type: { + select: [ + { + value: 1, + label: "鍥剧墖" + }, + { + value: 2, + label: "鏂囦欢" + } + ] + } + }, + currentId: "", + selectField: {}, + requiredAdd: [], + requiredUp: [] + }, + ruleInfo: { + rule: 1, + num: null + }, + powerShow: false, + powerTable: [], + allInfo: { + model: null, + sample: null, + modelNum: null, + testRequirements: null + } + }; + }, + watch: { + sampleList() { + this.addObj.method = null; + this.productList = []; + }, + productList: { + deep: true, + handler(val) { + if (val && val.length > 0) { + let arr = []; + val.forEach(item => { + if ( + item.sonLaboratory && + !arr.find(a => a.value == item.sonLaboratory) + ) { + arr.push({ + text: item.sonLaboratory, + value: item.sonLaboratory + }); } - }, - currentId: '', - selectField: {}, - requiredAdd: [], - requiredUp: [] - }, - ruleInfo:{ - rule:1, - num:null, - }, - powerShow:false, - powerTable:[], - allInfo:{ - model:null, - sample:null, - modelNum:null, - testRequirements:null, + }); + this.filters = arr; } } }, - watch: { - sampleList() { - this.addObj.method = null - this.productList = [] - }, - productList: { - deep: true, - handler(val) { - if (val && val.length > 0) { - let arr = []; - val.forEach(item => { - if (item.sonLaboratory && !arr.find(a => a.value == item.sonLaboratory)) { - arr.push({ - text: item.sonLaboratory, - value: item.sonLaboratory - }) - } - }) - this.filters = arr - } - } - }, - productListSelected: { - deep: true, - handler(val) { - if(val.length>0){ - for(let i =0 ; i< val.length; i++){ - if(val[i].inspectionItem.includes('鏉惧绠�')){ - this.inspectionItemST = 1 - break; - }else{ - this.inspectionItemST = 0 - } + productListSelected: { + deep: true, + handler(val) { + if (val.length > 0) { + for (let i = 0; i < val.length; i++) { + if (val[i].inspectionItem.includes("鏉惧绠�")) { + this.inspectionItemST = 1; + break; + } else { + this.inspectionItemST = 0; } - }else{ - this.inspectionItemST = 0 } + } else { + this.inspectionItemST = 0; + } - console.log('0000',this.inspectionItemST); - } - }, - sampleList: { - deep: true, - handler(val) { - this.getTotal() - } - }, - 'addObj.sample'(val) { - this.allInfo.model = null - this.allInfo.sample = null - this.allInfo.modelNum = null - this.allInfo.testRequirements = null - this.standardMethodListId = [] - }, - 'addObj.sampleNum'(val) { - this.allInfo.model = null - this.allInfo.sample = null - this.allInfo.modelNum = null - this.allInfo.testRequirements = null - this.standardMethodListId = [] - }, - active(val){ - this.saveLoad = false + console.log("0000", this.inspectionItemST); } }, - mounted() { - this.selectEnumByCategoryForType() - this.getUserNow() - this.selectStandardTreeList() - // this.selectInsOrderTemplate() - this.getAuthorizedPerson(); - this.selectEnumByCategoryForUnit() - this.selectEnumByCategoryForStandard() - this.selectStandardMethods() - this.selectEnumByCategoryForOrderType() - this.selectDepartmentEnum() - // this.selectEnumByCategoryForSonLaboratory() - this.selectEnumByCategoryForSampleForm() - if (this.active != 1) { - // 鏌ョ湅/瀹℃牳娴佺▼ - // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹� - this.$axios.post(this.$api.insOrder.getInsOrder, { + sampleList: { + deep: true, + handler(val) { + this.getTotal(); + } + }, + "addObj.sample"(val) { + this.allInfo.model = null; + this.allInfo.sample = null; + this.allInfo.modelNum = null; + this.allInfo.testRequirements = null; + this.standardMethodListId = []; + }, + "addObj.sampleNum"(val) { + this.allInfo.model = null; + this.allInfo.sample = null; + this.allInfo.modelNum = null; + this.allInfo.testRequirements = null; + this.standardMethodListId = []; + }, + active(val) { + this.saveLoad = false; + } + }, + mounted() { + this.selectEnumByCategoryForType(); + this.getUserNow(); + this.selectStandardTreeList(); + // this.selectInsOrderTemplate() + this.getAuthorizedPerson(); + this.selectEnumByCategoryForUnit(); + this.selectEnumByCategoryForStandard(); + this.selectStandardMethods(); + this.selectEnumByCategoryForOrderType(); + this.selectDepartmentEnum(); + // this.selectEnumByCategoryForSonLaboratory() + this.selectEnumByCategoryForSampleForm(); + if (this.active != 1) { + // 鏌ョ湅/瀹℃牳娴佺▼ + // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹� + this.$axios + .post(this.$api.insOrder.getInsOrder, { orderId: this.currentId - }).then(res => { + }) + .then(res => { this.addObj = { ...res.data.insOrder }; - if(this.addObj.rule){ - if(this.addObj.rule=='涓嶈�冭檻涓嶇‘瀹氬害'){ - this.ruleInfo.rule = 1 - }else{ - this.ruleInfo.rule = 2 - this.ruleInfo.num = this.addObj.rule.split('-')[1] + if (this.addObj.rule) { + if (this.addObj.rule == "涓嶈�冭檻涓嶇‘瀹氬害") { + this.ruleInfo.rule = 1; + } else { + this.ruleInfo.rule = 2; + this.ruleInfo.num = this.addObj.rule.split("-")[1]; } } - this.addObj.type = String(this.addObj.type) - this.sampleList = this.HaveJson(res.data.sampleProduct) - this.sampleList.forEach(m=>{ - m.standardMethodListId = JSON.parse(m.standardMethodListId) + this.addObj.type = String(this.addObj.type); + this.sampleList = this.HaveJson(res.data.sampleProduct); + this.sampleList.forEach(m => { + m.standardMethodListId = JSON.parse(m.standardMethodListId); }); - this.getProNum() - this.addObj.sampleNum = this.sampleList.length + this.getProNum(); + this.addObj.sampleNum = this.sampleList.length; this.$nextTick(() => { - this.$refs.sampleTable.doLayout() + this.$refs.sampleTable.doLayout(); if (this.addObj.sampleNum > 0) { - this.$refs.sampleTable.setCurrentRow(this.sampleList[0], true) - this.rowClick(this.sampleList[0]) + this.$refs.sampleTable.setCurrentRow(this.sampleList[0], true); + this.rowClick(this.sampleList[0]); } - }) - }) - // 鏂囦欢淇℃伅 - this.componentData0.entity.insOrderId = this.currentId; - this.$refs.fileList.selectList() + }); + }); + // 鏂囦欢淇℃伅 + this.componentData0.entity.insOrderId = this.currentId; + this.$refs.fileList.selectList(); + } + }, + methods: { + lookFile(row) { + this.currentFile = row; + if (row.type == 1) { + this.currentFile.url = this.javaApi + "/img/" + row.fileUrl; + } else { + this.currentFile.url = this.javaApi + "/word/" + row.fileUrl; } + this.lookFileVisible = true; }, - methods: { - lookFile(row){ - this.currentFile = row; - if(row.type==1){ - this.currentFile.url = this.javaApi+'/img/'+row.fileUrl - }else{ - this.currentFile.url = this.javaApi+'/word/'+row.fileUrl - } - this.lookFileVisible = true - }, - handleDown(row){ - this.$axios.post(this.$api.insOrderPlan.downFile, { - id: row.id, - }).then(res => { + handleDown(row) { + this.$axios + .post(this.$api.insOrderPlan.downFile, { + id: row.id + }) + .then(res => { if (res.code === 200) { - let url = ''; - if(res.data.type==1){ - url = this.javaApi+'/img/'+res.data.fileUrl - file.downloadIamge(url,row.fileName) - }else{ - url = this.javaApi+'/word/'+res.data.fileUrl - const link = document.createElement('a'); + let url = ""; + if (res.data.type == 1) { + url = this.javaApi + "/img/" + res.data.fileUrl; + file.downloadIamge(url, row.fileName); + } else { + url = this.javaApi + "/word/" + res.data.fileUrl; + const link = document.createElement("a"); link.href = url; link.download = row.fileName; link.click(); } } - }).catch(error => { - }) - }, - handleChangeUpload(file, fileLists){ - this.fileList = fileLists - }, - //鐗规畩鍊煎~鍐欏鐞� - inputValueHandler(row,index){ - if(row){ - const nextIndex = index+1 - console.log(nextIndex, this.editTable) - for (let i = nextIndex; i < this.editTable.length; i++) { - const element = this.editTable[i]; - if(element.model==row.model&&row.symbolItem==element.symbolItem){ - this.editTable[i].value = row.value - } + .catch(error => {}); + }, + handleChangeUpload(file, fileLists) { + this.fileList = fileLists; + }, + //鐗规畩鍊煎~鍐欏鐞� + inputValueHandler(row, index) { + if (row) { + const nextIndex = index + 1; + console.log(nextIndex, this.editTable); + for (let i = nextIndex; i < this.editTable.length; i++) { + const element = this.editTable[i]; + if ( + element.model == row.model && + row.symbolItem == element.symbolItem + ) { + this.editTable[i].value = row.value; } } - - }, - spliceData () { - if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) { - this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') - return - } - // 鎷兼帴瑕佹眰鍊糰sk - const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList)) - opticalProjectList.forEach(o => { - o.temperatureData.forEach(t => { - if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { - throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') - } - }) - if (!o.temperatureData.some(item => item.temperaturePoint == '20')) { - throw this.$message.error(`${o.value + '娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣'}`) + } + }, + spliceData() { + if ( + !this.circulateForm.entrustNum || + !this.circulateForm.entrustTime || + !this.circulateForm.entrustPoint || + this.opticalProjectList.length === 0 || + this.temperatureData.length === 0 + ) { + this.$message.error("璇峰~鍐欏畬鏁存暟鎹�"); + return; + } + // 鎷兼帴瑕佹眰鍊糰sk + const opticalProjectList = JSON.parse( + JSON.stringify(this.opticalProjectList) + ); + opticalProjectList.forEach(o => { + o.temperatureData.forEach(t => { + if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { + throw this.$message.error("璇峰~鍐欏畬鏁存暟鎹�"); } - }) - let entrustTime = this.circulateForm.entrustTime - let entrustNum = this.circulateForm.entrustNum - let opticalProjectList2 = JSON.parse(JSON.stringify(this.opticalProjectList)) - let askArr = [] - let opticalProjectArr = [] - opticalProjectList.forEach(o => { - opticalProjectArr.push(o.value) - o.temperatureData.unshift({temperaturePoint: 20}) - o.temperatureData.forEach(t => { - if (!t.askSymbol) { - const askObj = t.temperaturePoint + '鈩�(甯告俯)' + ',' + o.value + ',' + null - askArr.push(askObj) - } else { - const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + t.askSymbol + t.askNum - askArr.push(askObj) - } - }) - }) - askArr.push(this.circulateForm.entrustNum) - const ask = askArr.join(';') - // 鎷兼帴瑕佹眰鎻忚堪tell - let askNum = [] - let temperaturePointList = [] - let temperaturePointList2 = [] - entrustTime = entrustTime + 'h' - entrustNum = entrustNum + '娆�' - opticalProjectList2.forEach(o => { - o.temperatureData.forEach(t => { - t.temperaturePoint = t.temperaturePoint + '鈩�' - temperaturePointList2.push(t.temperaturePoint) - temperaturePointList.push(t.temperaturePoint) - askNum.push(t.askSymbol + t.askNum + 'dB/Km') - }) - }) - temperaturePointList = Array.from(new Set(temperaturePointList)) - temperaturePointList2 = Array.from(new Set(temperaturePointList2)) - temperaturePointList2.unshift(20 + '鈩�(甯告俯)') - let additionArr = [] - askNum.forEach(a => { - additionArr.push(temperaturePointList.join(',') + a) - }) - additionArr = Array.from(new Set(additionArr)) - const tell = '娓╁害鑼冨洿:' + temperaturePointList2.join(',') + ';' + '淇濇俯鏃堕棿:' + entrustTime + ';' + '寰幆娆℃暟:' - + entrustNum + ';' + '鍏夌氦(' + opticalProjectArr.join(',') + ')' + '闄勫姞琛板噺缁濆鍊�:' + additionArr.join(';') - this.productList.forEach(item => { - if (item.inspectionItem === '娓╁害寰幆') { - item.ask = ask - item.tell = tell - } - }) - this.circulateShow = false - this.changeProductList0() - if(this.sampleSelectionList.length>0){ - this.sampleSelectionList.forEach(item=>{ - item.insProduct = this.productList0 - }) - }else{ - this.currentMethod.insProduct = this.productList0 + }); + if (!o.temperatureData.some(item => item.temperaturePoint == "20")) { + throw this.$message.error(`${o.value + "娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣"}`); } - this.getProNum() - }, - spliceTemperatureTest () { - if (this.temperatureTest.length === 0) { - this.$message.error('璇烽�夋嫨') - return - } - let askStr = '' - let askArr1 = [] - let askArr2 = '' - let ask = '' - let index = '' - this.temperatureTest.map(val => { - index = this.temperatureEngList.findIndex(item => item.label === val) - if (index > -1) { - askStr = val + ',' + this.temperatureEngList[index].value - } - askArr1.push(askStr) - }) - - if (this.temperatureTitle === '娓╁崌璇曢獙瑕佹眰濉啓') { - askArr2 = askArr1.join(';') - ask = askArr2 + ';1' - } else { - if (!this.temperatureTestNum) { - this.$message.error('璇峰~鍐欏惊鐜鏁�') - return - } - askArr2 = askArr1.join(';') - ask = askArr2 + ';' + this.temperatureTestNum - } - this.productList.forEach(item => { - if (item.id === this.temId) { - item.ask = ask - item.tell = ask - } - }) - // console.log('ask---', ask) - this.temperatureShow = false - }, - temperatureShowClose () { - if (this.temperatureTitle === '鐑惊鐜姹傚~鍐�' && !this.temperatureTestNum) { - this.$message.error('璇峰~鍐欏惊鐜鏁�') - return - } - if (this.temperatureTest.length === 0) { - this.$message.error('璇烽�夋嫨') - return - } - this.spliceTemperatureTest() - }, - savePowerTest(){ - if(!this.powerTable.every(m=>m.ask)) - { - this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') - } - let num = 0; - let sampleList = this.HaveJson(this.sampleList) - sampleList.forEach(item=>{ - item.insProduct.forEach(m=>{ - if(m.inspectionItem.includes('鍔熺巼璇曢獙')&&m.state==1){ - m.ask = '绔彛鏁�:'+this.powerTable[num].ask - num++ - } - }) - }) - this.saveMethod(sampleList) - this.powerShow = false; - }, - cleanTemperatureTest () { - this.temperatureTest = [] - this.temperatureTestNum = '' - this.temperatureShow = false - }, - cleanSpliceData () { - this.circulateForm.entrustNum = null - this.circulateForm.entrustTime = null - this.circulateForm.entrustPoint = null - this.opticalProjectList = [] - this.$refs.multipleTable.clearSelection() - this.temperatureData = [] - this.circulateShow = false - }, - beforeCirculateShowClose () { - if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) { - this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') - return - } - // 鎷兼帴瑕佹眰鍊糰sk - const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList)) - opticalProjectList.forEach(o => { - o.temperatureData.forEach(t => { - if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { - throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') - } - }) - if (!o.temperatureData.some(item => item.temperaturePoint == '20')) { - throw this.$message.error(`${o.value + '娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣'}`) - } - }) - this.spliceData() - }, - - handleTemperatureTestChange (value) { - // console.log('value---', value) - }, - handleSelectionChange(val) { - this.opticalProjectList = val; - }, - selectAllOptical (val) { - if (val.length > 0) { - if (val[val.length-1].temperatureData) { - this.temperatureData = this.HaveJson(val.temperatureData) + }); + let entrustTime = this.circulateForm.entrustTime; + let entrustNum = this.circulateForm.entrustNum; + let opticalProjectList2 = JSON.parse( + JSON.stringify(this.opticalProjectList) + ); + let askArr = []; + let opticalProjectArr = []; + opticalProjectList.forEach(o => { + opticalProjectArr.push(o.value); + o.temperatureData.unshift({ temperaturePoint: 20 }); + o.temperatureData.forEach(t => { + if (!t.askSymbol) { + const askObj = + t.temperaturePoint + "鈩�(甯告俯)" + "," + o.value + "," + null; + askArr.push(askObj); } else { - this.temperatureData = [] + const askObj = + t.temperaturePoint + + "鈩�" + + "," + + o.value + + "," + + t.askSymbol + + t.askNum; + askArr.push(askObj); } + }); + }); + askArr.push(this.circulateForm.entrustNum); + const ask = askArr.join(";"); + // 鎷兼帴瑕佹眰鎻忚堪tell + let askNum = []; + let temperaturePointList = []; + let temperaturePointList2 = []; + entrustTime = entrustTime + "h"; + entrustNum = entrustNum + "娆�"; + opticalProjectList2.forEach(o => { + o.temperatureData.forEach(t => { + t.temperaturePoint = t.temperaturePoint + "鈩�"; + temperaturePointList2.push(t.temperaturePoint); + temperaturePointList.push(t.temperaturePoint); + askNum.push(t.askSymbol + t.askNum + "dB/Km"); + }); + }); + temperaturePointList = Array.from(new Set(temperaturePointList)); + temperaturePointList2 = Array.from(new Set(temperaturePointList2)); + temperaturePointList2.unshift(20 + "鈩�(甯告俯)"); + let additionArr = []; + askNum.forEach(a => { + additionArr.push(temperaturePointList.join(",") + a); + }); + additionArr = Array.from(new Set(additionArr)); + const tell = + "娓╁害鑼冨洿:" + + temperaturePointList2.join(",") + + ";" + + "淇濇俯鏃堕棿:" + + entrustTime + + ";" + + "寰幆娆℃暟:" + + entrustNum + + ";" + + "鍏夌氦(" + + opticalProjectArr.join(",") + + ")" + + "闄勫姞琛板噺缁濆鍊�:" + + additionArr.join(";"); + this.productList.forEach(item => { + if (item.inspectionItem === "娓╁害寰幆") { + item.ask = ask; + item.tell = tell; + } + }); + this.circulateShow = false; + this.changeProductList0(); + if (this.sampleSelectionList.length > 0) { + this.sampleSelectionList.forEach(item => { + item.insProduct = this.productList0; + }); + } else { + this.currentMethod.insProduct = this.productList0; + } + this.getProNum(); + }, + spliceTemperatureTest() { + if (this.temperatureTest.length === 0) { + this.$message.error("璇烽�夋嫨"); + return; + } + let askStr = ""; + let askArr1 = []; + let askArr2 = ""; + let ask = ""; + let index = ""; + this.temperatureTest.map(val => { + index = this.temperatureEngList.findIndex(item => item.label === val); + if (index > -1) { + askStr = val + "," + this.temperatureEngList[index].value; + } + askArr1.push(askStr); + }); + + if (this.temperatureTitle === "娓╁崌璇曢獙瑕佹眰濉啓") { + askArr2 = askArr1.join(";"); + ask = askArr2 + ";1"; + } else { + if (!this.temperatureTestNum) { + this.$message.error("璇峰~鍐欏惊鐜鏁�"); + return; + } + askArr2 = askArr1.join(";"); + ask = askArr2 + ";" + this.temperatureTestNum; + } + this.productList.forEach(item => { + if (item.id === this.temId) { + item.ask = ask; + item.tell = ask; + } + }); + // console.log('ask---', ask) + this.temperatureShow = false; + }, + temperatureShowClose() { + if ( + this.temperatureTitle === "鐑惊鐜姹傚~鍐�" && + !this.temperatureTestNum + ) { + this.$message.error("璇峰~鍐欏惊鐜鏁�"); + return; + } + if (this.temperatureTest.length === 0) { + this.$message.error("璇烽�夋嫨"); + return; + } + this.spliceTemperatureTest(); + }, + savePowerTest() { + if (!this.powerTable.every(m => m.ask)) { + this.$message.error("璇峰~鍐欏畬鏁存暟鎹�"); + } + let num = 0; + let sampleList = this.HaveJson(this.sampleList); + sampleList.forEach(item => { + item.insProduct.forEach(m => { + if (m.inspectionItem.includes("鍔熺巼璇曢獙") && m.state == 1) { + m.ask = "绔彛鏁�:" + this.powerTable[num].ask; + num++; + } + }); + }); + this.saveMethod(sampleList); + this.powerShow = false; + }, + cleanTemperatureTest() { + this.temperatureTest = []; + this.temperatureTestNum = ""; + this.temperatureShow = false; + }, + cleanSpliceData() { + this.circulateForm.entrustNum = null; + this.circulateForm.entrustTime = null; + this.circulateForm.entrustPoint = null; + this.opticalProjectList = []; + this.$refs.multipleTable.clearSelection(); + this.temperatureData = []; + this.circulateShow = false; + }, + beforeCirculateShowClose() { + if ( + !this.circulateForm.entrustNum || + !this.circulateForm.entrustTime || + !this.circulateForm.entrustPoint || + this.opticalProjectList.length === 0 || + this.temperatureData.length === 0 + ) { + this.$message.error("璇峰~鍐欏畬鏁存暟鎹�"); + return; + } + // 鎷兼帴瑕佹眰鍊糰sk + const opticalProjectList = JSON.parse( + JSON.stringify(this.opticalProjectList) + ); + opticalProjectList.forEach(o => { + o.temperatureData.forEach(t => { + if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { + throw this.$message.error("璇峰~鍐欏畬鏁存暟鎹�"); + } + }); + if (!o.temperatureData.some(item => item.temperaturePoint == "20")) { + throw this.$message.error(`${o.value + "娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣"}`); + } + }); + this.spliceData(); + }, + + handleTemperatureTestChange(value) { + // console.log('value---', value) + }, + handleSelectionChange(val) { + this.opticalProjectList = val; + }, + selectAllOptical(val) { + if (val.length > 0) { + if (val[val.length - 1].temperatureData) { + this.temperatureData = this.HaveJson(val.temperatureData); } else { - this.temperatureData = [] + this.temperatureData = []; } - this.circulateForm.entrustPoint = this.temperatureData.length - }, - selectOpticalProject (val) { - if (val.temperatureData) { - this.temperatureData = this.HaveJson(val.temperatureData) - } else { - this.temperatureData = [] + } else { + this.temperatureData = []; + } + this.circulateForm.entrustPoint = this.temperatureData.length; + }, + selectOpticalProject(val) { + if (val.temperatureData) { + this.temperatureData = this.HaveJson(val.temperatureData); + } else { + this.temperatureData = []; + } + this.circulateForm.entrustPoint = this.temperatureData.length; + }, + rowClickOptical(val) { + const index = this.opticalProjectList.findIndex( + item => item.value === val.value + ); + if (index > -1 && val.temperatureData) { + this.temperatureData = this.HaveJson(val.temperatureData); + } + this.circulateForm.entrustPoint = this.temperatureData.length; + }, + changeTemperature() { + this.opticalProjectList.forEach(item => { + item.temperatureData = this.HaveJson(this.temperatureData); + }); + }, + addTemperatureData() { + const obj = {}; + this.temperatureData.push(obj); + this.circulateForm.entrustPoint = this.temperatureData.length; + }, + deleteTemperatureData() { + if (this.temperatureData.length > 0) { + this.temperatureData = this.temperatureData.slice(0, -1); + } + this.circulateForm.entrustPoint = this.temperatureData.length; + }, + changeTemperatureData() { + const length = this.temperatureData.length; + const entrustPoint = Number(this.circulateForm.entrustPoint); + if (entrustPoint > length) { + for (let i = 0; i < entrustPoint - length; i++) { + const obj = {}; + this.temperatureData.push(obj); } - this.circulateForm.entrustPoint = this.temperatureData.length - }, - rowClickOptical (val) { - const index = this.opticalProjectList.findIndex(item => item.value === val.value) - if (index > -1 && val.temperatureData) { - this.temperatureData = this.HaveJson(val.temperatureData) + } else if (entrustPoint < length) { + const deleteNum = length - entrustPoint; + this.temperatureData = this.temperatureData.slice(0, -deleteNum); + } + }, + changeProductList0() { + this.productList0.forEach(a => { + let obj = this.productList.find(m => m.id == a.id); + if (obj) { + a.state = obj.state; + a.section = obj.section; + a.ask = obj.ask; + a.manHour = obj.manHour; + a.price = obj.price; + a.tell = obj.tell; } - this.circulateForm.entrustPoint = this.temperatureData.length - }, - changeTemperature () { - this.opticalProjectList.forEach(item => { - item.temperatureData = this.HaveJson(this.temperatureData) - }) - }, - addTemperatureData () { - const obj = {} - this.temperatureData.push(obj) - this.circulateForm.entrustPoint = this.temperatureData.length - }, - deleteTemperatureData () { - if (this.temperatureData.length > 0) { - this.temperatureData = this.temperatureData.slice(0,-1) + if (a.state == 0 && a.bsmRow) { + a = this.HaveJson(a.bsmRow); } - this.circulateForm.entrustPoint = this.temperatureData.length - }, - changeTemperatureData () { - const length = this.temperatureData.length - const entrustPoint = Number(this.circulateForm.entrustPoint) - if (entrustPoint > length) { - for (let i = 0; i < (entrustPoint - length); i++) { - const obj = {} - this.temperatureData.push(obj) + }); + }, + 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]); + }); } - } else if (entrustPoint < length) { - const deleteNum = length - entrustPoint - this.temperatureData = this.temperatureData.slice(0,-deleteNum) } - }, - changeProductList0(){ - this.productList0.forEach(a=>{ - let obj = this.productList.find(m => m.id == a.id) - if(obj){ - a.state = obj.state - a.section = obj.section - a.ask = obj.ask - a.manHour = obj.manHour - a.price = obj.price - a.tell = obj.tell - } - if(a.state == 0&&a.bsmRow){ - a = this.HaveJson(a.bsmRow) - } - }) - }, - searchFilterList () { - const vtw = { - inspectionItem: this.inspectionItem, // 妫�楠岄」 - inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」 - methodS: this.methodS, // 璇曢獙鏂规硶 - } - const isHaveValue = Object.values(vtw).some(item => { - return item - }) - this.changeProductList0() - if (isHaveValue) { - for(let i in vtw) { - if (vtw[i]) { - this.productList = this.productList0.filter((item) => { - return item[i] && item[i].includes(vtw[i]) - }) - } - } - this.$nextTick(()=>{ - this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) - }) - }) - } else { - // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹� - this.productList = this.productList0 - this.$nextTick(()=>{ - this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) - }) - }) - } - }, - getAuthorizedPerson() { - this.$axios.get(this.$api.user.getUserMenu).then(res => { - let data = [] - res.data.forEach(a => { - data.push({ - label: a.name, - value: a.id - }) - }) - this.personList = data - }) - }, - selectEnumByCategoryForType() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + this.$nextTick(() => { + this.productList.forEach(a => { + if (a.state == 1) this.toggleSelection(a); + }); + }); + } else { + // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹� + this.productList = this.productList0; + this.$nextTick(() => { + this.productList.forEach(a => { + if (a.state == 1) this.toggleSelection(a); + }); + }); + } + }, + getAuthorizedPerson() { + this.$axios.get(this.$api.user.getUserMenu).then(res => { + let data = []; + res.data.forEach(a => { + data.push({ + label: a.name, + value: a.id + }); + }); + this.personList = data; + }); + }, + selectEnumByCategoryForType() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "绱ф�ョ▼搴�" - }).then(res => { - this.type = res.data }) - }, - selectUser() { - let selects = this.$refs.ValueTable2.multipleSelection - if (selects.length == 0) { - this.$message.error('鏈�夋嫨鏁版嵁') - return + .then(res => { + this.type = res.data; + }); + }, + selectUser() { + let selects = this.$refs.ValueTable2.multipleSelection; + if (selects.length == 0) { + this.$message.error("鏈�夋嫨鏁版嵁"); + return; + } + if (this.createState == 1) { + this.addObj.company = selects.company; + this.addObj.code = selects.code; + this.addObj.companyId = selects.id; + if (this.active == 1) { + this.selectInsOrderTemplate(); } - if(this.createState==1){ - this.addObj.company = selects.company - this.addObj.code = selects.code - this.addObj.companyId = selects.id - if(this.active==1){ - this.selectInsOrderTemplate() + } else if (this.createState == 2) { + this.addObj.production = selects.company; + // 濡傛灉閫夋嫨鐨勫崟浣嶆槸娌℃湁瀵瑰簲鐨勮嫳鏂囧悕绉板氨鐢�'/'浠f浛 + if (!selects.companyEn) { + this.addObj.productionEn = "/"; + } else { + this.addObj.productionEn = selects.companyEn; + } + } + this.selectUserDia = false; + }, + containsValue(str) { + if (str) { + let symbolItem = ""; + this.symbolList.some(value => { + if (str.includes(value)) { + symbolItem = value; + return true; } - }else if(this.createState==2){ - this.addObj.production = selects.company - // 濡傛灉閫夋嫨鐨勫崟浣嶆槸娌℃湁瀵瑰簲鐨勮嫳鏂囧悕绉板氨鐢�'/'浠f浛 - if (!selects.companyEn) { - this.addObj.productionEn = '/' - } else { - this.addObj.productionEn = selects.companyEn - } - } - this.selectUserDia = false - }, - 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 = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"]; - 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 { - // 鍗曚釜鏉′欢 - let index = code.findIndex(b => ask.includes(b)) + }); + return symbolItem; + } + }, + handleAsk(ask, symbolItem, value) { + try { + let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"]; + if (ask.includes("&")) { + // 澶氫釜鏉′欢 + let arr0 = ask.split("&"); + let arr1 = []; + arr0.forEach(m => { + let index = code.findIndex(b => m.includes(b)); if (index > -1) { - let arr = ask.split(code[index]).filter(b => !!b) - let num = eval(this.replaceAll(arr[0], symbolItem, value)) - return code[index] + '' + num + 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 { + // 鍗曚釜鏉′欢 + 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){} - }, - handleTell(tell,symbolItem, value){ - try{ - let num = this.replaceAll(tell, symbolItem, value) - return num - }catch(e){} - }, - replaceAll(str,find,value) { - if (str === undefined) { - return str } - return str.replace(find, value); - }, - save() { - if(this.addObj.orderType=='C'&&this.addObj.departmentLimsId){ - this.addObj.departmentLims = this.deaprtEnum.find(m=>m.id==this.addObj.departmentLimsId).name - }else if(this.addObj.orderType&&this.addObj.orderType!='C'&&!this.addObj.departmentLimsId){ - this.addObj.departmentLims = '妫�娴嬩腑蹇�' - this.addObj.departmentLimsId = this.deaprtEnum.find(m=>m.name=='妫�娴嬩腑蹇�').id - } - // else{ - // this.$message.error('璇烽�夋嫨妫�楠岀被鍒�') - // return + } catch (e) {} + }, + handleTell(tell, symbolItem, value) { + try { + let num = this.replaceAll(tell, symbolItem, value); + return num; + } catch (e) {} + }, + replaceAll(str, find, value) { + if (str === undefined) { + return str; + } + return str.replace(find, value); + }, + save() { + if (this.addObj.orderType == "C" && this.addObj.departmentLimsId) { + this.addObj.departmentLims = this.deaprtEnum.find( + m => m.id == this.addObj.departmentLimsId + ).name; + } else if ( + this.addObj.orderType && + this.addObj.orderType != "C" && + !this.addObj.departmentLimsId + ) { + this.addObj.departmentLims = "妫�娴嬩腑蹇�"; + this.addObj.departmentLimsId = this.deaprtEnum.find( + m => m.name == "妫�娴嬩腑蹇�" + ).id; + } + // else{ + // this.$message.error('璇烽�夋嫨妫�楠岀被鍒�') + // return + // } + if (!this.addObj.companyId) { + this.$message.error("鏈�夋嫨瀹㈡埛鍗曚綅"); + return; + } + let noLaboratory = this.totalArr.filter( + a => a.state == 1 && !a.sonLaboratory + ); + if (noLaboratory.length > 0) { + let str = ""; + noLaboratory.forEach((m, j) => { + str += + j == noLaboratory.length - 1 + ? m.inspectionItem + "-" + m.inspectionItemSubclass + : m.inspectionItem + "-" + m.inspectionItemSubclass + ","; + }); + this.$message.error(str + "娌℃湁鍏宠仈瀹為獙瀹ゅ锛岃鑱旂郴绠$悊鍛�"); + return; + } + if (!this.addObj.type) { + this.$message.error("鏈�夋嫨绱ф�ョ▼搴�"); + } else if (!this.addObj.formType) { + this.$message.error("璇疯緭鍏ヨ鍗曠被鍨�"); + } else if (!this.addObj.orderType) { + this.$message.error("璇烽�夋嫨妫�楠岀被鍒�"); + } else if (!this.addObj.production) { + this.$message.error("璇疯緭鍏ョ敓浜у崟浣�"); + } else if (!this.addObj.productionEn) { + this.$message.error("璇疯緭鍏ョ敓浜у崟浣岴N"); + } else if (!this.addObj.departmentLimsId) { + this.$message.error("閫夋嫨涓嬪崟鍒板摢涓儴闂�"); + } else if (this.sampleList.length < 1) { + this.$message.error("璇锋坊鍔犱竴涓牱鍝�"); + } else if (!this.sampleList.every(m => m.sample)) { + this.$message.error("璇疯緭鍏ユ牱鍝佸悕绉�"); + } else if (!this.sampleList.every(m => m.model)) { + this.$message.error("璇疯緭鍏ユ牱鍝佸瀷鍙�"); + } else if (!this.addObj.appointed) { + this.$message.error("璇烽�夋嫨绾﹀畾鏃堕棿"); + } else if ( + !this.sampleList.every( + m => m.standardMethodListId && m.standardMethodListId.length > 0 + ) + ) { + this.$message.error("璇烽�夋嫨妫�楠屾爣鍑�"); + } else if ( + this.addObj.formType && + this.addObj.formType != "鍏朵粬鎴愬搧" && + !this.addObj.issueUser + ) { + this.$message.error("璇烽�夋嫨閫氱煡鑷虫牱鏈哄憳"); + } else if ( + this.addObj.formType && + this.addObj.formType != "鍏朵粬鎴愬搧" && + !this.addObj.issueTime + ) { + this.$message.error("璇烽�夋嫨鏍锋満瀹屾垚鏃堕棿"); + } else { + //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹� + // if(this.active==1&&this.isAskOnlyRead){ + // const isTrue = this.checkRequiredValueAndRemark(filterProductList) + // if(!isTrue){ + // this.$message.error('妫�楠岄」鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�') + // return + // } // } - if (!this.addObj.companyId) { - this.$message.error('鏈�夋嫨瀹㈡埛鍗曚綅') - return - } - let noLaboratory = this.totalArr.filter(a => a.state == 1&&!a.sonLaboratory) - if(noLaboratory.length>0){ - let str = '' - noLaboratory.forEach((m,j)=>{ - str += j==noLaboratory.length-1?m.inspectionItem+'-'+m.inspectionItemSubclass:m.inspectionItem+'-'+m.inspectionItemSubclass+',' - }) - this.$message.error(str+'娌℃湁鍏宠仈瀹為獙瀹ゅ锛岃鑱旂郴绠$悊鍛�') - return - } - if (!this.addObj.type) { - this.$message.error('鏈�夋嫨绱ф�ョ▼搴�') - } else if (!this.addObj.formType) { - this.$message.error('璇疯緭鍏ヨ鍗曠被鍨�') - } else if (!this.addObj.orderType) { - this.$message.error('璇烽�夋嫨妫�楠岀被鍒�') - } else if (!this.addObj.production) { - this.$message.error('璇疯緭鍏ョ敓浜у崟浣�') - } else if (!this.addObj.productionEn) { - this.$message.error('璇疯緭鍏ョ敓浜у崟浣岴N') - }else if (!this.addObj.departmentLimsId) { - this.$message.error('閫夋嫨涓嬪崟鍒板摢涓儴闂�') - } else if (this.sampleList.length < 1) { - this.$message.error('璇锋坊鍔犱竴涓牱鍝�') - } else if (!this.sampleList.every(m => m.sample)) { - this.$message.error('璇疯緭鍏ユ牱鍝佸悕绉�') - } else if (!this.sampleList.every(m => m.model)) { - this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�') - }else if (!this.addObj.appointed) { - this.$message.error('璇烽�夋嫨绾﹀畾鏃堕棿') - }else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) { - this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�') - } else if(this.addObj.formType&&this.addObj.formType!='鍏朵粬鎴愬搧'&&!this.addObj.issueUser){ - this.$message.error('璇烽�夋嫨閫氱煡鑷虫牱鏈哄憳') - }else if(this.addObj.formType&&this.addObj.formType!='鍏朵粬鎴愬搧'&&!this.addObj.issueTime){ - this.$message.error('璇烽�夋嫨鏍锋満瀹屾垚鏃堕棿') - }else{ - //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹� - // if(this.active==1&&this.isAskOnlyRead){ - // const isTrue = this.checkRequiredValueAndRemark(filterProductList) - // if(!isTrue){ - // this.$message.error('妫�楠岄」鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�') - // return - // } - // } - 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 - } + 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; } } } } + } - let index0 = sampleList.findIndex(m=>!m.sample) - if(index0>-1) return this.$message.error('璇峰~鍐欐牱鍝佸悕绉�') - let index1 = sampleList.findIndex(m=>!m.modelNum) - if(index1>-1) return this.$message.error('璇峰~鍐欎骇鍝佸瀷鍙�') + let index0 = sampleList.findIndex(m => !m.sample); + if (index0 > -1) return this.$message.error("璇峰~鍐欐牱鍝佸悕绉�"); + let index1 = sampleList.findIndex(m => !m.modelNum); + if (index1 > -1) return this.$message.error("璇峰~鍐欎骇鍝佸瀷鍙�"); - - let projectNum = this.totalArr.filter(a => a.state == 1).length - if(projectNum==0){ - // this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", { - // confirmButtonText: "纭畾", - // cancelButtonText: "鍙栨秷", - // type: "warning" - // }).then(() => { - // this.saveMethod(sampleList) - // }).catch(() => {}) - return this.$message.error('璇锋坊鍔犳楠岄」鐩�') - }else{ - let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask&&a.ask.includes(b)) && a.state == 1) - if (isRTS&&this.PROJECT=='妫�娴嬩腑蹇�') { - this.editTable = this.handleData(sampleList,this.containsValue, 0) - this.editTable.forEach(item => { - item.value = item.modelNum - }) - this.bsm3Dia = true; - return - } - let isPower = this.totalArr.find(a => a.inspectionItem.includes('鍔熺巼璇曢獙')&&a.state==1) - if (isPower) { - this.powerTable = this.totalArr.filter(a => a.inspectionItem.includes('鍔熺巼璇曢獙')&&a.state==1) - this.powerTable.forEach(a => { - a.ask = null - }) - this.powerShow = true; - return - } - this.saveMethod(sampleList) - } - } - }, - /** - * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊� - * - */ - checkRequiredValueAndRemark(data){ - let isTrue = true - try{ - data.forEach(ele=>{ - //鍒ゆ柇锛堚墹,鈮�,>,<,=锛夎繖鍑犵鎯呭喌 - //鍒ゆ柇瑕佹眰鍊间腑鐨勬暟瀛楁槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓� - if(['鈮�','鈮�','>','<','='].includes(ele.ask[0])){ - const askVal = ele.ask.substring(1,ele.ask.length) - if(isNaN(askVal) || ele.tell.indexOf(askVal)<0){ - console.log(1111); - isTrue = false - } - } - //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸- - if(ele.ask.indexOf('-')>0 && ele.ask.length>1){ - //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁� - let tell = ele.tell - if(ele.tell.indexOf('~')>0 || ele.tell.indexOf('锛�') || ele.tell.indexOf('锛�')){ - tell = tell.replace('~','-') - tell = tell.replace('锛�','(') - tell = tell.replace('锛�',')') - } - const splits = ele.ask.split('-') - //婊¤冻鏍煎紡瑕佹眰锛屽苟涓斾袱涓兘鏄暟瀛� - if(splits.length==2 && !isNaN(splits[0]) && !isNaN(splits[1])){ - /** - * 鍒ゆ柇鎯呭喌 - * 1.瑕佹眰鎻忚堪涓庤姹傛弿杩扮浉鍚� - * 2.瑕佹眰鎻忚堪鍖呭惈瑕佹眰鍊� - * 3.瑕佹眰鎻忚堪涓�3N-10N杩欑鎯呭喌 - * 4.瑕佹眰鎻忚堪涓�10卤5杩欑鎯呭喌 - * 5. - */ - let min = Math.min(...splits) - let max = Math.max(...splits) - if(min==max){ - isTrue = false - } - //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse - if(tell.indexOf('卤')<0&&tell.indexOf('-')<0){ - console.log(3333,ele); - console.log(3333333,tell,tell.indexOf('卤')<0,tell.indexOf('-')<0); - isTrue = false - }else if(ele.tell.indexOf('-')==0){ - console.log(4444); - isTrue = false - }else if(tell.indexOf('-')>0){ - if(tell.indexOf('卤')>0){ - ////鏍¢獙瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鍐欐硶鐨勬儏鍐� - const num = tell.split('卤')[1] - const startIndex = tell.indexOf('(') - const endIndex = tell.indexOf(')') - if(startIndex>-1 && endIndex>0 ){ - const str = tell.substring(startIndex,endIndex) - if(str && str.indexOf('-')>0){ - let strList = str.split('-') - const minNum = Number(strList[0]-num) - const maxNum = Number(strList[1]+num) - if(minNum>min || maxNum<max){ - console.log(555555); - isTrue = false - } - } - }else{ - //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐� - let splitNums = ele.tell.split('卤') - if(splitNums.length<2){ - console.log(66666); - isTrue = false - }else{ - let minTell = Number(splitNums[0])-Number(splitNums[1]) - let maxTell = Number(splitNums[0])+Number(splitNums[1]) - if(minTell!=min || maxTell!=max){ - console.log(7777777); - isTrue = false - } - } - } - }else{ - const splitTells = tell.split('-') - if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){ - console.log(88888888); - isTrue = false - } - } - } - }else{ - console.log(89999999); - isTrue = false - } - } - // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){ - // //鍒ゆ柇 - // } - }) - }catch(error){ - console.log(error); - isTrue = false - } - return isTrue - }, - save0(){ - if(this.editTable.every(m=>m.value)){ - let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) - 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&&a.ask.includes(arr[i].symbolItem)){ - let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value) - if (ask) { - a.ask = ask - } - let tell = this.handleTell(a.tell, arr[i].symbolItem,arr[i].value) - if (tell) { - a.tell = tell - } - } - }else{ - // this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') - } - } - // arr.forEach(f => { - // if(a.ask){ - // if(a.ask.includes(f.symbolItem)){ - // let ask = calBack(a.ask, f.symbolItem,f.value) - // if (ask) { - // a.ask = ask - // } - // let tell = this.handleTell(a.tell, f.symbolItem,f.value) - // if (tell) { - // a.tell = tell - // } - // } - // }else{} - // }) - } - } - }) - } - // 鍏夌氦甯﹂」鐩� - if (item.bushing && item.bushing.length > 0) { - item.bushing.forEach(a => { - if (a.fiber && a.fiber.length > 0) { - a.fiber.forEach(b => { - if (b.productList && b.productList.length > 0) { - b.productList.forEach(c => { - if (c.state == 1) { - if(type==0){ - let str = calBack(c.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:c.inspectionItem, - }) - }else if(type==1){ - let arr = this.editTable.filter(b => b.sampleId == item.id) - arr.forEach(f => { - if(c.ask.includes(f.symbolItem)){ - let ask = calBack(c.ask, f.symbolItem,f.value) - if (ask) { - c.ask = ask - } - let tell = this.handleTell(c.tell, f.symbolItem,f.value) - if (tell) { - c.tell = tell - } - } - }) - } - } - }) - } - }) - } - if (a.fibers && a.fibers.length > 0) { - a.fibers.forEach(b => { - if (b.productList && b.productList.length > 0) { - b.productList.forEach(c => { - if (c.state == 1) { - if(type==0){ - let str = calBack(c.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:c.inspectionItem, - }) - }else if(type==1){ - // let ask = calBack(c.ask, c.rts) - // if (ask && c.state == 1) { - // c.ask = csk - // } - let arr = this.editTable.filter(b => b.sampleId == item.id) - arr.forEach(f => { - if(c.ask.includes(f.symbolItem)){ - let ask = calBack(c.ask, f.symbolItem,f.value) - if (ask) { - c.ask = ask - } - let tell = this.handleTell(c.tell, f.symbolItem,f.value) - if (tell) { - c.tell = tell - } - } - }) - } - } - }) - } - if (b.fiber && b.fiber.length > 0) { - b.fiber.forEach(c => { - if (c.productList && c.productList.length > 0) { - c.productList.forEach(d => { - if (d.state == 1) { - if(type==0){ - let str = calBack(d.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:d.inspectionItem, - }) - }else if(type==1){ - // let ask = calBack(d.ask, d.rts) - // if (ask && d.state == 1) { - // d.ask = ask - // } - let arr = this.editTable.filter(b => b.sampleId == item.id) - arr.forEach(f => { - if(d.ask.includes(f.symbolItem)){ - let ask = calBack(d.ask, f.symbolItem,f.value) - if (ask) { - d.ask = ask - } - let tell = this.handleTell(d.tell, f.symbolItem,f.value) - if (tell) { - d.tell = tell - } - } - }) - } - } - }) - } - }) - } - }) - } - }) - } - if(type==0){ - editTable.push(obj) - } - }) - if(type==0){ - editTable.forEach(a => { - a.symbolList.forEach(b => { - let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem); - b.inspectionItemList = arr.map(c => c.inspectionItem).join(',') - }) - }) - editTable.forEach(a => { - let mySet = new Set(); - a.symbolList = a.symbolList.filter(b =>{ - let num0 = mySet.size; - mySet.add(b.symbolItem); - let num1 = mySet.size; - if(num0!=num1){ - return true; - }else{ - return false - } - }) - }) - let editTableNew = [] - editTable.forEach(a => { - a.symbolList.forEach(b => { - let obj = { - sampleCode:a.sampleCode, - model:a.model, - symbolItem:b.symbolItem, - sampleId:a.sampleId, - value:null, - inspectionItemList:b.inspectionItemList, - modelNum:a.modelNum, - } - editTableNew.push(obj) - }) - }) - return editTableNew - }else{ - return sampleList - } - }, - saveMethod(sampleList){ - let isHaveAsk = this.totalArr.filter(a => (a.ask === null||a.ask=='')&&a.state==1) - let isHaveAsk0 = this.totalArr.filter(a => (a.ask=='/'||a.ask=='-'||a.ask=='鈥斺��'||((/\d/.test(a.ask))&&(a.ask.includes('<')||a.ask.includes('>')||a.ask.includes('=')||a.ask.includes('锛�')||a.ask.includes('锛�')||a.ask.includes('鈮�')||a.ask.includes('鈮�'))))&&a.state==1) - let stateArr = this.totalArr.filter(a=>a.state==1) - if (isHaveAsk.length > 0) { - this.$message({ - type: 'error', - message: '璇峰~鍐欒姹傚�煎悗鍐嶆彁浜�' - }) - return false; - } - if (isHaveAsk0.length <stateArr.length) { - this.$message({ - type: 'error', - message: '瑕佹眰鍊艰緭鍏ユ牸寮忎笉瀵癸紝鍙緭鍏�/銆�-銆佲�斺�斾唬琛ㄤ笉鍒ゅ畾锛�<銆�=銆�>銆佲墺銆佲墹鍔犱笂鏁板瓧浠h〃鑼冨洿锛岃閲嶆柊杈撳叆', - duration: 8 * 1000 - }) - return false; - } - let isHaveTell = this.totalArr.filter(a => (a.tell == null||a.tell=='')&&a.state==1) - if (isHaveTell.length > 0) { - this.$message({ - type: 'error', - message: '璇峰~鍐欒姹傛弿杩板悗鍐嶆彁浜�' - }) - return false; - } - if(this.ruleInfo.rule==1){ - this.addObj.rule = '涓嶈�冭檻涓嶇‘瀹氬害' - }else if(this.ruleInfo.rule==2){ - if(this.ruleInfo.rule==2&&(!this.ruleInfo.num||this.ruleInfo.num<0||this.ruleInfo.num==0)){ - this.$message({ - type: 'error', - message: '璇疯緭鍏ヤ笉纭畾搴�' - }) + let projectNum = this.totalArr.filter(a => a.state == 1).length; + if (projectNum == 0) { + // this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", { + // confirmButtonText: "纭畾", + // cancelButtonText: "鍙栨秷", + // type: "warning" + // }).then(() => { + // this.saveMethod(sampleList) + // }).catch(() => {}) + return this.$message.error("璇锋坊鍔犳楠岄」鐩�"); + } else { + let isRTS = this.totalArr.find( + a => + a.ask != null && + this.symbolList.find(b => a.ask && a.ask.includes(b)) && + a.state == 1 + ); + if (isRTS && this.PROJECT == "妫�娴嬩腑蹇�") { + this.editTable = this.handleData(sampleList, this.containsValue, 0); + this.editTable.forEach(item => { + item.value = item.modelNum; + }); + this.bsm3Dia = true; return; } - this.addObj.rule = '鑰冭檻涓嶇‘瀹氬害'+'-'+this.ruleInfo.num + let isPower = this.totalArr.find( + a => a.inspectionItem.includes("鍔熺巼璇曢獙") && a.state == 1 + ); + if (isPower) { + this.powerTable = this.totalArr.filter( + a => a.inspectionItem.includes("鍔熺巼璇曢獙") && a.state == 1 + ); + this.powerTable.forEach(a => { + a.ask = null; + }); + this.powerShow = true; + return; + } + this.saveMethod(sampleList); } - this.saveLoad = true - let fd = new FormData(); - this.fileList.forEach((item,index)=>{ - //鏂囦欢淇℃伅涓璻aw鎵嶆槸鐪熺殑鏂囦欢 - fd.append("files",item.raw); - }) - fd.append("str",JSON.stringify({ - insOrder: this.addObj, - list: JSON.stringify(sampleList.map(a => { - if (this.PROJECT === '瑁呭鐢电紗') { - if (a.modelNum) { - const index = a.modelNum.indexOf('脳') - if (index === 0) { - a.model = a.model + a.modelNum - } else if (index === -1) { - a.model = a.model + '-' + a.modelNum + } + }, + /** + * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊� + * + */ + checkRequiredValueAndRemark(data) { + let isTrue = true; + try { + data.forEach(ele => { + //鍒ゆ柇锛堚墹,鈮�,>,<,=锛夎繖鍑犵鎯呭喌 + //鍒ゆ柇瑕佹眰鍊间腑鐨勬暟瀛楁槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓� + if (["鈮�", "鈮�", ">", "<", "="].includes(ele.ask[0])) { + const askVal = ele.ask.substring(1, ele.ask.length); + if (isNaN(askVal) || ele.tell.indexOf(askVal) < 0) { + console.log(1111); + isTrue = false; + } + } + //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸- + if (ele.ask.indexOf("-") > 0 && ele.ask.length > 1) { + //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁� + let tell = ele.tell; + if ( + ele.tell.indexOf("~") > 0 || + ele.tell.indexOf("锛�") || + ele.tell.indexOf("锛�") + ) { + tell = tell.replace("~", "-"); + tell = tell.replace("锛�", "("); + tell = tell.replace("锛�", ")"); + } + const splits = ele.ask.split("-"); + //婊¤冻鏍煎紡瑕佹眰锛屽苟涓斾袱涓兘鏄暟瀛� + if (splits.length == 2 && !isNaN(splits[0]) && !isNaN(splits[1])) { + /** + * 鍒ゆ柇鎯呭喌 + * 1.瑕佹眰鎻忚堪涓庤姹傛弿杩扮浉鍚� + * 2.瑕佹眰鎻忚堪鍖呭惈瑕佹眰鍊� + * 3.瑕佹眰鎻忚堪涓�3N-10N杩欑鎯呭喌 + * 4.瑕佹眰鎻忚堪涓�10卤5杩欑鎯呭喌 + * 5. + */ + let min = Math.min(...splits); + let max = Math.max(...splits); + if (min == max) { + isTrue = false; + } + //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse + if (tell.indexOf("卤") < 0 && tell.indexOf("-") < 0) { + console.log(3333, ele); + console.log( + 3333333, + tell, + tell.indexOf("卤") < 0, + tell.indexOf("-") < 0 + ); + isTrue = false; + } else if (ele.tell.indexOf("-") == 0) { + console.log(4444); + isTrue = false; + } else if (tell.indexOf("-") > 0) { + if (tell.indexOf("卤") > 0) { + ////鏍¢獙瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鍐欐硶鐨勬儏鍐� + const num = tell.split("卤")[1]; + const startIndex = tell.indexOf("("); + const endIndex = tell.indexOf(")"); + if (startIndex > -1 && endIndex > 0) { + const str = tell.substring(startIndex, endIndex); + if (str && str.indexOf("-") > 0) { + let strList = str.split("-"); + const minNum = Number(strList[0] - num); + const maxNum = Number(strList[1] + num); + if (minNum > min || maxNum < max) { + console.log(555555); + isTrue = false; + } + } } else { - a.model = a.modelNum + a.model + //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐� + let splitNums = ele.tell.split("卤"); + if (splitNums.length < 2) { + console.log(66666); + isTrue = false; + } else { + let minTell = Number(splitNums[0]) - Number(splitNums[1]); + let maxTell = Number(splitNums[0]) + Number(splitNums[1]); + if (minTell != min || maxTell != max) { + console.log(7777777); + isTrue = false; + } + } } } else { - a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) + const splitTells = tell.split("-"); + if ( + splitTells[0].indexOf(min) < 0 || + splitTells[1].indexOf(max) < 0 + ) { + console.log(88888888); + isTrue = false; + } + } + } + } else { + console.log(89999999); + isTrue = false; + } + } + // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){ + // //鍒ゆ柇 + // } + }); + } catch (error) { + console.log(error); + isTrue = false; + } + return isTrue; + }, + save0() { + if (this.editTable.every(m => m.value)) { + let sampleList = this.handleData( + this.HaveJson(this.sampleList), + this.handleAsk, + 1 + ); + 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 && a.ask.includes(arr[i].symbolItem)) { + let ask = calBack(a.ask, arr[i].symbolItem, arr[i].value); + if (ask) { + a.ask = ask; + } + let tell = this.handleTell( + a.tell, + arr[i].symbolItem, + arr[i].value + ); + if (tell) { + a.tell = tell; + } + } + } else { + // this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') + } + } + // arr.forEach(f => { + // if(a.ask){ + // if(a.ask.includes(f.symbolItem)){ + // let ask = calBack(a.ask, f.symbolItem,f.value) + // if (ask) { + // a.ask = ask + // } + // let tell = this.handleTell(a.tell, f.symbolItem,f.value) + // if (tell) { + // a.tell = tell + // } + // } + // }else{} + // }) + } + } + }); + } + // 鍏夌氦甯﹂」鐩� + if (item.bushing && item.bushing.length > 0) { + item.bushing.forEach(a => { + if (a.fiber && a.fiber.length > 0) { + a.fiber.forEach(b => { + if (b.productList && b.productList.length > 0) { + b.productList.forEach(c => { + if (c.state == 1) { + if (type == 0) { + let str = calBack(c.ask); + str && + obj.symbolList.push({ + symbolItem: str, + inspectionItem: c.inspectionItem + }); + } else if (type == 1) { + let arr = this.editTable.filter( + b => b.sampleId == item.id + ); + arr.forEach(f => { + if (c.ask.includes(f.symbolItem)) { + let ask = calBack(c.ask, f.symbolItem, f.value); + if (ask) { + c.ask = ask; + } + let tell = this.handleTell( + c.tell, + f.symbolItem, + f.value + ); + if (tell) { + c.tell = tell; + } + } + }); + } + } + }); + } + }); + } + if (a.fibers && a.fibers.length > 0) { + a.fibers.forEach(b => { + if (b.productList && b.productList.length > 0) { + b.productList.forEach(c => { + if (c.state == 1) { + if (type == 0) { + let str = calBack(c.ask); + str && + obj.symbolList.push({ + symbolItem: str, + inspectionItem: c.inspectionItem + }); + } else if (type == 1) { + // let ask = calBack(c.ask, c.rts) + // if (ask && c.state == 1) { + // c.ask = csk + // } + let arr = this.editTable.filter( + b => b.sampleId == item.id + ); + arr.forEach(f => { + if (c.ask.includes(f.symbolItem)) { + let ask = calBack(c.ask, f.symbolItem, f.value); + if (ask) { + c.ask = ask; + } + let tell = this.handleTell( + c.tell, + f.symbolItem, + f.value + ); + if (tell) { + c.tell = tell; + } + } + }); + } + } + }); + } + if (b.fiber && b.fiber.length > 0) { + b.fiber.forEach(c => { + if (c.productList && c.productList.length > 0) { + c.productList.forEach(d => { + if (d.state == 1) { + if (type == 0) { + let str = calBack(d.ask); + str && + obj.symbolList.push({ + symbolItem: str, + inspectionItem: d.inspectionItem + }); + } else if (type == 1) { + // let ask = calBack(d.ask, d.rts) + // if (ask && d.state == 1) { + // d.ask = ask + // } + let arr = this.editTable.filter( + b => b.sampleId == item.id + ); + arr.forEach(f => { + if (d.ask.includes(f.symbolItem)) { + let ask = calBack(d.ask, f.symbolItem, f.value); + if (ask) { + d.ask = ask; + } + let tell = this.handleTell( + d.tell, + f.symbolItem, + f.value + ); + if (tell) { + d.tell = tell; + } + } + }); + } + } + }); + } + }); + } + }); + } + }); + } + if (type == 0) { + editTable.push(obj); + } + }); + if (type == 0) { + editTable.forEach(a => { + a.symbolList.forEach(b => { + let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem); + b.inspectionItemList = arr.map(c => c.inspectionItem).join(","); + }); + }); + editTable.forEach(a => { + let mySet = new Set(); + a.symbolList = a.symbolList.filter(b => { + let num0 = mySet.size; + mySet.add(b.symbolItem); + let num1 = mySet.size; + if (num0 != num1) { + return true; + } else { + return false; + } + }); + }); + let editTableNew = []; + editTable.forEach(a => { + a.symbolList.forEach(b => { + let obj = { + sampleCode: a.sampleCode, + model: a.model, + symbolItem: b.symbolItem, + sampleId: a.sampleId, + value: null, + inspectionItemList: b.inspectionItemList, + modelNum: a.modelNum + }; + editTableNew.push(obj); + }); + }); + return editTableNew; + } else { + return sampleList; + } + }, + saveMethod(sampleList) { + let isHaveAsk = this.totalArr.filter( + a => (a.ask === null || a.ask == "") && a.state == 1 + ); + let isHaveAsk0 = this.totalArr.filter( + a => + (a.ask == "/" || + a.ask == "-" || + a.ask == "鈥斺��" || + (/\d/.test(a.ask) && + ((a.ask && a.ask.includes("<")) || + a.ask.includes(">") || + a.ask.includes("=") || + a.ask.includes("锛�") || + a.ask.includes("锛�") || + a.ask.includes("鈮�") || + a.ask.includes("鈮�")))) && + a.state == 1 + ); + let stateArr = this.totalArr.filter(a => a.state == 1); + if (isHaveAsk.length > 0) { + this.$message({ + type: "error", + message: "璇峰~鍐欒姹傚�煎悗鍐嶆彁浜�" + }); + return false; + } + if (isHaveAsk0.length < stateArr.length) { + this.$message({ + type: "error", + message: + "瑕佹眰鍊艰緭鍏ユ牸寮忎笉瀵癸紝鍙緭鍏�/銆�-銆佲�斺�斾唬琛ㄤ笉鍒ゅ畾锛�<銆�=銆�>銆佲墺銆佲墹鍔犱笂鏁板瓧浠h〃鑼冨洿锛岃閲嶆柊杈撳叆", + duration: 8 * 1000 + }); + return false; + } + let isHaveTell = this.totalArr.filter( + a => (a.tell == null || a.tell == "") && a.state == 1 + ); + if (isHaveTell.length > 0) { + this.$message({ + type: "error", + message: "璇峰~鍐欒姹傛弿杩板悗鍐嶆彁浜�" + }); + return false; + } + if (this.ruleInfo.rule == 1) { + this.addObj.rule = "涓嶈�冭檻涓嶇‘瀹氬害"; + } else if (this.ruleInfo.rule == 2) { + if ( + this.ruleInfo.rule == 2 && + (!this.ruleInfo.num || + this.ruleInfo.num < 0 || + this.ruleInfo.num == 0) + ) { + this.$message({ + type: "error", + message: "璇疯緭鍏ヤ笉纭畾搴�" + }); + return; + } + this.addObj.rule = "鑰冭檻涓嶇‘瀹氬害" + "-" + this.ruleInfo.num; + } + this.saveLoad = true; + let fd = new FormData(); + this.fileList.forEach((item, index) => { + //鏂囦欢淇℃伅涓璻aw鎵嶆槸鐪熺殑鏂囦欢 + fd.append("files", item.raw); + }); + fd.append( + "str", + JSON.stringify({ + insOrder: this.addObj, + list: JSON.stringify( + sampleList.map(a => { + if (this.PROJECT === "瑁呭鐢电紗") { + if (a.modelNum) { + const index = a.modelNum.indexOf("脳"); + if (index === 0) { + a.model = a.model + a.modelNum; + } else if (index === -1) { + a.model = a.model + "-" + a.modelNum; + } else { + a.model = a.modelNum + a.model; + } + } else { + a.model = + a.model + + (a.modelNum == null || + a.modelNum == "" || + a.modelNum == "null" + ? "" + : "-" + a.modelNum); } } else { - a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) + a.model = + a.model + + (a.modelNum == null || + a.modelNum == "" || + a.modelNum == "null" + ? "" + : "-" + a.modelNum); } - a.insProduct = a.insProduct.filter(b=>b.state === 1) - return a - })), - pairing: JSON.stringify(this.bsm2Val2) - })); - this.$axios.post(this.$api.insOrder.addInsOrder, fd,{ - headers: { - 'Content-Type': 'multipart/form-data' - }, - noQs:true - }).then(res => { - this.saveLoad = false - if (res.code == 201) return - this.$message.success('宸叉彁浜�') - this.bsm3Dia = false; - this.$parent.playOrder(0) - }).catch(e=>{ - this.saveLoad = false + a.insProduct = a.insProduct.filter(b => b.state === 1); + return a; + }) + ), + pairing: JSON.stringify(this.bsm2Val2) }) - }, - upInsOrderOfState(state) { - if (state == 1) { - this.saveLoad = true - this.$axios.post(this.$api.insOrder.upInsOrderOfState, { - state, - id: this.currentId, - companyId:this.addObj.companyId, - laboratory:this.addObj.laboratory, - company: this.addObj.company - }, { - headers: { - 'Content-Type': 'application/json' + ); + this.$axios + .post(this.$api.insOrder.addInsOrder, fd, { + headers: { + "Content-Type": "multipart/form-data" + }, + noQs: true + }) + .then(res => { + this.saveLoad = false; + if (res.code == 201) return; + this.$message.success("宸叉彁浜�"); + this.bsm3Dia = false; + this.$parent.playOrder(0); + }) + .catch(e => { + this.saveLoad = false; + }); + }, + upInsOrderOfState(state) { + if (state == 1) { + this.saveLoad = true; + this.$axios + .post( + this.$api.insOrder.upInsOrderOfState, + { + state, + id: this.currentId, + companyId: this.addObj.companyId, + laboratory: this.addObj.laboratory, + company: this.addObj.company + }, + { + headers: { + "Content-Type": "application/json" + } } - }).then(res => { - this.saveLoad = false - if (res.code == 201) return - this.$message.success('鎻愪氦鎴愬姛') + ) + .then(res => { + this.saveLoad = false; + if (res.code == 201) return; + this.$message.success("鎻愪氦鎴愬姛"); // this.$parent.multipleSelection = [{id: this.currentId}] // this.$parent.print() // 濡傛灉绱ф�ョ▼搴︿负绱ф�ワ紝闇�瑕佺洿鎺ヤ笅鍙戜汉鍛� @@ -2436,298 +3570,370 @@ // } else { // this.$parent.playOrder(0) // } - this.$axios.post(this.$api.insOrder.selectOrderManDay, { - id: this.currentId - }).then(ress => { - this.distributeData.orderId = this.currentId - this.distributeData.appointed = ress.data - }) + this.$axios + .post(this.$api.insOrder.selectOrderManDay, { + id: this.currentId + }) + .then(ress => { + this.distributeData.orderId = this.currentId; + this.distributeData.appointed = ress.data; + }); setTimeout(() => { // this.issuedDialogVisible = true; // this.$message.success('鎻愪氦鎴愬姛') - this.upLoad = false - this.$parent.playOrder(0) - }, 1000) - }) - } else { - // 涓嶉�氳繃 - this.noDialogVisible = true - } - }, - // 涓嬪彂 - submitForm2() { - if (this.distributeData.appointed == null || this.distributeData.appointed == '') { - this.$message.error('绾﹀畾鏃堕棿鏈~鍐�') - return - } - if (this.addObj.type == 2 && (this.distributeData.userId == null || this.distributeData.userId == '')) { - this.$message.error('鎸囨淳浜哄憳鏈~鍐�') - return - } - if (this.distributeData.userId&&(this.distributeData.sonLaboratory== null ||this.distributeData.sonLaboratory== '')) { - this.$message.error('璇曢獙瀹ゆ湭濉啓') - return - } - this.upLoad = true; - this.$axios.post(this.$api.insOrder.upInsOrder, { + this.upLoad = false; + this.$parent.playOrder(0); + }, 1000); + }); + } else { + // 涓嶉�氳繃 + this.noDialogVisible = true; + } + }, + // 涓嬪彂 + submitForm2() { + if ( + this.distributeData.appointed == null || + this.distributeData.appointed == "" + ) { + this.$message.error("绾﹀畾鏃堕棿鏈~鍐�"); + return; + } + if ( + this.addObj.type == 2 && + (this.distributeData.userId == null || this.distributeData.userId == "") + ) { + this.$message.error("鎸囨淳浜哄憳鏈~鍐�"); + return; + } + if ( + this.distributeData.userId && + (this.distributeData.sonLaboratory == null || + this.distributeData.sonLaboratory == "") + ) { + this.$message.error("璇曢獙瀹ゆ湭濉啓"); + return; + } + this.upLoad = true; + this.$axios + .post(this.$api.insOrder.upInsOrder, { orderId: this.distributeData.orderId, appointed: this.distributeData.appointed, userId: this.distributeData.userId, - sonLaboratory:this.distributeData.sonLaboratory - }).then(res => { + sonLaboratory: this.distributeData.sonLaboratory + }) + .then(res => { if (res.code === 201) { - this.upLoad = false - return + this.upLoad = false; + return; } - this.$message.success('鎻愪氦鎴愬姛') - this.upLoad = false - this.issuedDialogVisible = false - this.$parent.playOrder(0) - }).catch(e => { - this.$message.error('鎻愪氦澶辫触') - this.upLoad = false + this.$message.success("鎻愪氦鎴愬姛"); + this.upLoad = false; + this.issuedDialogVisible = false; + this.$parent.playOrder(0); }) - }, - getUserNow() { - this.$axios.get(this.$api.user.getUserNow).then(res => { - let selects = res.data - if (selects == null) return - this.addObj.userId = selects.id - this.addObj.company = selects.company - this.addObj.custom = selects.name - this.addObj.code = selects.code - this.addObj.phone = selects.phone - this.addObj.companyId = selects.departId - this.addObj.production = '/' - this.addObj.productionEn = '/' - if(this.active==1){ - this.selectInsOrderTemplate() - } - }) - }, - getProNum() { - if (this.active != 1) { - this.sampleList.forEach((m, i) => { - Vue.set(this.sampleList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) - }) - }else{ - this.sampleSelectionList.forEach((m, i) => { - Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) - }) + .catch(e => { + this.$message.error("鎻愪氦澶辫触"); + this.upLoad = false; + }); + }, + getUserNow() { + this.$axios.get(this.$api.user.getUserNow).then(res => { + let selects = res.data; + if (selects == null) return; + this.addObj.userId = selects.id; + this.addObj.company = selects.company; + this.addObj.custom = selects.name; + this.addObj.code = selects.code; + this.addObj.phone = selects.phone; + this.addObj.companyId = selects.departId; + this.addObj.production = "/"; + this.addObj.productionEn = "/"; + if (this.active == 1) { + this.selectInsOrderTemplate(); } - this.$refs.sampleTable.doLayout() - }, - searchFilter() { - this.$refs.tree.filter(this.search) - }, - nodeOpen(data, node, el) { - $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') - }, - nodeClose(data, node, el) { - $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') - }, - handleNodeClick(val, node, el) { - this.selectTree = '' - this.models = val.children - this.getNodeParent(node) + }); + }, + getProNum() { + if (this.active != 1) { + this.sampleList.forEach((m, i) => { + Vue.set( + this.sampleList[i], + "proNum", + m.insProduct.filter(a => a.state == 1).length + ); + }); + } else { + this.sampleSelectionList.forEach((m, i) => { + Vue.set( + this.sampleSelectionList[i], + "proNum", + m.insProduct.filter(a => a.state == 1).length + ); + }); + } + this.$refs.sampleTable.doLayout(); + }, + searchFilter() { + this.$refs.tree.filter(this.search); + }, + nodeOpen(data, node, el) { + $($(el.$el).find(".node_i")[0]).attr( + "class", + "node_i el-icon-folder-opened" + ); + }, + 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 data = this.selectTree.split(' - ') - let data2 = '' - for (let index = data.length - 1; index >= 0; index--) { - data2 += " - " + data[index] + let data = this.selectTree.split(" - "); + let data2 = ""; + for (let index = data.length - 1; index >= 0; index--) { + data2 += " - " + data[index]; + } + this.selectTree = data2.replace(" - ", ""); + }, + getNodeParent(val) { + if (val.parent != null) { + if (val.data.children === null) { + this.selectTree += " - " + val.label + " - " + ""; + } else { + this.selectTree += " - " + val.label; } - this.selectTree = data2.replace(' - ', '') - }, - getNodeParent(val) { - if (val.parent != null) { - if (val.data.children === null) { - this.selectTree += ' - ' + val.label + ' - ' + '' - } else { - this.selectTree += ' - ' + val.label - } - this.getNodeParent(val.parent) - } - }, - selectStandardTreeList() { - this.$axios.get(this.$api.standardTree.selectStandardTreeList2).then(res => { - this.list = res.data + this.getNodeParent(val.parent); + } + }, + selectStandardTreeList() { + this.$axios + .get(this.$api.standardTree.selectStandardTreeList2) + .then(res => { + this.list = res.data; this.list.forEach(a => { - this.expandedKeys.push(a.label) - }) + this.expandedKeys.push(a.label); + }); + }); + }, + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + activeStandardTree() { + if (this.selectTree == null || this.selectTree == "") + return this.$message.error("鏈�夋嫨鏍峰搧绫诲瀷"); + let trees = this.selectTree.split(" - ").filter(m => m); + if (trees.length < 3) { + this.$message.error("鏈�夋嫨鏍峰搧绫诲埆"); + return; + } + this.addObj.factory = "涓ぉ绉戞妧妫�娴嬩腑蹇�"; + this.addObj.laboratory = "閫氫俊浜у搧瀹為獙瀹�"; + this.addObj.sampleType = trees[0]; + this.addObj.sample = trees[1]; + this.addObj.model = trees[2]; + 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() + }, + selectsStandardMethodByFLSSM() { + this.methodLoad = true; + this.$axios + .post(this.$api.standardTree.selectsStandardMethodByFLSSM, { + tree: + "涓ぉ绉戞妧妫�娴嬩腑蹇�" + + " - " + + "閫氫俊浜у搧瀹為獙瀹�" + + " - " + + this.selectTree }) - }, - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - activeStandardTree() { - if(this.selectTree == null || this.selectTree == '') return this.$message.error('鏈�夋嫨鏍峰搧绫诲瀷') - let trees = this.selectTree.split(" - ").filter(m=>m) - if (trees.length < 3) { - this.$message.error('鏈�夋嫨鏍峰搧绫诲埆') - return - } - this.addObj.factory = '涓ぉ绉戞妧妫�娴嬩腑蹇�' - this.addObj.laboratory = '閫氫俊浜у搧瀹為獙瀹�' - this.addObj.sampleType = trees[0] - this.addObj.sample = trees[1] - this.addObj.model = trees[2] - 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() - }, - selectsStandardMethodByFLSSM() { - this.methodLoad = true - this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { - tree: '涓ぉ绉戞妧妫�娴嬩腑蹇�'+' - '+'閫氫俊浜у搧瀹為獙瀹�'+' - '+this.selectTree - }).then(res => { - this.methodLoad = false - this.methods = res.data.standardMethodList - }) - }, - 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++ - } - this.computationalPairing(this.sampleList.length) - this.bsm2Val2 = this.HaveJson(this.bsm2Val3) - }, - selectSample(val) { - this.sampleIds = [] - val.forEach(a => { - this.sampleIds.push(a.id) - }) - this.sampleSelectionList = val - }, - delSample() { - this.sampleIds.forEach(a => { - for (var i = 0; i < this.sampleList.length; i++) { - if (this.sampleList[i].id == a) { - this.sampleList.splice(i, 1) - i -= 1 - break - } + .then(res => { + this.methodLoad = false; + this.methods = res.data.standardMethodList; + }); + }, + 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++ + } + this.computationalPairing(this.sampleList.length); + this.bsm2Val2 = this.HaveJson(this.bsm2Val3); + }, + selectSample(val) { + this.sampleIds = []; + val.forEach(a => { + this.sampleIds.push(a.id); + }); + this.sampleSelectionList = val; + }, + delSample() { + this.sampleIds.forEach(a => { + for (var i = 0; i < this.sampleList.length; i++) { + if (this.sampleList[i].id == a) { + this.sampleList.splice(i, 1); + i -= 1; + break; } - }) - this.$refs.sampleTable.doLayout() - }, - selectProduct(val) { - this.productListSelected = val - this.productIds = [] - val.forEach(a => { - this.productIds.push(a.id) - }) - }, - rowClick(row, column, event) { - this.currentMethod = row - this.sampleId = row.id - if (this.active !== 1) { - this.sampleIds = [] - this.sampleSelectionList.forEach(ele=>{ - if(ele.id == row.id){ - this.sampleIds.push(row.id) - } - }) } - this.productList = row.insProduct - this.productList0 = JSON.parse(JSON.stringify(this.productList)) - setTimeout(() => { - this.productList.forEach(a => { - if (a.state == 1) { - this.toggleSelection(a) - }else{ - this.$refs.productTable.toggleRowSelection(a, false); - } - }) - }, 200) - }, - toggleSelection(row) { - this.$refs.productTable.toggleRowSelection(row, true); - }, - upProductSelect(selection, row) { - this.bsm1DiaList = [] - row.state = row.state == 1 ? 0 : 1 - if(row.section === null) { - row.section = "" - } - // console.log(row,this.productList) - let arr = this.productList.filter(m=>m.state==1&&m.bsmRow&&m.bsmRow.section==row.section&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1) - if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1&&arr.length==0) { - if (row.section.indexOf('[') > -1) { - row.bsmRow = this.HaveJson(row) + }); + this.$refs.sampleTable.doLayout(); + }, + selectProduct(val) { + this.productListSelected = val; + this.productIds = []; + val.forEach(a => { + this.productIds.push(a.id); + }); + }, + rowClick(row, column, event) { + this.currentMethod = row; + this.sampleId = row.id; + if (this.active !== 1) { + this.sampleIds = []; + this.sampleSelectionList.forEach(ele => { + if (ele.id == row.id) { + this.sampleIds.push(row.id); } - row.bsm1 = true - this.bsm1DiaList.push(row) - this.bsm1DiaAll = true - } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0&&arr.length==0) { - row.bsm1 = false - }else if(arr.length>0){ - try{ - row.bsmRow = this.HaveJson(row) - let section = arr[0].section - let arr0 = JSON.parse(row.section) - let arr1 = JSON.parse(row.ask) - let arr2 = JSON.parse(row.manHour) - let arr3 = JSON.parse(row.price) - let arr4 = JSON.parse(row.tell) - let index = arr0.indexOf(section) - row.section = section - row.ask = arr1[index] - row.manHour = arr2[index] - row.price = arr3[index] - row.tell = arr4[index] - } catch(e) {} - } - if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && row.state === 1&&!this.isBsm2Val2) { - this.bsm2 = true - this.bsm1Dia = true - if (this.bsm2Val2.length === 0) { - this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2 - this.computationalPairing(this.sampleList.length) - this.bsm2Val2 = this.HaveJson(this.bsm2Val3) + }); + } + 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); } - } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && row.state === 1 && this.sampleList.length > 1) { - this.bsm2 = false - } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length < 2) { - this.$message.error('鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�') - row.state = row.state == 1 ? 0 : 1 - this.$refs.productTable.toggleRowSelection(row, false) - return + }); + }, 200); + }, + toggleSelection(row) { + this.$refs.productTable.toggleRowSelection(row, true); + }, + upProductSelect(selection, row) { + this.bsm1DiaList = []; + row.state = row.state == 1 ? 0 : 1; + if (row.section === null) { + row.section = ""; + } + // console.log(row,this.productList) + let arr = this.productList.filter( + m => + m.state == 1 && + m.bsmRow && + m.bsmRow.section == row.section && + row.section.includes(m.section) && + m.ask && + m.section.indexOf("[") == -1 + ); + if ( + row.bsm === "1" && + row.section !== "" && + row.section !== null && + row.state === 1 && + arr.length == 0 + ) { + if (row.section.indexOf("[") > -1) { + row.bsmRow = this.HaveJson(row); } - /* if (row.ask.includes('D')&&row.state === 1) { + row.bsm1 = true; + this.bsm1DiaList.push(row); + this.bsm1DiaAll = true; + } else if ( + row.bsm === "1" && + row.section !== "" && + row.section !== null && + row.state === 0 && + arr.length == 0 + ) { + row.bsm1 = false; + } else if (arr.length > 0) { + try { + row.bsmRow = this.HaveJson(row); + let section = arr[0].section; + let arr0 = JSON.parse(row.section); + let arr1 = JSON.parse(row.ask); + let arr2 = JSON.parse(row.manHour); + let arr3 = JSON.parse(row.price); + let arr4 = JSON.parse(row.tell); + let index = arr0.indexOf(section); + row.section = section; + row.ask = arr1[index]; + row.manHour = arr2[index]; + row.price = arr3[index]; + row.tell = arr4[index]; + } catch (e) {} + } + if ( + row.bsm === "1" && + row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" && + this.sampleList.length > 1 && + row.state === 1 && + !this.isBsm2Val2 + ) { + this.bsm2 = true; + this.bsm1Dia = true; + if (this.bsm2Val2.length === 0) { + this.bsm2Val = + ((this.sampleList.length - 1) * this.sampleList.length) / 2; + this.computationalPairing(this.sampleList.length); + this.bsm2Val2 = this.HaveJson(this.bsm2Val3); + } + } else if ( + row.bsm === "1" && + row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" && + row.state === 1 && + this.sampleList.length > 1 + ) { + this.bsm2 = false; + } else if ( + row.bsm === "1" && + row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" && + this.sampleList.length < 2 + ) { + this.$message.error("鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�"); + row.state = row.state == 1 ? 0 : 1; + this.$refs.productTable.toggleRowSelection(row, false); + return; + } + /* if (row.ask.includes('D')&&row.state === 1) { this.bsmRow3 = null; row.rts = '' this.bsm3Val = '' @@ -2736,751 +3942,843 @@ }else{ this.bsm3Dia = false } */ - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1) { - item.insProduct.map(m => { - if (m.id == row.id) { - m.state = row.state; - } - return m; - }) - } - return item - }) - - this.changeProductList0() - if(this.sampleSelectionList.length>0){ - this.sampleSelectionList.forEach(item=>{ - item.insProduct = this.productList0 - }) - }else{ - this.currentMethod.insProduct = this.productList0 - } - this.getProNum() - }, - searchProject () { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鍏夌氦椤圭洰" - }).then(res => { - this.opticalProject = res.data - }) - }, - permute(nums) { - const result = []; - - function backtrack(temp, nums) { - if (temp.length === 2) { - result.push([...temp]); - return; - } - for (let i = 0; i < nums.length; i++) { - if (temp.includes(nums[i])) continue; - // 閬垮厤閲嶅鏁板瓧 - if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚� - temp.push(nums[i]); - backtrack(temp, nums); - temp.pop(); - } - } - backtrack([], nums); - return result; - }, - computationalPairing(n) { - const nums = []; - for (let i = 1; i <= n; i++) { - nums.push(i); - } - this.bsm2Val3 = this.HaveJson(this.permute(nums)) - }, - tableRowClassName({ - row, - rowIndex - }) { - if (row.state === 0) { - return ''; - } - return 'warning-row'; - }, - selectInsOrderTemplate() { - this.$axios.get(this.$api.insOrder.selectInsOrderTemplate+'?company='+this.addObj.company).then(res => { - if (res.code == 201) return - this.templates = res.data - }) - }, - // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛 - handleDelete(row) { - this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - this.$axios.post(this.$api.insOrder.delInsOrderTemplate, { - id: row.id - }).then(res => { - if (res.code === 201) { - return + this.sampleList.map(item => { + if (this.sampleIds.indexOf(item.id) > -1) { + item.insProduct.map(m => { + if (m.id == row.id) { + m.state = row.state; } - this.$message.success('鍒犻櫎鎴愬姛') - this.selectInsOrderTemplate() - }).catch(e => { - this.$message.error('鍒犻櫎澶辫触') - }) - }).catch(() => {}) - }, - // 淇濆瓨妯℃澘 - addTemplateDia() { - if (this.templateName) { - if(this.templates.find(m=>m.name==this.templateName)){ - this.$confirm('宸插瓨鍦ㄥ悓鍚嶆ā鏉匡紝鏄惁杩涜鏇挎崲?', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - this.saveTemplateDia() - }).catch(() => {}) - }else{ - this.saveTemplateDia() - } - } else { - this.$message.error('璇峰~鍐欐ā鏉垮悕绉�') + return m; + }); } - }, - saveTemplateDia(){ - this.templateLoading = true; - this.$axios.post(this.$api.insOrder.addInsOrderTemplate, { + return item; + }); + + this.changeProductList0(); + if (this.sampleSelectionList.length > 0) { + this.sampleSelectionList.forEach(item => { + item.insProduct = this.productList0; + }); + } else { + this.currentMethod.insProduct = this.productList0; + } + this.getProNum(); + }, + searchProject() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { + category: "鍏夌氦椤圭洰" + }) + .then(res => { + this.opticalProject = res.data; + }); + }, + permute(nums) { + const result = []; + + function backtrack(temp, nums) { + if (temp.length === 2) { + result.push([...temp]); + return; + } + for (let i = 0; i < nums.length; i++) { + if (temp.includes(nums[i])) continue; + // 閬垮厤閲嶅鏁板瓧 + if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚� + temp.push(nums[i]); + backtrack(temp, nums); + temp.pop(); + } + } + backtrack([], nums); + return result; + }, + computationalPairing(n) { + const nums = []; + for (let i = 1; i <= n; i++) { + nums.push(i); + } + this.bsm2Val3 = this.HaveJson(this.permute(nums)); + }, + tableRowClassName({ row, rowIndex }) { + if (row.state === 0) { + return ""; + } + return "warning-row"; + }, + selectInsOrderTemplate() { + this.$axios + .get( + this.$api.insOrder.selectInsOrderTemplate + + "?company=" + + this.addObj.company + ) + .then(res => { + if (res.code == 201) return; + this.templates = res.data; + }); + }, + // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛 + handleDelete(row) { + this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + this.$axios + .post(this.$api.insOrder.delInsOrderTemplate, { + id: row.id + }) + .then(res => { + if (res.code === 201) { + return; + } + this.$message.success("鍒犻櫎鎴愬姛"); + this.selectInsOrderTemplate(); + }) + .catch(e => { + this.$message.error("鍒犻櫎澶辫触"); + }); + }) + .catch(() => {}); + }, + // 淇濆瓨妯℃澘 + addTemplateDia() { + if (this.templateName) { + if (this.templates.find(m => m.name == this.templateName)) { + this.$confirm("宸插瓨鍦ㄥ悓鍚嶆ā鏉匡紝鏄惁杩涜鏇挎崲?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + this.saveTemplateDia(); + }) + .catch(() => {}); + } else { + this.saveTemplateDia(); + } + } else { + this.$message.error("璇峰~鍐欐ā鏉垮悕绉�"); + } + }, + saveTemplateDia() { + this.templateLoading = true; + this.$axios + .post( + this.$api.insOrder.addInsOrderTemplate, + { name: this.templateName, thing: JSON.stringify({ addObj: this.addObj, sampleList: this.sampleList, - selectTree:this.selectTree + selectTree: this.selectTree }) - }, { + }, + { headers: { - 'Content-Type': 'application/json' + "Content-Type": "application/json" } - }).then(res => { - if (res.code == 201) return - this.templateLoading = false; - this.templateDia = false; - this.$message.success('淇濆瓨鎴愬姛') - this.selectInsOrderTemplate() - this.templateName = '' - }) - }, - // 鏌ヨ妯℃澘 - selectInsOrderTemplateById(e) { - this.$axios.post(this.$api.insOrder.selectInsOrderTemplateById + '?id=' + e).then(res => { - if (res.code == 201) return - let obj = JSON.parse(res.data) + } + ) + .then(res => { + if (res.code == 201) return; + this.templateLoading = false; + this.templateDia = false; + this.$message.success("淇濆瓨鎴愬姛"); + this.selectInsOrderTemplate(); + this.templateName = ""; + }); + }, + // 鏌ヨ妯℃澘 + selectInsOrderTemplateById(e) { + this.$axios + .post(this.$api.insOrder.selectInsOrderTemplateById + "?id=" + e) + .then(res => { + if (res.code == 201) return; + let obj = JSON.parse(res.data); console.log(obj); //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛 - let user = JSON.parse(localStorage.getItem('user')) - obj.addObj.custom = user.name - obj.addObj.userId = user.userId + let user = JSON.parse(localStorage.getItem("user")); + obj.addObj.custom = user.name; + obj.addObj.userId = user.userId; this.addObj = obj.addObj; this.sampleList = obj.sampleList; - this.selectTree = obj.selectTree - }) - }, - delSampleAndProduct() { - this.sampleList.splice(scope.$index, 1) - this.productList = [] - }, - selectEnumByCategoryForUnit() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + this.selectTree = obj.selectTree; + }); + }, + delSampleAndProduct() { + this.sampleList.splice(scope.$index, 1); + this.productList = []; + }, + selectEnumByCategoryForUnit() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "鍗曚綅" - }).then(res => { - this.units = res.data }) - }, - selectEnumByCategoryForStandard() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + .then(res => { + this.units = res.data; + }); + }, + selectEnumByCategoryForStandard() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "璇曢獙鏍囧噯" - }).then(res => { - this.standard = res.data }) - }, - selectEnumByCategoryForOrderType() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + .then(res => { + this.standard = res.data; + }); + }, + selectEnumByCategoryForOrderType() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "妫�楠岀被鍒�" - }).then(res => { - this.orderType = res.data + }) + .then(res => { + this.orderType = res.data; if (res.data.length > 0) { - this.addObj.orderType = 'C' + this.addObj.orderType = "C"; } - }) - }, - selectEnumByCategoryForSampleForm() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + }); + }, + selectEnumByCategoryForSampleForm() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "璁㈠崟绫诲瀷" - }).then(res => { - this.formType = res.data - if (this.formType.length > 0) { - this.addObj.formType = this.formType[0].value - } }) - }, - methodChange(val, row) { - if (val === null || val === ''||val.length ==0) return - this.currentMethod = row - this.getProductLoad = true - let selectTreeList = this.selectTree.split(" - ") - this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) - this.$axios.post(this.$api.standardTree.selectStandardProductList, { - model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum+';'+row.testRequirements, - standardMethodListId: val.join(','), - factory: '涓ぉ绉戞妧妫�娴嬩腑蹇�'+' - '+'閫氫俊浜у搧瀹為獙瀹�'+' - '+selectTreeList.join(" - "), - }, { - headers: { - 'Content-Type': 'application/json' + .then(res => { + this.formType = res.data; + if (this.formType.length > 0) { + this.addObj.formType = this.formType[0].value; } - }).then(res => { - this.getProductLoad = false + }); + }, + methodChange(val, row) { + if (val === null || val === "" || val.length == 0) return; + this.currentMethod = row; + this.getProductLoad = true; + let selectTreeList = this.selectTree.split(" - "); + this.addObj.model && + (selectTreeList[selectTreeList.length - 1] = this.addObj.model); + this.$axios + .post( + this.$api.standardTree.selectStandardProductList, + { + model: + (this.addObj.model ? this.addObj.model : row.model) + + "-" + + row.modelNum + + ";" + + row.testRequirements, + standardMethodListId: val.join(","), + factory: + "涓ぉ绉戞妧妫�娴嬩腑蹇�" + + " - " + + "閫氫俊浜у搧瀹為獙瀹�" + + " - " + + selectTreeList.join(" - ") + }, + { + headers: { + "Content-Type": "application/json" + } + } + ) + .then(res => { + this.getProductLoad = false; res.data.forEach(a => { - a.state = 0 - }) - row.insProduct = this.HaveJson(res.data) - this.productList = row.insProduct - this.productList0 = JSON.parse(JSON.stringify(this.productList)) - this.$refs.sampleTable.setCurrentRow(row) + a.state = 0; + }); + row.insProduct = this.HaveJson(res.data); + this.productList = row.insProduct; + this.productList0 = JSON.parse(JSON.stringify(this.productList)); + this.$refs.sampleTable.setCurrentRow(row); setTimeout(() => { this.productList.forEach(a => { - if (a.state == 1) this.toggleSelection(a) - }) - }, 200) - }).catch(e => { - this.getProductLoad = false + if (a.state == 1) this.toggleSelection(a); + }); + }, 200); }) - this.searchProject() - this.searchTemList() - }, - searchTemList () { - this.temperatureList = [] - this.$axios.post(this.$api.enums.selectEnumByCategory, { + .catch(e => { + this.getProductLoad = false; + }); + this.searchProject(); + this.searchTemList(); + }, + searchTemList() { + this.temperatureList = []; + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "鐢靛姏娓╁害寰幆妫�楠�" - }).then(res => { + }) + .then(res => { if (res.data.length > 0) { - this.temperatureEngList = res.data + this.temperatureEngList = res.data; res.data.forEach(item => { - this.temperatureList.push(item.label) - }) + this.temperatureList.push(item.label); + }); } - }) - }, - changeModel(type) { - this.sampleList.forEach(a => { - let obj = this.sampleIds.find(b => b == a.id) - if (obj) { - this.$set(a,type, this.allInfo[type]) - if(type=='testRequirements'&&a.standardMethodListId&&a.standardMethodListId.length>0){ - this.methodChange(a.standardMethodListId, a) + }); + }, + changeModel(type) { + this.sampleList.forEach(a => { + let obj = this.sampleIds.find(b => b == a.id); + if (obj) { + this.$set(a, type, this.allInfo[type]); + if ( + type == "testRequirements" && + a.standardMethodListId && + a.standardMethodListId.length > 0 + ) { + this.methodChange(a.standardMethodListId, a); + } + // a[type] = this.allInfo[type] + } + }); + }, + changeModel0(row) { + if (row.standardMethodListId && row.standardMethodListId.length > 0) { + this.methodChange(row.standardMethodListId, row); + } + }, + changeStandardMethodListId() { + this.sampleList.forEach(a => { + let obj = this.sampleIds.find(b => b == a.id); + if (obj) { + a.standardMethodListId = this.standardMethodListId; + this.methodChange(this.standardMethodListId, a); + } + }); + }, + methodFocus() { + this.selectsStandardMethodByFLSSM(); + }, + handleChangeModel(e) { + this.productList = []; + let num = this.selectTree.split("-").length; + if (num != 5) { + this.selectTree = this.selectTree + " - " + e; + } else { + let arr = this.selectTree.split("-"); + let arr0 = arr.slice(0, arr.length - 1); + this.selectTree = arr0.join("-") + "- " + e; + } + }, + // 瑕佹眰鍊煎彉鍖栨椂 + requestChange(e, row, type) { + //this.currentMethod 褰撳墠鏍峰搧id + this.sampleList.forEach(item => { + if (item.id == this.currentMethod.id) { + item.insProduct.forEach(i => { + if (i.id == row.id) { + i[type] = e; } - // a[type] = this.allInfo[type] - } - }) - }, - changeModel0(row){ - if(row.standardMethodListId&&row.standardMethodListId.length>0){ - this.methodChange(row.standardMethodListId, row) + }); } - }, - 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) + }); + // this.sampleList.map(item => { + // if (this.sampleIds.indexOf(item.id) > -1) { + // item.insProduct.map(m => { + // if (m.id == row.id) { + // m[type] = e; + // } + // return m; + // }) + // } + // return item + // }) + }, + selectStandardMethods() { + this.$axios + .get(this.$api.standardTree.selectStandardMethodEnum) + .then(res => { + this.methods = res.data; + }); + }, + selectable() { + if (this.active > 1) { + return false; + } else { + return true; + } + }, + handleAll(e) { + console.log(1111, this.bsm1DiaAll, this.bsm1Dia); + // console.log('e---', e) + if (e.length > 0) { + this.productList.map(m => { + if (e.find(a => a.id == m.id)) { + m.state = 1; } - }) - }, - methodFocus() { - this.selectsStandardMethodByFLSSM() - }, - handleChangeModel(e) { - this.productList = [] - let num = this.selectTree.split('-').length; - if (num != 5) { - this.selectTree = this.selectTree + ' - ' + e - } else { - let arr = this.selectTree.split('-') - let arr0 = arr.slice(0, arr.length - 1) - this.selectTree = arr0.join('-') + '- ' + e - } - }, - // 瑕佹眰鍊煎彉鍖栨椂 - requestChange(e, row,type) { - //this.currentMethod 褰撳墠鏍峰搧id - this.sampleList.forEach(item=>{ - if(item.id == this.currentMethod.id){ - item.insProduct.forEach(i=>{ - if(i.id == row.id){ - i[type] = e - } - }) + return m; + }); + } else { + this.productList.map(m => { + console.log("m----", m); + m.state = 0; + return m; + }); + } + this.bsmRow3 = []; + this.bsm1DiaList = []; + this.productList.forEach(p => { + if ( + p.bsm === "1" && + p.section !== "" && + p.section !== null && + p.state === 1 + ) { + if (p.section.indexOf("[") > -1) { + p.bsmRow = this.HaveJson(p); } - }) - // this.sampleList.map(item => { - // if (this.sampleIds.indexOf(item.id) > -1) { - // item.insProduct.map(m => { - // if (m.id == row.id) { - // m[type] = e; - // } - // return m; - // }) - // } - // return item - // }) - }, - selectStandardMethods() { - this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => { - this.methods = res.data - }) - }, - selectable() { - if (this.active > 1) { - return false - } else { - return true + p.bsm1 = true; + this.bsm1DiaList.push(p); + this.bsm1DiaAll = true; + } else if ( + p.bsm === "1" && + p.section !== "" && + p.section !== null && + p.state === 0 + ) { + p.bsm1 = false; } - }, - handleAll(e) { - console.log(1111,this.bsm1DiaAll,this.bsm1Dia) - // console.log('e---', e) - if (e.length > 0) { - this.productList.map(m => { - if(e.find(a=>a.id == m.id)){ - m.state = 1 + if ( + p.bsm === "1" && + p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" && + this.sampleList.length > 1 && + p.state === 1 && + !this.isBsm2Val2 + ) { + this.bsm2 = true; + this.bsm1Dia = true; + if (this.bsm2Val2.length === 0) { + this.bsm2Val = + ((this.sampleList.length - 1) * this.sampleList.length) / 2; + this.computationalPairing(this.sampleList.length); + this.bsm2Val2 = this.HaveJson(this.bsm2Val3); + } + } else if ( + p.bsm === "1" && + p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" && + p.state === 1 && + this.sampleList.length > 1 + ) { + this.bsm2 = false; + } else if ( + p.bsm === "1" && + p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" && + this.sampleList.length < 2 + ) { + this.$message.error("鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�"); + this.$refs.productTable.clearSelection(); + return; + } + }); + if (e.length > 0) { + this.sampleList.map(item => { + if (this.sampleIds.indexOf(item.id) > -1) { + item.insProduct.map(m => { + m.state = 1; + return m; + }); + } + return item; + }); + } else { + this.sampleList.map(item => { + if (this.sampleIds.indexOf(item.id) > -1) { + item.insProduct.map(m => { + m.state = 0; + return m; + }); + } + return item; + }); + } + this.changeProductList0(); + if (this.sampleSelectionList.length > 0) { + this.sampleSelectionList.forEach(item => { + item.insProduct = this.productList0; + }); + } else { + this.currentMethod.insProduct = this.productList0; + } + this.getProNum(); + this.$nextTick(() => { + this.$refs.productTable.doLayout(); + }); + }, + submitTell() { + if (!this.tell) { + this.$message.error("璇疯緭鍏ヤ笉閫氳繃鍘熷洜"); + return; + } + this.noLoading = true; + this.$axios + .post( + this.$api.insOrder.upInsOrderOfState, + { + state: 2, + id: this.currentId, + tell: this.tell + }, + { + headers: { + "Content-Type": "application/json" } - return m - }) - } else { - this.productList.map(m => { - console.log('m----', m) - m.state = 0 - return m - }) - } - this.bsmRow3 = []; - this.bsm1DiaList = [] - this.productList.forEach(p => { - if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) { - if (p.section.indexOf('[') > -1) { - p.bsmRow = this.HaveJson(p) - } - p.bsm1 = true - this.bsm1DiaList.push(p) - this.bsm1DiaAll = true - } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) { - p.bsm1 = false } - if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && p.state === 1&&!this.isBsm2Val2) { - this.bsm2 = true - this.bsm1Dia = true - if (this.bsm2Val2.length === 0) { - this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2 - this.computationalPairing(this.sampleList.length) - this.bsm2Val2 = this.HaveJson(this.bsm2Val3) - } - } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && p.state === 1 && this.sampleList.length > 1) { - this.bsm2 = false - } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length < 2) { - this.$message.error('鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�') - this.$refs.productTable.clearSelection() - return - } - }) - if (e.length > 0) { - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1) { - item.insProduct.map(m => { - m.state = 1 - return m; - }) - } - return item - }) - } else { - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1) { - item.insProduct.map(m => { - m.state = 0 - return m; - }) - } - return item - }) - } - this.changeProductList0() - if(this.sampleSelectionList.length>0){ - this.sampleSelectionList.forEach(item=>{ - item.insProduct = this.productList0 - }) - }else{ - this.currentMethod.insProduct = this.productList0 - } - this.getProNum() - this.$nextTick(() => { - this.$refs.productTable.doLayout() - }) - }, - submitTell() { - if (!this.tell) { - this.$message.error('璇疯緭鍏ヤ笉閫氳繃鍘熷洜') - return - } - this.noLoading = true; - this.$axios.post(this.$api.insOrder.upInsOrderOfState, { - state: 2, - id: this.currentId, - tell: this.tell - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { + ) + .then(res => { this.noLoading = false; - this.tell = ''; - if (res.code == 201) return - this.$message.success('鎻愪氦鎴愬姛') + this.tell = ""; + if (res.code == 201) return; + this.$message.success("鎻愪氦鎴愬姛"); this.issuedDialogVisible = false; - this.$parent.playOrder(0) - }) - }, - selectEnumByCategoryForSonLaboratory() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + this.$parent.playOrder(0); + }); + }, + selectEnumByCategoryForSonLaboratory() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "瀛愬疄楠屽" - }).then(res => { - this.factory = [] + }) + .then(res => { + this.factory = []; res.data.forEach(a => { this.filters.push({ text: a.label, value: a.value - }) - }) - }) - }, - filterHandler(value, row, column) { - const property = column['property']; - return row[property] === value; - }, - openEquipConfig() { - if (this.active === 1) { - if (this.sampleIds.length === 0) { - this.$message.error("鏈�夋嫨鏍峰搧") - return - } - this.equipConfigShow = true - } else { - if (this.sampleId === null) { - this.$message.error('鏈�変腑鏍峰搧') - return - } - // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { - // sampleId: this.sampleId - // }).then(res => { - // if (res.data.length === 0) { - // this.$message.error('璇ユ牱鍝佹病鏈夐厤缃厜绾�') - // return - // } - // for (var i in this.sampleList) { - // if (this.sampleList[i].id = this.sampleId) { - // this.sampleList[i].bushing = res.data - // break - // } - // } - // this.configShow = true - // }) + }); + }); + }); + }, + filterHandler(value, row, column) { + const property = column["property"]; + return row[property] === value; + }, + openEquipConfig() { + if (this.active === 1) { + if (this.sampleIds.length === 0) { + this.$message.error("鏈�夋嫨鏍峰搧"); + return; } - }, - upBsm1(val) { - let sections = JSON.parse(this.bsmRow.section); - let asks = JSON.parse(this.bsmRow.ask); - let tells = JSON.parse(this.bsmRow.tell); - let manHours = JSON.parse(this.bsmRow.manHour); - let prices = JSON.parse(this.bsmRow.price); - for (var a in sections) { - if (val === sections[a]) { - this.productList.forEach(p => { - if (p.id === this.bsmRow.id) { - p.section = sections[a] - p.ask = asks[a] - p.tell = tells[a] - p.manHour = manHours[a] - p.price = prices[a] - } - }) - break - } + this.equipConfigShow = true; + } else { + if (this.sampleId === null) { + this.$message.error("鏈�変腑鏍峰搧"); + return; } - }, - upBsmAll (item) { - // console.log(1111,item,this.bsm1DiaList) - for (let i =0;i<this.bsm1DiaList.length;i++){ - this.bsm1DiaList[i].bsm1Val = item.bsm1Val - let sections = JSON.parse(this.bsm1DiaList[i].bsmRow.section); - let asks = JSON.parse(this.bsm1DiaList[i].bsmRow.ask); - let tells = JSON.parse(this.bsm1DiaList[i].bsmRow.tell); - let manHours = JSON.parse(this.bsm1DiaList[i].bsmRow.manHour); - let prices = JSON.parse(this.bsm1DiaList[i].bsmRow.price); - for (var a in sections) { - 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() - if(this.sampleSelectionList.length>0){ - this.sampleSelectionList.forEach(item=>{ - item.insProduct = this.productList0 - }) - }else{ - this.currentMethod.insProduct = this.productList0 - } - }, - save1 () { - if (this.bsm1DiaList.length > 0) { - this.bsm1DiaList.forEach(item => { - if (!item.bsm1Val) { - throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - } - }) - } - if (this.bsm2) { - if (this.bsm2Val2.length === 0) { - this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - return - } - let set = new Set() - for (let i = 0; i < this.bsm2Val2.length; i++) { - let num0 = set.size - set.add(JSON.stringify(this.bsm2Val2[i])) - let num1 = set.size - if (num1 == num0) { - this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅') - return - } - set.add(JSON.stringify(this.bsm2Val2[i].reverse())) - let num2 = set.size - if (num1 == num2) { - this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅') - return - } - } - this.isBsm2Val2 = true; - } - this.bsm1DiaAll = false - }, - save2 () { - if (this.bsm1DiaList.length > 0) { - this.bsm1DiaList.forEach(item => { - if (!item.bsm1Val) { - throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - } - }) - } - if (this.bsm2) { - if (this.bsm2Val2.length === 0) { - this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - return - } - let set = new Set() - for (let i = 0; i < this.bsm2Val2.length; i++) { - let num0 = set.size - set.add(JSON.stringify(this.bsm2Val2[i])) - let num1 = set.size - if (num1 == num0) { - this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅') - return - } - set.add(JSON.stringify(this.bsm2Val2[i].reverse())) - let num2 = set.size - if (num1 == num2) { - this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅') - return - } - } - this.isBsm2Val2 = true; - } - this.bsm1Dia = false - }, - beforeClose(done) { - // if (this.bsm1) { - // if (this.bsm1Val === null || this.bsm1Val === '') { - // this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') + // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { + // sampleId: this.sampleId + // }).then(res => { + // if (res.data.length === 0) { + // this.$message.error('璇ユ牱鍝佹病鏈夐厤缃厜绾�') // return // } - // } - if (this.bsm1DiaList.length > 0) { - this.bsm1DiaList.forEach(item => { - if (!item.bsm1Val) { - throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - } - }) - } - if (this.bsm2) { - if (this.bsm2Val2.length === 0) { - this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - return - } - let set = new Set() - for (let i = 0; i < this.bsm2Val2.length; i++) { - let num0 = set.size - set.add(JSON.stringify(this.bsm2Val2[i])) - let num1 = set.size - if (num1 == num0) { - this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅') - return - } - set.add(JSON.stringify(this.bsm2Val2[i].reverse())) - let num2 = set.size - if (num1 == num2) { - this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅') - return - } - } - this.isBsm2Val2 = true; - } - // if(this.bsm3){ - // if(!this.bsm3Val){ - // this.$message.error('RST蹇呴』濉啓') - // return - // }else{ - // if(Array.isArray(this.bsmRow3)){ - // this.bsmRow3.forEach(item=>{ - // item.rts = this.bsm3Val - // }) - // }else{ - // this.bsmRow3.rts = this.bsm3Val + // for (var i in this.sampleList) { + // if (this.sampleList[i].id = this.sampleId) { + // this.sampleList[i].bushing = res.data + // break // } // } - // } - done() - }, - beforeClose0(done) { - if (!this.bsm3Val) { - this.$message.error('RST蹇呴』濉啓') - return - } else { - if (Array.isArray(this.bsmRow3)) { - this.bsmRow3.forEach(item => { - item.rts = this.bsm3Val - }) - } else { - this.bsmRow3.rts = this.bsm3Val + // this.configShow = true + // }) + } + }, + upBsm1(val) { + let sections = JSON.parse(this.bsmRow.section); + let asks = JSON.parse(this.bsmRow.ask); + let tells = JSON.parse(this.bsmRow.tell); + let manHours = JSON.parse(this.bsmRow.manHour); + let prices = JSON.parse(this.bsmRow.price); + for (var a in sections) { + if (val === sections[a]) { + this.productList.forEach(p => { + if (p.id === this.bsmRow.id) { + p.section = sections[a]; + p.ask = asks[a]; + p.tell = tells[a]; + p.manHour = manHours[a]; + p.price = prices[a]; + } + }); + break; + } + } + }, + upBsmAll(item) { + // console.log(1111,item,this.bsm1DiaList) + for (let i = 0; i < this.bsm1DiaList.length; i++) { + this.bsm1DiaList[i].bsm1Val = item.bsm1Val; + let sections = JSON.parse(this.bsm1DiaList[i].bsmRow.section); + let asks = JSON.parse(this.bsm1DiaList[i].bsmRow.ask); + let tells = JSON.parse(this.bsm1DiaList[i].bsmRow.tell); + let manHours = JSON.parse(this.bsm1DiaList[i].bsmRow.manHour); + let prices = JSON.parse(this.bsm1DiaList[i].bsmRow.price); + for (var a in sections) { + 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; } } - 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) - }) + } + this.changeProductList0(); + if (this.sampleSelectionList.length > 0) { + this.sampleSelectionList.forEach(item => { + item.insProduct = this.productList0; + }); + } else { + this.currentMethod.insProduct = this.productList0; + } + }, + save1() { + if (this.bsm1DiaList.length > 0) { + this.bsm1DiaList.forEach(item => { + if (!item.bsm1Val) { + throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊"); } - if (item.bushing && item.bushing.length > 0) { - item.bushing.forEach(a => { - if (a.fiber && a.fiber.length > 0) { - a.fiber.forEach(b => { - if (b.productList && b.productList.length > 0) { - b.productList.forEach(c => { - this.totalArr.push(c) - }) - } - }) - } - if (a.fibers && a.fibers.length > 0) { - a.fibers.forEach(b => { - if (b.productList && b.productList.length > 0) { - b.productList.forEach(c => { - this.totalArr.push(c) - }) - } - if (b.fiber && b.fiber.length > 0) { - b.fiber.forEach(c => { - if (c.productList && c.productList.length > 0) { - c.productList.forEach(d => { - this.totalArr.push(d) - }) - } - }) - } - }) - } - }) + }); + } + if (this.bsm2) { + if (this.bsm2Val2.length === 0) { + this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊"); + return; + } + let set = new Set(); + for (let i = 0; i < this.bsm2Val2.length; i++) { + let num0 = set.size; + set.add(JSON.stringify(this.bsm2Val2[i])); + let num1 = set.size; + if (num1 == num0) { + this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅"); + return; } - }) - 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 + set.add(JSON.stringify(this.bsm2Val2[i].reverse())); + let num2 = set.size; + if (num1 == num2) { + this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅"); + return; + } + } + this.isBsm2Val2 = true; + } + this.bsm1DiaAll = false; + }, + save2() { + if (this.bsm1DiaList.length > 0) { + this.bsm1DiaList.forEach(item => { + if (!item.bsm1Val) { + throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊"); + } + }); + } + if (this.bsm2) { + if (this.bsm2Val2.length === 0) { + this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊"); + return; + } + let set = new Set(); + for (let i = 0; i < this.bsm2Val2.length; i++) { + let num0 = set.size; + set.add(JSON.stringify(this.bsm2Val2[i])); + let num1 = set.size; + if (num1 == num0) { + this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅"); + return; + } + set.add(JSON.stringify(this.bsm2Val2[i].reverse())); + let num2 = set.size; + if (num1 == num2) { + this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅"); + return; + } + } + this.isBsm2Val2 = true; + } + this.bsm1Dia = false; + }, + beforeClose(done) { + // if (this.bsm1) { + // if (this.bsm1Val === null || this.bsm1Val === '') { + // this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') + // return + // } + // } + if (this.bsm1DiaList.length > 0) { + this.bsm1DiaList.forEach(item => { + if (!item.bsm1Val) { + throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊"); + } + }); + } + if (this.bsm2) { + if (this.bsm2Val2.length === 0) { + this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊"); + return; + } + let set = new Set(); + for (let i = 0; i < this.bsm2Val2.length; i++) { + let num0 = set.size; + set.add(JSON.stringify(this.bsm2Val2[i])); + let num1 = set.size; + if (num1 == num0) { + this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅"); + return; + } + set.add(JSON.stringify(this.bsm2Val2[i].reverse())); + let num2 = set.size; + if (num1 == num2) { + this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅"); + return; + } + } + this.isBsm2Val2 = true; + } + // if(this.bsm3){ + // if(!this.bsm3Val){ + // this.$message.error('RST蹇呴』濉啓') + // return + // }else{ + // if(Array.isArray(this.bsmRow3)){ + // this.bsmRow3.forEach(item=>{ + // item.rts = this.bsm3Val + // }) + // }else{ + // this.bsmRow3.rts = this.bsm3Val + // } + // } + // } + done(); + }, + beforeClose0(done) { + if (!this.bsm3Val) { + this.$message.error("RST蹇呴』濉啓"); + return; + } else { + if (Array.isArray(this.bsmRow3)) { + this.bsmRow3.forEach(item => { + item.rts = this.bsm3Val; + }); + } else { + this.bsmRow3.rts = this.bsm3Val; + } + } + done(); + }, + getTotal() { + this.totalArr = []; + this.total = 0; + this.sampleList.forEach(item => { + if (item.insProduct && item.insProduct.length > 0) { + item.insProduct.forEach(a => { + this.totalArr.push(a); + }); + } + if (item.bushing && item.bushing.length > 0) { + item.bushing.forEach(a => { + if (a.fiber && a.fiber.length > 0) { + a.fiber.forEach(b => { + if (b.productList && b.productList.length > 0) { + b.productList.forEach(c => { + this.totalArr.push(c); + }); + } + }); + } + if (a.fibers && a.fibers.length > 0) { + a.fibers.forEach(b => { + if (b.productList && b.productList.length > 0) { + b.productList.forEach(c => { + this.totalArr.push(c); + }); + } + if (b.fiber && b.fiber.length > 0) { + b.fiber.forEach(c => { + if (c.productList && c.productList.length > 0) { + c.productList.forEach(d => { + this.totalArr.push(d); + }); + } + }); + } + }); + } + }); + } + }); + let mySet = new Set(); + let arr0 = this.totalArr.filter(item => { + if (item.state == 1) { + let num1 = mySet.size; + if (item.manHourGroup === "" || !item.manHourGroup) { + return true; + } else { + mySet.add(item.manHourGroup); + let num2 = mySet.size; + if (num2 > num1) { + return true; } else { - mySet.add(item.manHourGroup) - let num2 = mySet.size - if (num2 > num1) { - return true - } else { - return false - } + return false; } } - }) - arr0.forEach(item => { - this.total += Number(item.price) - }) - let arr1 = this.totalArr.filter(item => item.state == 1) - let mySet0 = new Set(); - this.sonLaboratoryList = [] - arr1.forEach(item => { - let num1 = mySet0.size - mySet0.add(item.sonLaboratory) - let num2 = mySet0.size - if(num2>num1){ - this.sonLaboratoryList.push({ - label:item.sonLaboratory, - value:item.sonLaboratory, - }) - } - }) - }, - bsm2Up(val) { - let list = [] - for (let a = 1; a < this.bsm2Val3.length + 1; a++) { - list.push(a) } - let set = new Set() - let size1 = set.length - while (set.size < val) { - set.add(Math.ceil(Math.random() * this.bsm2Val3.length)) + }); + arr0.forEach(item => { + this.total += Number(item.price); + }); + let arr1 = this.totalArr.filter(item => item.state == 1); + let mySet0 = new Set(); + this.sonLaboratoryList = []; + arr1.forEach(item => { + let num1 = mySet0.size; + mySet0.add(item.sonLaboratory); + let num2 = mySet0.size; + if (num2 > num1) { + this.sonLaboratoryList.push({ + label: item.sonLaboratory, + value: item.sonLaboratory + }); } - this.bsm2Val2 = [] - for (let a of set) { - this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a - 1])) - } - }, - changeUser(){ - if(this.sonLaboratoryList.length>0){ - this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value - } - }, - selectDepartmentEnum(){ - this.$axios.get(this.$api.department.selectDepartmentLimsEnum).then(res=>{ - this.deaprtEnum = res.data.filter(item=>item.name === '璐ㄩ噺閮�' || item.name === '妫�娴嬩腑蹇�') - }) + }); + }, + bsm2Up(val) { + let list = []; + for (let a = 1; a < this.bsm2Val3.length + 1; a++) { + list.push(a); } + let set = new Set(); + let size1 = set.length; + while (set.size < val) { + set.add(Math.ceil(Math.random() * this.bsm2Val3.length)); + } + this.bsm2Val2 = []; + for (let a of set) { + this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a - 1])); + } + }, + changeUser() { + if (this.sonLaboratoryList.length > 0) { + this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value; + } + }, + selectDepartmentEnum() { + this.$axios + .get(this.$api.department.selectDepartmentLimsEnum) + .then(res => { + this.deaprtEnum = res.data.filter( + item => item.name === "璐ㄩ噺閮�" || item.name === "妫�娴嬩腑蹇�" + ); + }); } } +}; </script> diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue index 7c5c938..4a8e942 100644 --- a/src/components/view/b1-inspect-order-plan.vue +++ b/src/components/view/b1-inspect-order-plan.vue @@ -774,20 +774,37 @@ this.storageList = this.HaveJson(res.data).map(item=>{ item.warehouseShelfList&&item.warehouseShelfList.length>0&&item.warehouseShelfList.map(m=>{ let warehouseShelfList = []; - for (let i=1;i<m.row+1;i++){ - let warehouseShelfList0 = [] - for (let j=1;j<m.col+1;j++){ + let warehouseShelfList0 = [] + let warehouseCellList = m.warehouseCellList?m.warehouseCellList:[] + warehouseCellList.forEach(a=>{ + if(warehouseShelfList.find(n=>n.id==a.row)){ warehouseShelfList0.push({ - name:j+' 鍒�', - id:j, + name:a.col+'鍒�', + id:a.col + }) + }else if(warehouseShelfList.length==0){ + warehouseShelfList.push({ + name:a.row+'灞�', + id:a.row + }) + warehouseShelfList0.push({ + name:a.col+'鍒�', + id:a.col + }) + }else if(!warehouseShelfList.find(n=>n.id==a.row)){ + warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0)) + warehouseShelfList0 = [] + warehouseShelfList.push({ + name:a.row+'灞�', + id:a.row + }) + warehouseShelfList0.push({ + name:a.col+'鍒�', + id:a.col }) } - warehouseShelfList.push({ - name:i+' 灞�', - id:i, - warehouseShelfList:warehouseShelfList0 - }) - } + }) + warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0)) m.warehouseShelfList = warehouseShelfList; return m; }) diff --git a/src/components/view/b1-sample.vue b/src/components/view/b1-sample.vue index e0f44c6..43f5c97 100644 --- a/src/components/view/b1-sample.vue +++ b/src/components/view/b1-sample.vue @@ -521,20 +521,37 @@ this.storageList = this.HaveJson(res.data).map(item=>{ item.warehouseShelfList&&item.warehouseShelfList.length>0&&item.warehouseShelfList.map(m=>{ let warehouseShelfList = []; - for (let i=1;i<m.row+1;i++){ - let warehouseShelfList0 = [] - for (let j=1;j<m.col+1;j++){ + let warehouseShelfList0 = [] + let warehouseCellList = m.warehouseCellList?m.warehouseCellList:[] + warehouseCellList.forEach(a=>{ + if(warehouseShelfList.find(n=>n.id==a.row)){ warehouseShelfList0.push({ - name:j+' 鍒�', - id:j, + name:a.col+'鍒�', + id:a.col + }) + }else if(warehouseShelfList.length==0){ + warehouseShelfList.push({ + name:a.row+'灞�', + id:a.row + }) + warehouseShelfList0.push({ + name:a.col+'鍒�', + id:a.col + }) + }else if(!warehouseShelfList.find(n=>n.id==a.row)){ + warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0)) + warehouseShelfList0 = [] + warehouseShelfList.push({ + name:a.row+'灞�', + id:a.row + }) + warehouseShelfList0.push({ + name:a.col+'鍒�', + id:a.col }) } - warehouseShelfList.push({ - name:i+' 灞�', - id:i, - warehouseShelfList:warehouseShelfList0 - }) - } + }) + warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0)) m.warehouseShelfList = warehouseShelfList; return m; }) @@ -819,7 +836,7 @@ handleShelf(e,sampleCode=''){ if(e){ this.tableLoading = true; - this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e+'&sampleCode='+sampleCode).then(res => { + this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e+'&sampleCode='+(sampleCode?sampleCode:'')).then(res => { this.tableLoading = false; let data = res.data; let set =new Set() -- Gitblit v1.9.3