From d975fc4756806f5b51f006c19c33571b9b8c0b3b Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期五, 20 十二月 2024 09:30:19 +0800
Subject: [PATCH] 修改下单时要求值输入限制

---
 src/components/do/b1-ins-order/add.vue |  740 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 499 insertions(+), 241 deletions(-)

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 6c2d005..7794127 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -134,9 +134,9 @@
   <div class="ins_order_add" style=" display: block; ">
     <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
       <el-row class="title">
-        <el-col :span="6" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鎬讳环锛�<span
-            style="color: #3A7BFA">锟{total}}</span></el-col>
-        <el-col :span="18" style="text-align: right;">
+        <el-col :span="8" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鍗曚綅鎴愭湰鎬讳环锛�<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">
@@ -148,10 +148,7 @@
           <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="openCableConfig"
-            v-if="active==1&&PROJECT=='瑁呭鐢电紗'&&addObj.sampleType!=undefined&&addObj.sampleType.indexOf('鐢电紗')>-1">鐢电紗閰嶇疆</el-button>
           <el-button size="medium" type="primary" @click="openEquipConfig" v-if="active==1">瀛愭牱鍝侀厤缃�</el-button>
-          <el-button size="medium" type="primary" @click="openConfig" v-if="addObj.sampleType==='鍏夌紗'">鍏夌氦閰嶇疆</el-button>
           <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">鎻愪氦</el-button>
           <!-- 瀹℃牳 -->
           <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3&&addObj.companyId"
@@ -185,18 +182,13 @@
             <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 readonly size="small" v-model="addObj.custom">
-                <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true"
-                    :disabled="active>1"></el-button></template>
-              </el-input> -->
             </div>
           </el-col>
           <el-col class="search_thing" :span="6">
             <div class="search_label"><span class="required-span">* </span>濮旀墭鍗曚綅锛�</div>
             <div class="search_input">
-              <!-- <el-input size="small" placeholder="鈫愰�夋嫨濮旀墭瀹㈡埛" clearable disabled v-model="addObj.company"></el-input> -->
               <el-input readonly size="small" v-model="addObj.company" placeholder="閫夋嫨濮旀墭鍗曚綅">
-                <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true"
+                <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>
@@ -224,7 +216,7 @@
             </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"
@@ -242,7 +234,7 @@
             <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: 65%;" @change="addStandardTree" :disabled="active>1"></el-input-number>
+                style="width: 100%;" @change="addStandardTree" :disabled="active>1"></el-input-number>
             </div>
           </el-col>
           <!-- <el-col class="search_thing" :span="6">
@@ -261,7 +253,22 @@
               </el-select>
             </div>
           </el-col>
-          <el-col class="search_thing" :span="6">
+          <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>
+            </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>
+            <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>
+            </div>
+          </el-col>
+          <!-- <el-col class="search_thing" :span="6">
             <div class="search_label">鎶ュ憡鍙戦�佹柟寮忥細</div>
             <div class="search_input">
               <el-radio-group v-model="addObj.send">
@@ -269,8 +276,8 @@
                 <el-radio :label="0">鍏朵粬</el-radio>
               </el-radio-group>
             </div>
-          </el-col>
-          <el-col class="search_thing" :span="6">
+          </el-col> -->
+          <!-- <el-col class="search_thing" :span="6">
             <div class="search_label">鏍峰搧澶勭悊鏂瑰紡锛�</div>
             <div class="search_input">
               <el-radio-group v-model="addObj.processing">
@@ -278,7 +285,7 @@
                 <el-radio :label="1">瀹為獙瀹ゅ鐞�</el-radio>
               </el-radio-group>
             </div>
-          </el-col>
+          </el-col> -->
           <el-col class="search_thing" :span="6">
             <div class="search_label">宸ョ▼鍚嶇О锛�</div>
             <div class="search_input">
@@ -296,8 +303,12 @@
           <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" placeholder="璇疯緭鍏�" clearable v-model="addObj.production"
-                :readonly="active>1"></el-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>
             </div>
           </el-col>
           <el-col class="search_thing" :span="6">
@@ -307,7 +318,7 @@
                 :readonly="active>1"></el-input>
             </div>
           </el-col>
-          <el-col class="search_thing" :span="6">
+          <!-- <el-col class="search_thing" :span="6">
             <div class="search_label">鏄惁鐣欐牱锛�</div>
             <div class="search_input">
               <el-radio-group v-model="addObj.isLeave">
@@ -315,26 +326,69 @@
                 <el-radio :label="1">鐣欐牱</el-radio>
               </el-radio-group>
             </div>
-          </el-col>
+          </el-col> -->
           <el-col class="search_thing" :span="6">
             <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()">
+              <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>
             </div>
           </el-col>
-          <el-col class="search_thing" :span="6">
+          <!-- <el-col class="search_thing" :span="6">
             <div class="search_label">OTC璁㈠崟鍙凤細</div>
             <div class="search_input">
               <el-input size="small" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable v-model="addObj.otcCode" :readonly="active>1"></el-input>
             </div>
-          </el-col>
+          </el-col> -->
           <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>
+            </div>
+          </el-col>
+          <el-col class="search_thing" :span="6">
+            <div class="search_label"><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
+            <div class="search_input">
+              <el-date-picker
+                v-model="addObj.appointed"
+                :disabled="active>1"
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                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>
+            <div class="search_input">
+              <el-date-picker
+                v-model="addObj.issueTime"
+                :disabled="active>1"
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                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-upload
+            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">
+              <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 :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-group>
             </div>
           </el-col>
           <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;">
@@ -355,11 +409,33 @@
       <div style="height: auto;">
         <div class="search" v-if="active==1" style="display: flex;background: transparent;">
           <div class="search_thing">
-            <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
+            <div class="search_label">鏍峰搧鍚嶇О锛�</div>
             <div class="search_input">
-              <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
-                @change="changeModel">
+              <el-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-option>
+              </el-select>
+            </div>
+          </div>
+          <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>
+            </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-option>
               </el-select>
             </div>
@@ -375,13 +451,17 @@
             </div>
           </div>
         </div>
+        <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;">
+          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"></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">
@@ -390,20 +470,29 @@
                 :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="鏍峰搧鍨嬪彿"
+              <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="闈炲繀濉�"
+              <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">
+            <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-option>
+              </el-select>
             </template>
           </el-table-column>
           <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
@@ -412,15 +501,6 @@
                 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="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>
-                <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </template>
@@ -447,7 +527,7 @@
         </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">
+          :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>
@@ -482,7 +562,7 @@
             <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"></el-input>
+                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>
               </span>
@@ -492,7 +572,7 @@
             <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'"></el-input>
+                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
@@ -529,6 +609,9 @@
           <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"/>
       </div>
     </div>
     <el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%">
@@ -927,6 +1010,57 @@
         <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-table-column>
+        <el-table-column
+          prop="model"
+          label="鍨嬪彿"
+          min-width="120">
+        </el-table-column>
+        <el-table-column
+          prop="inspectionItem"
+          label="妫�楠岄」"
+          min-width="120">
+        </el-table-column>
+        <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>
+          </template>
+        </el-table-column>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <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;"/>
+    </el-dialog>
+    <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">鍙屾柟鎵胯:<br/>
+      1銆佸鎵樻柟鎵胯鎻愪緵鐨勪俊鎭笌鏍峰搧鐨勭湡瀹炴��;<br/>
+      2銆佸鎵橀�佹牱妫�楠岀粨鏋滀粎閫傜敤浜庢敹鍒扮殑鏍峰搧;<br/>
+      3銆佽瘯楠岃繃绋嬪鑷寸殑鏍峰搧鎹熷潖銆侀厤浠舵崯鍧忋�佹崯鑰楋紝鏈祴璇曞満涓嶆壙鎷呰禂鍋胯矗浠�;<br/>
+      4銆佸疄楠屽鎵胯鍏寮�灞曟娴嬫椿鍔紝骞舵壙璇轰繚瀹堝湪妫�娴嬫椿鍔ㄨ繃绋嬩腑鎵�鑾风煡鐨勪繚瀵嗕俊鎭��
+      </p>
   </div>
 </template>
 
@@ -937,6 +1071,7 @@
 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: {
@@ -944,7 +1079,8 @@
       fiberOpticConfig,
       fiberOpticConfigTwo,
       equipConfig,
-      cableConfig
+      cableConfig,
+      filePreview
     },
     props: {
       examine: {
@@ -962,6 +1098,8 @@
     },
     data() {
       return {
+        currentFile:{},
+        lookFileVisible:false,
         inspectionItemST: null,
         sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
         editTable:[],
@@ -975,6 +1113,7 @@
           type: '0',
           code: null,
           appointed: null,
+          issueTime:null,
           remark: null,
           otcCode: null,
           mating: 0,
@@ -999,7 +1138,8 @@
           companyId: null,
           prepareUser:null,
           departmentLimsId:null,
-          departmentLims:null
+          departmentLims:null,
+          partNo: null, // 闆朵欢鍙�
         },
         sample: {
           sampleCode: null,
@@ -1137,7 +1277,66 @@
         sonLaboratoryList:[],
         selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃
         deaprtEnum:[],
-        standard:[]
+        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: '鏂囦欢'
+                }
+              ]
+            }
+          },
+          currentId: '',
+          selectField: {},
+          requiredAdd: [],
+          requiredUp: []
+        },
+        ruleInfo:{
+          rule:1,
+          num:null,
+        },
+        powerShow:false,
+        powerTable:[],
+        allInfo:{
+          model:null,
+          sample:null,
+          modelNum:null,
+          testRequirements:null,
+        }
       }
     },
     watch: {
@@ -1188,12 +1387,21 @@
         }
       },
       'addObj.sample'(val) {
-        this.model = null
+        this.allInfo.model = null
+        this.allInfo.sample = null
+        this.allInfo.modelNum = null
+        this.allInfo.testRequirements = null
         this.standardMethodListId = []
       },
       'addObj.sampleNum'(val) {
-        this.model = null
+        this.allInfo.model = null
+        this.allInfo.sample = null
+        this.allInfo.modelNum = null
+        this.allInfo.testRequirements = null
         this.standardMethodListId = []
+      },
+      active(val){
+        this.saveLoad = false
       }
     },
     mounted() {
@@ -1218,6 +1426,14 @@
           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]
+            }
+          }
           this.addObj.type = String(this.addObj.type)
           this.sampleList = this.HaveJson(res.data.sampleProduct)
           this.sampleList.forEach(m=>{
@@ -1233,9 +1449,45 @@
             }
           })
         })
+        // 鏂囦欢淇℃伅
+        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
+      },
+      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');
+              link.href = url;
+              link.download = row.fileName;
+              link.click();
+            }
+          }
+        }).catch(error => {
+
+        })
+      },
+      handleChangeUpload(file, fileLists){
+        this.fileList = fileLists
+      },
       //鐗规畩鍊煎~鍐欏鐞�
       inputValueHandler(row,index){
         if(row){
@@ -1319,7 +1571,13 @@
         })
         this.circulateShow = false
         this.changeProductList0()
-        this.currentMethod.insProduct = this.productList0
+        if(this.sampleSelectionList.length>0){
+          this.sampleSelectionList.forEach(item=>{
+            item.insProduct = this.productList0
+          })
+        }else{
+          this.currentMethod.insProduct = this.productList0
+        }
         this.getProNum()
       },
       spliceTemperatureTest () {
@@ -1370,6 +1628,24 @@
           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 = []
@@ -1541,14 +1817,23 @@
           this.$message.error('鏈�夋嫨鏁版嵁')
           return
         }
-        this.addObj.company = selects.company
-        this.addObj.code = selects.code
-        this.addObj.companyId = selects.id
-        this.selectUserDia = false
-        if(this.active==1){
-          // TODO
-          this.selectInsOrderTemplate()
+        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){
@@ -1644,9 +1929,15 @@
           this.$message.error('璇疯緭鍏ユ牱鍝佸悕绉�')
         } else if (!this.sampleList.every(m => m.model)) {
           this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�')
-        } else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) {
+        }else if (!this.addObj.appointed) {
+          this.$message.error('璇烽�夋嫨绾﹀畾鏃堕棿')
+        }else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) {
           this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
-        } else {
+        } 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)
@@ -1656,23 +1947,56 @@
           //   }
           // }
           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 projectNum = this.totalArr.filter(a => a.state == 1).length
           if(projectNum==0){
-            this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
-              confirmButtonText: "纭畾",
-              cancelButtonText: "鍙栨秷",
-              type: "warning"
-            }).then(() => {
-              this.saveMethod(sampleList)
-            }).catch(() => {})
+            // 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.includes(b)) && a.state == 1)
+            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)
@@ -1719,7 +2043,6 @@
                  let min = Math.min(...splits)
                  let max = Math.max(...splits)
                  if(min==max){
-                  console.log(2222);
                   isTrue = false
                  }
                 //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
@@ -1816,7 +2139,7 @@
                   let arr = this.editTable.filter(b => b.sampleId == item.id)
                   for (var i=0;i<arr.length;i++){
                     if(a.ask){
-                      if(a.ask.includes(arr[i].symbolItem)){
+                      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
@@ -2000,10 +2323,20 @@
       },
       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;
         }
@@ -2015,9 +2348,25 @@
           })
           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
-        this.$axios.post(this.$api.insOrder.addInsOrder, {
-          str: JSON.stringify({
+        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 === '瑁呭鐢电紗') {
@@ -2040,7 +2389,12 @@
               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
@@ -2177,22 +2531,6 @@
         this.models = val.children
         this.getNodeParent(node)
 
-        let flag = false
-        if (node.level == 3) {
-          if(node.data.children.length>0){
-            node.data.children.forEach(a => {
-              let key = Object.keys(a)
-              if(!key.includes('level')) {
-                flag = true
-              }
-            })
-
-          }
-        }
-        this.selectTree = this.selectTree.replace(' - ', '')
-        if(flag) {
-          this.selectTree =  '-  - ' + this.selectTree
-        }
         let data = this.selectTree.split(' - ')
         let data2 = ''
         for (let index = data.length - 1; index >= 0; index--) {
@@ -2223,27 +2561,24 @@
         return data.label.indexOf(value) !== -1;
       },
       activeStandardTree() {
-        let trees = this.selectTree.split(" - ")
+        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('鏈�夋嫨瀵硅薄')
+          this.$message.error('鏈�夋嫨鏍峰搧绫诲埆')
           return
         }
-        this.addObj.factory = trees[0]
-        this.addObj.laboratory = trees[1]
-        this.addObj.sampleType = trees[2]
-        if (trees[3] === undefined || trees[3] === '' || trees[3] === '- ') {
-          this.addObj.sample = trees[2]
-        } else {
-          this.addObj.sample = trees[3]
-        }
-        this.addObj.model = (trees[4] == undefined ? null : trees[4])
+        this.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.sample = this.addObj.sample
           this.sample.model = this.addObj.model
           this.sample.unit = this.addObj.unit
           this.sample.standardMethodListId = []
@@ -2261,23 +2596,10 @@
       selectsStandardMethodByFLSSM() {
         this.methodLoad = true
         this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
-          tree: this.selectTree
+          tree: '涓ぉ绉戞妧妫�娴嬩腑蹇�'+' - '+'閫氫俊浜у搧瀹為獙瀹�'+' - '+this.selectTree
         }).then(res => {
           this.methodLoad = false
-          try {
-            if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
-              let arr = this.selectTree.split('-')
-              let arr0 = arr.slice(0, arr.length - 1)
-              let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
-              this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
-                tree: selectTree
-              }).then(ress => {
-                this.methods = ress.data.standardMethodList
-              })
-            } else {
-              this.methods = res.data.standardMethodList
-            }
-          } catch (e) {}
+          this.methods = res.data.standardMethodList
         })
       },
       addStandardTree() {
@@ -2288,7 +2610,7 @@
           this.sample.joinName = null
           this.sample.joinModel = null
           this.sample.joinNum = 1
-          this.sample.sample = this.addObj.sample
+          // this.sample.sample = this.addObj.sample
           this.sample.model = this.addObj.model
           this.sample.unit = this.addObj.unit
           this.sample.standardMethodListId = []
@@ -2361,7 +2683,8 @@
         if(row.section === null) {
           row.section = ""
         }
-        let arr = this.productList.filter(m=>m.state==1&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1)
+        // 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)
@@ -2424,32 +2747,15 @@
           }
           return item
         })
-        const select = this.selectTree.split(' - ')
-        if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 1&&this.isAskOnlyRead) {
-          this.circulateShow = true;
-          return
-        } else if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 0) {
-          this.circulateShow = false;
-        }
-        if ((row.inspectionItem === '娓╁崌璇曢獙' || row.inspectionItem === '鐑惊鐜�') && row.state === 1) {
-          // console.log('row---', row)
-          this.temperatureTitle = `${row.inspectionItem}瑕佹眰濉啓`
-          this.isShowInput = row.inspectionItem === '鐑惊鐜�'
-          this.temId = row.id
-          this.temperatureShow = true;
-          return
-        } else if ((row.inspectionItem === '娓╁崌璇曢獙' || row.inspectionItem === '鐑惊鐜�') && row.state === 0) {
-          this.temperatureShow = false;
-        }
-        // if (row.inspectionItem === '鍗曟牴鍨傜洿鐕冪儳' && select[2] === '鍏夌紗' && row.state === 1) {
-        //   this.singleVerticalCombustionShow = true;
-        //   return
-        // } else if (row.inspectionItem === '鍗曟牴鍨傜洿鐕冪儳' && select[2] === '鍏夌紗' && row.state === 0) {
-        //   this.singleVerticalCombustionShow = false;
-        // }
 
         this.changeProductList0()
-        this.currentMethod.insProduct = this.productList0
+        if(this.sampleSelectionList.length>0){
+          this.sampleSelectionList.forEach(item=>{
+            item.insProduct = this.productList0
+          })
+        }else{
+          this.currentMethod.insProduct = this.productList0
+        }
         this.getProNum()
       },
       searchProject () {
@@ -2524,7 +2830,23 @@
       // 淇濆瓨妯℃澘
       addTemplateDia() {
         if (this.templateName) {
-          this.templateLoading = true;
+          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({
@@ -2544,9 +2866,6 @@
             this.selectInsOrderTemplate()
             this.templateName = ''
           })
-        } else {
-          this.$message.error('璇峰~鍐欐ā鏉垮悕绉�')
-        }
       },
       // 鏌ヨ妯℃澘
       selectInsOrderTemplateById(e) {
@@ -2587,7 +2906,7 @@
         }).then(res => {
           this.orderType = res.data
           if (res.data.length > 0) {
-            this.addObj.orderType = res.data[0].value
+            this.addObj.orderType = 'C'
           }
         })
       },
@@ -2602,26 +2921,25 @@
         })
       },
       methodChange(val, row) {
-        if (val === null || val === '') return
+        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,
+          model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum+';'+row.testRequirements,
           standardMethodListId: val.join(','),
-          factory: selectTreeList.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.getProductLoad = false
           this.productList = row.insProduct
           this.productList0 = JSON.parse(JSON.stringify(this.productList))
           this.$refs.sampleTable.setCurrentRow(row)
@@ -2630,6 +2948,8 @@
               if (a.state == 1) this.toggleSelection(a)
             })
           }, 200)
+        }).catch(e => {
+          this.getProductLoad = false
         })
         this.searchProject()
         this.searchTemList()
@@ -2647,13 +2967,22 @@
           }
         })
       },
-      changeModel() {
+      changeModel(type) {
         this.sampleList.forEach(a => {
           let obj = this.sampleIds.find(b => b == a.id)
           if (obj) {
-            a.model = this.model
+            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 => {
@@ -2759,30 +3088,6 @@
             this.$refs.productTable.clearSelection()
             return
           }
-          const select = this.selectTree.split(' - ')
-          if (p.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && p.state === 1&&this.isAskOnlyRead) {
-            this.circulateShow = true;
-            return
-          } else if (p.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && p.state === 0) {
-            this.circulateShow = false;
-          }
-          if ((p.inspectionItem === '娓╁崌璇曢獙' || p.inspectionItem === '鐑惊鐜�') && p.state === 1) {
-            // console.log('p---', p)
-            this.temperatureTitle = `${p.inspectionItem}瑕佹眰濉啓`
-            this.isShowInput = p.inspectionItem === '鐑惊鐜�'
-            this.temId = p.id
-            this.temperatureShow = true;
-            return
-          } else if ((p.inspectionItem === '娓╁崌璇曢獙' || p.inspectionItem === '鐑惊鐜�') && p.state === 0) {
-            this.temperatureShow = false;
-          }
-          /* if (p.ask.includes('RTS')&&p.state === 1) {
-            p.rts = ''
-            this.bsm3Val = ''
-            this.bsm3 = true
-            this.bsm3Dia = true
-            this.bsmRow3.push(p)
-          } */
         })
         if (e.length > 0) {
           this.sampleList.map(item => {
@@ -2806,7 +3111,13 @@
           })
         }
         this.changeProductList0()
-        this.currentMethod.insProduct = this.productList0
+        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()
@@ -2852,36 +3163,6 @@
         const property = column['property'];
         return row[property] === value;
       },
-      openConfig() {
-        if (this.active === 1) {
-          if (this.sampleIds.length === 0) {
-            this.$message.error("鏈�夋嫨鏍峰搧")
-            return
-          }
-          this.configShow = true
-        } else {
-          if (this.sampleId === null) {
-            this.$message.error('鏈�変腑鏍峰搧')
-            return
-          }
-          this.sampleIds = [this.sampleId]
-          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
-          })
-        }
-      },
       openEquipConfig() {
         if (this.active === 1) {
           if (this.sampleIds.length === 0) {
@@ -2889,35 +3170,6 @@
             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
-          // })
-        }
-      },
-      openCableConfig() {
-        if (this.active === 1) {
-          if (this.sampleIds.length === 0) {
-            this.$message.error("鏈�夋嫨鏍峰搧")
-            return
-          }
-          this.cableConfigShow = true
         } else {
           if (this.sampleId === null) {
             this.$message.error('鏈�変腑鏍峰搧')
@@ -2986,7 +3238,13 @@
           }
         }
         this.changeProductList0()
-        this.currentMethod.insProduct = this.productList0
+        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) {
@@ -3220,7 +3478,7 @@
       },
       selectDepartmentEnum(){
         this.$axios.get(this.$api.department.selectDepartmentLimsEnum).then(res=>{
-          this.deaprtEnum = res.data
+          this.deaprtEnum = res.data.filter(item=>item.name === '璐ㄩ噺閮�' || item.name === '妫�娴嬩腑蹇�')
         })
       }
     }

--
Gitblit v1.9.3