From 3ca8ce266bf5b06556d80c78b31405e7a54aa4e5 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 24 六月 2024 11:01:13 +0800
Subject: [PATCH] 修改

---
 web/src/views/modules/basicInfo/ParamData.vue |  521 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 290 insertions(+), 231 deletions(-)

diff --git a/web/src/views/modules/basicInfo/ParamData.vue b/web/src/views/modules/basicInfo/ParamData.vue
index 0756990..052c79d 100644
--- a/web/src/views/modules/basicInfo/ParamData.vue
+++ b/web/src/views/modules/basicInfo/ParamData.vue
@@ -1,241 +1,264 @@
 <template>
   <div>
-    <el-row :gutter="20">
-      <el-col :span="5">
-        <div class="fa-card-a">
-          <product-model-tree @on-selected="onProductSelected"/>
+    <el-row :gutter="5">
+      <el-col :span="4">
+        <div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)">
+          <product-model-tree @on-selected="onProductSelected" showXdy="false"/>
         </div>
       </el-col>
-      <el-col :span="19">
-        <div class="mod-basicInfo-paramData}">
-          <zt-table-wraper ref="tableObj" :query-url=queryUrl
-                           :delete-url=deleteUrl
+      <el-col :span="20">
+        <div class="mod-basicInfo-paramData fa-card-a" style="margin-left: 5px;">
+          <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/basicInfo/ParamData/page"
+                           delete-url="/basicInfo/ParamData/"
                            @dataLoaded="dataLoaded"
                            v-slot="{ table }"
                            :paging='false'>
             <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
               <el-form-item>
-                <el-input v-model="dataForm.name" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input>
+                <zt-dict v-model="dataForm.basicJoinCompute" dict="is_or_not" placeholder="鏄惁鍙備笌璁$畻" clearable></zt-dict>
               </el-form-item>
               <el-form-item>
-                <zt-button type="warning" @click="handleSaveRows">淇濆瓨</zt-button>
-                <zt-button type="query" @click="table.query()"/>
-                <zt-button type="add" v-if="dataForm.nodeType==='2'" @click="add()"/>
-                <zt-button type="delete" @click="table.deleteHandle()"/>
+                <zt-dict v-model="dataForm.repairable" dict="is_or_not" placeholder="鏄惁鍙淮淇�" clearable></zt-dict>
+              </el-form-item>
+              <el-form-item>
+                <zt-dict v-model="dataForm.reliabDistribType" dict="ReliabDistribType" placeholder="璇烽�夋嫨鍙潬鎬у垎甯冪被鍨�"
+                         clearable></zt-dict>
+              </el-form-item>
+              <el-form-item>
+                <zt-dict v-model="dataForm.repairDistribType" dict="RepairDistribType" placeholder="璇烽�夋嫨缁翠慨鍒嗗竷绫诲瀷"
+                         clearable></zt-dict>
+              </el-form-item>
+              <el-form-item>
+                <zt-button v-if="dataForm.srcId" type="warning" @click="handleSaveRows">淇濆瓨</zt-button>
+                <zt-button v-if="dataForm.srcId" type="query" @click="table.query()"/>
+                <zt-button type="add" v-if="dataForm.productType==='3'" @click="add()"/>
+                <zt-button v-if="dataForm.srcId" type="delete" @click="table.deleteHandle()"/>
               </el-form-item>
             </el-form>
-            <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
-                      class="paramsDataTable"
+            <el-tabs v-model="activeName" @tab-click="handleClick">
+              <el-tab-pane label="鍩烘湰鍙潬鎬�" name="first">
+                <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px"
+                          v-adaptive="{bottomOffset:30}"
+                          class="paramsDataTable"
+                          @selection-change="table.selectionChangeHandle">
+                  <el-table-column type="selection" :key="1" width="40" align="center"/>
+                  <el-table-column prop="name" :key="2" label="鍚嶇О" fixed="left" width="120"/>
+                  <el-table-column v-if="dataForm.productType==='3'||dataForm.productType==='2'"
+                                   prop="reliabDistribType"
+                                   label="鍙潬鎬у垎甯冪被鍨�" :key="27"
+                                   width="100">
+                    <template v-slot="{ row }">
+                      <el-select v-if="row.isEdit" v-model="row.reliabDistribType"
+                                 placeholder="璇烽�夋嫨">
+                        <el-option v-for="item in reliabDistribType"
+                                   :key="item.value"
+                                   :label="item.label"
+                                   :value="item.value">
+                        </el-option>
+                      </el-select>
+                      <zt-dict-tag v-else dict="ReliabDistribType" :value="row.reliabDistribType" :typeS="typeS"
+                                   :typeI="typeI" :typeD="typeD" :typeColor="typeColor" :size="size" :effect="effect"
+                                   :hit="hit"/>
+                    </template>
+                  </el-table-column>
+                  <el-table-column v-if="dataForm.productType==='4'" :key="3" prop="baseOperatRatio" label="鍩烘湰鍙潬鎬ц繍琛屾瘮">
+                    <template slot-scope="scope">
+                      <el-input v-if="scope.row.isEdit" v-model="scope.row.baseOperatRatio"></el-input>
+                      <span v-else v-text="scope.row.baseOperatRatio"></span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column v-if="dataForm.productType==='5'||dataForm.productType==='4'" :key="4"
+                                   prop="actualRunTime"
+                                   label="瀹為檯杩愯鏃堕棿">
+                    <template slot-scope="scope">
+                      <el-input v-if="scope.row.isEdit" v-model="scope.row.actualRunTime"></el-input>
+                      <span v-else v-text="scope.row.actualRunTime"></span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column v-if="dataForm.productType==='3'||dataForm.productType==='2'" :key="5"
+                                   label="鍩烘湰鍙潬鎬ц绠�">
+                    <!--                <zt-table-column-dict prop="joinCompute" :keys="6" label="鍙傚姞璁$畻" width="100" dict="is_or_not"/>-->
+                    <el-table-column prop="basicJoinCompute" label="鍙傚姞璁$畻" :key="6">
+                      <template v-slot="{ row }">
+                        <el-select v-if="row.isEdit" v-model="row.basicJoinCompute"
+                                   placeholder="鍙傚姞璁$畻">
+                          <el-option v-for="item in isOrNot"
+                                     :key="item.value"
+                                     :label="item.label"
+                                     :value="item.value">
+                          </el-option>
+                        </el-select>
+                        <zt-dict-tag v-else dict="is_or_not" :value="row.basicJoinCompute" :typeS="typeS" :typeI="typeI"
+                                     :typeD="typeD"
+                                     :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicMtbfRegulate" :key="7" label="瑙勫畾MTBF">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfRegulate"></el-input>
+                        <span v-else v-text="scope.row.basicMtbfRegulate"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicMtbfAccept" :key="8" label="鍙帴鍙楃殑MTBF" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfAccept"></el-input>
+                        <span v-else v-text="scope.row.basicMtbfAccept"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicMtbfRegulSuccRate" :key="9" label="MTBF瑙勫畾鎴愬姛鐜�">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfRegulSuccRate"></el-input>
+                        <span v-else v-text="scope.row.basicMtbfRegulSuccRate"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicMtbfAcceptSuccRate" :key="10" label="MTBF鍙帴鍙楁垚鍔熺巼" width="140">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfAcceptSuccRate"></el-input>
+                        <span v-else v-text="scope.row.basicMtbfAcceptSuccRate"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicUnitNum" label="鍗曞厓鏁伴噺" :key="11" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicUnitNum"></el-input>
+                        <span v-else v-text="scope.row.basicUnitNum"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicRunsNum" label="杩愯娆℃暟" :key="12" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicRunsNum"></el-input>
+                        <span v-else v-text="scope.row.basicRunsNum"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicMtbfOperatingRatio" :key="13" label="MTBF杩愯姣�" width="80">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfOperatingRatio"></el-input>
+                        <span v-else v-text="scope.row.basicMtbfOperatingRatio"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="basicSingleRunTime" :key="14" label="杩愯鏃堕棿" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.basicSingleRunTime"></el-input>
+                        <span v-else v-text="scope.row.basicSingleRunTime"></span>
+                      </template>
+                    </el-table-column>
+                  </el-table-column>
+                  <el-table-column fixed="right" align="center" label="鎿嶄綔" width="100">
+                    <template slot-scope="scope">
+                      <zt-table-button size="small" type="primary" @click="edit(scope.row)">淇敼
+                      </zt-table-button>
+                      <zt-table-button v-if="scope.row.isCanel" size="small" type="primary" @click="canel(scope.row)">鍙栨秷
+                      </zt-table-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
 
-                      border @selection-change="table.selectionChangeHandle">
-              <el-table-column type="selection" :key="1" width="40" align="center"/>
-              <el-table-column prop="name" :key="2" label="鍚嶇О" fixed="left"/>
-              <el-table-column v-if="dataForm.nodeType==='4'" :key="3" prop="baseOperatRatio" label="鍩烘湰鍙潬鎬ц繍琛屾瘮">
-                <template slot-scope="scope">
-                  <el-input v-if="scope.row.isEdit" v-model="scope.row.baseOperatRatio"></el-input>
-                  <span v-else v-text="scope.row.baseOperatRatio"></span>
-                </template>
-              </el-table-column>
-              <el-table-column v-if="dataForm.nodeType==='5'||dataForm.nodeType==='4'" :key="4" prop="actualRunTime"
-                               label="瀹為檯杩愯鏃堕棿">
-                <!--                <template slot-scope="scope">
-                                    <span v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
-                                       <el-input ref="editInput" v-model="scope.row.actualRunTime" placeholder="瀹為檯杩愯鏃堕棿"></el-input>
-                                    </span>
-                                  <span v-else>{{scope.row.actualRunTime}}</span>
-                                </template>-->
-                <template slot-scope="scope">
-                  <el-input v-if="scope.row.isEdit" v-model="scope.row.actualRunTime"></el-input>
-                  <span v-else v-text="scope.row.actualRunTime"></span>
-                </template>
-              </el-table-column>
-              <el-table-column v-if="dataForm.nodeType==='2'" :key="5" label="鍩烘湰鍙潬鎬ц绠�">
-                <!--                <zt-table-column-dict prop="joinCompute" :keys="6" label="鍙傚姞璁$畻" width="100" dict="is_or_not"/>-->
-                <el-table-column prop="joinCompute" label="鍙傚姞璁$畻" :key="6" width="100">
-                  <template v-slot="{ row }">
-                    <el-select v-if="row.isEdit" v-model="row.joinCompute"
-                               placeholder="鍙傚姞璁$畻">
-                      <el-option v-for="item in isOrNot"
-                                 :key="item.value"
-                                 :label="item.label"
-                                 :value="item.value">
-                      </el-option>
-                    </el-select>
-                    <zt-dict-tag v-else dict="is_or_not" :value="row.joinCompute" :typeS="typeS" :typeI="typeI"
-                                 :typeD="typeD"
-                                 :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="regulateMtbf" :key="7" label="瑙勫畾MTBF" width="120">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.regulateMtbf"></el-input>
-                    <span v-else v-text="scope.row.regulateMtbf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="acceptMtbf" :key="8" label="鍙帴鍙楃殑MTBF" width="160">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.acceptMtbf"></el-input>
-                    <span v-else v-text="scope.row.acceptMtbf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="regulSuccRateMtbf" :key="9" label="MTBF瑙勫畾鎴愬姛鐜�" width="180">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.regulSuccRateMtbf"></el-input>
-                    <span v-else v-text="scope.row.regulSuccRateMtbf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="acceptSuccRateMtbf" :key="10" label="MTBF鍙帴鍙楁垚鍔熺巼" width="180">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.acceptSuccRateMtbf"></el-input>
-                    <span v-else v-text="scope.row.acceptSuccRateMtbf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="unitNum" label="鍗曞厓鏁伴噺" :key="11" width="100">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.unitNum"></el-input>
-                    <span v-else v-text="scope.row.unitNum"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="runsNum" label="杩愯娆℃暟" :key="12" width="100">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.runsNum"></el-input>
-                    <span v-else v-text="scope.row.runsNum"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="operatingRatioMtbf" :key="13" label="MTBF杩愯姣�" width="140">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.operatingRatioMtbf"></el-input>
-                    <span v-else v-text="scope.row.operatingRatioMtbf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="singleRunTime" :key="14" label="鍗曟杩愯鏃堕棿" width="140">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.singleRunTime"></el-input>
-                    <span v-else v-text="scope.row.singleRunTime"></span>
-                  </template>
-                </el-table-column>
-              </el-table-column>
 
-              <el-table-column v-if="dataForm.nodeType==='2'" :key="15" label="浠诲姟鍙潬鎬ц绠�">
-                <el-table-column prop="regulateMtbcf" :key="16" label="瑙勫畾MTBCF" width="120">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.regulateMtbcf"></el-input>
-                    <span v-else v-text="scope.row.regulateMtbcf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="acceptMtbcf" :key="17" label="鍙帴鍙楃殑MTBCF" width="160">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.acceptMtbcf"></el-input>
-                    <span v-else v-text="scope.row.acceptMtbcf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="regulSuccRateMtbcf" :key="18" label="MTBCF瑙勫畾鎴愬姛鐜�" width="180">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.regulSuccRateMtbcf"></el-input>
-                    <span v-else v-text="scope.row.regulSuccRateMtbcf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="acceptSuccRateMtbcf" :key="19" label="MTBCF鍙帴鍙楁垚鍔熺巼" width="200">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.acceptSuccRateMtbcf"></el-input>
-                    <span v-else v-text="scope.row.acceptSuccRateMtbcf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="operatingRatioMtbcf" :key="20" label="MTBCF杩愯姣�" width="140">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.operatingRatioMtbcf"></el-input>
-                    <span v-else v-text="scope.row.operatingRatioMtbcf"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="otherParamsMtbcf" :key="21" label="MTBCF鍏朵粬鍙傛暟" width="160">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.otherParamsMtbcf"></el-input>
-                    <span v-else v-text="scope.row.otherParamsMtbcf"></span>
-                  </template>
-                </el-table-column>
-              </el-table-column>
+              <el-tab-pane label="浠诲姟鍙潬鎬�" name="second" v-if="dataForm.productType==='3'||dataForm.productType==='2'">
+                <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px"
+                          v-adaptive="{bottomOffset:30}"
+                          class="paramsDataTable"
+                          @selection-change="table.selectionChangeHandle">
+                  <el-table-column type="selection" :key="1" width="40" align="center"/>
+                  <el-table-column prop="name" :key="2" label="鍚嶇О" fixed="left" width="120"/>
 
-              <el-table-column v-if="dataForm.nodeType==='2'" :key="22" label="缁翠慨鍒嗗竷">
-                <!--                <zt-table-column-dict prop="repairable" :keys="23" label="鍙淮淇�" dict="is_or_not"/>-->
-                <el-table-column prop="repairable" label="鍙淮淇�" :key="23">
-                  <template v-slot="{ row }">
-                    <el-select v-if="row.isEdit" v-model="row.repairable"
-                               placeholder="褰撳墠鐘舵��">
-                      <el-option v-for="item in isOrNot"
-                                 :key="item.value"
-                                 :label="item.label"
-                                 :value="item.value">
-                      </el-option>
-                    </el-select>
-                    <zt-dict-tag v-else dict="is_or_not" :value="row.repairable" :typeS="typeS" :typeI="typeI"
-                                 :typeD="typeD"
-                                 :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/>
-                  </template>
-                </el-table-column>
-                <!--                <zt-table-column-dict prop="repairDistribType" :keys="24" label="缁翠慨鍒嗗竷绫诲瀷" width="140" dict="RepairDistribType"/>-->
-                <el-table-column prop="repairDistribType" label="缁翠慨鍒嗗竷绫诲瀷" :key="24" width="140">
-                  <template v-slot="{ row }">
-                    <el-select v-if="row.isEdit" v-model="row.repairDistribType"
-                               placeholder="褰撳墠鐘舵��">
-                      <el-option v-for="item in repairDistribType"
-                                 :key="item.value"
-                                 :label="item.label"
-                                 :value="item.value">
-                      </el-option>
-                    </el-select>
-                    <zt-dict-tag v-else dict="RepairDistribType" :value="row.repairDistribType" :typeS="typeS"
-                                 :typeI="typeI"
-                                 :typeD="typeD" :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="mttcr" label="MTTCR" :key="25" width="100">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.mttcr"></el-input>
-                    <span v-else v-text="scope.row.mttcr"></span>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="otherParamsMttcr" :key="26" label="MTTCR鍏朵粬鍙傛暟" width="180">
-                  <template slot-scope="scope">
-                    <el-input v-if="scope.row.isEdit" v-model="scope.row.mttcr"></el-input>
-                    <span v-else v-text="scope.row.mttcr"></span>
-                  </template>
-                </el-table-column>
-              </el-table-column>
+                  <el-table-column v-if="dataForm.productType==='3'||dataForm.productType==='2'" :key="15"
+                                   label="浠诲姟鍙潬鎬ц绠�">
+                    <el-table-column prop="taskMtbcfRegulate" :key="16" label="瑙勫畾MTBCF" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfRegulate"></el-input>
+                        <span v-else v-text="scope.row.taskMtbcfRegulate"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="taskMtbcfAccept" :key="17" label="鍙帴鍙楃殑MTBCF" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfAccept"></el-input>
+                        <span v-else v-text="scope.row.taskMtbcfAccept"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="taskMtbcfRegulSuccRate" :key="18" label="MTBCF瑙勫畾鎴愬姛鐜�" width="120">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfRegulSuccRate"></el-input>
+                        <span v-else v-text="scope.row.taskMtbcfRegulSuccRate"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="taskMtbcfAcceptSuccRate" :key="19" label="MTBCF鍙帴鍙楁垚鍔熺巼" width="140">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfAcceptSuccRate"></el-input>
+                        <span v-else v-text="scope.row.taskMtbcfAcceptSuccRate"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="taskMtbcfOperatingRatio" :key="20" label="MTBCF杩愯姣�" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfOperatingRatio"></el-input>
+                        <span v-else v-text="scope.row.taskMtbcfOperatingRatio"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="taskMtbcfOtherParams" :key="21" label="MTBCF鍏朵粬鍙傛暟">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfOtherParams"></el-input>
+                        <span v-else v-text="scope.row.taskMtbcfOtherParams"></span>
+                      </template>
+                    </el-table-column>
+                  </el-table-column>
+                  <el-table-column v-if="dataForm.productType==='3'||dataForm.productType==='2'" :key="22" label="缁翠慨鍒嗗竷">
+                    <!--                <zt-table-column-dict prop="repairable" :keys="23" label="鍙淮淇�" dict="is_or_not"/>-->
+                    <el-table-column prop="repairable" label="鍙淮淇�" :key="23">
+                      <template v-slot="{ row }">
+                        <el-select v-if="row.isEdit" v-model="row.repairable"
+                                   placeholder="璇烽�夋嫨">
+                          <el-option v-for="item in isOrNot"
+                                     :key="item.value"
+                                     :label="item.label"
+                                     :value="item.value">
+                          </el-option>
+                        </el-select>
+                        <zt-dict-tag v-else dict="is_or_not" :value="row.repairable" :typeS="typeS" :typeI="typeI"
+                                     :typeD="typeD"
+                                     :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/>
+                      </template>
+                    </el-table-column>
+                    <!--                <zt-table-column-dict prop="repairDistribType" :keys="24" label="缁翠慨鍒嗗竷绫诲瀷" width="140" dict="RepairDistribType"/>-->
+                    <el-table-column prop="repairDistribType" label="缁翠慨鍒嗗竷绫诲瀷" :key="24" width="100">
+                      <template v-slot="{ row }">
+                        <el-select v-if="row.isEdit" v-model="row.repairDistribType"
+                                   placeholder="璇烽�夋嫨">
+                          <el-option v-for="item in repairDistribType"
+                                     :key="item.value"
+                                     :label="item.label"
+                                     :value="item.value">
+                          </el-option>
+                        </el-select>
+                        <zt-dict-tag v-else dict="RepairDistribType" :value="row.repairDistribType" :typeS="typeS"
+                                     :typeI="typeI"
+                                     :typeD="typeD" :typeColor="typeColor" :size="size" :effect="effect" :hit="hit"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="repairMttcr" label="MTTCR" :key="25" width="100">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.repairMttcr"></el-input>
+                        <span v-else v-text="scope.row.repairMttcr"></span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="repairMttcrOtherParams" :key="26" label="MTTCR鍏朵粬鍙傛暟" width="120">
+                      <template slot-scope="scope">
+                        <el-input v-if="scope.row.isEdit" v-model="scope.row.repairMttcrOtherParams"></el-input>
+                        <span v-else v-text="scope.row.repairMttcrOtherParams"></span>
+                      </template>
+                    </el-table-column>
+                  </el-table-column>
+                  <el-table-column fixed="right" align="center" label="鎿嶄綔" width="100">
+                    <template slot-scope="scope">
+                      <zt-table-button size="small" type="primary" @click="edit(scope.row)">淇敼
+                      </zt-table-button>
+                      <zt-table-button v-if="scope.row.isCanel" size="small" type="primary" @click="canel(scope.row)">鍙栨秷
+                      </zt-table-button>
+                    </template>
+                  </el-table-column>
 
-              <!--  <zt-table-column-dict v-if="dataForm.nodeType==='2'" :key="27" prop="reliabDistribType" label="鍙潬鎬у垎甯冪被鍨�"
-                                      width="160"/>-->
-              <el-table-column v-if="dataForm.nodeType==='2'" prop="reliabDistribType" label="鍙潬鎬у垎甯冪被鍨�" :key="27"
-                               width="160">
-                <template v-slot="{ row }">
-                  <el-select v-if="row.isEdit" v-model="row.reliabDistribType"
-                             placeholder="褰撳墠鐘舵��">
-                    <el-option v-for="item in reliabDistribType"
-                               :key="item.value"
-                               :label="item.label"
-                               :value="item.value">
-                    </el-option>
-                  </el-select>
-                  <zt-dict-tag v-else dict="ReliabDistribType" :value="row.repairDistribType" :typeS="typeS"
-                               :typeI="typeI" :typeD="typeD" :typeColor="typeColor" :size="size" :effect="effect"
-                               :hit="hit"/>
-                </template>
-              </el-table-column>
-              <el-table-column v-if="dataForm.nodeType==='2'" :key="28" prop="runTime" label="杩愯鏃堕棿" width="100">
-                <template slot-scope="scope">
-                  <el-input v-if="scope.row.isEdit" v-model="scope.row.runTime"></el-input>
-                  <span v-else v-text="scope.row.runTime"></span>
-                </template>
-              </el-table-column>
-              <el-table-column fixed="right" align="center" label="鎿嶄綔" width="150">
-                <template slot-scope="scope">
-                  <zt-table-button size="small" type="primary" @click="edit(scope.row)">淇敼
-                  </zt-table-button>
-                  <zt-table-button v-if="scope.row.isCanel" size="small" type="primary" @click="canel(scope.row)">鍙栨秷
-                  </zt-table-button>
-                </template>
-              </el-table-column>
-
-            </el-table>
+                </el-table>
+              </el-tab-pane>
+            </el-tabs>
             <!-- 寮圭獥, 鏂板 / 淇敼 -->
             <select-ty-model @refreshDataList="table.query" ref="SelectTyModel"/>
           </zt-table-wraper>
@@ -252,8 +275,7 @@
   export default {
     data() {
       return {
-        queryUrl: '/basicInfo/ParamData/page',
-        deleteUrl: '/basicInfo/ParamData',
+        activeName: 'first',
         pageCode: '',
         key: '',
         typeS: '',
@@ -271,7 +293,11 @@
           srcId: '',
           name: '',
           dataThreeList: null,
-          nodeType: '5'
+          productType: '5',
+          basicJoinCompute: '',
+          repairable: '',
+          repairDistribType: '',
+          reliabDistribType: ''
         },
         isOrNot: [{
           value: 1,
@@ -289,19 +315,38 @@
         reliabDistribType: [
           {
             value: 1,
-            label: '浜岄」鍒嗗竷'
+            label: '鎸囨暟鍒嗗竷'
           }, {
             value: 2,
-            label: '濞佸竷灏斿垎甯�'
+            label: '浜岄」鍒嗗竷'
           },
           {
             value: 3,
-            label: '鎸囨暟鍒嗗竷'
+            label: '濞佸竷灏斿垎甯�'
           },
         ],
         // editingCell:null,
         dataList: [],
+        originalTableData: [],
         originalData: null, // 璁板綍淇敼鍓嶇殑鏁版嵁
+      }
+    },
+    // 鍦ㄧ粍浠朵腑瀹氫箟 beforeRouteLeave 瀵艰埅瀹堝崼
+    beforeRouteLeave(to, from, next) {
+      console.log(this.$store.state.contentTabs, 'this.$store.state.contentTabsActiveName')
+      if (this.hasUnsavedChanges()) { // 妫�鏌ユ槸鍚︽湁鏈繚瀛樼殑鍙樻洿
+        this.$confirm('鎮ㄦ湁鏈繚瀛樼殑鏇存敼锛岃鍏堜繚瀛樸�傛槸鍚︾户缁寮�锛�', '鎻愮ず', {
+          confirmButtonText: '淇濆瓨',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        }).then(() => {
+          this.handleSaveRows(); // 淇濆瓨鏁版嵁
+          next();
+        }).catch(() => {
+          next(false); // 鍙栨秷璺敱绂诲紑
+        });
+      } else {
+        next();
       }
     },
     components: {
@@ -314,9 +359,12 @@
       console.log(this.pageCode, 'this.pageCode this.pageCode')
     },
     methods: {
+      handleClick() {
+
+      },
       add() {
         this.$refs.SelectTyModel.$refs.dialog.init(null, {
-          type: this.dataForm.nodeType - 1,
+          type: this.dataForm.productType - 1,
           id: this.dataForm.srcId,
           pageCode: this.pageCode
         })
@@ -333,6 +381,8 @@
           this.originalData = null
           this.dataForm.dataThreeList = null
           this.$refs.tableObj.query()
+          this.originalTableData = JSON.parse(JSON.stringify(this.dataList)); // 鏇存柊鍒濆鏁版嵁涓哄綋鍓嶆暟鎹�
+          console.log(this.originalTableData, 'this.originalTableData 褰撳墠琛ㄦ牸json鏁版嵁')
         }
       },
       edit(row) {
@@ -365,9 +415,12 @@
       // },
       onProductSelected(data) {
         this.dataForm.srcId = data.id
-        this.dataForm.nodeType = data.productType
+        this.dataForm.productType = data.productType
+        this.activeName = 'first'
         console.log(data, 'onProductSelected(data)')
-        this.$refs.tableObj.query()
+        this.$nextTick(() => {
+          this.$refs.tableObj.query()
+        })
       },
       dataLoaded(data) {
         this.dataList = data
@@ -377,7 +430,13 @@
           this.$set(dataList, 'isRemove', false)
           console.log(dataList, 'dataList')
         }
-      }
+        this.originalTableData = JSON.parse(JSON.stringify(this.dataList))
+        console.log(this.originalTableData, 'this.originalTableData 鍒濆琛ㄦ牸json鏁版嵁')
+      },
+      hasUnsavedChanges() {
+        // 妫�鏌ュ綋鍓嶈〃鏍兼暟鎹笌鍒濆鏁版嵁鏄惁鐩稿悓
+        return JSON.stringify(this.dataList) !== JSON.stringify(this.originalTableData);
+      },
     }
   }
 </script>

--
Gitblit v1.9.1