From 6f30bbf4f118d3357d1e6e503aa986227e2cc6ea Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 20 八月 2024 09:33:40 +0800
Subject: [PATCH] 更新代码

---
 src/components/do/b1-ins-order/add.vue                 |  165 +++
 src/components/tool/value-table.vue                    |    8 
 src/components/view/role-manage.vue                    |    4 
 src/components/view/b1-inspect-order-plan.vue          |    6 
 src/components/view/person-manage.vue                  |    2 
 src/components/do/a6-device/maintenance.vue            |  229 +++++
 src/view/index.vue                                     |    8 
 src/components/view/notice-detail.vue                  |    6 
 src/components/view/b2-standard.vue                    |    2 
 static/js/worker.js                                    |  414 ++++++---
 src/view/enter.vue                                     |    2 
 src/view/notice.vue                                    |    1 
 static/js/worker0.js                                   |   37 
 src/main.js                                            |   24 
 src/components/do/b1-inspect-order-plan/Inspection.vue |  503 +++++++++---
 src/components/do/a6-device/files.vue                  |  350 ++++++++
 src/components/do/b1-ins-order/fiberoptic-config.vue   |  108 ++
 src/components/do/a6-device/check-and-accept.vue       |  159 ++++
 src/components/view/b1-inspection-order.vue            |    6 
 src/components/do/a6-device/calibration.vue            |  291 +++++++
 20 files changed, 1,936 insertions(+), 389 deletions(-)

diff --git a/src/components/do/a6-device/calibration.vue b/src/components/do/a6-device/calibration.vue
index 8e0ff62..f7b4d46 100644
--- a/src/components/do/a6-device/calibration.vue
+++ b/src/components/do/a6-device/calibration.vue
@@ -1,13 +1,300 @@
 <template>
-  <div>璁惧鏍″噯</div>
+  <div>
+    <div class="search">
+      <div class="search_thing">
+        <el-button size="small" type="primary" @click="dialogVisible0=true">鏍″噯椤圭洰缁存姢</el-button>
+      </div>
+      <div class="btns">
+        <el-button size="small" type="primary">娣诲姞鏍″噯璁板綍</el-button>
+        <el-button size="small" type="primary">瀵煎嚭</el-button>
+      </div>
+    </div>
+    <div class="tables" style="margin-top: 16px;">
+      <ValueTable ref="ValueTable"
+				:url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
+				:delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex"/>
+    </div>
+    <el-dialog
+      title="鏍″噯椤圭洰缁存姢"
+      :visible.sync="dialogVisible0"
+      width="60%"
+      style="max-height: 80vh;margin-top: 10vh;"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false">
+      <h4>
+        <div style="display: flex;
+  align-items: center;"><span class="line"></span><span>璁惧鏍″噯鍙傛暟缁存姢</span></div>
+        <el-button type="primary" size="small" @click="addCalibrate">娣� 鍔�</el-button>
+      </h4>
+      <div class="search">
+        <div class="search_thing">
+          <div class="search_label">璁¢噺鍙傛暟锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="form0.value"></el-input></div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">閲忕▼鑼冨洿锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="form0.value"></el-input></div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label" style="width: 100px;">鏈�澶у厑璁歌宸細</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="form0.value"></el-input></div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">鍒ゅ畾鏍囧噯锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="form0.value"></el-input></div>
+        </div>
+      </div>
+      <h4>
+        <div style="display: flex;
+  align-items: center;"><span class="line"></span><span>璁惧鏍″噯鍙傛暟</span></div>
+      </h4>
+      <ValueTable ref="ValueTable0"
+				:url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
+				:delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData0" :key="upIndex0"/>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible0 = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="dialogVisible0 = false">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
+import ValueTable from '../../tool/value-table.vue'
 export default {
-
+  components: {
+    ValueTable
+  },
+  data(){
+    return {
+      componentData: {
+        entity: {
+          week: null,
+          weekDay: null,
+          dateTime: null,
+          name:null,
+          orderBy: {
+            field: 'id',
+            order: 'desc'
+          }
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        do: [{
+          id: 'handleLook',
+          font: '鏌ョ湅璇︽儏',
+          type: 'text',
+          method: 'handleLook'
+        }],
+        tagField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        linkEvent: {},
+        selectField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        requiredAdd: [],
+        requiredUp: []
+			},
+      upIndex:0,
+      componentData0: {
+        entity: {
+          week: null,
+          weekDay: null,
+          dateTime: null,
+          name:null,
+          orderBy: {
+            field: 'id',
+            order: 'desc'
+          }
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        isPage:false,
+        do: [{
+          id: 'delete',
+          font: '鍒犻櫎',
+          type: 'text',
+          method: 'doDiy',
+        }],
+        tagField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        linkEvent: {},
+        selectField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        requiredAdd: [],
+        requiredUp: []
+			},
+      upIndex0:0,
+      dialogVisible0:false,
+      form0:{
+        value:''
+      }
+    }
+  },
+  methods:{
+    addCalibrate(){
+      if(!this.form0.value){
+        this.$message.error('璇疯緭鍏ヨ閲忓弬鏁�')
+        return
+      }
+      // 淇濆瓨
+      // 鏇存柊鍒楄〃
+    }
+  }
 }
 </script>
 
 <style scoped>
+.tables{
+  width: calc(100vw - 390px);
+  height: calc(100vh - 230px);
+}
+.search {
+  background-color: #fff;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  position: relative;
+}
 
+.search_thing {
+  display: flex;
+  align-items: center;
+  height: 40px;
+}
+
+.search_label {
+  width: 70px;
+  font-size: 14px;
+  text-align: right;
+}
+
+.search_input {
+  width: calc(100% - 110px);
+}
+.btns{
+  position: absolute;
+  right: 40px;
+  top: 50%;
+  transform: translate(0,-50%);
+}
+h4{
+  font-weight: 400;
+  font-size: 16px;
+  display: flex;
+  justify-content: space-between;
+  margin: 10px 0;
+}
+h4 .line{
+  display: inline-block;
+  width: 3px;
+  height: 16px;
+  background: #3A7BFA;
+  margin-right: 4px;
+}
 </style>
diff --git a/src/components/do/a6-device/check-and-accept.vue b/src/components/do/a6-device/check-and-accept.vue
index 8882f55..2fc1fd5 100644
--- a/src/components/do/a6-device/check-and-accept.vue
+++ b/src/components/do/a6-device/check-and-accept.vue
@@ -1,13 +1,168 @@
 <template>
-  <div>璁惧楠屾敹</div>
+  <div>
+    <div class="search">
+      <div class="search_thing">
+        <div class="search_label">鍏抽敭瀛楋細</div>
+        <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+            v-model="value" @keyup.enter.native="refreshTable()"></el-input></div>
+      </div>
+      <div class="search_thing" style="padding-left: 30px;">
+        <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+      </div>
+      <div class="btns">
+        <el-button size="small" type="primary">鏂板缓</el-button>
+        <el-button size="small" type="primary">瀵煎嚭</el-button>
+      </div>
+    </div>
+    <div class="tables" style="margin-top: 16px;">
+      <ValueTable ref="ValueTable"
+				:url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
+				:delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex"/>
+    </div>
+  </div>
 </template>
 
 <script>
+import ValueTable from '../../tool/value-table.vue'
 export default {
-
+  components: {
+    ValueTable
+  },
+  data(){
+    return {
+      value:'',
+      componentData: {
+        entity: {
+          week: null,
+          weekDay: null,
+          dateTime: null,
+          name:null,
+          orderBy: {
+            field: 'id',
+            order: 'desc'
+          }
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        do: [{
+          id: 'getFile',
+          font: '闄勪欢',
+          type: 'text',
+          method: 'getFile'
+        }, {
+          id: 'handleLook',
+          font: '鏌ョ湅',
+          type: 'text',
+          method: 'handleLook'
+        },{
+          id: 'delete',
+          font: '鍒犻櫎',
+          type: 'text',
+          method: 'doDiy',
+          disabFun: (row, index) => {
+            return row.state === '宸插鏍�' || row.state === '宸叉壒鍑�'
+          }
+        }],
+        tagField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        linkEvent: {},
+        selectField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        requiredAdd: [],
+        requiredUp: []
+			},
+      upIndex:0,
+    }
+  },
+  methods:{
+    refreshTable(){}
+  }
 }
 </script>
 
 <style scoped>
+.tables{
+  width: calc(100vw - 390px);
+  height: calc(100vh - 230px);
+}
+.search {
+  background-color: #fff;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  position: relative;
+}
 
+.search_thing {
+  display: flex;
+  align-items: center;
+  height: 40px;
+}
+
+.search_label {
+  width: 70px;
+  font-size: 14px;
+  text-align: right;
+}
+
+.search_input {
+  width: calc(100% - 120px);
+}
+.btns{
+  position: absolute;
+  right: 40px;
+  top: 50%;
+  transform: translate(0,-50%);
+}
 </style>
diff --git a/src/components/do/a6-device/files.vue b/src/components/do/a6-device/files.vue
index bdb6021..247d503 100644
--- a/src/components/do/a6-device/files.vue
+++ b/src/components/do/a6-device/files.vue
@@ -3,8 +3,20 @@
     <div class="page-header">
       <h4><span class="line"></span><span>璁惧妗f</span></h4>
       <div class="btns">
-        <el-button type="primary" size="small">淇妗f</el-button>
-        <el-button type="primary" size="small">娣诲姞闄勪欢</el-button>
+        <el-button type="primary" size="small" @click="dialogVisible=true" style="margin-right: 16px;">淇妗f</el-button>
+        <!-- <el-button type="primary" size="small">娣诲姞闄勪欢</el-button> -->
+        <el-upload
+            class="upload-demo"
+            :action="action"
+            :headers="headers"
+            :show-file-list="false"
+            :limit="1"
+            :before-upload="beforeUpload"
+            :on-success="handleSuccess"
+            ref="upload"
+            :on-error="onError">
+            <el-button size="small" type="primary" :loading="inLoading">娣诲姞闄勪欢</el-button>
+          </el-upload>
       </div>
     </div>
     <el-divider></el-divider>
@@ -136,6 +148,152 @@
 				:url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
 				:delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex" style="min-height: 400px;"/>
     </div>
+    <el-dialog title="妗f淇" :visible.sync="dialogVisible" width="70%" :before-close="handleClose">
+			<el-row style="display:flex;justify-content: space-around;">
+				<!-- 宸﹁竟甯冨眬 -->
+				<el-col :span="7">
+					<el-col>
+						<!-- 鍥剧墖 -->
+						<el-image class="img" style="width:100%;height: 320px;marginBottom:16px"
+							:src="javaApi+'/img/'+formData.imageUpload">
+							<div slot="error" class="image-error" style="width: calc(100% -2px);
+            height: 318px;
+            border-radius: 16px;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            border: 1px solid #EEEEEE;">
+								<i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i>
+							</div>
+						</el-image>
+						<!-- 琛ㄥ崟 -->
+						<el-form :model="formData" label-width="120px">
+							<el-form-item label="浠櫒鍚嶇О:" required>
+							<el-input v-model="formData.deviceName" size="small"></el-input>
+										</el-form-item>
+							<el-form-item label="浠櫒鍚嶇ОEN:" required>
+								<el-input v-model="formData.enDeviceName" size="small"></el-input>
+											</el-form-item>
+							<el-form-item label="瑙勬牸鍨嬪彿:" required>
+								<el-input v-model="formData.specificationModel" size="small"></el-input>
+											</el-form-item>
+							<el-form-item label="鐢熶骇鍘傚:">
+								<el-input v-model="formData.manufacturer" size="small"></el-input>
+											</el-form-item>
+										</el-form>
+									</el-col>
+								</el-col>
+								<!-- 涓棿甯冨眬 -->
+								<el-col :span="7">
+									<el-form :model="formData" label-width="116px">
+										<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
+							<el-input v-model="formData.calibrationServices" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="鍑哄巶缂栧彿:">
+							<el-input v-model="formData.factoryNo" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="绠$悊缂栧彿:" required>
+							<el-input v-model="formData.managementNumber" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="璐疆鏃ユ湡:">
+											<el-date-picker style="width:100%" v-model="formData.acquisitionDate" type="date"
+												format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+											</el-date-picker>
+										</el-form-item>
+							<el-form-item label="鍚敤鏃ユ湡:" required>
+											<el-date-picker style="width:100%" v-model="formData.activationDate" type="date"
+												format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+											</el-date-picker>
+										</el-form-item>
+							<el-form-item label="绠$悊浜�:">
+							<el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+								<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
+								:value="item.value">
+								</el-option>
+							</el-select>
+							</el-form-item>
+							<el-form-item label="瀛樻斁鐐�:">
+							<el-input v-model="formData.storagePoint" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="鎶�鏈寚鏍�:">
+							<el-input v-model="formData.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
+							</el-form-item>
+					</el-form>
+				</el-col>
+				<!-- 鍙宠竟甯冨眬 -->
+				<el-col :span="7">
+					<el-form :model="formData" label-width="140px" ref="ruleForm">
+            <!-- 瀹為獙瀹ゅ垪琛� -->
+            <el-form-item label="鎵�灞為儴闂�:">
+              <el-select v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+                <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="妫�娴嬮」鐩�:">
+              <el-cascader
+              v-model="formData.insProductIds"
+              :options="options"
+              :show-all-levels="false"
+              :props="props"
+              placeholder="璇烽�夋嫨" size="small"
+              style="width:100%;"
+              :collapse-tags="true"
+              separator=","
+			  filterable
+              clearable></el-cascader>
+            </el-form-item>
+            <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
+							<el-date-picker style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
+								value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+							</el-date-picker>
+						</el-form-item>
+            <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
+							<el-date-picker style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
+								value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+							</el-date-picker>
+						</el-form-item>
+            <el-form-item label="璁惧绫诲瀷:">
+              <el-select v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+                <el-option v-for="item in equipmentList" :key="item.value" :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鍗曚环(涓囧厓):">
+              <el-input v-model="formData.unitPrice" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="褰撳墠鐘舵��:" required>
+							<el-select v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+								<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
+								</el-option>
+							</el-select>
+						</el-form-item>
+            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+              <el-input v-model="formData.calibrationDate" size="small"></el-input>
+            </el-form-item>
+						<el-form-item label="鍥剧墖:">
+							<div
+								style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
+								<div v-show="formData.imageName" class="picName">{{formData.imageName}}</div>
+								<el-upload :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
+									accept='image/jpg,image/jpeg,image/png' :headers="headers" :on-change="beforeUpload"
+									:on-error="onError" ref='upload'>
+									<el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
+								</el-upload>
+							</div>
+						</el-form-item>
+					</el-form>
+				</el-col>
+			</el-row>
+			<span slot="footer" class="dialog-footer">
+				<el-row>
+					<el-button @click="handleClose">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+				</el-row>
+			</span>
+		</el-dialog>
   </div>
 </template>
 
@@ -240,10 +398,36 @@
         requiredUp: []
 			},
       upIndex:0,
+      dialogVisible:false,
+      inLoading:false,
       form: {
         value1:''
-      }
+      },
+      upLoad:false,
+      formData:{},
+      responsiblePersonList:[],
+      subordinateDepartmentsList:[],
+      options:[],
+      equipmentList:[],
+      deviceStatusList:[],
+      props: { multiple: true,emitPath:false,value:'id',label:'name' },
     }
+  },
+  computed: {
+    headers() {
+      return {
+        'token': sessionStorage.getItem('token')
+      }
+    },
+    action() {
+      return this.javaApi + this.$api.deviceScope.uploadFile
+    }
+  },
+  mounted(){
+    this.selectDevicePrincipal()
+    this.obtainItemParameterList()
+    this.getInsProductIds()
+    this.selectEnumByCategory()
   },
   methods: {
     handleData(m){
@@ -252,7 +436,161 @@
       }else{
         return '-'
       }
-    }
+    },
+    handleClose(){
+      this.dialogVisible = false
+    },
+    handleSuccess(response,){
+      this.inLoading = false;
+      if (response.code == 200) {
+        this.$message.success('涓婁紶鎴愬姛')
+        // 鏇存柊椤甸潰
+      }else{
+        this.$message.error(response.message)
+      }
+    },
+    submitForm(){
+      if(!this.formData.deviceName){
+          this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+          return
+        }
+        if(!this.formData.enDeviceName){
+          this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+          return
+        }
+        if(!this.formData.specificationModel){
+          this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+          return
+        }
+        if(!this.formData.managementNumber){
+          this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+          return
+        }
+        if(!this.formData.activationDate){
+          this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+          return
+        }
+        if(this.formData.deviceStatus==='' || this.formData.deviceStatus===null){
+          this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+          return
+        }
+        if(!this.formData.calibrationDate){
+          this.$message.error('鏈緭鍏ユ牎鍑嗗懆鏈燂紙鏈堬級')
+          return
+        }
+				delete this.formData.createTime
+				delete this.formData.updateTime
+				delete this.formData.createUser
+				delete this.formData.updateUser
+        this.formData.insProductIds = this.formData.insProductIds?this.formData.insProductIds.join():''
+        this.upLoad = true;
+				this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
+					headers: {
+						'Content-Type': 'application/json'
+					}
+				}).then(res => {
+					if (res.code === 201) {
+						this.upLoad = false
+						return
+					}
+					this.$message.success('淇敼鎴愬姛')
+					this.upLoad = false
+					this.dialogVisible = false
+				}).catch(e => {
+					this.$message.error('淇敼澶辫触')
+					this.dialogVisible = false
+					this.upLoad = false
+				})
+    },
+    handleSuccessUpImg2(response) {
+      if (response.code == 200) {
+        this.$nextTick(() => {
+          this.formData.imageUpload = response.data.url;
+          this.formData.imageName = response.data.name;
+        })
+      }
+    },
+    beforeUpload(file) {
+      if (file.size > 1024 * 1024 * 10) {
+        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+        this.$refs.upload.clearFiles()
+        return false;
+      } else {
+        return true;
+      }
+    },
+    onError(err, file, fileList) {
+      this.$message.error('涓婁紶澶辫触')
+      this.$refs.upload.clearFiles()
+    },
+    // 鑾峰彇璐熻矗浜哄垪琛�
+    selectDevicePrincipal() {
+      this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => {
+        let data = []
+        res.data.forEach(a => {
+          data.push({
+            label: a.name,
+            value: a.id
+          })
+        })
+        this.responsiblePersonList = data
+      })
+    },
+    obtainItemParameterList() {
+      this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
+        let data = []
+        res.data.forEach(a=>{
+          data.push({
+            label: a.laboratoryName,
+            value: a.id
+          })
+        })
+        this.subordinateDepartmentsList = data
+      })
+    },
+    getInsProductIds(){
+      this.$axios.post(this.$api.capacityScope.getInsProduction).then(res => {
+        this.options = res.data.map((m,i)=>{
+          m.id = m.name;
+          return m
+        })
+        this.options.forEach(item=>{
+          if(item.children.length==0){
+            item.children = null;
+          }else{
+            item.children.forEach(m=>{
+              if(m.children.length==0){
+                m.children = null;
+              }else{
+                m.children.forEach(n=>{
+                  if(n.children&&n.children.length==0){
+                    n.children = null;
+                  }
+                })
+              }
+            })
+          }
+        })
+      })
+    },
+    // 鑾峰彇瀛楀吀
+    selectEnumByCategory() {
+      this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        category: "璁惧鐘舵��"
+      }).then(res => {
+        this.deviceStatusList = res.data
+        this.deviceStatusList.forEach(a=>{
+          if(!isNaN(a.value)){
+            a.value = parseInt(a.value)
+          }
+        })
+      })
+      this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        category: "璁惧鍒嗙被"
+      }).then(res => {
+        this.equipmentList = res.data
+      })
+    },
   }
 }
 </script>
@@ -304,4 +642,8 @@
   margin-right: 20px;
   color: #999;
 }
+.btns {
+  display: flex;
+  align-items: center;
+}
 </style>
diff --git a/src/components/do/a6-device/maintenance.vue b/src/components/do/a6-device/maintenance.vue
index 8a8a962..2f3b5ac 100644
--- a/src/components/do/a6-device/maintenance.vue
+++ b/src/components/do/a6-device/maintenance.vue
@@ -1,13 +1,238 @@
 <template>
-  <div>璁惧缁存姢</div>
+  <div>
+    <div class="search">
+      <div class="search_thing">
+        <div class="search_label">鍏抽敭瀛楋細</div>
+        <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+            v-model="value" @keyup.enter.native="refreshTable()"></el-input></div>
+      </div>
+      <div class="search_thing" style="padding-left: 30px;">
+        <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+      </div>
+      <div class="btns">
+        <el-button size="small" type="primary" @click="dialogVisible=true">鏂板缓</el-button>
+        <el-button size="small" type="primary">瀵煎嚭</el-button>
+      </div>
+    </div>
+    <div class="tables" style="margin-top: 16px;">
+      <ValueTable ref="ValueTable"
+				:url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
+				:delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex"/>
+    </div>
+    <el-dialog
+      title="浠櫒璁惧缁存姢璁板綍琛�"
+      :visible.sync="dialogVisible"
+      width="30%"
+      style="max-height: 80vh;margin-top: 10vh;"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false">
+      <div class="form">
+        <div class="search_thing">
+          <div class="search_label">璁惧缂栧彿锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="value"></el-input></div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">璁惧鍚嶇О锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="value"></el-input></div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">缁熶竴缂栧彿锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="value"></el-input></div>
+        </div>
+        <div class="search_thing" style="margin: 10px 0;">
+          <div class="search_label">缁存姢鍐呭锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="value" type="textarea"
+              :rows="2"></el-input></div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">缁存姢鏃堕棿锛�</div>
+          <div class="search_input">
+            <el-date-picker style="width:100%" v-model="value" type="date"
+              format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+            </el-date-picker>
+          </div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">缁存姢绫诲瀷锛�</div>
+          <div class="search_input">
+            <el-radio-group v-model="value">
+              <el-radio :label="0">浣跨敤鍓嶅悗缁存姢</el-radio>
+              <el-radio :label="1">璁″垝涓淮鎶�</el-radio>
+            </el-radio-group>
+          </div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">涓嬫缁存姢鏃堕棿锛�</div>
+          <div class="search_input">
+            <el-date-picker style="width:100%" v-model="value" type="date"
+              format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+            </el-date-picker>
+          </div>
+        </div>
+        <div class="search_thing">
+          <div class="search_label">缁存姢浜猴細</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="value"></el-input></div>
+        </div>
+        <div class="search_thing" style="margin: 10px 0;">
+          <div class="search_label">澶囨敞锛�</div>
+          <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+              v-model="value" type="textarea"
+              :rows="2"></el-input></div>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
+import ValueTable from '../../tool/value-table.vue'
 export default {
-
+  components: {
+    ValueTable
+  },
+  data(){
+    return {
+      value:'',
+      componentData: {
+        entity: {
+          week: null,
+          weekDay: null,
+          dateTime: null,
+          name:null,
+          orderBy: {
+            field: 'id',
+            order: 'desc'
+          }
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        do: [{
+          id: 'handleLook',
+          font: '鏌ョ湅',
+          type: 'text',
+          method: 'handleLook'
+        },{
+          id: 'delete',
+          font: '鍒犻櫎',
+          type: 'text',
+          method: 'doDiy',
+          disabFun: (row, index) => {
+            return row.state === '宸插鏍�' || row.state === '宸叉壒鍑�'
+          }
+        }],
+        tagField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        linkEvent: {},
+        selectField: {
+          shift:{
+            select:[]
+          },
+          state:{
+            select:[
+              {
+                label:'宸叉彁浜�',
+                value:'宸叉彁浜�',
+                type:'primary'
+              },
+              {
+                label:'宸插鏍�',
+                value:'宸插鏍�',
+                type:'warning'
+              },
+              {
+                label:'宸叉壒鍑�',
+                value:'宸叉壒鍑�',
+                type:'success'
+              },
+            ]
+          },
+          weekDay:{
+            select:[]
+          }
+        },
+        requiredAdd: [],
+        requiredUp: []
+			},
+      upIndex:0,
+      dialogVisible:true
+    }
+  },
+  methods:{
+    refreshTable(){}
+  }
 }
 </script>
 
 <style scoped>
+.tables{
+  width: calc(100vw - 390px);
+  height: calc(100vh - 230px);
+}
+.search {
+  background-color: #fff;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  position: relative;
+}
 
+.search_thing {
+  display: flex;
+  align-items: center;
+  height: 40px;
+}
+
+.search_label {
+  width: 70px;
+  font-size: 14px;
+  text-align: right;
+}
+
+.search_input {
+  width: calc(100% - 120px);
+}
+.btns{
+  position: absolute;
+  right: 40px;
+  top: 50%;
+  transform: translate(0,-50%);
+}
+.form .search_label{
+  width: 120px;
+}
 </style>
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 5f0baee..28aeca3 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -620,7 +620,8 @@
         </el-row>
       </span>
     </el-dialog>
-    <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :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" />
 <!--    鍗曢�夌壒娈婂�煎鐞嗘-->
@@ -881,6 +882,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">
+      <div>111</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="cleanSpliceData">鍙栨秷</el-button>
+        <el-button type="primary" @click="spliceData">淇濆瓨</el-button>
+      </span>
+    </el-dialog>
     <!-- 鐢靛姏璇曢獙瀹�---娓╁崌璇曢獙/鐑惊鐜� -->
     <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow"
                :close-on-click-modal="false" :close-on-press-escape="false"
@@ -936,6 +946,7 @@
     },
     data() {
       return {
+        inspectionItemST: null,
         sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
         editTable:[],
         template: null,
@@ -1085,6 +1096,7 @@
           entrustNum: '',
           entrustPoint: ''
         },
+        singleVerticalCombustionShow: false,
         isBsm2Val2:false,
         opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃
         opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁�
@@ -1128,6 +1140,25 @@
             })
             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
+              }
+            }
+          }else{
+            this.inspectionItemST = 0
+          }
+
+          console.log('0000',this.inspectionItemST);
         }
       },
       sampleList: {
@@ -1600,19 +1631,21 @@
           }
 
           // console.log('isHaveBushing===', this.totalArr)
-          let spcialItem = this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('鏉惧绠�'))
-          if (productListSelected && select[2] === '鍏夌紗' && isHaveBushing === false) {
+          let spcialItem = this.totalArr.filter(a => a.state == 1 && a.inspectionItem.includes('鏉惧绠�'))
+          if (productListSelected && select[2] === '鍏夌紗' && isHaveBushing === false&&spcialItem.length==0) {
             this.$message.error('鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆')
             this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
             this.rowClick(this.currentMethod)
             this.sampleIds = [this.currentMethod.id]
             this.openConfig()
             return
-          }else if(spcialItem&& isHaveBushing === false){
+          }else if(spcialItem.length>0&& isHaveBushing === false){
             this.$message.error('鏉惧绠¢」鐩繀椤昏繘琛屽厜绾ら厤缃�')
-            this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
-            this.rowClick(this.currentMethod)
-            this.sampleIds = [this.currentMethod.id]
+            // this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
+            // this.rowClick(this.currentMethod)
+            spcialItem.forEach(item=>{
+              this.sampleIds.push(item.id)
+            })
             this.openConfig()
             return
           }
@@ -1653,6 +1686,7 @@
             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
               }
             }
@@ -1660,8 +1694,10 @@
             if(ele.ask.indexOf('-')>0 && ele.ask.length>1){
               //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁�
               let tell = ele.tell
-              if(ele.tell.indexOf('~')>0){
-                tell = ele.tell.replace('~','-')
+              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('-')
               //婊¤冻鏍煎紡瑕佹眰锛屽苟涓斾袱涓兘鏄暟瀛�
@@ -1677,35 +1713,65 @@
                  let min = Math.min(...splits)
                  let max = Math.max(...splits)
                  if(min==max){
+                  console.log(2222);
                   isTrue = false
                  }
                 //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
-                if((tell.indexOf('卤')<0&&tell.indexOf('-')<0)){
+                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){
-                  const splitTells = tell.split('-')
-                  if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){
-                    isTrue = false
-                  }
-                }else if(tell.indexOf('卤')>0&&tell!=ele.ask){
-                  //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐�
-                  let splitNums = ele.tell.split('卤')
-                  if(splitNums.length<2){
-                    isTrue = false
+                  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{
-                    let minTell = Number(splitNums[0])-Number(splitNums[1])
-                    let maxTell = Number(splitNums[0])+Number(splitNums[1])
-                    if(minTell!=min || maxTell!=max){
+                    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);
@@ -2079,7 +2145,23 @@
         this.selectTree = ''
         this.models = val.children
         this.getNodeParent(node)
+
+        let flag = false
+        if (node.level == 3) {
+          if(node.data.children.length>0){
+            node.data.children.forEach(a => {
+              let key = Object.keys(a)
+              if(!key.includes('level')) {
+                flag = true
+              }
+            })
+
+          }
+        }
         this.selectTree = this.selectTree.replace(' - ', '')
+        if(flag) {
+          this.selectTree =  '-  - ' + this.selectTree
+        }
         let data = this.selectTree.split(' - ')
         let data2 = ''
         for (let index = data.length - 1; index >= 0; index--) {
@@ -2118,7 +2200,7 @@
         this.addObj.factory = trees[0]
         this.addObj.laboratory = trees[1]
         this.addObj.sampleType = trees[2]
-        if (trees[3] === undefined || trees[3] === '') {
+        if (trees[3] === undefined || trees[3] === '' || trees[3] === '- ') {
           this.addObj.sample = trees[2]
         } else {
           this.addObj.sample = trees[3]
@@ -2180,12 +2262,12 @@
           this.sample.unit = this.addObj.unit
           this.sample.standardMethodListId = null
           this.sample.insProduct = []
-          this.sample.id = this.count
+          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.count++
         }
         this.computationalPairing(this.sampleList.length)
         this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
@@ -2334,6 +2416,13 @@
         } 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
         this.getProNum()
@@ -2492,6 +2581,8 @@
         this.getProductLoad = true
         let selectTreeList = this.selectTree.split(" - ")
         this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
+
+        console.log( this.selectTree);
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
           model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum,
           standardMethodListId: val,
@@ -2564,17 +2655,27 @@
       },
       // 瑕佹眰鍊煎彉鍖栨椂
       requestChange(e, row,type) {
-        this.sampleList.map(item => {
-          if (this.sampleIds.indexOf(item.id) > -1) {
-            item.insProduct.map(m => {
-              if (m.id == row.id) {
-                m[type] = e;
+        //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;
             })
           }
-          return item
         })
+        // 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 => {
diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue
index 85693df..d58d897 100644
--- a/src/components/do/b1-ins-order/fiberoptic-config.vue
+++ b/src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -110,7 +110,7 @@
         </el-col>
       </el-row>
       <el-row :gutter="10">
-        <el-col :span="12" v-if="packageInfo.ismiers">
+        <el-col :span="12" v-if="packageInfo.ismiers && inspectionItemST != 1">
           <div class="grid-content">
             <h5>鍏夌氦甯�
               <el-button size="mini" type="primary" class="btns" @click="addFibers"
@@ -192,7 +192,7 @@
             </el-table>
           </div>
         </el-col>
-        <el-col :span="!packageInfo.ismiers?24:12">
+        <el-col :span="!packageInfo.ismiers?24:12" v-if=" inspectionItemST != 1">
           <div class="grid-content">
             <h5>鍏夌氦
               <el-button size="mini" type="primary" class="btns" @click="addFiber"
@@ -365,6 +365,10 @@
         type: Number,
         default: () => 0
       },
+      inspectionItemST: {
+        type: Number,
+        default: () => 0
+      }
     },
     data() {
       return {
@@ -449,6 +453,7 @@
       // }
     },
     mounted() {
+      console.log('inspectionItemST',this.inspectionItemST);
       this.$parent.sampleIds.forEach(a => {
         for (var i = 0; i < this.$parent.sampleList.length; i++) {
           if (this.$parent.sampleList[i].id == a) {
@@ -618,18 +623,35 @@
             }
            }
           }
-          // 濡傛灉妫�娴嬭姹傚惈鏈夆墹 < 鈮� > 绗﹀彿
+          // 濡傛灉瑕佹眰鎻忚堪鍚湁鈮� < 鈮� > 绗﹀彿
           const regex = /[鈮�<鈮�>]/
           const match = row.tell.match(regex)
           if(match) {
             // 绗﹀彿涓嶄竴鑷�
             if( row.ask.indexOf(match[0]) != 0) {
                 this.$message.error('妫�娴嬭姹備笉绗﹀悎瑕佹眰鎻忚堪')
-                row.ask = match[0]
                 return
               }else {
                 // 绗﹀彿涓�鑷�
-                const regex = new RegExp(`${match[0]}(\\d+(\\.\\d+)?)`, 'g')
+              // 濡傛灉妫�娴嬭姹傚惈鏈夋璐熷彿 骞朵笖鍚湁&鍙� 鈮�0.69&鈮�0.76 瑕佹眰鎻忚堪
+              if(row.tell.indexOf('&') != -1) {
+                if(row.ask.indexOf('&') == -1) {
+                  this.$message.error('妫�娴嬭姹備笉绗﹀悎瑕佹眰鎻忚堪')
+                row.ask = row.tell
+                return
+                }else{
+                  let left = row.tell.substring(0,row.tell.indexOf('&'))
+                  let right = row.tell.substring(row.tell.indexOf('&')+1)
+
+                  let leftAsk = row.ask.substring(0,row.ask.indexOf('&'))
+                  let rightAsk = row.ask.substring(row.ask.indexOf('&')+1)
+                  if(leftAsk != left || rightAsk != right) {
+                    this.$message.error('妫�娴嬭姹備笉绗﹀悎瑕佹眰鎻忚堪')
+                  }
+                }
+              }else {
+                // 娌℃湁&鍙�
+              const regex = new RegExp(`${match[0]}(\\d+(\\.\\d+)?)`, 'g')
                 const matchTow = row.tell.match(regex);
               let right =  Number(matchTow[0].split(match[0])[1])
               let left = row.ask.substring(row.ask.indexOf(match[0])+1)
@@ -638,7 +660,19 @@
                 row.ask = match[0] + right
               }
               }
+              
+              }
+              
+
+
             }
+
+            
+
+
+
+
+
             // 濡傛灉瑕佹眰鎻忚堪鍚湁鑼冨洿
             const regexTwo = /[~-]/
             const matchTwo = row.tell.match(regexTwo)
@@ -1723,8 +1757,15 @@
         // })
         // this.$message.success('宸蹭繚瀛�')
         // this.$emit('saveFiberopticConfig')
-
-
+        if(this.inspectionItemST == 1) {
+          console.log('this.bushing',this.bushing);
+          this.$message.success('宸蹭繚瀛�')
+          this.sample.forEach(a=>{
+          a.bushing = this.bushing
+        })
+        this.$emit('saveFiberopticConfig')
+        return
+        }
 
         let flag = true
         let flags = true
@@ -1796,13 +1837,35 @@
                 return
               }else {
                 // 绗﹀彿涓�鑷�
+
+                // 濡傛灉妫�娴嬭姹傚惈鏈夋璐熷彿 骞朵笖鍚湁&鍙� 鈮�0.69&鈮�0.76 瑕佹眰鎻忚堪
+              if(row.tell.indexOf('&') != -1) {
+                console.log(11111);
+                if(row.ask.indexOf('&') == -1) {
+                  this.$message.error('妫�娴嬭姹備笉绗﹀悎瑕佹眰鎻忚堪')
+                row.ask = row.tell
+                return
+                }else{
+                  let left = row.tell.substring(0,row.tell.indexOf('&'))
+                  let right = row.tell.substring(row.tell.indexOf('&')+1)
+
+                  let leftAsk = row.ask.substring(0,row.ask.indexOf('&'))
+                  let rightAsk = row.ask.substring(row.ask.indexOf('&')+1)
+                  console.log('&',left,right,leftAsk,rightAsk);
+                  if(leftAsk != left || rightAsk != right) {
+                    flag = false
+                  }
+                }
+              }else{
                 const regex = new RegExp(`${match[0]}(\\d+(\\.\\d+)?)`, 'g')
                 const matchTow = row.tell.match(regex);
+                console.log('matchTow',matchTow);
               let right =  Number(matchTow[0].split(match[0])[1])
               let left = row.ask.substring(row.ask.indexOf(match[0])+1)
               if(Number(left) != Number(right)) {
                 // this.$message.error('666666')
                 flag = false
+              }
               }
               }
             }
@@ -1893,6 +1956,24 @@
                 return
               }else {
                 // 绗﹀彿涓�鑷�
+                if(row.tell.indexOf('&') != -1) {
+                console.log(11111);
+                if(row.ask.indexOf('&') == -1) {
+                  this.$message.error('妫�娴嬭姹備笉绗﹀悎瑕佹眰鎻忚堪')
+                row.ask = row.tell
+                return
+                }else{
+                  let left = row.tell.substring(0,row.tell.indexOf('&'))
+                  let right = row.tell.substring(row.tell.indexOf('&')+1)
+
+                  let leftAsk = row.ask.substring(0,row.ask.indexOf('&'))
+                  let rightAsk = row.ask.substring(row.ask.indexOf('&')+1)
+                  console.log('&',left,right,leftAsk,rightAsk);
+                  if(leftAsk != left || rightAsk != right) {
+                    flags = false
+                  }
+                }
+              }else {
                 const regex = new RegExp(`${match[0]}(\\d+(\\.\\d+)?)`, 'g')
                 const matchTow = row.tell.match(regex);
               let right =  Number(matchTow[0].split(match[0])[1])
@@ -1901,6 +1982,8 @@
                 // this.$message.error('666666')
                 flags = false
               }
+              }
+                
               }
             }
             // 濡傛灉瑕佹眰鎻忚堪鍚湁鑼冨洿
@@ -1922,10 +2005,6 @@
             })
           }
         })
-
-
-
-
         if(this.bushing.length === 0){
           this.$message.error('缂哄皯濂楃鏃犳硶淇濆瓨')
           return
@@ -1944,11 +2023,12 @@
             item.fiber = this.fiberList // 鍏夌氦
           }
         })
-        this.sample.forEach(a=>{
-          a.bushing = this.bushing
-        })
+        
         if(flag && flags) {
           this.$message.success('宸蹭繚瀛�')
+          this.sample.forEach(a=>{
+          a.bushing = this.bushing
+        })
         this.$emit('saveFiberopticConfig')
         }else if(!flag) {
           this.$message.error('鍏夌氦淇濆瓨鐨勬娴嬮」涓惈鏈変笉绗﹀悎瑕佹眰鐨勬暟鎹�')
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index e3a9d18..e6886ed 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -1,4 +1,16 @@
 <style scoped>
+.custom-table .el-table__header-wrapper th {
+  background-color: #87CEEB; /* 鍙甯︽湁my-custom-table绫荤殑琛ㄦ牸鐢熸晥 */
+  color: #fff;
+}
+ .container {
+    overflow: auto; /* 纭繚瀹瑰櫒鑳藉寘瑁规诞鍔ㄥ厓绱� */
+    margin-bottom: 10px;
+}
+
+.right-button {
+    float: right;
+}
   .inspection {
     height: 100%;
     overflow-y: auto;
@@ -23,6 +35,7 @@
   .search .form-inline {
     padding-top: 20px;
     padding-left: 0px;
+    text-align: left;
   }
 
   .center {
@@ -187,6 +200,7 @@
 
   .inspection .el-drawer__header {
     color: #303133;
+    text-align: left;
   }
 
   .inspection .el-input-group__append {
@@ -344,7 +358,8 @@
           <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'))&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button>
         </div>
       </div>
-      <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙'))">
+      <!-- 甯歌妫�楠屽師濮嬭褰� -->
+      <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙'))&&(tableLists.find(m=>m.templateId==currentTable).templateName!='寮у瀭鐗规�ф楠屽師濮嬭褰�')">
         <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id">
           <tbody>
             <tr v-for="(m,i) in item.arr" :key="i">
@@ -359,7 +374,7 @@
                               :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')"
                               @input="handleInput(n)"
                               @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"
-                              @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)">
+                              @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')">
                       <!-- <el-button slot="append" type="primary" icon="el-icon-edit" size="mini"
                         v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> -->
                     </el-input>
@@ -458,6 +473,88 @@
           </tbody>
         </table>
       </div>
+      <!-- 寮у瀭鐗规�ф楠屽師濮嬭褰� -->
+      <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='寮у瀭鐗规�ф楠屽師濮嬭褰�'">
+        <el-divider></el-divider>
+        <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">寮у瀭鐗规�ф楠屽師濮嬭褰�</h4>
+        <el-form :inline="true" :model="sagForm" class="form-inline" label-width="120px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
+          <el-form-item label="鏍峰搧缂栧彿" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.sampleCode" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+          <el-form-item label="鍨嬪彿" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.model" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+          <el-form-item label="妫�楠屼緷鎹�" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.inspection" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+          <el-form-item label="璁惧缂栧彿" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.methodName" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+          <el-form-item label="棰濆畾鎷夋柇鍔�/kN" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.tensileForce" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+          <el-form-item label="璺ㄨ窛闀垮害/m" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.spanLength" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+          <el-form-item label="杞借嵎/kN" style="margin-bottom: 0;">
+            <el-input clearable v-model="sagForm.load" disabled size="small" placeholder=""></el-input>
+          </el-form-item>
+        </el-form>
+        <el-divider></el-divider>
+        <div class="container">
+          <el-button class="right-button" type="primary" size="small" @click="addSag">娣� 鍔�</el-button>
+        </div>
+        <el-table :data="sagData" class="custom-table" border>
+          <el-table-column label="楂樺害 h mm" prop="height" align="center">
+          </el-table-column>
+          <el-table-column label="寮у瀭  mm" prop="sag" align="center">
+          </el-table-column>
+          <el-table-column label="瀵肩嚎娓╁害鈩�" align="center">
+            <el-table-column label="1" prop="one" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.one"  style="width: 100%;"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="2" prop="two" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.two"  style="width: 100%;"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="3" prop="three" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.three"  style="width: 100%;"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="4" prop="four" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.four"  style="width: 100%;"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="5" prop="five" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.five"  style="width: 100%;"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="6" prop="six" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.six"  style="width: 100%;"></el-input>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column label="骞冲潎娓╁害鈩�" prop="average" align="center">
+          </el-table-column>
+          <el-table-column label="瀹ゆ俯鈩�" prop="temperature" align="center">
+          </el-table-column>
+          <el-table-column label="寮犲姏kN" prop="remark" align="center">
+          </el-table-column>
+          <el-table-column label="鎿嶄綔" align="center">
+            <template slot-scope="scope">
+              <el-button type="text" size="small" @click="deleteSag(scope.$index)"><span style="color:red">鍒犻櫎</span></el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <!-- 娓╁害寰幆妫�楠屽師濮嬭褰� -->
       <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'">
         <el-divider></el-divider>
         <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">娓╁害寰幆妫�楠屽師濮嬭褰�</h4>
@@ -620,6 +717,7 @@
            </template>
         </el-table>
       </div>
+      <!-- 鐑惊鐜�/娓╁崌璇曢獙妫�楠屽師濮嬭褰� -->
       <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')||tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙')">
         <el-divider></el-divider>
         <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">{{tableLists.find(m=>m.templateId==currentTable).templateName}}</h4>
@@ -862,6 +960,16 @@
     },
     data() {
       return {
+        sagData: [],
+        sagForm: {
+          sampleCode: null,
+          model: null,
+          inspection: null,
+          methodName: null,
+          tensileForce: null,
+          spanLength: null,
+          load: null
+        },
         dataGetDia:false,
         wareTableDataLoading:false,
         fileAdd:false,
@@ -1061,6 +1169,7 @@
         getDataType:null
       }
     },
+    // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
     computed: {
 			headers() {
 				return {
@@ -1086,6 +1195,7 @@
       this.startWorker()
     },
     watch: {
+      // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭�
       id(val) {
         this.loading = true
         this.$axios.post(this.$api.insOrderPlan.doInsOrder, {
@@ -1104,9 +1214,11 @@
           if(!res.data.sampleProduct||res.data.sampleProduct.length==0){
             return this.$message.error('璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�')
           }
+          // 璧嬪�煎綋鍓嶆牱鍝佸垪琛�
           this.sampleProduct = res.data.sampleProduct
           this.currentSample = this.HaveJson(this.sampleProduct[0])
           let insProduct = this.HaveJson(this.currentSample.insProduct)
+          // 娓╁害銆佹箍搴﹁祴鍊�
           if(insProduct&&insProduct.length>0){
             let {temperature,humidity} = insProduct[0];
             this.otherForm = {
@@ -1114,11 +1226,14 @@
               humidity:humidity?humidity:null,
             }
           }
+          // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
           let list = await this.getCurrentProduct(this.currentSample.id,0)
           this.currentSample.insProduct = this.HaveJson(list)
+          // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁�
           this.param = {}
           this.changeType = 0;
           this.currentSample.insProduct.forEach(a => {
+            // 鏄惁涓烘垚鍝佺數缂嗕笅鐨勬澗濂楃椤圭洰锛屼笉鏄垯鎵ц鍒濆鍖�
             if(this.handleCasing(a.inspectionItem)){
               this.param[a.id] = {
                 insValue: [],
@@ -1130,15 +1245,15 @@
               }
             }
           })
-          this.determineWhetherToCollectData()
-          this.getReportModel(this.currentSample.id)
+          this.determineWhetherToCollectData()//鏄惁闇�瑕佹暟閲�
+          this.getReportModel(this.currentSample.id)//鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭�
           if (this.currentSample.index == undefined) this.currentSample['index'] = 1
           let bushing = this.currentSample.bushing
-          this.getTableLists();
+          this.getTableLists();//澶勭悊妯℃澘鍒楄〃淇℃伅
+
           this.componentData.currentId = val;
           this.currentKey = 1;
-
-          // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁
+          // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁---涓嬮潰淇℃伅鏆傛椂鍙拷鐣�
           this.fiberOpticTape = []
           this.currentFiberOpticTape = null;
           this.fiberOptic = []
@@ -1151,23 +1266,25 @@
           }
         })
       },
+      // 鐩戝惉褰撳墠妯℃澘鍙樺寲
       currentTable(val1, val0) {
         if (val0 != null && val1 != val0) {
-          if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){
-            if(this.casing.length>0){
-              this.handleChange(this.casing[0].id,3)
-            }
-            return
-          }
+          // if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){
+          //   if(this.casing.length>0){
+          //     this.handleChange(this.casing[0].id,3)
+          //   }
+          //   return
+          // }
           if(this.changeType&&this.changeType>0){
+            // 濡傛灉鏄厜绾ゃ�佸厜绾ゅ甫锛屽垯涓嶆墽琛屼笅闈㈡搷浣�
             return
           }
           this.tableLists.forEach(async (m, i) => {
             if (m.templateId == val1) {
               let list = await this.getCurrentProduct(this.currentSample.id,0)
-              this.currentSample.insProduct = this.HaveJson(list)
-              this.param = {}
-              this.currentSample.insProduct.forEach(a => {
+              this.currentSample.insProduct = this.HaveJson(list)//璧嬪�煎綋鍓嶆牱鍝佺殑妫�楠岄」
+              this.param = {}//鍒濆鍖栦紶鍒板悗绔殑鍙傛暟
+              this.currentSample.insProduct.forEach((a, j) => {
                 if(this.handleCasing(a.inspectionItem)){
                   this.param[a.id] = {
                     insValue: [],
@@ -1179,7 +1296,8 @@
                   }
                 }
               })
-              this.getReportModel(this.currentSample.id)
+              this.getReportModel(this.currentSample.id)//鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭�
+              // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘
               const mySet1 = new Set();
               this.tableLists = this.currentSample.insProduct.filter(m => {
                 let num0 = mySet1.size;
@@ -1201,19 +1319,23 @@
               if (this.tableLists && this.tableLists.length > 0) {
                 this.tableList = null;
                 this.tableList = this.tableLists.filter(m => m.templateId == val1)
+                // 瀵规ā鏉胯繘琛屽鐞�
                 this.handleTableData()
               }
             }
           })
         }
       },
+      // 鐗规畩妫�楠岄」--鐩戝惉璁惧淇℃伅鏀瑰彉
       equipForm:{
         deep:true,
         handler(val){
           if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))&&this.equipOptions&&this.equipOptions.length>0){
+            // 鍒濆鍖栬澶囦俊鎭�
             this.param[this.currentSample.insProduct[0].id].equipValue = []
             this.param[this.currentSample.insProduct[0].id].equipName = []
             if(this.equipForm.code0){
+              // 璧嬪�肩涓�涓澶囩殑淇℃伅
               this.equipForm.value0 = this.equipOptions.find(m=>m.value==this.equipForm.code0).label
               this.param[this.currentSample.insProduct[0].id].equipValue.push({
                 i:this.currentSample.insProduct[0].id,
@@ -1229,6 +1351,7 @@
               })
             }
             if(this.equipForm.code1){
+              // 璧嬪�肩浜屼釜璁惧鐨勪俊鎭�
               this.equipForm.value1 = this.equipOptions.find(m=>m.value==this.equipForm.code1).label
               this.param[this.currentSample.insProduct[0].id].equipValue.push({
                 i:this.currentSample.insProduct[0].id,
@@ -1243,6 +1366,7 @@
                 }
               })
             }
+            // 淇濆瓨鏁版嵁
             this.saveInsContext()
           }
         }
@@ -1253,6 +1377,22 @@
       this.stopWorker();
     },
     methods: {
+      // 鍒犻櫎琛�
+      deleteSag(index) {
+        this.sagData.splice(index, 1)
+      },
+      // 娣诲姞寮у瀭妫�娴�
+      addSag() {
+        this.sagData.push({
+          sampleCode: null,
+          model: null,
+          inspection: null,
+          methodName: null,
+          tensileForce: null,
+          spanLength: null,
+          load: null
+        })
+      },
       // 鏁版嵁閲囬泦
       getDataAcquisitionDevice(){
         if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){
@@ -1280,7 +1420,7 @@
             if(res.code!=200){
               return
             }
-            // console.log(res.data)
+            // 璧嬪�煎洖鏄綪K8000鐨勬暟鎹�
             this.wareFormChange()
           })
         }else{
@@ -1292,11 +1432,13 @@
               return
             }
             this.dataAcquisitionInfoNew = this.HaveJson(res.data)
+            // 瀵规暟閲囧洖鏉ョ殑鍊艰繘琛屽鐞�
             this.handleDataAcquisition(res.data)
           })
         }
       },
       handleDataAcquisition(data){
+        // 鏄惁鍙互缂栬緫鏁伴噰鏁版嵁
         if(this.dataAcquisitionEidtAble){
           this.getDataType = 1;
         }else{
@@ -1309,7 +1451,9 @@
             faName:i,
             child:[]
           }
+          // 寰幆鏁伴噰鏁版嵁
           for(let j in data[i]){
+            // 鎷兼帴瀛楃涓�  妫�楠岄」+妫�楠屽瓙椤�
             let str0 = ''
             if(i==j){
               str0 = i+','
@@ -1317,11 +1461,13 @@
               str0 = i+','+j
             }
             if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){
+              // 澶勭悊鏁伴噰淇℃伅鏍煎紡
               this.dataAcquisitionInfo[str0] = {
                 value:data[i][j].result,
                 frequency:data[i].frequency
               }
               let list = this.tableList[0].arr
+              // 寰幆椤甸潰鍒楄〃淇℃伅锛屽垽鏂暟閲囨暟鎹搴旈〉闈㈠垪琛ㄤ俊鎭殑妫�楠岄」鏄摢涓紝骞剁粰褰撳墠妫�楠岄」缁戝畾璁惧淇℃伅
               list.forEach((item,index)=>{
                 let num0 = 0;
                 let str = ''
@@ -1339,6 +1485,7 @@
                       }
                     }
                   }
+                  // 缁戝畾璁惧淇℃伅
                   if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){
                     if(!m.v.v){
                       this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName)
@@ -1347,6 +1494,8 @@
                 })
               })
             }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){
+              // 濡傛灉杩斿洖鐨勬暟閲囨暟鎹槸鏁扮粍锛屽垯澶勭悊鏁扮粍
+              // 浠ヤ笅閫昏緫涓鸿幏鍙栨瘡涓楠岄」鍙緭鍏ョ殑妫�楠屽�肩殑鏈�澶т釜鏁�
               let str0 = ''
               if(i==j){
                 str0 = i+','
@@ -1381,6 +1530,7 @@
                       maxNum = num
                     }
                   }
+                  // 缁戝畾璁惧
                   if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){
                     if(!m.v.v){
                       this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName)
@@ -1395,12 +1545,14 @@
               //     value:
               //   })
               // }
+              // 鑾峰彇鍒版渶澶ф楠屽�艰緭鍏ヤ釜鏁板悗閲嶇粍鏁版嵁
               let obj0 = {
                 name:j,
                 arr:data[i][j].result,
                 maxNum:maxNum,
                 value:[]
               }
+              // 濡傛灉鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏皢鏁伴噰鏁版嵁鍦ㄥ脊妗嗕腑灞曠ず锛岀敤鎴烽�夋嫨闇�瑕佹墜鍔ㄩ�夋嫨鏁伴噰鐨勪俊鎭�
               if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){
                 obj.child.push(obj0)
               }else{
@@ -1414,10 +1566,12 @@
             this.getData.push(obj)
           }
         }
+        // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨
         if(this.getData.length>0){
           this.dataGetDia = true
           this.getDataIndex = []
         }else{
+          // 濡傛灉閮戒笉瀛樺湪锛屽垯锛岃繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹�
           try {
             // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
             this.getDataIndexLoading = false
@@ -1435,14 +1589,17 @@
         this.worker0.onmessage = (event) => {
           let result = JSON.parse(event.data);
           if(result.method=='changeInput'){
+            // 閲囬泦鍚庣殑鏁版嵁锛岄渶瑕佽繘琛岃绠楃殑绾跨▼杩涜璁$畻
             let {list,n} = result.value
             this.$set(this.tableList[0],'arr',list)
             this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
           }else if(result.getDataTypeId){
+            // 鑾峰彇鍒版暟閲囨渶鍚庝竴椤癸紝妫�楠岄」鐨処D
             this.getDataTypeId = result.getDataTypeId
           }
         };
       },
+      // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨锛岃繖閲屾槸寮规鐨勬彁浜�
       submitDataGet(){
         if(this.getDataIndex.length==0){
           this.$message.error('璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁')
@@ -1451,6 +1608,7 @@
         this.getDataIndex.sort((a, b) => a - b);
         for (let i=0;i<this.getData.length;i++){
           for(let j=0;j<this.getData[i].child.length;j++){
+            // 瀵圭敤鎴烽�夋嫨鐨勬暟閲囦俊鎭繘琛屽鐞嗭紝璧嬪��
             let arr = []
             for(let k=0;k<this.getDataIndex.length;k++){
               arr.push( this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result[this.getDataIndex[k]])
@@ -1459,6 +1617,7 @@
           }
         }
         this.getDataIndexLoading = true
+        // 璧嬪�煎畬鎴愬悗闇�瑕佸啀娆¤繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹�
         this.handleDataAcquisition(this.dataAcquisitionInfoNew)
       },
       // 澶氱嚎绋�
@@ -1474,6 +1633,7 @@
         // 鍒涘缓 Worker 瀹炰緥
         this.worker0 = new Worker('/static/js/worker0.js');
       },
+      // 鍋滄澶氱嚎绋�
       stopWorker() {
         if (this.worker) {
           this.worker.terminate();
@@ -1486,15 +1646,23 @@
       },
       // 娓╁害寰幆---寮�濮�
       changeItem(row){
+        // 鍐呯銆佸绔繘琛岃祴鍊奸�昏緫澶勭悊
+
+        // 璧嬪�煎埌椤甸潰
         if(row.value0&&!row.value1){
+          // 璧嬪�煎唴绔�
           this.$set(row,'comValue',Number(row.value0).toFixed(3))
         }else if(!row.value0&&row.value1){
+          // 璧嬪�煎绔�
           this.$set(row,'comValue',Number(row.value1).toFixed(3))
         }else if(row.value0&&row.value1){
+          // 璧嬪�艰绠楀��
           this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3))
         }else{
           return
         }
+        // 璧嬪�煎埌浼犲埌鍚庣鐨勫弬鏁�---鐗规畩椤圭洰蹇呴』涓ユ牸鎸夌収杩欑鏍煎紡浼犲弬锛屽惁鍒欏悗绔瘑鍒笉浜�
+        // 璧嬪�煎唴澶栫
         this.param[row.id].insValue = [
           {
             i:row.id,
@@ -1509,15 +1677,20 @@
             }
           }
         ]
+        // 璧嬪�艰绠楀��
         this.param[row.id].comValue = [{
             i:row.id,
             v:{
               v:row.comValue
             }
           }]
+        // 鍒ゆ柇缁撴灉锛屽緱鍑虹粨璁�
         if(this.wareForm.inspectionItemSubclass!='20(甯告俯)'){
+          // 缁欓〉闈㈠垪琛ㄨ祴鍊兼渶缁堝��
           row.resValue = row.comValue?Math.abs(row.comValue-Number(row.insProduct.complue)).toFixed(3):''
+          // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌祴鍊兼渶缁堝��
           this.param[row.id].resValue.v.v = row.resValue
+          // 鍒ゆ柇缁撹锛岀粰椤甸潰鍒楄〃璧嬪�肩粨璁�
           if(row.ask&&row.resValue){
             if(row.ask.includes('<')){
               row.insResult = row.resValue<row.ask.split('<')[1]?1:0
@@ -1530,14 +1703,18 @@
             }else if(row.ask.includes('鈮�')){
               row.insResult = row.resValue<=row.ask.split('鈮�')[1]?1:0
             }
+            // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌祴鍊肩粨璁�
             this.param[row.id].insResult.v.v = row.insResult
           }
         }else{
+          // 20(甯告俯)榛樿鍚堟牸
           this.param[row.id].insResult.v.v = 1
         }
         this.$refs.wareTableData.doLayout()
+        // 杩涜鏁版嵁鐨勪繚瀛�
         this.saveInsContext()
       },
+      // 褰撳惊鐜鏁般�佹俯搴︾偣鍙樺寲銆丳K8000鏁伴噰鏃朵細璋冪敤锛屼富瑕佹槸鑾峰彇淇℃伅杩涜鍥炴樉
       wareFormChange(m,type){
         if(this.PROJECT!='妫�娴嬩腑蹇�'||!this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'){
           return
@@ -1560,6 +1737,7 @@
           if (res.code == 201) return
           let {productVos,sampleVo} = res.data
           this.wareForm0 = sampleVo
+          // 鍒濆鍖栦紶鍒板悗绔殑鍙傛暟
           productVos = productVos.map(m=>{
             let obj = {...m,...m.insProduct}
             this.param[obj.id] = {
@@ -1581,12 +1759,15 @@
               }
             }
             let insProductResult = obj.insProductResult
+            // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌繘琛岃祴鍊硷紝缁欓〉闈㈡暟鎹祴鍊�
             if(insProductResult){
               for(let i in insProductResult){
                 switch (i) {
+                  // 妫�楠屽�艰祴鍊�
                   case 'insValue':
                     let insValue = JSON.parse(insProductResult[i])
                     if(insValue&&insValue.length>1){
+                      // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
                       this.param[obj.id].insValue = [
                         {
                           i:obj.id,
@@ -1601,9 +1782,11 @@
                           }
                         }
                       ]
+                      // 椤甸潰鏁版嵁璧嬪��
                       obj.value0 = insValue[0].v
                       obj.value1 = insValue[1].v
                     }else if(insValue&&insValue.length==1){
+                      // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
                       this.param[obj.id].insValue = [
                         {
                           i:obj.id,
@@ -1618,13 +1801,16 @@
                           }
                         }
                       ]
+                       // 椤甸潰鏁版嵁璧嬪��
                       obj.value0 = insValue[0].v
                       obj.value1 = ''
                     }
                     break;
+                    // 璁$畻鍊艰祴鍊�
                   case 'comValue':
                   let comValue = JSON.parse(insProductResult[i])
                     if(comValue&&comValue.length>0){
+                      // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
                       this.param[obj.id].comValue = [
                         {
                           i:obj.id,
@@ -1633,6 +1819,7 @@
                           }
                         }
                       ]
+                       // 椤甸潰鏁版嵁璧嬪��
                       obj.comValue = comValue[0].v
                     }
                     break;
@@ -1640,13 +1827,18 @@
                     break;
                 }
               }
+              // 鏈�缁堝�艰祴鍊�
+              // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
               this.param[obj.id].resValue = {
                 i:obj.id,
                 v:{
                   v:obj.lastValue
                 }
               }
+              // 椤甸潰鏁版嵁璧嬪��
               obj.resValue = obj.lastValue
+              // 缁撹璧嬪��
+              // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
               this.param[obj.id].insResult = {
                 i:obj.id,
                 v:{
@@ -1656,6 +1848,7 @@
             }
             return obj
           })
+          // 浠ヤ笅鏄娓╁害寰幆椤甸潰鍛堢幇杩涜澶勭悊锛屽幓閲嶃�佹暟鎹噸缃瓑绛�
           let arr = []
           let arr0 = []
           let mySet = new Set()
@@ -1701,13 +1894,16 @@
             }
             arr2.push(obj)
           })
+          // 杩欐槸椤甸潰鏈�缁堝憟鐜扮殑鏍煎紡
           this.wareTableData = arr2
         })
+        // 鑾峰彇璁惧鍒楄〃
         this.getEquipOptions(true,this.currentSample.insProduct[0].id)
         // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout()
       },
       // 娓╁害寰幆---缁撴潫
       // 鐑惊鐜�---寮�濮�
+      // 寰幆娆℃暟鍒囨崲鏃惰皟鐢�
       thermalCyclingChange(){
         this.thermalCyclingLoading = true
         this.$axios.post(this.$api.insOrderPlan.temCycle,{
@@ -1727,6 +1923,7 @@
           }
           if(productVos.length>0){
             this.thermalCyclingInfo.inspectionItemClass = productVos[0].insProduct.inspectionItemClass
+            // 鏍规嵁妫�楠岄」锛屽垵濮嬪寲浼犲埌鍚庣鐨勫弬鏁�
             productVos.forEach(item=>{
               this.param[item.insProduct.id] = {
                 insValue: [],
@@ -1752,9 +1949,11 @@
               let obj = {...item,...item.insProduct}
               let insProductResult = obj.insProductResult
               if(insProductResult){
+                // 缁欓〉闈㈠垪琛ㄨ祴鍊硷紝缁欏悗绔紶鍙傝祴鍊�
                 for(let i in insProductResult){
                   switch (i) {
                     case 'insValue':
+                      // 缁欓〉闈㈠垪琛ㄨ祴鍊�
                       let insValue = JSON.parse(insProductResult[i])
                       if(insValue&&insValue.length>0){
                         this.thermalCyclingInfo.length = 0
@@ -1771,6 +1970,7 @@
                             a.insResult = obj.insResult
                           }
                         })
+                        // 缁欏悗绔紶鍙傝祴鍊�
                         this.param[obj.id].insValue = []
                         insValue.forEach(m=>{
                           this.param[obj.id].insValue.push({
@@ -1787,6 +1987,7 @@
                       break;
                   }
                 }
+                // 缁欏悗绔紶鍙傝祴鍊�
                 this.param[obj.id].insResult = {
                   i:obj.id,
                   v:{
@@ -1794,6 +1995,7 @@
                   }
                 }
               }else{
+                // 缁欓〉闈㈠垪琛ㄨ祴鍊�
                 this.thermalCyclingInfo.arr.forEach(a=>{
                   a.insResult = null
                   a.arr = []
@@ -1808,9 +2010,11 @@
               }
             })
           }
+          // 鑾峰彇璁惧鍒楄〃
           this.getEquipOptions(true,this.currentSample.insProduct[0].id)
         })
       },
+      // 娣诲姞妫�楠屽��
       handleAddThermal(){
         this.thermalCyclingInfo.length++
         this.thermalCyclingInfo.arr.forEach(item=>{
@@ -1820,6 +2024,7 @@
           })
         })
       },
+      // 鍒犻櫎妫�楠屽��
       handleDeleteThermal(){
         if(this.thermalCyclingInfo.length==1){
           this.$message.error('鏈�鍚庝竴鏉℃暟鎹笉鑳藉垹闄�')
@@ -1829,6 +2034,7 @@
           this.thermalCyclingInfo.arr.forEach(item=>{
             item.arr.pop()
           })
+          // 鍒犻櫎鍚庨渶瑕佷繚瀛樹竴涓嬫暟鎹�
           this.saveThermalCycling(true,{name:'瀵肩嚎娓╁害'},true)
         }
       },
@@ -1846,6 +2052,7 @@
                       num0 = c.arr[i].value0
                     }
                   })
+                  // 鍒ゆ柇缁撹
                   if(!num0||!b.value0){
                     b.state = null
                   }else if(Number(num0)>Number(b.value0)){
@@ -1858,10 +2065,13 @@
                 let state0 = a.arr.filter(b=>b.state==0).length
                 let state1 = a.arr.filter(b=>b.state==1).length
                 if(state>0){
+                  // 寰呭畾
                   a.insResult = null
                 }else if(state0>0){
+                  // 涓嶅悎鏍�
                   a.insResult = 0
                 }else if(state1==a.arr.length){
+                  // 鍚堟牸
                   a.insResult = 1
                 }
               }
@@ -1896,7 +2106,7 @@
             })
           }
         }
-        // 璧嬪��
+        // 缁欏悗绔紶鍙傝祴鍊�
         this.thermalCyclingInfo.arr.forEach(item=>{
           for (let i in this.param){
             if(this.param[i].inspectionItemSubclass==item.name){
@@ -1964,10 +2174,11 @@
             }
           }
         })
-        // console.log(1111,this.param)
+        // 淇濆瓨鏁版嵁
         this.saveInsContext()
       },
       // 鐑惊鐜�---缁撴潫
+      // 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
       subOtherForm(m,type){
         let ids = []
         for (let i in this.param) {
@@ -1986,6 +2197,7 @@
           this.$message.success('淇濆瓨鎴愬姛')
         })
       },
+      // 鏉冮檺鑾峰彇
       getPower(){
         let power = JSON.parse(sessionStorage.getItem('power'))
         let fileDel = false
@@ -2021,6 +2233,7 @@
           this.sampleProduct = res.data.sampleProduct
         })
       },
+      // 鏍规嵁绫诲瀷銆佷换鍔d銆佸疄楠屽鏉ヨ幏鍙栨牱鍝佺殑妫�楠岄」淇℃伅
       async getCurrentProduct(id,type){
         this.tableLoading = true;
         let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory)
@@ -2084,7 +2297,9 @@
         }
         this.currentKey1 = row.index
       },
+      // 鍒囨崲鏍峰搧
       async handleChangeSample(row, column, event) {
+        // 鍒濆鍖栨暟鎹�
         this.param = {}
         // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁
         this.fiberOpticTape = []
@@ -2094,12 +2309,15 @@
         this.bushing = []
         this.currentBushing = null;
         this.sampleVisible = false;
+        // 璧嬪�兼牱鍝�
         this.currentSample = this.HaveJson(row)
         let list = await this.getCurrentProduct(row.id,0)
+        // 璧嬪�兼牱鍝佹楠岄」
         this.currentSample.insProduct = this.HaveJson(list)
+        // 鍒濆鍖栧悗绔紶鍙�
         this.param = {}
         this.changeType = 0;
-        this.currentSample.insProduct.forEach(a => {
+        this.currentSample.insProduct.forEach((a,j) => {
           if(this.handleCasing(a.inspectionItem)){
             this.param[a.id] = {
               insValue: [],
@@ -2111,15 +2329,17 @@
             }
           }
         })
+        // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁
         this.getReportModel(row.id)
         let bushing = this.currentSample.bushing
         if(bushing&&bushing.length>0){
           this.bushing = bushing
         }
-        // this.handleTableData()
+        // 澶勭悊椤甸潰鍒楄〃鏁版嵁
         this.getTableLists();
         this.currentKey = row.index
         this.currentTab = null;
+        // 鍚戝绾跨▼鍘讳繚瀛橀〉闈㈠垪琛ㄦ暟鎹�,鍚庣浼犲弬,褰撳墠妯℃澘淇℃伅
         this.worker.postMessage(JSON.stringify({
           type: 'saveData',
           tableList:this.tableList,
@@ -2127,6 +2347,7 @@
           currentTable:this.currentTable
         }));
       },
+      // 鏉惧绠$殑鍒ゆ柇\濡傛灉changeType涓嶇瓑浜�3閭d箞椤甸潰涓嶅睍绀烘澗濂楃妫�楠岄」
       handleCasing(inspectionItem){
         if(this.changeType!=3){
           if(inspectionItem.includes('鏉惧绠�')){
@@ -2138,6 +2359,7 @@
           return true
         }
       },
+      // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁
       getReportModel(id){
         if(this.PROJECT!='妫�娴嬩腑蹇�'){
           return
@@ -2150,11 +2372,14 @@
           this.casing = res.data['濂楃']
         })
       },
+      // 濂楃,鍏夌氦甯�,鍏夌氦绛夊垏鎹�,瀵瑰簲鍘熷璁板綍妯℃澘涔熻鍒囨崲
       async handleChange(m,type){
         this.changeType = type
         if(m){
+          // 鑾峰彇妫�楠岄」
           let list = await this.getCurrentProduct(m,type)
           if(list.length>0){
+            // 鍒濆鍖栧悗绔紶鍙�
             this.param = {}
             list.forEach(a => {
               this.param[a.id] = {
@@ -2166,8 +2391,11 @@
                 insResult: null
               }
             })
+            // 椤甸潰鍒楄〃鏁版嵁澶勭悊
             this.getTableLists0(list)
+            // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁
             this.getReportModel(this.currentSample.id)
+            // 鍚戝绾跨▼淇濆瓨鏁版嵁
             this.worker.postMessage(JSON.stringify({
               type: 'saveData',
               tableList:this.tableList,
@@ -2182,10 +2410,12 @@
           }
         }
       },
+      // 鏀瑰彉浠诲姟
       handleChangeTask(row) {
         if (row.length > 0) this.id = row[0].id;
         this.taskVisible = false;
       },
+      // 瀛楀吀鑾峰彇淇℃伅
       getTypeDicts() {
         this.$axios.post(this.$api.enums.selectEnumByCategory, {
           category: "绱ф�ョ▼搴�"
@@ -2204,6 +2434,7 @@
           this.componentData.tagField.type.select = data
         })
       },
+      // 瀛楀吀鑾峰彇淇℃伅
       getInsStateDicts() {
         this.$axios.post(this.$api.enums.selectEnumByCategory, {
           category: "妫�楠屼换鍔$姸鎬�"
@@ -2223,6 +2454,7 @@
           this.componentData.tagField.insState.select = data
         })
       },
+      // 瀛楀吀鑾峰彇淇℃伅
       getComparisonList() {
         this.$axios.post(this.$api.enums.selectEnumByCategory, {
           category: "琛ㄦ牸鍧愭爣杞崲"
@@ -2231,6 +2463,7 @@
           this.comparisonList = data;
         })
       },
+      // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃
       selectEnumByCategoryOfSelect(val) {
         this.enumList = []
         if (val === undefined || val === null) {
@@ -2248,6 +2481,7 @@
       }) {
         row.index = rowIndex + 1;
       },
+      // 澶勭悊椤甸潰鍒楄〃鏁版嵁--鍘婚噸,鐢熸垚妫�楠屾ā鏉垮垏鎹㈠垪琛�
       getTableLists() {
         const mySet1 = new Set();
         this.tableLists = this.currentSample.insProduct.filter(m => {
@@ -2271,6 +2505,7 @@
           this.tableList = null;
           this.tableList = [this.tableLists[0]]
           this.currentTable = this.tableLists[0].templateId;
+          // 澶勭悊椤甸潰鍒楄〃鏁版嵁
           this.handleTableData()
         }
       },
@@ -2299,16 +2534,20 @@
           this.tableList = [this.tableLists[0]]
           this.currentTable = this.tableLists[0].templateId;
           this.currentSample.insProduct = this.HaveJson(list)
+          // 澶勭悊椤甸潰鍒楄〃鏁版嵁
           this.handleTableData()
         }
       },
+      // 澶勭悊椤甸潰鍒楄〃鏁版嵁
       handleTableData() {
-        this.excelMethodList = []
-        this.widthList = this.tableList[0].style.columnlen;
+        this.excelMethodList = []//excel鍑芥暟鍒楄〃
+        this.widthList = this.tableList[0].style.columnlen;//椤甸潰瀹藉害--鏍规嵁妯℃澘鏉ョ殑
         // 娓╁害寰幆妫�楠屽師濮嬭褰�--寮�濮�
         if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){
+          // 瀵硅姹傚�艰繘琛屾媶鍒嗗鐞�,杩涜�屽緱鍑洪〉闈㈠唴瀹�
           let ask = this.currentSample.insProduct[0].ask
           let askList = ask.split(';')
+          // 鑾峰彇寰幆娆℃暟
           this.numOptions = []
           for (let i = 1; i <= askList[askList.length-1]; i++) {
             this.numOptions.push({
@@ -2322,6 +2561,7 @@
               mySet1.add(m.split(',')[0].replace('鈩�',''))
             }
           })
+          // 鑾峰彇娓╁害鐐瑰垪琛�
           this.temperatureOptions = []
           mySet1.forEach(m => {
             this.temperatureOptions.push({
@@ -2329,6 +2569,7 @@
               label:m
             })
           })
+          // 鍒濆鍖栭〉闈㈡暟鎹�
           this.wareTableDataLoading = true
           this.$axios.post(this.$api.deviceScope.temDataAcquisition2,{
             entrustCode:this.insOrder.entrustCode,
@@ -2348,6 +2589,7 @@
         // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫
         // 鐑惊鐜楠屽師濮嬭褰�---寮�濮�
         if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){
+          // 鏍规嵁瑕佹眰鍊兼媶鍒嗘暟鎹�,寰楀埌椤甸潰娓叉煋鐨勪俊鎭�
           let ask = this.currentSample.insProduct[0].ask
           let askList = ask.split(';')
           this.thermalCyclingInfo.max = Number(askList[askList.length-1])
@@ -2370,10 +2612,11 @@
             return obj
           })
           this.thermalCyclingInfo.arr = arr;
-          // console.log(this.thermalCyclingInfo)
+          // 鍒濆鍖栭〉闈㈡暟鎹�
           this.thermalCyclingChange()
         }
         // 鐑惊鐜楠屽師濮嬭褰�---缁撴潫
+        // 鏈寰幆涓昏鍋氶〉闈㈡覆鏌撳眰闈㈢殑澶勭悊--鍗曞厓鏍煎悎骞堕澶勭悊
         this.tableList.forEach(a => {
           let mcList = []
           a.template.forEach(b => {
@@ -2402,9 +2645,10 @@
             count++
           })
         })
+        // 鏈寰幆涓昏鏄帶鍒跺悎骞�,浠ュ強鎺у埗妫�楠岄」淇℃伅鏄惁灞曠ず鍑烘潵,浠ヤ究鍚庣画妫�楠�
         this.tableList.forEach(a => {
-          let dels = new Set()
-          let ids = []
+          let dels = new Set()//闇�瑕佸垹闄ょ殑琛�
+          let ids = []//鎵�鏈夋楠岄」鐨刬d
           let set3 = new Set()
           a.template.forEach(b => {
             let size1 = set3.size
@@ -2414,6 +2658,7 @@
               let count4 = 0
               let isThree = 0
               a.template.forEach(c => {
+                // 鑾峰彇鍒� 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴,濡傛灉妯℃澘閲岀殑淇℃伅璺熸帴鍙h繑鍥炵殑妫�楠岄」淇℃伅鑳藉鍖归厤鍒欏睍绀哄嚭鏉�
                 if (b.r === c.r) {
                   if(c.v.ps != undefined && c.v.ps.value === '妫�楠岄」鍒嗙被'&&count4 === 0){
                     // 涓夌骇鍒嗙被
@@ -2466,6 +2711,7 @@
                   .insProduct[i].inspectionItemSubclass==null||this.currentSample
                   .insProduct[i].inspectionItemSubclass==undefined?'':this.currentSample
                   .insProduct[i].inspectionItemSubclass
+                  // 濡傛灉鐩哥瓑,閭d箞璇存槑鎵惧埌浜�,骞朵笖鎶奿d瀛樿捣鏉�,鍚庣画妫�楠岄」涔熶細鍦ㄩ〉闈腑鏄剧ず鍑烘潵
                   if (this.currentSample.insProduct[i].templateId === a.templateId && inspectionItemClass +inspectionItem+inspectionItemSubclass ===
                     str) {
                     ids.push({
@@ -2483,6 +2729,7 @@
               }
             }
           })
+          // 鎿嶄綔鍒犻櫎
           dels.forEach(del => {
             for (let b = 0; b < a.template.length; b++) {
               if (a.template[b].r === del) {
@@ -2491,6 +2738,7 @@
               }
             }
           })
+          // 鎿嶄綔璧嬪��--涓昏璧嬪�煎崟浣�,璇曢獙鏂规硶绛変俊鎭�
           ids.forEach(id => {
             for (let b = 0; b < a.template.length; b++) {
               if (a.template[b].r === id.r) {
@@ -2506,6 +2754,7 @@
             }
           })
           let set2 = new Set()
+          // 鍚堝苟鐨勬暟鎹鐞�,cs  rs  浠h〃鍚堝苟鐨勬暟閲�
           a.template.forEach(b => {
             let size1 = set2.size
             let size2 = set2.add(b.mc).size
@@ -2525,73 +2774,74 @@
             }
           })
         })
+        // 鏈寰幆涓昏鏄鍚庣浼犲弬杩涜鍒濆鍖�,鏍峰紡閫昏緫淇敼
         this.tableList.forEach(a => {
           let arrs = []
           let set = new Set()
           let count1 = 0
           let conclusionList = []; //缁撹鍒楄〃
           let finalList = []; //鏈�缁堝�煎垪琛�
-          conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '缁撹')
-          finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��')
+          // 缁撹涓庢渶缁堝�煎湪杩欓噷涓�涓�瀵瑰簲,浠ヤ笅涓や釜鍒楄〃闀垮害鑲畾鏄竴鏍风殑,濡傛灉鏈変笉涓�鏍�,閭d箞澶氬崐鏄ā鏉块厤缃緱闂
+          conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '缁撹')//缁撹鍒楄〃
+          finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��')//鏈�缁堝�煎垪琛�
           a.template.forEach( b => {
             if (b.v.ps != undefined && b.v.ps.value === '搴忓彿' && (b.v.mc == undefined || Object.keys(b.v.mc).length === 4)) {
+              // 瀵瑰簭鍙疯繘琛岃祴鍊�
               count1++
               b.v.v = count1
             }
             if (b.v.ps != undefined && b.v.ps.value === '瑕佹眰鍊�') {
+              // 瀵硅姹傚�艰繘琛岃祴鍊�
               b.v.v = this.getAsk(b.i)
             }
+            // 瀵归〉闈㈢殑鍜岀粰鍚庣浼犲弬鐨勬楠屽��,璁$畻鍊�,璁惧缂栫爜,璁惧鍚嶇О,鏈�缁堝��,缁撹杩涜鍒濆鍖�
             if (b.v.ps != undefined && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('妫�楠屽��')) {
               this.$set(b.v, 'v','' )
               // b.v.v = ''
               b.u = ''
-              b.i && this.param[b.i].insValue.push(b)
+              b.i && this.param[b.i]&&this.param[b.i].insValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') {
               this.$set(b.v, 'v','' )
               // b.v.v = ''
-              b.i && this.param[b.i].comValue.push(b)
+              b.i && this.param[b.i]&&this.param[b.i].comValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') {
               // b.v.v = ''
               this.$set(b.v, 'v', '' )
-              b.i && this.param[b.i].equipValue.push(b)
+              b.i && this.param[b.i]&&this.param[b.i].equipValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') {
               this.$set(b.v, 'v', '' )
               // b.v.v = ''
-              b.i && this.param[b.i].equipName.push(b)
+              b.i && this.param[b.i]&&this.param[b.i].equipName.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') {
               // b.v.v = ''
               this.$set(b.v, 'v', '' )
-              /* if (b.i === undefined) {
-                for (var c in this.param) {
-                  this.param[c].resValue = b
-                }
-              } else {
-                this.param[b.i].resValue = b
-              } */
-              if (b.i !== undefined&&!this.param[b.i].resValue) {
+              if (b.i !== undefined&&this.param[b.i]&&!this.param[b.i].resValue) {
                 this.param[b.i].resValue = b
               }
             }
             if (b.v.ps != undefined && b.v.ps.value === '缁撹') {
-              if (b.i !== undefined&&!this.param[b.i].insResult) {
+              if (b.i !== undefined&&this.param[b.i]&&!this.param[b.i].insResult) {
                 this.param[b.i].insResult = b
                 conclusionList.forEach((n, i) => {
                   if (n.r == b.r && n.c == b.c) {
                     b.v.f =
                       `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})`
+
                   }
                 })
               }
             }
             set.add(b.r)
+            // 濡傛灉妯℃澘鍒楄〃鐨勫嚱鏁板瓨鍦�,閭d箞鍔犲叆鍒癳xcel鍑芥暟鍒楄〃閲岄潰
             if (b.v.f) {
               this.excelMethodList.push(b)
             }
           })
+          // 浠ヤ笅鏄牱寮忓鐞嗛�昏緫
           set = Array.sort(set)
           set.forEach(b => {
             let arr = []
@@ -2608,14 +2858,17 @@
             this.tableWidth += (a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i])
           }
         })
+        // 鏈寰幆涓昏鏄椤甸潰鍙婂悗绔紶鍙傝繘琛屽垵濮嬪寲璧嬪��
         this.currentSample.insProduct.forEach(async a => {
           try {
+            // 璁$畻鍊艰祴鍊�
             let comValue = JSON.parse(a.insProductResult.comValue)
             for (var i = 0; i < comValue.length; i++) {
               this.param[a.id].comValue[i].v.v = this.toFixed(comValue[i].v,this.param[a.id].comValue[i].v.ct)
             }
           } catch (e) {}
           try {
+            // 妫�楠屽�艰祴鍊�
             let insValue = JSON.parse(a.insProductResult.insValue)
             for (let i = 0; i < insValue.length; i++) {
               if(this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r)){
@@ -2627,8 +2880,10 @@
             }
           } catch (e) {}
           try {
+            // 璁惧缂栧彿璧嬪��
             let equipValue = JSON.parse(a.insProductResult.equipValue)
             if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){
+              // 鐗规畩椤圭洰鍒濆鍖�
               this.param[a.id].equipValue = []
               for (let i = 0; i < equipValue.length; i++) {
                 this.param[a.id].equipValue.push({
@@ -2644,14 +2899,16 @@
                 this.$set(this.equipForm,`code`+i,equipValue[i].v)
                 this.param[a.id].equipValue[i].v.v = equipValue[i].v
               }else{
+                // 鏅�氳澶囪祴鍊�
                 this.param[a.id].equipValue[i].v.v = equipValue[i].v
               }
             }
           } catch (e) {}
           try {
+            // 璁惧鍚嶇О璧嬪��
             let equipName = JSON.parse(a.insProductResult.equipName)
-            // console.log(2222222,equipName)
             if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){
+              // 璁惧鍚嶇О鍒濆鍖�
               this.param[a.id].equipName = []
               for (let i = 0; i < equipName.length; i++) {
                 this.param[a.id].equipName.push({
@@ -2663,84 +2920,46 @@
             }
             for (let i = 0; i < equipName.length; i++) {
               if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){
-                console.log(2222222,equipName)
                 // 娓╁害寰幆璧嬪��
                 this.$set(this.equipForm,`value`+i,equipName[i].v)
                 this.param[a.id].equipName[i].v.v = equipName[i].v
               }else{
+                // 鏅�氳澶囧悕绉拌祴鍊�
                 this.param[a.id].equipName[i].v.v = equipName[i].v
               }
             }
           } catch (e) {}
           try {
+            // 鏈�缁堝�艰祴鍊�
             this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct)
+            // 缁撹璧嬪��
             this.param[a.id].insResult.v.v = a.insResult
           } catch (e) {}
         })
+        // 瀵筫xcel鍑芥暟杩涜澶勭悊
         this.handleExcelMethod()
       },
+      // 妫�楠屽�艰緭鍏ュ悗瑙﹀彂鐨勫嚱鏁�
       changeInput(m, code, n,getDataType) {
+        // 涓烘暟閲囧畾涔変竴涓�昏緫鍙傛暟
         if(getDataType=='getDataType'){
           this.getDataType = 2;
         }
-        // let str = code.split('-')
-        // let pId = str[3]
-        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){
-        //   let inspectionItem = ''
-        //   let idS = []
-        //   let child = 0
-        //   for (let i in this.currentSample.insProduct) {
-        //     if(this.currentSample.insProduct[i].id==pId){
-        //       inspectionItem = this.currentSample.insProduct[i].inspectionItem
-        //     }
-        //   }
-        //   for (let i in this.currentSample.insProduct) {
-        //     if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){
-        //       idS.push(this.currentSample.insProduct[i].id)
-        //     }
-        //   }
-        //   for (let i = 0;i<idS.length;i++) {
-        //     if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){
-        //       child++
-        //     }
-        //   }
-        //   if(child==0){
-        //     n.v.v = null
-        //     this.$message.error('璇峰厛濉啓璁惧淇℃伅')
-        //     return
-        //   }
-        // }
-        let str = code.split('-')
-        let pId = str[3]
-        for(let i =0;i<this.currentSample.insProduct.length;i++){
-          if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/'||this.currentSample.insProduct[i].ask=='鈥�')){
-            this.tableList[0].arr.forEach(item=>{
-              item.forEach(m=>{
-                if(m.i==pId&&m.v.ps&&m.v.ps.value=='缁撹'){
-                  this.$set(m.v,'v',3)
-                }
-              })
-            })
-            if(this.param[pId].insResult&&this.param[pId].insResult.v){
-              this.param[pId].insResult.v.v = 3
-            }
-            this.saveInsContext()
-            return
-          }
-        }
-        // this.currentTable.
-        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){}
         if (n) {
-          // if (this.PROJECT === '瑁呭鐢电紗') {
-          //   let num2 = new this.$Big(n.v.v)
-          //   n.v.v = num2.toExponential()
-          // }
+          // 闇�瑕佺瀛﹁鏁版硶鐨勫彲浠ヨ蛋杩欓噷
+          if (this.PROJECT === '妫�娴嬩腑蹇�') {
+            if(this.tableList.find(ele=>ele.inspectionItem=='浣撶Н鐢甸樆鐜�')){
+              if(parseFloat(n.v.v)>=100000){
+                let num2 = new this.$Big(n.v.v)
+                n.v.v = num2.toExponential()
+              }
+            }
+          }
           // 瀹氫箟涓�涓嚱鏁版潵楠岃瘉鍒嗘暟鏄惁鏈夋晥
           function isValidFraction(fraction) {
             const [numerator, denominator] = fraction.split('/'); // 鍒嗗瓙鍜屽垎姣�
             return !(!denominator || !numerator);
           }
-          console.log("aaa------>>>>",n);
           const isTrue = isValidFraction(n.v.v)
           if (!isTrue) {
             n.v.v = n.v.v.replace('/', '')
@@ -2768,10 +2987,12 @@
           this.result = JSON.parse(event.data);
           switch (this.result.method){
             case 'saveInsContext':
+              console.log(`output->`,11111111111111)
               this.$nextTick(()=>{
                 // this.$delete(this.tableList[0],'arr')
                 this.$set(this.tableList[0],'arr',this.result.value.tableList[0].arr)
                 this.param = this.result.value.param
+                // 鐗规畩澶勭悊涓�涓嬬粨璁�,浼氭湁杩欑鐗规畩鎯呭喌
                 for (var i in this.param){
                   if(this.param[i].insResult&&this.param[i].insResult.v&&this.param[i].insResult.v.v){
                     if(this.param[i].insResult.v.v=='鍚堟牸'){
@@ -2781,60 +3002,55 @@
                     }
                   }
                 }
-                console.log(99999,this.result.value.getDataTypeId)
-                if(this.isGet&&!this.dataAcquisitionEidtAble){
-                  if(this.result.value.getDataTypeId==''){
-                    return
-                  }
-                  setTimeout(()=>{
-                    this.saveInsContext()
-                  },2000)
-                }else if(this.isGet&&this.dataAcquisitionEidtAble){
-                  if(this.getDataType==1){
+                // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,鍙互鐩存帴淇濆瓨鏁版嵁
+                if(this.getDataType==2){
+                  this.saveInsContext()
+                }else{
+                  if(this.isGet&&!this.dataAcquisitionEidtAble){
                     if(this.result.value.getDataTypeId==''){
+                      // 濡傛灉鏄暟閲囦笉鍙紪杈戣緭鍏ョ殑鎯呭喌,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁
                       return
                     }
+                    // 淇濆瓨鏁版嵁
                     setTimeout(()=>{
                       this.saveInsContext()
                     },2000)
+                  }else if(this.isGet&&this.dataAcquisitionEidtAble){
+                    if(this.getDataType==1){
+                      if(this.result.value.getDataTypeId==''){
+                        // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁
+                        return
+                      }
+                      this.saveInsContext()
+                    }else{
+                      this.saveInsContext()
+                    }
                   }else{
                     this.saveInsContext()
                   }
-                }else{
-                  this.saveInsContext()
                 }
               })
               break;
             case 'tableList':
               this.$nextTick(()=>{
+                // 鏇存柊鏁版嵁
                 this.$delete(this.tableList[0],'arr')
                 this.$set(this.tableList[0],'arr',this.result.value[0].arr)
               })
               break;
             case 'getCurrentInsProduct':
+              // 鏇存柊椤甸潰鏁版嵁
               this.getCurrentInsProduct(this.result.value)
               break;
           }
         };
       },
+      // 鏄惁闇�瑕佹暟閲�
       async determineWhetherToCollectData(){
         let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+"?managementNumber=''")
         this.isGet =  res.data
       },
-      handleFraction(str){
-        if(str&&typeof(str)=='string'&&str.includes('/')){
-          return eval(str.split('/')[0]/str.split('/')[1])
-        } else if (str && typeof(str) == 'string' && str.includes('*') && str.includes('^')) {
-          const num1 = str.split('*')
-          const num2 = num1[1].split('^')
-          let num3 = new this.$Big(num2[0]);
-          let num4 = new this.$Big(num2[1]);
-          let num5 = Math.pow(num3, num4) // 璁$畻娆℃柟
-          return num1[0] * num5 // 鏈�鍚庤绠椾箻娉�
-        } else{
-          return str
-        }
-      },
+      // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁   param => this.tableList[0].insProductResult
       getCurrentInsProduct(pId) {
         if (!this.tableList[0].insProductResult) {
           this.tableList[0].insProductResult = {}
@@ -2843,6 +3059,7 @@
           let value = this.param[pId][m]
           switch (m) {
             case 'comValue':
+              // 璧嬪�艰绠楀��
               if (value && value.length > 0) {
                 this.tableList[0].insProductResult[m] = [];
                 value.forEach((a, i) => {
@@ -2858,6 +3075,7 @@
                 }
               }
               break;
+              // 璧嬪�兼楠屽��
             case 'insValue':
               if (value && value.length > 0) {
                 this.tableList[0].insProductResult[m] = [];
@@ -2875,6 +3093,7 @@
                 }
               }
               break;
+              // 璧嬪�艰澶囩紪鍙�
             case 'equipValue':
               if (value && value.length > 0) {
                 this.tableList[0].insProductResult[m] = [];
@@ -2891,6 +3110,7 @@
                 }
               }
               break;
+              // 璧嬪�艰澶囧悕绉�
             case 'equipName':
               if (value && value.length > 0) {
                 this.tableList[0].insProductResult[m] = [];
@@ -2907,39 +3127,31 @@
                 }
               }
               break;
+              // 璧嬪�兼渶缁堝��
             case 'resValue':
               this.tableList[0].lastValue = value?value.v.v:''
               break;
+              // 璧嬪�肩粨璁�
             case 'insResult':
               this.tableList[0].insResult = value?value.v.v:''
               break;
           }
         }
       },
+      // 瀵笶XCEL鍑芥暟杩涜澶勭悊
       handleExcelMethod() {
         if (this.excelMethodList.length > 0) {
           this.excelMethodList.map(item => {
+            // 寰楀埌姣忎釜鍑芥暟鐨勫弬鏁板垪琛�
             item.valueList = excelFunction.changeParameter(item.v.f);
             return item;
           })
         }
       },
-      median(arr) {
-          // 瀵规暟缁勮繘琛屾帓搴�
-          const sortedArr = arr.sort((a, b) => a - b);
-          // 璁$畻鏁扮粍闀垮害鐨勪竴鍗�
-          const half = Math.floor(sortedArr.length / 2);
-          // 濡傛灉鏁扮粍闀垮害涓哄鏁帮紝杩斿洖涓棿鐨勫厓绱狅紱濡傛灉涓哄伓鏁帮紝杩斿洖涓棿涓や釜鍏冪礌鐨勫钩鍧囧��
-          if (sortedArr.length % 2) {
-              // 濂囨暟浣嶇疆鐨勫厓绱�
-              return sortedArr[half];
-          } else {
-              // 鍋舵暟浣嶇疆鐨勫钩鍧囧��
-              return (sortedArr[half - 1] + sortedArr[half]) / 2;
-          }
-      },
       getValue(v){
+        // 瀵归〉闈㈠睍绀烘暟鎹繘琛屽鐞�,@,浠h〃鎹㈣
         let str = v.v?v.v:(v.v===0?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>').replace(new RegExp('@', 'g'), '<br/>'):''))
+        // 瀵规暟鎹繚鐣欏皬鏁扮偣杩涜澶勭悊
         if(v.ct&&v.ct.fa&&v.ct.fa.includes('.')&&str){
           let num = 0
           let str0 = v.ct.fa.split('.')[1]
@@ -2951,6 +3163,7 @@
         }
         return str
       },
+      // 鑾峰彇褰撳墠杈撳叆妗嗙被鍨�
       getInspectionValueType(id) {
         for (var a in this.currentSample.insProduct) {
           if (this.currentSample.insProduct[a].id == id) {
@@ -2958,6 +3171,7 @@
           }
         }
       },
+      // 鑾峰彇瑕佹眰鎻忚堪
       getTell(id) {
         for (var a in this.currentSample.insProduct) {
           if (this.currentSample.insProduct[a].id == id) {
@@ -2965,6 +3179,7 @@
           }
         }
       },
+      // 鍔ㄦ�佽幏鍙栧崟鍏冩牸瀹藉害
       handleWidth(n) {
         let sum = 0;
         if (n.v.mc && n.v.mc.cs && n.v.mc.c != undefined) {
@@ -2977,6 +3192,7 @@
         }
         return sum
       },
+      // 瀵硅緭鍏ュ�艰繘琛屾牸寮忔牎楠�
       handleInput (n) {
         try {
           n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, '');
@@ -2996,6 +3212,7 @@
           }
         }
       },
+      // 鑾峰彇瑕佹眰鍊�
       getAsk(id) {
         for (var a in this.currentSample.insProduct) {
           if (this.currentSample.insProduct[a].id == id) {
@@ -3033,6 +3250,7 @@
           }
         } */
       },
+      // 鑾峰彇璁惧
       getEquipOptions(e, id) {
         if (e) {
           this.equipOptions = []
@@ -3195,12 +3413,14 @@
         })
         return
       },
+      // 缁熶竴鍦ㄨ繖閲屼繚瀛樻暟鎹�
       saveInsContext() {
         try {
           console.log(1111,this.param)
           if(this.param){
             this.$axios.post(this.$api.insOrderPlan.saveInsContext, {
-              param: JSON.stringify(this.param)
+              param: JSON.stringify(this.param),
+              currentTable:this.currentTable
             }).then(res => {
               if (res.code == 201) {
                 this.$message.error('淇濆瓨澶辫触')
@@ -3220,6 +3440,7 @@
           console.log(999,error);
         }
       },
+      // 璁惧鏀瑰彉
       changeEquip(val, n,v) {
         this.$set(n.v,'v',val)
         this.tableList[0].arr.forEach((item,index)=>{
@@ -3266,6 +3487,7 @@
             }
           }
         }
+        // 淇濆瓨鏁版嵁
         this.saveInsContext()
       },
       getAuthorizedPerson() {
@@ -3310,6 +3532,7 @@
           flag = false;
         });
       },
+      // 椤甸潰閲岄潰鍒囨崲鏍峰搧
       async caretSample(num){
         let index = this.currentKey + num
         if(index < 1){
@@ -3321,11 +3544,13 @@
         }
         this.currentKey = index
         this.currentSample = this.HaveJson(this.sampleProduct[index - 1])
+        // 鑾峰彇妫�楠岄」
         let list = await this.getCurrentProduct(this.currentSample.id,0)
         this.currentSample.insProduct = this.HaveJson(list)
+        // 鍒濆鍖栧悗绔紶鍙�
         this.param = {}
         this.changeType = 0;
-        this.currentSample.insProduct.forEach(a => {
+        this.currentSample.insProduct.forEach((a, j) => {
           if(this.handleCasing(a.inspectionItem)){
             this.param[a.id] = {
               insValue: [],
@@ -3337,7 +3562,9 @@
             }
           }
         })
+        // 椤甸潰鏁版嵁澶勭悊
         this.getTableLists()
+        // 鏇存柊鍒板绾跨▼
         this.worker.postMessage(JSON.stringify({
           type: 'saveData',
           tableList:this.tableList,
diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue
index 200cd41..1892627 100644
--- a/src/components/tool/value-table.vue
+++ b/src/components/tool/value-table.vue
@@ -116,7 +116,7 @@
       <el-table ref="eltable" :data="tableData" style="width: 100%;" height="100%" tooltip-effect="dark" border
         @selection-change="selectChange" @select="select" v-loading="loading" @sort-change="sortChange"
         @row-click="rowClick" :show-summary="data.countFleid!=undefined && data.countFleid.length > 0"
-        :summary-method="getSummaries" :row-class-name="tableRowClassName" :row-key="record=>record.id"
+        :summary-method="getSummaries" :row-class-name="tableRowClassName" :row-key="record=>record[rowKey]"
         :current-row-key="data.currentId" :highlight-current-row="data.highlight===undefined||data.highlight"
         :span-method="spanMethod" :key="specialKey">
         <el-table-column type="selection" :width="selectionWidth" v-if="data.showSelect" :key="Math.random()">
@@ -359,6 +359,12 @@
       tableRowClassName: {
         type: Function
       },
+      rowKey: {
+        type: String,
+        default: ()=>{
+          return 'id'
+        }
+      },
       url: {
         type: String,
         default: () => null
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 49818f8..53ece84 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -205,7 +205,7 @@
     <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/>
       <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="80%">
 				<div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible">
-					<ValueTable ref="ValueTableDataLook" :url="$api.insOrder.selectSampleAndProductByOrderId"
+					<ValueTable ref="ValueTableDataLook" :rowKey="'insProductId'" :url="$api.insOrder.selectSampleAndProductByOrderId"
 						:componentData="componentDataDataLook"/>
 				</div>
 			</el-dialog>
@@ -265,6 +265,10 @@
 								value: 0,
 								label: '涓嶅悎鏍�',
 								type: 'danger'
+							},{
+								value: 3,
+								label: '涓嶅垽瀹�',
+								type: ''
 							}]
 						}
 					},
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 50d48fb..d866587 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -321,7 +321,7 @@
 			</el-dialog>
 			<el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="80%">
 				<div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible">
-					<ValueTable ref="ValueTableDataLook" :url="$api.insOrder.selectSampleAndProductByOrderId"
+					<ValueTable ref="ValueTableDataLook" :rowKey="'insProductId'" :url="$api.insOrder.selectSampleAndProductByOrderId"
 						:componentData="componentDataDataLook"/>
 				</div>
 			</el-dialog>
@@ -644,6 +644,10 @@
 								value: 0,
 								label: '涓嶅悎鏍�',
 								type: 'danger'
+							},{
+								value: 3,
+								label: '涓嶅垽瀹�',
+								type: ''
 							}]
 						}
 					},
diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue
index 7fb2149..aabd7fb 100644
--- a/src/components/view/b2-standard.vue
+++ b/src/components/view/b2-standard.vue
@@ -190,7 +190,7 @@
         style="height:calc(100% - 30px);overflow-y: scroll;scrollbar-width: none;">
         <div class="custom-tree-node" slot-scope="{ node, data }">
           <el-row style="width: 100%;">
-            <el-col :span="21" :class="{sort:node.level>3}" :title="data.label">
+            <el-col :span="21" :class="{sort:node.level>3}" :title="data.label" style="text-align: left;">
               <span>
                 <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
                 {{ data.label }}
diff --git a/src/components/view/notice-detail.vue b/src/components/view/notice-detail.vue
index b1fd617..47320a7 100644
--- a/src/components/view/notice-detail.vue
+++ b/src/components/view/notice-detail.vue
@@ -1,8 +1,8 @@
 <template>
   <div class="notice-detail-page">
     <div class="notice-detail-head">
-      <h4 style="margin-bottom: 16px;" v-if="noticeInfo.theme">{{ noticeInfo.theme }} <el-tag style="margin-left: 10px;" :type="options.find(m=>m.value==noticeInfo.messageType).type" v-if="options.find(m=>m.value==noticeInfo.messageType)">{{ options.find(m=>m.value==noticeInfo.messageType).label }}</el-tag></h4>
-      <p style="font-size: 12px;color: #999;margin-bottom: 20px;">
+      <h4 style="margin-bottom: 16px;text-align:left;" v-if="noticeInfo.theme">{{ noticeInfo.theme }} <el-tag style="margin-left: 10px;" :type="options.find(m=>m.value==noticeInfo.messageType).type" v-if="options.find(m=>m.value==noticeInfo.messageType)">{{ options.find(m=>m.value==noticeInfo.messageType).label }}</el-tag></h4>
+      <p style="font-size: 12px;color: #999;margin-bottom: 20px;text-align:left;">
         <!-- <span>娑堟伅绫诲瀷锛氬鎵�&nbsp; </span> -->
         <span>鍙戦�佷汉锛歿{ noticeInfo.createUser }} </span>
         <span>&nbsp;&nbsp;</span>
@@ -10,7 +10,7 @@
         <span>&nbsp;&nbsp;</span>
         <span>鍙戜欢鏃堕棿锛歿{ noticeInfo.createTime }}</span>
       </p>
-      <div class="notice-detail-head-content">
+      <div class="notice-detail-head-content" style="text-align:left;">
         <label>鍐呭锛�</label>
         <div>{{ noticeInfo.content }}</div>
       </div>
diff --git a/src/components/view/person-manage.vue b/src/components/view/person-manage.vue
index 8c0e23c..78392f4 100644
--- a/src/components/view/person-manage.vue
+++ b/src/components/view/person-manage.vue
@@ -130,7 +130,7 @@
         @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false" default-expand-all>
         <div class="custom-tree-node" slot-scope="{ node, data }">
           <el-row style="width: 100%;">
-            <el-col :span="21" :class="{sort:node.level>3}">
+            <el-col :span="21" :class="{sort:node.level>3}" style="text-align: left;">
               <span><i
                   :class="`node_i ${data.children != undefined&&data.children.length>0 ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
                 {{ data.name }}</span>
diff --git a/src/components/view/role-manage.vue b/src/components/view/role-manage.vue
index 1d52a49..9038d15 100644
--- a/src/components/view/role-manage.vue
+++ b/src/components/view/role-manage.vue
@@ -64,14 +64,14 @@
     <el-dialog :title="type" :visible.sync="addDia" width="550px" @closed="closed">
       <div style="max-height: 550px;overflow-y: auto;padding: 10px 20px;" v-if="addDia">
         <el-row style="line-height: 42px;">
-          <el-col :span="7" style="font-size: 14px;"><span class="required-span">* </span>瑙掕壊鍚�</el-col>
+          <el-col :span="7" style="font-size: 14px;text-align: left;"><span class="required-span">* </span>瑙掕壊鍚�</el-col>
           <el-col :span="17">
             <el-input v-model="addData.roleName" size="medium" placeholder="闇�鍞竴瑙掕壊鍚�" clearable
               :disabled="type=='鏌ョ湅'"></el-input>
           </el-col>
         </el-row>
         <el-row style="line-height: 42px;margin-bottom: 20px;">
-          <el-col :span="7" style="font-size: 14px;"><span class="required-span">* </span>瑙掕壊鍒嗙被</el-col>
+          <el-col :span="7" style="font-size: 14px;text-align: left;"><span class="required-span">* </span>瑙掕壊鍒嗙被</el-col>
           <el-col :span="17">
             <el-select v-model="addData.category" size="medium" :disabled="type=='鏌ョ湅'" style="width: 100%;">
               <el-option v-for="(a, i) in deaprtEnum" :key="i" :label="a.name" :value="a.id"></el-option>
diff --git a/src/main.js b/src/main.js
index 22a7fb8..435e154 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,13 +18,12 @@
 Vue.prototype.PROJECT = '妫�娴嬩腑蹇�'
 // Vue.prototype.PROJECT = '瑁呭鐢电紗'
 //鏈湴
-// Vue.prototype.LOCATIONVUE = "http://10.193.48.211:80";
-// const javaApi = 'http://10.193.48.211:8001';
-const javaApi = 'http://127.0.0.1:8001';
-
+// Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
+// const javaApi = 'http://127.0.0.1:8001';
+// const javaApi = 'http://192.168.0.104:8001';
 //浜�
 // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080";
-// const javaApi = 'http://114.132.189.42:1234';
+const javaApi = 'http://114.132.189.42:1234';
 
 // //妫�娴嬩腑蹇冩寮忓簱
 // Vue.prototype.LOCATIONVUE = "http://10.1.200.86:8080";
@@ -34,10 +33,6 @@
 // Vue.prototype.LOCATIONVUE = "http://10.16.173.59";
 // const javaApi = 'http://10.16.173.59:8001';
 // const javaApi = 'http://192.168.92.249:8001';
-
-// 閫氫俊涓績姝e紡搴�
-// Vue.prototype.LOCATIONVUE = "http://10.1.13.77:8080";
-// const javaApi = 'http://10.1.13.77:8001';
 
 Vue.prototype.HaveJson = (val) => {
 	return JSON.parse(JSON.stringify(val))
@@ -130,19 +125,11 @@
 	return Promise.reject(err)
 })
 
-router.beforeEach(async(to, from, next) => {
+router.beforeEach((to, from, next) => {
 	if(to.path.indexOf('/test') == 0){
 		next()
 		return
 	}
-	// 娴疆绯荤粺鐧诲綍閫昏緫
-	// if(to.query.code) {
-	// 	await axios({
-	// 		url: javaApi + "/tide/tideLogin",
-	// 		method: 'post',
-	// 		data: {code: to.query.code}
-	// 	})
-	// }
   if (to.path.indexOf('/enter') != 0) {
     if (sessionStorage.getItem('token') == null || sessionStorage.getItem('token') == '' || sessionStorage.getItem(
         'token') == undefined) {
@@ -163,3 +150,4 @@
     Vue.prototype.$bus = this
   }
 });
+
diff --git a/src/view/enter.vue b/src/view/enter.vue
index 251298e..a02a3f4 100644
--- a/src/view/enter.vue
+++ b/src/view/enter.vue
@@ -111,7 +111,7 @@
             <el-input v-model="ruleForm.pwd" placeholder="璇疯緭鍏ュ瘑鐮�" clearable show-password @keyup.enter.native="submitForm('ruleForm')"></el-input>
           </el-form-item>
           <el-form-item style="margin-bottom: 8px;">
-            <el-col :span="12"><el-checkbox v-model="ruleForm.remumberme">璁颁綇瀵嗙爜</el-checkbox></el-col>
+            <el-col :span="12" style="text-align: left;"><el-checkbox v-model="ruleForm.remumberme">璁颁綇瀵嗙爜</el-checkbox></el-col>
             <el-col :span="12" style="text-align: right;"><el-checkbox
                 v-model="ruleForm.autoenter">鑷姩鐧诲綍</el-checkbox></el-col>
           </el-form-item>
diff --git a/src/view/index.vue b/src/view/index.vue
index 41f2471..d8bc62c 100644
--- a/src/view/index.vue
+++ b/src/view/index.vue
@@ -357,11 +357,11 @@
 			<el-col :span="24">
 				<el-card :body-style="{padding: '6px'}">
 					<ul>
-						<li @click="removeTab(activeIndex)" v-show="menuId!=0"><i class="el-icon-close"></i>鍏抽棴</li>
-						<li @click="allDel"><i class="el-icon-delete"></i>鍏抽棴鎵�鏈�</li>
-						<li @click="rightDel(activeIndex)"><i class="el-icon-d-arrow-right"></i>鍏抽棴鍙充晶椤电</li>
+						<li @click="removeTab(activeIndex)" v-show="menuId!=0" style="text-align: left;"><i class="el-icon-close"></i>鍏抽棴</li>
+						<li @click="allDel" style="text-align: left;"><i class="el-icon-delete"></i>鍏抽棴鎵�鏈�</li>
+						<li @click="rightDel(activeIndex)" style="text-align: left;"><i class="el-icon-d-arrow-right"></i>鍏抽棴鍙充晶椤电</li>
 						<el-divider></el-divider>
-						<li @click="refreshTable"><i class="el-icon-refresh"></i>鍒锋柊</li>
+						<li @click="refreshTable" style="text-align: left;"><i class="el-icon-refresh"></i>鍒锋柊</li>
 					</ul>
 				</el-card>
 			</el-col>
diff --git a/src/view/notice.vue b/src/view/notice.vue
index 71a978f..bb0eaf4 100644
--- a/src/view/notice.vue
+++ b/src/view/notice.vue
@@ -228,6 +228,7 @@
 
 >>>.el-drawer__header {
   color: #303133;
+  text-align: left;
 }
 >>>.el-drawer__body{
   height: calc(100vh - 82px);
diff --git a/static/js/worker.js b/static/js/worker.js
index b5ffbfa..903a316 100644
--- a/static/js/worker.js
+++ b/static/js/worker.js
@@ -1,30 +1,45 @@
-
+// 澶氱嚎绋嬮噷闈㈤渶瑕佷繚瀛樼殑鏁版嵁
 let code = ''
+// 琛ㄦ牸鏁版嵁锛堟覆鏌擄級
 let tableList = null
+// 鏂规硶鍒楄〃
 let excelMethodList = []
+// excel鍧愭爣姣旇緝鍒楄〃
 let comparisonList = []
+// 褰撳墠鏍峰搧淇℃伅
 let currentSample = {}
+// 褰撳墠椤圭洰锛氭娴嬩腑蹇冦�佽澶囩數缂�
 let PROJECT = ''
+// 濂楃
 let bushing = ''
+// 澶氱嚎绋嬩紶閫掑埌涓荤嚎绋嬬殑鏁版嵁
 let result = {
   method:'',
   value:null
 }
+// 淇濆瓨鏃朵紶鍒板悗绔弬鏁�
 let param = null
+// 褰撳墠鐨勬ā鏉�
 let currentTable = ''
+// 浼樺寲鏁伴噰杈冨鏁版嵁鏃�-璁板綍鏈�鍚庝竴涓楠岄」鐨刬d
 let getDataTypeId = null
+// 鎺ユ敹鍒颁富绾跨▼澶勭悊閫昏緫鐨勬秷鎭�
 self.onmessage = function(event) {
+  // 淇濆瓨涓荤嚎绋嬩紶杩囨潵鐨勫��
   const data = JSON.parse(event.data);
   if(currentTable!=data.currentTable){
+    // 妫�楠屾ā鏉挎敼鍙樺悗闇�瑕佸埛鏂拌〃鏍�
     tableList = data.tableList;
   }
   currentTable = data.currentTable;
   if(data.type&&data.type=='saveData'){
+    // 鏇存柊琛ㄦ牸鏁版嵁鍜屼紶閫掑埌鍚庣鐨勫弬鏁�
     tableList = data.tableList;
     param = data.param;
     return
   }
   if(data.bushing&&(data.bushing!=bushing)&&data.type=='saveData'){
+    // 鏇存柊琛ㄦ牸鏁版嵁銆佷紶閫掑埌鍚庣鐨勫弬鏁板拰濂楃鏁版嵁
     tableList = data.tableList;
     param = data.param;
     bushing = data.bushing;
@@ -32,11 +47,13 @@
   }
   code = data.code;
   if(data.getDataTypeId){
+    // 璁板綍 浼樺寲鏁伴噰杈冨鏁版嵁鏃�-璁板綍鏈�鍚庝竴涓楠岄」鐨刬d
     getDataTypeId = data.getDataTypeId
   }else{
     getDataTypeId = null
   }
   if(tableList){
+    // 濡傛灉琛ㄦ牸鏁版嵁瀛樺湪锛屽垯鏇存柊褰撳墠淇敼妫�楠岄」鐨勮〃鏍兼暟鎹�
     let str = code.split('-')
     let r = str[1]
     let c = str[2]
@@ -48,48 +65,56 @@
       })
     })
   }else{
+    // 濡傛灉鍒濆鍖栬〃鏍兼暟鎹笉瀛樺湪锛岀洿鎺ヨ祴鍊�
     tableList = data.tableList;
   }
   if(param){
+    // 濡傛灉浼犻�掑埌鍚庣鐨勫弬鏁板瓨鍦紝鍒欐洿鏂板綋鍓嶄慨鏀规楠岄」鐨勪紶閫掑埌鍚庣鐨勫弬鏁�
     let str = code.split('-')
     let pId = str[3]
     param[pId] = data.param[pId]
   }else{
+    // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁�
     param = data.param;
   }
-  // tableList = data.tableList;
-  // param = data.param;
+  // 鏇存柊鏂规硶鍒楄〃銆佸潗鏍囨瘮杈冨垪琛ㄣ�佸綋鍓嶆牱鍝佷俊鎭�侀」鐩�
   excelMethodList = JSON.parse(JSON.stringify(data.excelMethodList));
   comparisonList = JSON.parse(JSON.stringify(data.comparisonList));
   currentSample = JSON.parse(JSON.stringify(data.currentSample));
   PROJECT = data.PROJECT
+  // 鎵ц璁$畻鏂规硶
   changeInput('', code);
 };
 
 function changeInput(m, code){
   let str = code.split('-')
-  let r = str[1]
-  let c = str[2]
+  let r = str[1]//褰撳墠琛�
+  let c = str[2]//褰撳墠鍒�
   let id = str[0]
-  let pId = str[3]
-  var list = []
+  let pId = str[3]//褰撳墠妫�楠岄」id锛宲aram[pId]涓哄綋鍓嶆楠岄」鐨勬墍鏈夊�硷紝鍖呭惈锛氳繃绋嬪�糹nsValue銆佽绠楀�糲omValue銆佽澶囩紪鐮乪quipValue銆佽澶囧悕绉癳quipName銆佹渶缁堝�紃esValue銆佺粨璁篿nsResult
+  var list = []//涓�涓弻灞傛暟缁勶紝閲岄潰淇濆瓨鏈夊綋鍓嶉〉闈㈡覆鏌撶殑鎵�鏈夋暟鎹�
+  // 璧嬪�煎綋鍓嶆ā鏉跨殑琛ㄦ牸鏁版嵁
   for (let a in tableList) {
     if (tableList[a].templateId == id) {
       list = tableList[a].arr
       break
     }
   }
-  let isToExponential = ''
-  let list2 = []
-  let isPoint = ''
+  let isToExponential = ''//鏄惁涓虹瀛﹁鏁版硶
+  let list2 = [] //涓�涓暟缁勶紝閲岄潰淇濆瓨鏈夊綋鍓嶆楠岄」鐨勬墍鏈夊弬鏁板��
+  let isPoint = '' //鏄惁涓哄皬鏁扮偣
+  // 寰幆鎵�鏈塭xcel鏂规硶锛屾壘鍒板綋鍓嶈銆佸垪鐨勬楠岄」锛屽鏋滄鍗曞厓鏍硷紙r,c锛夋槸鏌愪釜excel鏂规硶閲岄潰鐨勫弬鏁帮紝鍒欐墽琛屾鏂规硶
   excelMethodList.forEach(item => {
+    // item.valueList  鏄綋鍓峞xcel鏂规硶鐨勫弬鏁板垪琛紝鎵惧埌褰撳墠濉叆鐨勫�兼槸鍚︽槸鍙傛暟
     if (item.valueList&&item.valueList.length>0&&item.valueList.find(m => m.r == r && m.c == c)) {
+      // 濡傛灉鏄紝鍒欏畾涔変竴涓弬鏁扮殑瀵硅薄闆嗗悎锛岀敤浜庝繚瀛樺綋鍓峞xcel鏂规硶鍙傛暟鐨勫��
       var comValue = {}
       item.valueList.forEach(a => {
         list.forEach(b => {
           if (b[0].r == a.r) {
             b.forEach(c => {
               if (c.c == a.c) {
+                // 鑾峰彇褰撳墠鍙傛暟鐨凟xecl琛屽潗鏍�(ABCD)绛夌瓑
                 var tableCode = ''
                 for (var d in comparisonList) {
                   if (c.c == comparisonList[d].value) {
@@ -98,14 +123,18 @@
                   }
                 }
                 list2.push(c.v.v)
+                // 缁勮鍙傛暟鐨勫璞¢泦鍚堝苟璧嬪�硷紝鍒楀{A3:12,B4:15}
                 if(getInspectionValueType(item.i)==1&&!isNaN(parseFloat(c.v.v))){
+                  // 濡傛灉鏄暟瀛楄緭鍏ユ
                   let n = String(c.v.v)
                   if(n.includes('/')){
+                    // 濡傛灉鏄垎鏁帮紝鍒欒祴鍊�
                     comValue[(tableCode + (c.r + 1))] = c.v.v
                   }else{
                     comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
                   }
                 }else{
+                  // 濡傛灉鏄枃鏈�佷笅鎷夋绛夌瓑
                   comValue[(tableCode + (c.r + 1))] = c.v.v
                 }
               }
@@ -113,12 +142,16 @@
           }
         })
       })
+      // 濡傛灉姝xcel鏂规硶鏄粨璁哄垽鏂柟娉曪紝鍒欐墽琛屾鏂规硶
       if (item.v.ps != undefined && item.v.ps.value == '缁撹') {
         try {
           if (currentSample.insProduct.find(m => m.id == item.i)) {
+            // 濡傛灉褰撳墠妫�楠岄」鏄骇鍝佹楠岄」锛屽垯鎵ц姝ゆ柟娉曪紝鎵惧埌姝ゆ楠岄」鐨勮姹傚��
           let ask = currentSample.insProduct.find(m => m.id == item.i).ask?currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null;
+          // 鑾峰彇褰撳墠缁撹鐨勫弬鏁帮紝涔熷氨鏄綋鍓嶆楠岄」鐨勬渶缁堝��
           let res = Object.values(comValue)[0]
           let comp = []
+          // 鍒ゆ柇褰撳墠缁撹鐨勫弬鏁帮紙褰撳墠妫�楠岄」鐨勬渶缁堝�硷級鏄惁涓虹┖锛屽鏋滀负绌猴紝鍒欑洿鎺ヨ祴鍊�
           if(res===''||res===null||res===undefined||res==='Infinity'){
             item.v.v = null
             list.forEach(a => {
@@ -132,185 +165,209 @@
               }
             })
           }else{
-            // console.log(ask,res,item.v.f)
-            if(ask){
-              comp = ask.map((m, i) => {
-                // console.log('m----', m)
-                if (m.includes('RTS')) {
-                  m = m.replace('RTS*', '')
+            // 濡傛灉涓嶄负绌猴紝鍒欏垽鏂綋鍓嶇粨璁哄氨闇�瑕佽繘琛屽垽鏂�
+            //瑕佹眰鍊间负-锛�/锛屸�旓紝鍒欑粨璁鸿缃负涓嶅垽瀹氾紝缁撹璧嬪�间负3
+            if(ask[0]=='-' || ask[0]=='/' || ask[0]=='鈥�'){
+              item.v.v = 3
+              list.forEach(a => {
+                if (a[0].r == item.r) {
+                  for (let  b=0; b<a.length; b++) {
+                    if (a[b].c == item.c) {
+                      a[b].v.v = 3
+                      break
+                    }
+                  }
                 }
-                if (m.includes('=')) {
-                  let str = handleFraction(m.split('=')[1])
-                  if(typeof res == 'string'&&typeof str == 'string'){
-                    if(res.includes('/')){
-                      if (m.includes('/')) {
-                        return  eval(res) == eval(str)
-                      } else {
-                        return handleMoreParam(res,m.split('=')[1],'=')
+              })
+            }else{
+              // 瑕佹眰鍊间笉涓�-锛�/锛屸�旓紝鍒欒繘琛屽垽鏂�
+              if(ask){
+                // 寰幆瑕佹眰鍊煎垪琛紝鍒ゆ柇褰撳墠缁撹鐨勫弬鏁版槸鍚︾鍚堣姹�
+                comp = ask.map((m, i) => {
+                  // 瑁呭鐗规湁鐨勫垽鏂柟娉曪紙闇�瑕佺瀛﹁鏁版硶鐨勶級锛岃姹傚�艰繘琛屾浛鎹�
+                  if (m.includes('RTS')) {
+                    m = m.replace('RTS*', '')
+                  }
+                  // 濡傛灉瑕佹眰鍊煎寘鍚�=锛屽垯鍒ゆ柇褰撳墠缁撹鐨勫弬鏁版槸鍚︾瓑浜庤姹傚�硷紝
+                  // 浠ヤ笅鍒ゆ柇鍩烘湰涓�鑷达紝鍙槸鍒ゆ柇绫诲瀷涓嶄竴鏍凤紝灏变笉鍋氭敞閲婁簡
+                  if (m.includes('=')) {
+                    // 澶勭悊瑕佹眰鍊�
+                    let str = handleFraction(m.split('=')[1])
+                    if(typeof res == 'string'&&typeof str == 'string'){
+                      // 濡傛灉瑕佹眰鍊煎拰褰撳墠缁撹鐨勫弬鏁伴兘鏄瓧绗︿覆锛屽垯鎵ц
+                      if(res.includes('/')){
+                        // 濡傛灉缁撹鐨勫弬鏁版槸鍒嗘暟锛屽垯鍒ゆ柇
+                        if (m.includes('/')) {
+                          // 濡傛灉瑕佹眰鍊兼槸鍒嗘暟锛屽垯鍒ゆ柇
+                          return  eval(res) == eval(str)
+                        } else {
+                          // 濡傛灉瑕佹眰鍊间笉鏄垎鏁帮紝鍒欏垽鏂�
+                          return handleMoreParam(res,m.split('=')[1],'=')
+                        }
+                      }else{
+                        // 濡傛灉缁撹鐨勫弬鏁颁笉鏄垎鏁帮紝鍒欏垽鏂�
+                        return  res.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '') == str.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '')
                       }
                     }else{
-                      // console.log(res.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, ''),' == ',str.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, ''))
-                      return  res.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '') == str.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '')
+                      // 濡傛灉瑕佹眰鍊煎拰褰撳墠缁撹鐨勫弬鏁版湁涓�涓槸鏁板瓧锛屽垯鎵ц
+                      return  eval(res) == eval(str)
                     }
-                  }else{
-                    return  eval(res) == eval(str)
-                  }
-                } else if (m.includes('鈮�')) {
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
-                      // console.log('eval(res)----', eval(res))
+                  } else if (m.includes('鈮�')) {
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let str = handleFraction(m.split('鈮�')[1])
+                        return eval(res) >= eval(str)
+                      } else {
+                        return handleMoreParam(res,m.split('鈮�')[1],'鈮�')
+                      }
+                    }else{
                       let str = handleFraction(m.split('鈮�')[1])
-                      // console.log('eval(str)----', eval(str))
                       return eval(res) >= eval(str)
-                    } else {
-                      return handleMoreParam(res,m.split('鈮�')[1],'鈮�')
                     }
-                  }else{
-                    let str = handleFraction(m.split('鈮�')[1])
-                    return eval(res) >= eval(str)
-                  }
-                }else if (m.includes('鈮�')) {
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if (m.includes('鈮�')) {
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let str = handleFraction(m.split('鈮�')[1])
+                        return eval(res) <= eval(str)
+                      } else {
+                        return handleMoreParam(res,m.split('鈮�')[1],'鈮�')
+                      }
+                    }else{
                       let str = handleFraction(m.split('鈮�')[1])
                       return eval(res) <= eval(str)
-                    } else {
-                      return handleMoreParam(res,m.split('鈮�')[1],'鈮�')
                     }
-                  }else{
-                    let str = handleFraction(m.split('鈮�')[1])
-                    console.log(555555,res,str)
-                    return eval(res) <= eval(str)
-                  }
-                }else if (m.includes('<')) {
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if (m.includes('<')) {
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let str = handleFraction(m.split('<')[1])
+                        return  eval(res) < eval(str)
+                      } else {
+                        return handleMoreParam(res,m.split('<')[1],'<')
+                      }
+                    }else{
                       let str = handleFraction(m.split('<')[1])
                       return  eval(res) < eval(str)
-                    } else {
-                      return handleMoreParam(res,m.split('<')[1],'<')
                     }
-                  }else{
-                    let str = handleFraction(m.split('<')[1])
-                    return  eval(res) < eval(str)
-                  }
-                }else if (m.includes('>')) {
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if (m.includes('>')) {
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let str = handleFraction(m.split('>')[1])
+                        return  eval(res) > eval(str)
+                      } else {
+                        return handleMoreParam(res,m.split('>')[1],'>')
+                      }
+                    }else{
                       let str = handleFraction(m.split('>')[1])
                       return  eval(res) > eval(str)
-                    } else {
-                      return handleMoreParam(res,m.split('>')[1],'>')
                     }
-                  }else{
-                    let str = handleFraction(m.split('>')[1])
-                    return  eval(res) > eval(str)
-                  }
-                }else if (m.includes('~')) {
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if (m.includes('~')) {
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let k = m.split('~')
+                        return  eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1]))
+                      } else {
+                        return handleMoreParam(res,m,'~')
+                      }
+                    }else{
                       let k = m.split('~')
                       return  eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1]))
-                    } else {
-                      return handleMoreParam(res,m,'~')
                     }
-                  }else{
-                    let k = m.split('~')
-                    return  eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1]))
-                  }
-                }else if(m.includes('-')){
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if(m.includes('-')){
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let k = m.split('-')
+                        return  eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1]))
+                      } else {
+                        return handleMoreParam(res,m,'-')
+                      }
+                    }else{
                       let k = m.split('-')
+                      // console.log(k,eval(res),eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])))
                       return  eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1]))
-                    } else {
-                      return handleMoreParam(res,m,'-')
                     }
-                  }else{
-                    let k = m.split('-')
-                    // console.log(k,eval(res),eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])))
-                    return  eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1]))
-                  }
-                }else if(m.includes('卤')){
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if(m.includes('卤')){
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let k = m.split('卤')
+                        return  eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval(Number((handleFraction(k[0])) + Number(handleFraction(k[1]))))
+                      } else {
+                        return handleMoreParam(res,m,'卤')
+                      }
+                    }else{
                       let k = m.split('卤')
-                      return  eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval((handleFraction(k[0]) + handleFraction(k[1])))
-                    } else {
-                      return handleMoreParam(res,m,'卤')
+                      return  eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval(Number((handleFraction(k[0]) )+ Number(handleFraction(k[1]))))
                     }
-                  }else{
-                    let k = m.split('卤')
-                    return  eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval((handleFraction(k[0]) + handleFraction(k[1])))
-                  }
-                }else if(m.includes('锛�')){
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if(m.includes('锛�')){
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let str = handleFraction(m.split('锛�')[1])
+                        return  eval(res) > eval(str)
+                      } else {
+                        return handleMoreParam(res,m.split('锛�')[1],'>')
+                      }
+                    }else{
                       let str = handleFraction(m.split('锛�')[1])
                       return  eval(res) > eval(str)
-                    } else {
-                      return handleMoreParam(res,m.split('锛�')[1],'>')
                     }
-                  }else{
-                    let str = handleFraction(m.split('锛�')[1])
-                    return  eval(res) > eval(str)
-                  }
-                }else if(m.includes('锛�')){
-                  if(typeof res =='string'&&res.includes('/')){
-                    if (m.includes('/')) {
+                  }else if(m.includes('锛�')){
+                    if(typeof res =='string'&&res.includes('/')){
+                      if (m.includes('/')) {
+                        let str = handleFraction(m.split('锛�')[1])
+                        return  eval(res) < eval(str)
+                      } else {
+                        return handleMoreParam(res,m.split('锛�')[1],'<')
+                      }
+                    }else{
                       let str = handleFraction(m.split('锛�')[1])
                       return  eval(res) < eval(str)
-                    } else {
-                      return handleMoreParam(res,m.split('锛�')[1],'<')
                     }
-                  }else{
-                    let str = handleFraction(m.split('锛�')[1])
-                    return  eval(res) < eval(str)
                   }
-                }
-              })
+                })
+              }
+              // 濡傛灉瑕佹眰鍊肩殑姣忎釜鏉′欢閮界鍚堬紝鍒欑粰缁撹璧嬪�间负1锛屽悎鏍�
+              if (comp.every(m => m)) {
+                item.v.v = 1
+                list.forEach(a => {
+                  if (a[0].r == item.r) {
+                    for (let  b=0; b<a.length; b++) {
+                      if (a[b].c == item.c) {
+                        a[b].v.v = 1
+                        break
+                      }
+                    }
+                  }
+                })
+              }else {
+                // 鍚﹀垯缁欑粨璁鸿祴鍊间负0锛屼笉鍚堟牸
+                item.v.v = 0
+                list.forEach(a => {
+                  if (a[0].r == item.r) {
+                    for (let  b=0; b<a.length; b++) {
+                      if (a[b].c == item.c) {
+                        a[b].v.v = 0
+                        break
+                      }
+                    }
+                  }
+                })
+              }
             }
-            if (comp.every(m => m)) {
-              item.v.v = 1
-              list.forEach(a => {
-                if (a[0].r == item.r) {
-                  for (let  b=0; b<a.length; b++) {
-                    if (a[b].c == item.c) {
-                      a[b].v.v = 1
-                      break
-                    }
-                  }
-                }
-              })
-            } else {
-              item.v.v = 0
-              list.forEach(a => {
-                if (a[0].r == item.r) {
-                  for (let  b=0; b<a.length; b++) {
-                    if (a[b].c == item.c) {
-                      a[b].v.v = 0
-                      break
-                    }
-                  }
-                }
-              })
-            }
-            // console.log(5555,tableList)
           }
-          // console.log('1234567789', tableList,getParam())
-          // console.log('1234567789', item)
           let getDataType0 = false
+          // 浼樺寲鏁伴噰杈冨鏁版嵁鏃�-璁板綍鏈�鍚庝竴涓楠岄」鐨刬d锛屽鏋滃綋鍓嶆楠岄」鐨刬d涓庤褰曠殑id鐩稿悓锛屽垯澶氫紶涓�涓弬鏁板埌涓荤嚎绋嬶紝杩涜鏁版嵁淇濆瓨锛屽惁鍒欐暟閲囧氨涓嶈繘琛屼繚瀛�
           if(item.i==getDataTypeId){
             getDataType0 = true
           }
+          // 璧嬪�间紶閫掑埌涓荤嚎绋嬬殑鏁版嵁锛宮ethod锛歴aveInsContext琛ㄧず姝ゆ秷鎭渶瑕佷繚瀛樻暟鎹�
           result = {
             method:'saveInsContext',
             value:{
-              tableList,
-              param:getParam(),
+              tableList,// 琛ㄦ牸鏁版嵁
+              param:getParam(),//浼犵粰鍚庣鐨勫弬鏁�
               getDataTypeId:getDataType0?getDataTypeId:''
             }
           }
+          // 鍙戞秷鎭粰涓荤嚎绋�
           self.postMessage(JSON.stringify(result))
         }
         } catch (error) {
@@ -318,27 +375,36 @@
         }
 
       } else {
-        let comResult = ''
+        // 濡傛灉鏄嚱鏁版柟娉曪紝鍒欐墽琛屾鏂规硶
+        let comResult = ''//鍒濆鍖栬绠楃粨鏋�
         try {
           if(getInspectionValueType(item.i)==1){
+            // 濡傛灉妫�楠屽�肩被鍨嬫槸鏁板瓧杈撳叆妗�
             let tell = currentSample.insProduct.find(m => m.id == item.i).tell?currentSample.insProduct.find(m => m.id == item.i).tell.split('&'):null;
-            isPoint = PROJECT=='瑁呭鐢电紗'&&tell&&tell.length>0&&typeof tell[0] =='string'&&tell[0].includes('/') // 鍒ゆ柇瑕佹眰鍊兼槸鍚︿负鍒嗘暟
+            isPoint = PROJECT=='瑁呭鐢电紗'&&tell&&tell.length>0&&typeof tell[0] =='string'&&tell[0].includes('/') // 瑁呭鐢电紗--鍒ゆ柇瑕佹眰鍊兼槸鍚︿负鍒嗘暟
+            // 鏍规嵁杈撳叆鐨勬暟鍊硷紝杩涜璁$畻
             comResult = compute(item.v.f.replace(/=/g, ' '),comValue, isPoint)
             let list3 = list2.map(item=>item+'')
+            // 鍒ゆ柇鏄惁涓虹瀛﹁鏁版硶锛屽鏋滀负绉戝璁℃暟娉曪紝鍒欒繘琛岃浆鍖�
             isToExponential = list3.some(val => val.includes('e+')||val.includes('e-'))
-            // 瑁呭椤圭洰妫�楠屽�艰浆鍖�
-            if (PROJECT === '瑁呭鐢电紗' && isToExponential) {
+            // 妫�楠屽�艰浆鍖�
+            let findProduct = currentSample.insProduct.find(i=>i.inspectionItem=='浣撶Н鐢甸樆鐜�')
+            // 鍒ゆ柇妫�楠岄」鏄惁涓轰綋绉數闃荤巼锛屽鏋滀负浣撶Н鐢甸樆鐜囦笖澶т簬100000锛屽垯杩涜杞寲
+            if (findProduct && isToExponential && comResult>=100000) {
               let num2 = new Big(comResult)
               comResult = num2.toExponential(1)
             }
           }else{
+            // 濡傛灉妫�楠屽�肩被鍨嬫槸鏂囨湰杈撳叆妗嗐�佷笅鎷夋
             let valueList = [];
+            // 澶勭悊excel鍑芥暟鍙傛暟鍒楄〃
             item.valueList.forEach(a => {
               valueList.push({
                 name: `${comparisonList.find(e=>e.value==a.c).label}${a.r+1}`,
                 value: 0,
               })
             })
+            // 缁檈xcel鍑芥暟鍙傛暟璧嬫枃鏈��
             for (var a in comValue) {
               valueList.forEach(b => {
                 if (b.name == a) {
@@ -346,37 +412,44 @@
                 }
               })
             }
+            // 璁$畻鍏紡锛屽幓鎺塭xcel鍑芥暟鐨勭瓑鍙凤紝骞舵浛鎹㈠弬鏁帮紝鍒楀锛�=A1  鍙樻垚 A1 鍙樻垚 鈥樻枃鏈緭鍏ョ殑鍊尖��
             let str = item.v.f.replace(/=/g, ' ')
             valueList.forEach(b => {
               str = str.replace(b.name, b.value)
             })
+            // 璁$畻缁撴灉璧嬪��
             comResult = str
           }
         } catch (error) {
           console.log('error---', error)
         }
         try {
+          // 寰幆琛ㄦ牸鏁版嵁锛岀粰琛ㄦ牸鏁版嵁杩涜璧嬪��
           list.forEach(a => {
             if (a[0].r == item.r && comResult !== '') {
+              // 鍒ゆ柇褰撳墠琛屾槸鍚︿负褰撳墠妫�楠岄」鎵�鍦ㄨ锛屽鏋滀负褰撳墠琛岋紝鍒欑粰琛ㄦ牸鏁版嵁璧嬪��
               for (var b in a) {
                 if (a[b].c == item.c) {
                   try{
                     if(comResult==0){
+                      // 鍒ゆ柇璁$畻缁撴灉鏄惁涓�0锛屽鏋滀负0锛屽垯缁欒〃鏍兼暟鎹祴鍊间负0
                       a[b].v.v = 0
                     }else if(a[b].v.ct&&a[b].v.ct.fa&&typeof a[b].v.ct.fa == 'string'&&a[b].v.ct.fa.includes('.')){
+                      // 鍒ゆ柇褰撳墠鍗曞厓鏍兼槸鍚︿繚鐣欏皬鏁扮偣锛屽鏋滀负淇濈暀灏忔暟鐐癸紝鍒欑粰琛ㄦ牸鏁版嵁璧嬪�间负淇濈暀灏忔暟鐐癸紝杩欎釜鏄牴鎹ā鏉块厤缃皬鏁扮偣鏉ョ殑
                       let num = 0
                       let str = a[b].v.ct.fa.split('.')[1]
                       num = str.length
                       a[b].v.v = comResult?Number(comResult).toFixed(num):comResult
                     }else if(typeof comResult == 'string' && (comResult.includes('e+')|| comResult.includes('e-'))){
+                      // 鍒ゆ柇璁$畻缁撴灉鏄惁涓虹瀛﹁鏁版硶锛屽鏋滀负绉戝璁℃暟娉曪紝鍒欑粰琛ㄦ牸鏁版嵁璧嬪�间负绉戝璁℃暟娉�
                       a[b].v.v = comResult
                     }else{
+                      // 鍒ゆ柇璁$畻缁撴灉鏄惁涓烘暟瀛楋紝濡傛灉涓烘暟瀛楋紝鍒欑粰琛ㄦ牸鏁版嵁璧嬪�间负鏁板瓧
                       let val = parseFloat(Number(comResult).toFixed(3))
                       a[b].v.v = isNaN(val) ? comResult : val
                     }
-                    // console.log('a[b].v.ct', comResult)
-                    // console.log('a[b].v.v', a[b])
                   }catch(error){
+                    // 濡傛灉浠ヤ笂鍒ゆ柇閮戒笉鏀寔锛屽垯鐩存帴璧嬪��
                     a[b].v.v = comResult
                     console.log('error---', error)
                   }
@@ -385,6 +458,7 @@
               }
             }
           })
+          // 濡傛灉姝よ绠楃粨鏋滄墍灞炲崟鍏冩牸锛屽悓鏃朵篃鏄彟涓�涓猠xcel鍑芥暟鐨勫弬鏁帮紝閭d箞灏遍渶瑕侀�掑綊杩涜璁$畻
           changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝��
         } catch (error) {
           console.log('error---', error)
@@ -392,22 +466,31 @@
       }
     }
   })
+  // 璧嬪�煎绾跨▼浼犺緭鏁版嵁
   result = {
     method:'tableList',
     value:tableList
   }
+  // 鍙戦�佷富绾跨▼鏁版嵁
   self.postMessage(JSON.stringify(result))
   try {
+    // 璧嬪�煎绾跨▼浼犺緭鏁版嵁
     result = {
       method:'getCurrentInsProduct',
       value:pId
     }
+    // 鍙戦�佷富绾跨▼鏁版嵁
     self.postMessage(JSON.stringify(result))
   } catch (error) {
     console.log('error---', error)
   }
 }
-
+/**
+ * 鑾峰彇妫�娴嬪�肩被鍨�
+ *
+ * @param id 妫�娴嬪�肩被鍨嬪搴旂殑id
+ * @returns 杩斿洖妫�娴嬪�肩被鍨�
+ */
 function getInspectionValueType(id) {
   for (var a in currentSample.insProduct) {
     if (currentSample.insProduct[a].id == id) {
@@ -423,8 +506,10 @@
  */
 function handleFraction(str){
   if(str&&typeof(str)=='string'&&str.includes('/')){
+    // 澶勭悊鍒嗘暟
     return eval(str.split('/')[0]/str.split('/')[1])
   } else if (str && typeof(str) == 'string' && str.includes('*') && str.includes('^')) {
+    // 璁$畻涔樻柟
     const num1 = str.split('*')
     const num2 = num1[1].split('^')
     let num3 = new Big(num2[0]);
@@ -460,7 +545,7 @@
           return item <= handleFraction(str)
         case '卤':
           let k = str.split('卤')
-          return  item >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && item <= eval((handleFraction(k[0]) + handleFraction(k[1])))
+          return  item >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && item <= eval(Number((handleFraction(k[0])) + Number(handleFraction(k[1]))))
         case '~':
           let j = str.split('~')
           return  item >= eval(handleFraction((j[0]))) && item <= eval(handleFraction(j[1]))
@@ -484,6 +569,7 @@
 function getParam(){
   tableList[0].arr.forEach(a=>{
     a.forEach(b=>{
+      // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁�
       if(param[b.i]){
         param[b.i].insValue = []
         param[b.i].comValue = []
@@ -496,24 +582,31 @@
   })
   tableList[0].arr.forEach(a => {
     a.forEach(b=>{
+      // 鏍规嵁琛ㄦ牸鏁版嵁锛岃祴鍊间紶閫掑埌鍚庣鐨勫弬鏁�
       if (b.v.ps != undefined &&typeof b.v.ps.value =='string'&& b.v.ps.value.includes('妫�楠屽��')) {
+        // 璧嬪�兼楠屽��
         b.i &&b.v.v&& param[b.i].insValue.push(b)
       }
       if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') {
+        // 璧嬪�艰绠楀��
         b.i &&b.v.v&&b.valueList&&b.valueList.length>0&& param[b.i].comValue.push(b)
       }
       if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') {
+        // 璧嬪�艰澶囩紪鐮�
         b.i &&b.v&& param[b.i].equipValue.push(b)
       }
       if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') {
+        // 璧嬪�艰澶囧悕绉�
         b.i &&b.v&& param[b.i].equipName.push(b)
       }
       if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') {
+        // 璧嬪�兼渶缁堝��
         b.i &&b.v&&b.valueList&&b.valueList.length>0&& (param[b.i].resValue = b)
       }
       if (b.v.ps != undefined && b.v.ps.value === '缁撹') {
         if(b.i &&(b.v.v||b.v.v===0||b.v.v==='0')){
           if(b.v.v != '鍚堟牸'&&b.v.v != '涓嶅悎鏍�'){
+            // 璧嬪�肩粨璁�
             param[b.i].insResult = b
           }
         }
@@ -755,6 +848,7 @@
     let arr = getABCList(f)
     let arr2 = []
     arr.forEach(item=>{
+      // 鍒ゆ柇鏄惁涓鸿寖鍥达紝鍒楀MAX(A1:B2)
       if(item.includes(':')){
         let r0 = getIdFromColumnName(item.split(':')[0]).r;
         let c0 = getIdFromColumnName(item.split(':')[0]).c;
@@ -769,6 +863,7 @@
           }
         }
       }else{
+        // 娌℃湁鍒欑洿鎺ヨ幏鍙�
         arr2.push(getIdFromColumnName(item))
       }
     })
@@ -786,6 +881,7 @@
 function getABCList(f){
   try {
     let regex = /[=\+\-\*\%\(\)\/\^\s]/g;
+    // 涓婇潰璁$畻鍑芥暟鏂板鍚庯紝杩欓噷涔熻鍚屾澧炲姞
     let fouList = [
       "SUM",
       'MAX',
@@ -793,6 +889,7 @@
       'AVERAGE',
       'ABS',
     ]
+    // 鏇挎崲鐗规畩瀛楃
     f = f.replace(regex, ',').replace(new RegExp('"&', 'g'),'').replace(new RegExp('&"', 'g'),'')
     fouList.forEach(item=>{
       f = f.replace(new RegExp(item, 'g'),',')
@@ -892,13 +989,22 @@
     if(str.includes(',,')){
       str = str.replace(new RegExp(',,', 'g'),',')
     }
+    if(str.includes(',,')){
+      str = str.replace(new RegExp(',,', 'g'),',')
+    }
+    if(str.includes(',,')){
+      str = str.replace(new RegExp(',,', 'g'),',')
+    }
     // console.log('str', str)
     if(str.includes('&"/"&')){
+      // 璁$畻甯︽枩鏉犵殑
       return str.replace(new RegExp('&"/"&', 'g'),'/').replace(new RegExp('//', 'g'),'')
     } else if (isPoint) {
+      // 璁$畻甯﹀皬鏁扮偣鐨�
       return str.replace('ABS', '').replace(/\(|\)/g, '')
     }else {
       console.log('str', str)
+      // 璁$畻甯歌鐨�
       return eval(str)
     }
   } catch (error) {
diff --git a/static/js/worker0.js b/static/js/worker0.js
index 680a2a9..ef4f91d 100644
--- a/static/js/worker0.js
+++ b/static/js/worker0.js
@@ -1,22 +1,30 @@
+// 姝ょ嚎绋嬩负鏁版嵁閲囬泦绾跨▼
+
+// 淇濆瓨鏁版嵁
+// 鏁版嵁閲囬泦淇℃伅
 let dataAcquisitionInfo = null;
+// 鏁版嵁鍒楄〃
 let list = null;
+// 浼犻�掑埌涓荤嚎绋嬬殑鏁版嵁
 let result = {
   method:'',
   value:null
 }
+// 浼樺寲鏁伴噰杈冨鏁版嵁鏃�--璁板綍鏁伴噰椤圭洰鐨処d鏁扮粍锛岀洰鐨勬槸鍙栨渶鍚庝竴涓暟閲囬」鐩紝浼犲埌涓荤嚎绋嬭繘琛屾壒閲忕殑鏁版嵁閲囬泦淇濆瓨
 let arrSpecial = []
-let numSpecial = 0;
+// 鎺ユ敹涓荤嚎绋嬩紶閫掕繃鏉ョ殑鏁版嵁
 self.onmessage = function(event) {
   const data = JSON.parse(event.data);
   dataAcquisitionInfo = data.dataAcquisitionInfo;
   list = data.list;
   // console.log(111,dataAcquisitionInfo)
   arrSpecial = []
-  numSpecial = 0
+  // 澶勭悊鏁版嵁
   handleData()
 }
 
 function handleData(){
+  // 閬嶅巻鏁版嵁鍒楄〃
   list.forEach((item,index)=>{
     let num = 0;
     let str = ''
@@ -33,8 +41,9 @@
             str = str+m.v.v
           }
         }
+        // 涓婇潰鍦ㄨ褰曟楠岄」+妫�楠屽瓙椤圭殑鍚嶇О锛屽鏋滄暟閲囧寘鍚楠岄」+妫�楠屽瓙椤圭殑鏁版嵁锛屽垯鎵ц
         if(dataAcquisitionInfo[str]){
-          let num = 0;
+          let num = 0;//璇ユ楠岄」瀵瑰簲妫�楠屽�肩殑涓暟锛岀敤鐢ㄥ垽鏂渶澶氭湁澶氬皯涓楠屽�硷紝濡傛灉澶氭閲囬泦瓒呰繃浜嗚涓暟锛屽垯璧嬪�肩粰鏈�鍚庝竴涓楠屽��
           list[index].forEach(n=>{
             if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){
               num++
@@ -44,19 +53,23 @@
             if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){
               let arr = n.v.ps.value.split('鍊�')
               if(Array.isArray(dataAcquisitionInfo[str].value)){
+                // 濡傛灉鏁版嵁婧愪负鏁扮粍锛屽垯鎵ц
                 for (let i = 0; i < dataAcquisitionInfo[str].value.length; i++) {
                   if(i+1==arr[1]){
+                    // 璧嬪�兼暟閲囦紭鍖栨楠岄」鍒楄〃
                     arrSpecial.push(n.i)
-                    numSpecial++
                     setTimeout(()=>{
                       let num0 = 0
                       if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
+                        // 淇濈暀妯℃澘閰嶇疆鐨勫皬鏁扮偣浣嶆暟
                         let str0 = n.v.ct.fa.split('.')[1]
                         num0 = str0.length
                         n.v.v = dataAcquisitionInfo[str].value[i]?Number(dataAcquisitionInfo[str].value[i]).toFixed(num0):dataAcquisitionInfo[str].value[i]
                       }else{
+                        // 鐩存帴璧嬪��
                         n.v.v = dataAcquisitionInfo[str].value[i]
                       }
+                      // 浼犻�掔粰涓荤嚎绋�
                       result = {
                         method:'changeInput',
                         value:{
@@ -69,18 +82,22 @@
                   }
                 }
               }else{
+                // 濡傛灉鏁版嵁婧愪负瀛楃鎴栨暟瀛楋紝鍒欐墽琛�
                 if(arr[1] ==dataAcquisitionInfo[str].frequency){
+                  // 濡傛灉鏁伴噰娆℃暟绛変簬妫�楠屽�煎簭鍙凤紝鍒欒祴鍊肩粰褰撳墠妫�楠屽��
                   arrSpecial.push(n.i)
-                  numSpecial++
                   setTimeout(()=>{
                     let num0 = 0
                     if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
+                      // 淇濈暀妯℃澘閰嶇疆鐨勫皬鏁扮偣浣嶆暟
                       let str0 = n.v.ct.fa.split('.')[1]
                       num0 = str0.length
                       n.v.v = dataAcquisitionInfo[str].value?Number(dataAcquisitionInfo[str].value).toFixed(num0):dataAcquisitionInfo[str].value
                     }else{
+                      // 鐩存帴璧嬪��
                       n.v.v = dataAcquisitionInfo[str].value
                     }
+                    // 浼犻�掔粰涓荤嚎绋�
                     result = {
                       method:'changeInput',
                       value:{
@@ -91,18 +108,21 @@
                     self.postMessage(JSON.stringify(result))
                   },2000)
                 }else if(Number(dataAcquisitionInfo[str].frequency)>num){
+                  // 濡傛灉鏁伴噰娆℃暟澶т簬妫�楠屽�煎簭鍙凤紝鍒欒祴鍊肩粰鏈�鍚庝竴涓楠屽��
                   if(n.v.ps.value.includes(num)){
                     arrSpecial.push(n.i)
-                    numSpecial++
                     setTimeout(()=>{
                       let num0 = 0
                       if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
+                        // 淇濈暀妯℃澘閰嶇疆鐨勫皬鏁扮偣浣嶆暟
                         let str0 = n.v.ct.fa.split('.')[1]
                         num0 = str0.length
                         n.v.v = dataAcquisitionInfo[str].value?Number(dataAcquisitionInfo[str].value).toFixed(num0):dataAcquisitionInfo[str].value
                       }else{
+                        // 鐩存帴璧嬪��
                         n.v.v = dataAcquisitionInfo[str].value
                       }
+                      // 浼犻�掔粰涓荤嚎绋�
                       result = {
                         method:'changeInput',
                         value:{
@@ -121,10 +141,11 @@
       }
     })
   })
-  if(arrSpecial[numSpecial-1]){
+  if(arrSpecial[arrSpecial.length-1]){
+    //浼樺寲鏁伴噰杈冨鏁版嵁鏃�-璁板綍鏈�鍚庝竴涓楠岄」鐨刬d锛岀敤浜庡悗缁鐞�
     setTimeout(()=>{
       result = {
-        getDataTypeId:arrSpecial[numSpecial-1],
+        getDataTypeId:arrSpecial[arrSpecial.length-1],
       }
       self.postMessage(JSON.stringify(result))
     },0)

--
Gitblit v1.9.3