فهرست منبع

提交质检管理部分页面

Glying 11 ماه پیش
والد
کامیت
217b566766
27فایلهای تغییر یافته به همراه5312 افزوده شده و 0 حذف شده
  1. 92 0
      zkqy-ui/src/views/amichi/qualityControl/DCResistance/dialogCom/components/formComp.vue
  2. 801 0
      zkqy-ui/src/views/amichi/qualityControl/DCResistance/dialogCom/components/tableComp.vue
  3. 22 0
      zkqy-ui/src/views/amichi/qualityControl/DCResistance/dialogCom/detail.vue
  4. 455 0
      zkqy-ui/src/views/amichi/qualityControl/DCResistance/index.vue
  5. 77 0
      zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/dialogCom/components/formComp.vue
  6. 303 0
      zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/dialogCom/components/tableComp.vue
  7. 22 0
      zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/dialogCom/detail.vue
  8. 455 0
      zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/index.vue
  9. 47 0
      zkqy-ui/src/views/amichi/qualityControl/components/titleComp.vue
  10. 97 0
      zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/components/formComp.vue
  11. 134 0
      zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/components/tableComp.vue
  12. 84 0
      zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/components/testComp.vue
  13. 24 0
      zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/detail.vue
  14. 455 0
      zkqy-ui/src/views/amichi/qualityControl/emptyLoad/index.vue
  15. 197 0
      zkqy-ui/src/views/amichi/qualityControl/hotResistance/dialogCom/components/tableComp.vue
  16. 20 0
      zkqy-ui/src/views/amichi/qualityControl/hotResistance/dialogCom/detail.vue
  17. 453 0
      zkqy-ui/src/views/amichi/qualityControl/hotResistance/index.vue
  18. 97 0
      zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/components/formComp.vue
  19. 134 0
      zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/components/tableComp.vue
  20. 78 0
      zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/components/testComp.vue
  21. 24 0
      zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/detail.vue
  22. 455 0
      zkqy-ui/src/views/amichi/qualityControl/shortCircuit/index.vue
  23. 97 0
      zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/components/formComp.vue
  24. 134 0
      zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/components/tableComp.vue
  25. 78 0
      zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/components/testComp.vue
  26. 24 0
      zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/detail.vue
  27. 453 0
      zkqy-ui/src/views/amichi/qualityControl/tempRemanence/index.vue

+ 92 - 0
zkqy-ui/src/views/amichi/qualityControl/DCResistance/dialogCom/components/formComp.vue

@@ -0,0 +1,92 @@
+<template>
+  <div class="form">
+    <table >
+      <tr>
+        <td colspan="2">TYPE/型号</td>
+        <td colspan="2"></td>
+        <td colspan="2">kVA</td>
+        <td colspan="2"></td>
+        <td colspan="2">Freq.</td>
+        <td colspan="2"></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="2">Pole No/极数</td>
+        <td colspan="2"></td>
+        <td colspan="2">kW</td>
+        <td colspan="2"></td>
+        <td colspan="2">Phase</td>
+        <td colspan="2"></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="2">SN/正文号</td>
+        <td colspan="2"></td>
+        <td colspan="2">Volts</td>
+        <td colspan="2"></td>
+        <td colspan="2">RPM</td>
+        <td colspan="2"></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="2">Customer/客户</td>
+        <td colspan="2"></td>
+        <td colspan="2">Amps</td>
+        <td colspan="2"></td>
+        <td colspan="4"></td>
+      </tr>
+      <tr>
+        <td colspan="2"></td>
+        <td colspan="2" style="border-bottom: 0"></td>
+        <td colspan="2">P.F.</td>
+        <td colspan="2"></td>
+        <td colspan="4"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.form {
+  padding: 30px 0;
+  // border: 1px solid #333;
+  border-top: 0;
+  border-bottom: 0;
+
+}
+
+table {
+  table-layout:fixed;
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  // border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+
+td:nth-child(2),
+td:nth-child(4),
+td:nth-child(6) {
+  border-bottom: 1px solid #333;
+
+}
+
+td:nth-child(1),
+td:nth-child(3),
+td:nth-child(5) {
+  text-align: right;
+
+}
+</style>

+ 801 - 0
zkqy-ui/src/views/amichi/qualityControl/DCResistance/dialogCom/components/tableComp.vue

@@ -0,0 +1,801 @@
+<template>
+  <div>
+    <table class="table1">
+      <tr>
+        <td colspan="3">直流电阻</td>
+        <td colspan="2">ohm</td>
+        <td colspan="4">指导书:</td>
+        <td colspan="4"></td>
+        <td colspan="1">环温:</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2">湿度:</td>
+        <td colspan="2" class="border"></td>
+      </tr>
+      <div style="height: 30px;"></div>
+      <tr >
+        <td colspan="4" class="border">1,1 定子温度测量</td>
+      </tr>
+      <tr>
+        <td colspan="2" class="border">PT100编号</td>
+        <td colspan="2" class="border">PT100-1</td>
+        <td colspan="2" class="border">PT100-2</td>
+        <td colspan="2" class="border">PT100-3</td>
+        <td colspan="2" class="border">PT100-4</td>
+        <td colspan="2" class="border">PT100-5</td>
+        <td colspan="2" class="border">PT100-6</td>
+        <td rowspan="2" colspan="6" class="border">定子平均温度</td>
+      </tr>
+      <tr>
+        <td colspan="2" class="border">对应S4图</td>
+        <td colspan="2" class="border">S01</td>
+        <td colspan="2" class="border">S02</td>
+        <td colspan="2" class="border">S03</td>
+        <td colspan="2" class="border">S04</td>
+        <td colspan="2" class="border">S05</td>
+        <td colspan="2" class="border">S06</td>
+      </tr>
+      <tr>
+        <td colspan="2" class="border">定子温度(℃)</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="6" class="border"></td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table class="table2">
+      <tr>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2">直流电阻实测值 (Ω)</td>
+        <td colspan="2">换算到20℃</td>
+        <td colspan="3">理论值(20℃)</td>
+        <td colspan="2">最大相间<br>电阻偏差</td>
+        <td colspan="2">最大相间<br>电阻偏差</td>
+        <td colspan="2">测试结果</td>
+      </tr>
+      <tr>
+        <td colspan="2" rowspan="6">定子绕组</td>
+        <td colspan="2">U-N</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">2.60000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2" rowspan="3">\</td>
+        <td colspan="2" rowspan="3">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+
+      </tr>
+      <tr>
+        <td colspan="2">V-N</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">2.60000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">W-N</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">2.60000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">U-N</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">5.20000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2" rowspan="3"></td>
+        <td colspan="2" rowspan="3">
+          <2% </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">V-W</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">5.20000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">U-W</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">5.20000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2" style="background: #FFFF00;">功率电阻</td>
+        <td colspan="2">R1-R2</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2">\</td>
+        <td colspan="2">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">转子绕组</td>
+        <td colspan="2">F1-F2</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">1.07500</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2">\</td>
+        <td colspan="2">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2" rowspan="3">励磁电枢</td>
+        <td colspan="2">T1-T2</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">0.06300</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2" rowspan="3"></td>
+        <td colspan="2" rowspan="3">
+          <3% </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">T1-T3</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">0.06300</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">T2-T3</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">0.06300</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">励磁定子</td>
+        <td colspan="2">5+ - 6-</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">17.00000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2">\</td>
+        <td colspan="2">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2" rowspan="3">PMG绕组(如有)</td>
+        <td colspan="2">09-10(W-V)</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">\</td>
+        <td colspan="1">-</td>
+        <td colspan="1">\</td>
+        <td colspan="2" rowspan="3"></td>
+        <td colspan="2" rowspan="3">
+          <3% </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">10-12 (V-U)</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">\</td>
+        <td colspan="1">-</td>
+        <td colspan="1">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2"> 09-12 (W-U)</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">\</td>
+        <td colspan="1">-</td>
+        <td colspan="1">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">空间加热器</td>
+        <td colspan="2">101-102</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="1">0.00000</td>
+        <td colspan="1">-</td>
+        <td colspan="1">0.00000</td>
+        <td colspan="2">\</td>
+        <td colspan="2">\</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+      <tr></tr>
+
+    </table>
+    <div style="height: 30px;"></div>
+    <table style="border: none;">
+      <tr>
+        <td colspan="4" style="text-align: right;">PQC:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" style="text-align: right;">试验人员:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" style="text-align: right;">试验日期:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2"></td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table style="border: 0;">
+      <tr>
+        <td colspan="3">绝缘电阻</td>
+        <td colspan="2">Mohm</td>
+        <td colspan="4">指导书:</td>
+        <td colspan="4"></td>
+        <td colspan="7"></td>
+      </tr>
+      <div style="height: 30px;"></div>
+      <tr>
+        <td colspan="13"></td>
+        <td colspan="1">环温:</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="1">湿度:</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="1"></td>
+      </tr>
+      <div style="height: 30px;"></div>
+    </table>
+    <table class="table3" style="width: 80%;">
+      <tr>
+        <td colspan="2">1,1 PT100检查</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">PT100编号</td>
+        <td colspan="2" class="border">PT100-1</td>
+        <td colspan="2" class="border">PT100-2</td>
+        <td colspan="2" class="border">PT100-3</td>
+        <td colspan="2" class="border">PT100-4</td>
+        <td colspan="2" class="border">PT100-5</td>
+        <td colspan="2" class="border">PT100-6</td>
+        <td colspan="2" class="border">PT100-11</td>
+        <td colspan="2" class="border">PT100-12</td>
+        <td colspan="2" class="border">PT100-13</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">对应电气图</td>
+        <td colspan="2" class="border bg" >S01</td>
+        <td colspan="2" class="border bg">S02</td>
+        <td colspan="2" class="border bg">S03</td>
+        <td colspan="2" class="border bg">S04</td>
+        <td colspan="2" class="border bg">S05</td>
+        <td colspan="2" class="border bg">S06</td>
+        <td colspan="2" class="border bg">SLS1</td>
+        <td colspan="2" class="border bg">SLS2</td>
+        <td colspan="2" class="border bg">SLS3</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">是否显示温度</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+
+    <table class="table3" style="width: 70%;">
+      <tr>
+        <td colspan="2" class="border">PT100编号</td>
+        <td colspan="4" class="border">润滑油NDE PT100-7</td>
+        <td colspan="4" class="border">润滑油DE PT100-8</td>
+        <td colspan="4" class="border">轴承NDE PT100-9</td>
+        <td colspan="4" class="border">轴承DE PT100-10</td>
+        <td colspan="4"></td>
+      </tr>
+      <tr>
+        <td colspan="2" class="border">对应电气图</td>
+        <td colspan="4" class="border">S10</td>
+        <td colspan="4" class="border">S11</td>
+        <td colspan="4" class="border">S12</td>
+        <td colspan="4" class="border">S13</td>
+        <td colspan="1"></td>
+        <td colspan="3">√ 代表正常显示温度</td>
+      </tr>
+      <tr>
+        <td colspan="2" class="border">是否显示温度</td>
+        <td colspan="4" class="border"></td>
+        <td colspan="4" class="border"></td>
+        <td colspan="4" class="border"></td>
+        <td colspan="4" class="border"></td>
+        <td colspan="4"></td>
+      </tr>
+      <tr>
+        <td colspan="19"></td>
+        <td colspan="3">× 代表温度显示不正常</td>
+      </tr>
+    </table>
+    <table class="table3" style="width: 75%;">
+      <tr>
+        <td colspan="2" style="text-align: left">2.冷态下绝缘电阻测试</td>
+      </tr>
+      <tr>
+        <td colspan="2" style="text-align: left">2,1 定子温度测量</td>
+      </tr>
+
+      <tr class="border">
+        <td colspan="2" class="border">PT100编号</td>
+        <td colspan="2" class="border">PT100-1</td>
+        <td colspan="2" class="border">PT100-2</td>
+        <td colspan="2" class="border">PT100-3</td>
+        <td colspan="2" class="border">PT100-4</td>
+        <td colspan="2" class="border">PT100-5</td>
+        <td colspan="2" class="border">PT100-6</td>
+        <td colspan="4" rowspan="2" class="border">定子平均温度</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">对应电气图</td>
+        <td colspan="2" class="border bg">S01</td>
+        <td colspan="2" class="border bg">S02</td>
+        <td colspan="2" class="border bg">S03</td>
+        <td colspan="2" class="border bg">S04</td>
+        <td colspan="2" class="border bg">S05</td>
+        <td colspan="2" class="border bg">S06</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">定子温度(℃)</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table style="width: 65%;">
+      <tr>
+        <td colspan="2" style="text-align: left;">2,2 绝缘电阻测量</td>
+        <td colspan="3" style="text-align: left;"> 施加电压:定子:DC 5000V±3%</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border">1min绝缘电阻(MΩ)</td>
+        <td colspan="1" class="border">要求</td>
+        <td colspan="2" class="border">测试结果</td>
+      </tr>
+      <tr class="border" v-for="i in dataTable">
+        <td colspan="2" class="border">{{ i.title }}</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="1" class="border">>1000MΩ</td>
+        <td colspan="1" class="border">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1" class="border">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table style="border: none;">
+      <tr>
+        <td colspan="3">2,3 极化指数</td>
+        <td colspan="6">施加电压:定子:DC 5000V±3%</td>
+        <td colspan="4"></td>
+        <td colspan="7"></td>
+      </tr>
+      <tr class="border">
+        <td colspan="3" class="border"></td>
+        <td colspan="3" class="border">测试电压-实际(V)</td>
+        <td colspan="3" class="border">10min绝缘电阻(MΩ)</td>
+        <td colspan="2" class="border">要求</td>
+        <td colspan="3" class="border">PI:10min绝缘电阻/1min绝缘电阻</td>
+        <td colspan="2" class="border">要求</td>
+        <td colspan="4" class="border">测试结果</td>
+      </tr>
+      <tr class="border">
+        <td colspan="3" class="border">定子 相-对地</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" class="border">>1000MΩ</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" class="border">PI>2</td>
+        <td colspan="2" class="border">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="2" class="border">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+
+      <div style="height: 30px;"></div>
+      <tr>
+        <td colspan="4" style="text-align: right;">PQC:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" style="text-align: right;">试验人员:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" style="text-align: right;">试验日期:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2"></td>
+      </tr>
+      <div style="height: 30px;"></div>
+      <tr>
+        <td colspan="6" style="text-align: left;">3.热态下绝缘电阻测试</td>
+        <td colspan="3" style="text-align: right;">环温: </td>
+        <td colspan="2" class="border"></td>
+        <td colspan="1" style="text-align: right;">湿度: </td>
+        <td colspan="2" class="border"></td>
+        <td colspan="5"></td>
+      </tr>
+    </table>
+    <table class="table3" style="width: 75%;">
+      <tr>
+        <td colspan="2" style="text-align: left">3,1 定子温度测量</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">PT100编号</td>
+        <td colspan="2" class="border">PT100-1</td>
+        <td colspan="2" class="border">PT100-2</td>
+        <td colspan="2" class="border">PT100-3</td>
+        <td colspan="2" class="border">PT100-4</td>
+        <td colspan="2" class="border">PT100-5</td>
+        <td colspan="2" class="border">PT100-6</td>
+        <td colspan="4" rowspan="2" class="border">定子平均温度</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">对应电气图</td>
+        <td colspan="2" class="border">S01</td>
+        <td colspan="2" class="border">S02</td>
+        <td colspan="2" class="border">S03</td>
+        <td colspan="2" class="border">S04</td>
+        <td colspan="2" class="border">S05</td>
+        <td colspan="2" class="border">S06</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border">定子温度(℃)</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border"></td>
+      </tr>
+    </table>
+
+    <table class="table3" style="width: 65%;">
+      <tr>
+        <td colspan="2" style="text-align: left;">3,2 绝缘电阻测量</td>
+        <td colspan="3" style="text-align: left;"> 施加电压:定子:DC 5000V±3%</td>
+      </tr>
+      <tr class="border">
+        <td colspan="2" class="border"></td>
+        <td colspan="2" class="border">1min绝缘电阻(MΩ)</td>
+        <td colspan="1" class="border">要求</td>
+        <td colspan="2" class="border">测试结果</td>
+      </tr>
+      <tr class="border" v-for="i in dataTable">
+        <td colspan="2" class="border">{{ i.title }}</td>
+        <td colspan="2" class="border"></td>
+        <td colspan="1" class="border">>1000MΩ</td>
+        <td colspan="1" class="border">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1" class="border">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+    </table>
+    <table style="border: none;">
+      <div style="height: 30px;"></div>
+      <tr>
+        <td colspan="4" style="text-align: right;">PQC:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" style="text-align: right;">试验人员:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" style="text-align: right;">试验日期:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2"></td>
+      </tr>
+      <div style="height: 30px;"></div>
+      <tr>
+        <td colspan="3">绝缘电阻</td>
+        <td colspan="2">Mohm</td>
+        <td colspan="4">指导书:</td>
+        <td colspan="4"></td>
+        <td colspan="7" </td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <!-- 13 -->
+    <table class="table2">
+      <tr>
+        <td colspan="2">定子</td>
+        <td colspan="2">测试电压V(理论)</td>
+        <td colspan="1">允许偏差</td>
+        <td colspan="2">测试电压V(实际)</td>
+        <td colspan="2">测试时间(实际)</td>
+        <td colspan="2">要求</td>
+        <td colspan="2">测试结果</td>
+      </tr>
+      <tr v-for="item in tesrTable">
+        <td colspan="2">{{ item.title }}</td>
+        <td colspan="1">{{ item.unit }}</td>
+        <td colspan="1">{{ item.value }}</td>
+        <td colspan="1">±3%</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2">无击穿,无闪络</td>
+        <td colspan="1">
+          <el-checkbox v-model="checkOK">OK</el-checkbox>
+        </td>
+        <td colspan="1">
+          <el-checkbox v-model="checkNOK">NOK</el-checkbox>
+        </td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table style="border: none;">
+      <tr>
+        <td colspan="4" style="text-align: right;">PQC:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" style="text-align: right;">试验人员:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" style="text-align: right;">试验日期:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataTable: [{
+        title: '定子 U-对地',
+        unit: 'V'
+      }, {
+        title: '定子 U-V',
+        unit: 'A'
+      }, {
+        title: '定子 V-W',
+        unit: 'A'
+      }, {
+        title: '定子 U-W',
+        unit: 'A'
+      }, {
+        title: '旋转件-对地',
+        unit: 'kW'
+      }, {
+        title: '励磁定子-对地',
+        unit: ''
+      }, {
+        title: 'PMG定子-对地',
+        unit: 'Hz'
+      }, {
+        title: '空间加热器-对地',
+        unit: 'A'
+      }, {
+        title: 'PT100-1',
+        unit: '℃'
+      }, {
+        title: 'PT100-2',
+        unit: '℃'
+      }, {
+        title: 'PT100-3',
+        unit: '℃'
+      }, {
+        title: 'PT100-4',
+        unit: '℃'
+      }, {
+        title: 'PT100-5',
+        unit: '℃'
+      }, {
+        title: 'PT100-6',
+        unit: '℃'
+      }, {
+        title: 'PT100-7',
+        unit: '℃'
+      }, {
+        title: 'PT100-8',
+        unit: '℃'
+      }, {
+        title: 'PT100-9',
+        unit: '℃'
+      }, {
+        title: 'PT100-10',
+        unit: '℃'
+      }, {
+        title: 'PT100-11',
+        unit: '℃'
+      }, {
+        title: 'PT100-12',
+        unit: '℃'
+      }, {
+        title: 'PT100-13',
+        unit: '℃'
+      }],
+      tesrTable: [{
+        title: 'U-对地',
+        unit: 'AC',
+        value: '22000'
+      }, {
+        title: 'V-对地',
+        unit: 'AC',
+        value: '22000'
+      }, {
+        title: 'W-对地',
+        unit: 'AC',
+        value: '22000'
+      }, {
+        title: '旋转件-对地',
+        unit: 'AC',
+        value: '1200'
+      }, {
+        title: '旋转件-对地',
+        unit: 'DC',
+        value: '2550'
+      }, {
+        title: '励磁定子-对地',
+        unit: 'AC',
+        value: '1500'
+      }, {
+        title: 'PMG定子-对地',
+        unit: 'AC',
+        value: '1200'
+      }, {
+        title: '空间加热器-对地',
+        unit: 'AC',
+        value: '1800'
+      }],
+      checkOK: false,
+      checkNOK: false
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.border {
+  border: 1px solid #333;
+}
+.bg {
+  background: #FFFF00;
+}
+
+table {
+  table-layout: fixed;
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+
+  th,
+  td {
+    // border: 1px solid #333;
+    height: 32px;
+    border-top: 0;
+    text-align: center;
+    padding: 5px 0;
+  }
+
+}
+
+.table3 {
+  table-layout: auto;
+  border: none
+}
+
+.table2 {
+
+  th,
+  td {
+    border: 1px solid #333;
+  }
+}
+</style>

+ 22 - 0
zkqy-ui/src/views/amichi/qualityControl/DCResistance/dialogCom/detail.vue

@@ -0,0 +1,22 @@
+<template>
+  <div>
+    <titleComp></titleComp>
+    <formComp></formComp>
+    <!-- <div style="height: 30px;border-left: 1px solid #333;border-right: 1px solid #333;"></div> -->
+    <tableComp></tableComp>
+  </div>
+</template>
+
+<script>
+import titleComp from "@/views/amichi/qualityControl/components/titleComp.vue";
+import formComp from "./components/formComp.vue";
+import tableComp from "./components/tableComp.vue";
+
+export default {
+  components: { titleComp, formComp, tableComp }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 455 - 0
zkqy-ui/src/views/amichi/qualityControl/DCResistance/index.vue

@@ -0,0 +1,455 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
+      <el-form-item label="发电机型号" prop="materialCode">
+        <el-input v-model="queryParams.materialCode" placeholder="请输入发电机型号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="正文号" prop="materialName">
+        <el-input v-model="queryParams.materialName" placeholder="请输入正文号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="File文件号" prop="modelNumber">
+        <el-input v-model="queryParams.modelNumber" placeholder="请输入File文件号" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="版次" prop="specification">
+        <el-input v-model="queryParams.specification" placeholder="请输入版次" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+
+      <el-form-item label="日期" prop="effectiveDate">
+        <el-date-picker clearable v-model="queryParams.effectiveDate" type="date" value-format="yyyy-MM-dd"
+          placeholder="请选择日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:materials:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:materials:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:materials:remove']">删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:materials:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table class="sysDictInfoTable" :data="materialsList" style="width: 100%;margin-top: 20px" row-key="id" lazy
+      ref="tableTree" :load="load" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table-column v-for="(item, index) in tableHeadData" :key="index" :prop="item.value" :label="item.label"
+        align="center" width="180">
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-dropdown @command="(command) => { handleCommand(command, scope.row) }">
+            <el-button type="warning">
+              操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item icon="el-icon-document" command="handleDetail">详情</el-dropdown-item>
+
+              <!-- <el-dropdown-item icon="el-icon-circle-plus-outline" command="handleAdd">新增</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item> -->
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改物料清单对话框 -->
+    <el-dialog :title="title" :visible.sync="openDetail" width="1200px" append-to-body>
+      <detailsComp></detailsComp>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delMaterialsUpdate, selectListTree, getTreeInfo, listMaterialsTree, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/amichi/materiel/materials";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import detailsComp from './dialogCom/detail.vue'
+export default {
+  name: "Materials",
+  components: { Treeselect, detailsComp },
+  data() {
+    return {
+      maps: new Map(),
+      materialRows: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物料清单表格数据
+      materialsList: [{
+        materialCode: '111',
+        materialName: '222',
+        modelNumber: '333',
+        specification: 'v1.0.1',
+        date: '2023.12.31'
+      }],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      openDetail: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        createById: null,
+        updateById: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      tableHeadData: [{
+        label: '发电机型号',
+        value: 'materialCode',
+      }, {
+        label: '正文号',
+        value: 'materialName',
+      }, {
+        label: 'File文件号',
+        value: 'modelNumber',
+      }, {
+        label: '版次',
+        value: 'specification',
+      }, {
+        label: '日期',
+        value: 'date',
+      }], //表头存储
+    };
+  },
+  created() {
+    //初始化用的
+    this.queryParams.fid = "0"
+    // this.getList();
+    this.selectListTree();
+  },
+  methods: {
+    // 表头筛选
+    cascaderChangeFun(e) {
+      this.optionsData = e
+      this.$nextTick(() => {
+        this.$refs['tableTree'].doLayout();
+      });
+    },
+
+    //查询租户信息列表
+    // getCodeTenantAllList(){
+    //   getCodeTenantAllList().then((response) => {
+    //     // console.log(response)
+    //     this.tenantRows = response.rows;
+    //   });
+    // },
+    selectListTree() {
+      selectListTree().then(response => {
+        this.materialRows = response.data;
+      });
+    },
+    //下拉菜单点击事件
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleUpdate":
+          this.handleUpdate(row)
+          break;
+        case "handleDelete":
+          this.handleDeleteOne(row)
+          break;
+        case "handleAdd":
+          this.handleAdd2(row);
+          break;
+        case "handleDetail":
+          this.handleDetail(row);
+          break;
+        default:
+          break;
+      }
+    },
+    refreshRow(row) {
+      const { fid } = row  //取出当前删除行的pid
+      console.log(fid)
+      console.log(this.maps.get(parseInt(fid)))
+      const { tree, treeNode, resolve } = this.maps.get(parseInt(fid)) //根据pid取出对应的节点数据
+      this.$set(this.$refs.tableTree.store.states.lazyTreeNodeMap, fid, []); //将对应节点下的数据清空,从而实现数据的重新加载
+      this.load(tree, treeNode, resolve)
+    },
+    load(tree, treeNode, resolve) {
+      const pid = tree.id
+      this.maps.set(pid, { tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
+      console.log(this.maps.get(10))
+      console.log(this.maps, "村进去");
+      getTreeInfo(tree.id).then(response => {
+        resolve(response.data);
+      });
+      // // console.log(resolve,"c")
+      // setTimeout(() => {
+      //   resolve([
+      //     {
+      //       id: 31,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }, {
+      //       id: 32,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }
+      //   ])
+      // }, 1000)},
+    },
+    /** 查询物料清单列表 */
+    getList() {
+      this.materialsList = [];
+      this.loading = true;
+      listMaterialsTree(this.queryParams).then(response => {
+        this.materialsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.openDetail = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.fid = ""
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.fid = "0"
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 详情页面
+    handleDetail(row) {
+      this.openDetail = true
+    },
+    /** 新增按钮操作 */
+    handleAdd2(row) {
+      this.reset();
+      this.selectListTree();
+      this.openDetail = true;
+      this.form.fid = row.id;
+      console.log("新增回显0k")
+      this.title = "添加物料清单";
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.selectListTree();
+      // this.open = true;
+      this.title = "添加物料清单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+
+      this.reset();
+      this.selectListTree();
+      const id = row.id || this.ids
+      getMaterials(id).then(response => {
+        this.form = response.data;
+        this.openDetail = true;
+        this.title = "修改物料清单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          } else {
+            addMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    handleDeleteOne(row) {
+      const ids = row.id;
+      console.log(row)
+      this.$confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        delMaterialsUpdate(ids).then(data => {
+          if (data.code == 666) {
+            this.$message({
+              message: data.msg,
+              type: 'warning'
+            });
+          } else if (data.code == 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.refreshRow(row);
+          }
+        })
+        this.getList();
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?').then(function () {
+        return delMaterialsUpdate(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/materials/export', {
+        ...this.queryParams
+      }, `materials_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped lang='scss'>
+// el-table表格对齐
+.sysDictInfoTable ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+  td:first-child {
+    padding-left: 23px !important; //一级数据无Child缩进
+  }
+}
+
+.sysDictInfoTable ::v-deep .el-table__placeholder {
+  margin-left: 3px; //子节点无Child缩进
+}
+</style>

+ 77 - 0
zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/dialogCom/components/formComp.vue

@@ -0,0 +1,77 @@
+<template>
+  <div class="form">
+    <table >
+      <tr>
+        <td colspan="2">TYPE/型号</td>
+        <td colspan="2"></td>
+        <td colspan="2">kVA</td>
+        <td colspan="2"></td>
+        <td colspan="2">P.F.</td>
+        <td colspan="2"></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="2">Freq.</td>
+        <td colspan="2"></td>
+        <td colspan="2">kW</td>
+        <td colspan="2"></td>
+        <td colspan="2">SN</td>
+        <td colspan="2"></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="2">RPM</td>
+        <td colspan="2"></td>
+        <td colspan="2">Volts</td>
+        <td colspan="2"></td>
+        <td colspan="4"></td>
+      </tr>
+
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.form {
+  padding: 30px 0;
+  // border: 1px solid #333;
+  border-top: 0;
+  border-bottom: 0;
+
+}
+
+table {
+  table-layout:fixed;
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  // border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+
+td:nth-child(2),
+td:nth-child(4),
+td:nth-child(6) {
+  border-bottom: 1px solid #333;
+
+}
+
+td:nth-child(1),
+td:nth-child(3),
+td:nth-child(5) {
+  text-align: right;
+
+}
+</style>

+ 303 - 0
zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/dialogCom/components/tableComp.vue

@@ -0,0 +1,303 @@
+<template>
+  <div>
+    <table class="table1">
+      <tr>
+        <td colspan="10">噪声测试</td>
+        <td colspan="10">指导书</td>
+      </tr>
+    </table>
+    <!-- <div style="height: 30px;"></div> -->
+
+    <div class="img">
+      <img src="@/assets/qualityControl/zaosheng.png" alt="" srcset="">
+    </div>
+    <table class="table2">
+      <tr>
+        <td colspan="1">
+
+        </td>
+
+        <td colspan="6">
+          正面
+        </td>
+      </tr>
+      <tr>
+        <td colspan="1">
+          点位
+        </td>
+        <td colspan="1">
+          1号点
+        </td>
+        <td colspan="1">
+          2号点
+        </td>
+        <td colspan="1">
+          3号点
+        </td>
+        <td colspan="1">
+          4号点
+        </td>
+        <td colspan="1">
+          5号点
+        </td>
+        <td colspan="1">
+          6号点
+        </td>
+      </tr>
+      <tr v-for="item in dataTable">
+        <td colspan="1">
+          {{ item.title }}
+        </td>
+        <td colspan="1">
+
+        </td>
+        <td colspan="1">
+
+        </td>
+        <td colspan="1">
+
+        </td>
+        <td colspan="1">
+
+        </td>
+        <td colspan="1">
+        </td>
+        <td colspan="1">
+
+        </td>
+      </tr>
+    </table>
+
+    <div class="img">
+      <img src="@/assets/qualityControl/zaosheng.png" alt="" srcset="">
+    </div>
+    <table class="table2">
+      <tr>
+        <td colspan="1"></td>
+        <td colspan="6">
+          背面
+        </td>
+      </tr>
+      <tr>
+        <td colspan="1">
+          点位
+        </td>
+        <td colspan="1">
+          7号点
+        </td>
+        <td colspan="1">
+          8号点
+        </td>
+        <td colspan="1">
+          9号点
+        </td>
+        <td colspan="1">
+          10号点
+        </td>
+        <td colspan="1">
+          11号点
+        </td>
+        <td colspan="1">
+          12号点
+        </td>
+      </tr>
+      <tr v-for="item in dataTable">
+        <td colspan="1">
+          {{ item.title }}
+        </td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table class="table2">
+      <tr>
+        <td colspan="1"></td>
+        <td colspan="6">
+          顶面
+        </td>
+      </tr>
+      <tr>
+        <td colspan="1">
+          点位
+        </td>
+        <td colspan="1">
+          7号点
+        </td>
+        <td colspan="1">
+          8号点
+        </td>
+        <td colspan="1">
+          9号点
+        </td>
+        <td colspan="1">
+          10号点
+        </td>
+        <td colspan="1">
+          11号点
+        </td>
+        <td colspan="1">
+          12号点
+        </td>
+      </tr>
+      <tr v-for="item in dataTable">
+        <td colspan="1">
+          {{ item.title }}
+        </td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+      </tr>
+    </table>
+    <div class="img">
+      <img src="@/assets/qualityControl/zaosheng.png" alt="" srcset="">
+    </div>
+    <table class="table2">
+      <tr>
+        <td colspan="1"></td>
+        <td colspan="4">
+          DE
+        </td>
+        <td colspan="4">
+          NDE
+        </td>
+      </tr>
+      <tr>
+        <td colspan="1">
+          点位
+        </td>
+        <td colspan="1">
+          19号点
+        </td>
+        <td colspan="1">
+          20号点
+        </td>
+        <td colspan="1">
+          21号点
+        </td>
+        <td colspan="1">
+          22号点
+        </td>
+        <td colspan="1">
+          23号点
+        </td>
+        <td colspan="1">
+          24号点
+        </td>
+        <td colspan="1">
+          25号点
+        </td>
+        <td colspan="1">
+          26号点
+        </td>
+      </tr>
+      <tr v-for="item in dataTable">
+        <td colspan="1">
+          {{ item.title }}
+        </td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+        <td colspan="1"></td>
+      </tr>
+    </table>
+    <div style="height: 30px;"></div>
+    <table>
+      <tr>
+        <td colspan="4" style="text-align: right;">PQC:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" style="text-align: right;">试验人员:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" style="text-align: right;">试验日期:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataTable: [{
+        title: 'dBA',
+      }, {
+        title: '31,5HZ',
+      }, {
+        title: '63HZ',
+      }, {
+        title: '125HZ',
+      }, {
+        title: '250HZ',
+      }, {
+        title: '500HZ',
+      }, {
+        title: '1000HZ',
+      }, {
+        title: '2000HZ',
+      }, {
+        title: '4000HZ',
+      }, {
+        title: '8000HZ',
+      }],
+      checkOK: false,
+      checkNOK: false
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.border {
+  border: 1px solid #333;
+}
+
+.bg {
+  background: #FFFF00;
+}
+
+table {
+  table-layout: fixed;
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+
+  th,
+  td {
+    height: 32px;
+    border-top: 0;
+    text-align: center;
+    padding: 5px 0;
+  }
+
+}
+
+.table2 {
+  width: 80%;
+  th,
+  td {
+    border: 1px solid #333;
+  }
+}
+
+.img {
+  text-align: center;
+  padding: 30px;
+
+  img {
+    width: 400px;
+  }
+}
+</style>

+ 22 - 0
zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/dialogCom/detail.vue

@@ -0,0 +1,22 @@
+<template>
+  <div>
+    <titleComp></titleComp>
+    <formComp></formComp>
+    <!-- <div style="height: 30px;border-left: 1px solid #333;border-right: 1px solid #333;"></div> -->
+    <tableComp></tableComp>
+  </div>
+</template>
+
+<script>
+import titleComp from "@/views/amichi/qualityControl/components/titleComp.vue";
+import formComp from "./components/formComp.vue";
+import tableComp from "./components/tableComp.vue";
+
+export default {
+  components: { titleComp, formComp, tableComp }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 455 - 0
zkqy-ui/src/views/amichi/qualityControl/VibrationOnoise/index.vue

@@ -0,0 +1,455 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
+      <el-form-item label="发电机型号" prop="materialCode">
+        <el-input v-model="queryParams.materialCode" placeholder="请输入发电机型号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="正文号" prop="materialName">
+        <el-input v-model="queryParams.materialName" placeholder="请输入正文号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="File文件号" prop="modelNumber">
+        <el-input v-model="queryParams.modelNumber" placeholder="请输入File文件号" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="版次" prop="specification">
+        <el-input v-model="queryParams.specification" placeholder="请输入版次" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+
+      <el-form-item label="日期" prop="effectiveDate">
+        <el-date-picker clearable v-model="queryParams.effectiveDate" type="date" value-format="yyyy-MM-dd"
+          placeholder="请选择日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:materials:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:materials:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:materials:remove']">删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:materials:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table class="sysDictInfoTable" :data="materialsList" style="width: 100%;margin-top: 20px" row-key="id" lazy
+      ref="tableTree" :load="load" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table-column v-for="(item, index) in tableHeadData" :key="index" :prop="item.value" :label="item.label"
+        align="center" width="180">
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-dropdown @command="(command) => { handleCommand(command, scope.row) }">
+            <el-button type="warning">
+              操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item icon="el-icon-document" command="handleDetail">详情</el-dropdown-item>
+
+              <!-- <el-dropdown-item icon="el-icon-circle-plus-outline" command="handleAdd">新增</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item> -->
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改物料清单对话框 -->
+    <el-dialog :title="title" :visible.sync="openDetail" width="1200px" append-to-body>
+      <detailsComp></detailsComp>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delMaterialsUpdate, selectListTree, getTreeInfo, listMaterialsTree, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/amichi/materiel/materials";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import detailsComp from './dialogCom/detail.vue'
+export default {
+  name: "Materials",
+  components: { Treeselect, detailsComp },
+  data() {
+    return {
+      maps: new Map(),
+      materialRows: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物料清单表格数据
+      materialsList: [{
+        materialCode: '111',
+        materialName: '222',
+        modelNumber: '333',
+        specification: 'v1.0.1',
+        date: '2023.12.31'
+      }],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      openDetail: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        createById: null,
+        updateById: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      tableHeadData: [{
+        label: '发电机型号',
+        value: 'materialCode',
+      }, {
+        label: '正文号',
+        value: 'materialName',
+      }, {
+        label: 'File文件号',
+        value: 'modelNumber',
+      }, {
+        label: '版次',
+        value: 'specification',
+      }, {
+        label: '日期',
+        value: 'date',
+      }], //表头存储
+    };
+  },
+  created() {
+    //初始化用的
+    this.queryParams.fid = "0"
+    // this.getList();
+    this.selectListTree();
+  },
+  methods: {
+    // 表头筛选
+    cascaderChangeFun(e) {
+      this.optionsData = e
+      this.$nextTick(() => {
+        this.$refs['tableTree'].doLayout();
+      });
+    },
+
+    //查询租户信息列表
+    // getCodeTenantAllList(){
+    //   getCodeTenantAllList().then((response) => {
+    //     // console.log(response)
+    //     this.tenantRows = response.rows;
+    //   });
+    // },
+    selectListTree() {
+      selectListTree().then(response => {
+        this.materialRows = response.data;
+      });
+    },
+    //下拉菜单点击事件
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleUpdate":
+          this.handleUpdate(row)
+          break;
+        case "handleDelete":
+          this.handleDeleteOne(row)
+          break;
+        case "handleAdd":
+          this.handleAdd2(row);
+          break;
+        case "handleDetail":
+          this.handleDetail(row);
+          break;
+        default:
+          break;
+      }
+    },
+    refreshRow(row) {
+      const { fid } = row  //取出当前删除行的pid
+      console.log(fid)
+      console.log(this.maps.get(parseInt(fid)))
+      const { tree, treeNode, resolve } = this.maps.get(parseInt(fid)) //根据pid取出对应的节点数据
+      this.$set(this.$refs.tableTree.store.states.lazyTreeNodeMap, fid, []); //将对应节点下的数据清空,从而实现数据的重新加载
+      this.load(tree, treeNode, resolve)
+    },
+    load(tree, treeNode, resolve) {
+      const pid = tree.id
+      this.maps.set(pid, { tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
+      console.log(this.maps.get(10))
+      console.log(this.maps, "村进去");
+      getTreeInfo(tree.id).then(response => {
+        resolve(response.data);
+      });
+      // // console.log(resolve,"c")
+      // setTimeout(() => {
+      //   resolve([
+      //     {
+      //       id: 31,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }, {
+      //       id: 32,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }
+      //   ])
+      // }, 1000)},
+    },
+    /** 查询物料清单列表 */
+    getList() {
+      this.materialsList = [];
+      this.loading = true;
+      listMaterialsTree(this.queryParams).then(response => {
+        this.materialsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.openDetail = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.fid = ""
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.fid = "0"
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 详情页面
+    handleDetail(row) {
+      this.openDetail = true
+    },
+    /** 新增按钮操作 */
+    handleAdd2(row) {
+      this.reset();
+      this.selectListTree();
+      this.openDetail = true;
+      this.form.fid = row.id;
+      console.log("新增回显0k")
+      this.title = "添加物料清单";
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.selectListTree();
+      // this.open = true;
+      this.title = "添加物料清单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+
+      this.reset();
+      this.selectListTree();
+      const id = row.id || this.ids
+      getMaterials(id).then(response => {
+        this.form = response.data;
+        this.openDetail = true;
+        this.title = "修改物料清单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          } else {
+            addMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    handleDeleteOne(row) {
+      const ids = row.id;
+      console.log(row)
+      this.$confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        delMaterialsUpdate(ids).then(data => {
+          if (data.code == 666) {
+            this.$message({
+              message: data.msg,
+              type: 'warning'
+            });
+          } else if (data.code == 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.refreshRow(row);
+          }
+        })
+        this.getList();
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?').then(function () {
+        return delMaterialsUpdate(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/materials/export', {
+        ...this.queryParams
+      }, `materials_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped lang='scss'>
+// el-table表格对齐
+.sysDictInfoTable ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+  td:first-child {
+    padding-left: 23px !important; //一级数据无Child缩进
+  }
+}
+
+.sysDictInfoTable ::v-deep .el-table__placeholder {
+  margin-left: 3px; //子节点无Child缩进
+}
+</style>

+ 47 - 0
zkqy-ui/src/views/amichi/qualityControl/components/titleComp.vue

@@ -0,0 +1,47 @@
+<template>
+    <table class="header">
+      <tr>
+        <td colspan="4" rowspan="2"><img style="width: 150px;" src="@/assets/operationInstructionimgs/footerLogo.png" alt="" srcset=""></td>
+        <td colspan="14" rowspan="4" style="text-align: center;font-size: 28px;">型式试验和出厂试验记录单</td>
+        <td colspan="8" rowspan="3">File文件号 : QY-Q-T-001</td>
+      </tr>
+      <tr></tr>
+      <tr>
+        <td colspan="4" rowspan="2" class="centerPadding">
+          Quality Management <br>Dept.质量管理部
+        </td>
+      </tr>
+      <tr>
+        <td colspan="4">版次 : A <br>
+          日期 : 2023.12.31</td>
+        <td colspan="4"><br>页次:  1 / 1</td>
+      </tr>
+    </table>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.header {
+  .centerPadding {
+    text-align: center;
+    padding: 10px 0;
+  }
+}
+
+table {
+  width: 100%;
+  border-collapse: collapse;
+  /* 合并边框 */
+  border: 1px solid #333;
+}
+
+th,
+td {
+  border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+}
+</style>

+ 97 - 0
zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/components/formComp.vue

@@ -0,0 +1,97 @@
+<template>
+  <div class="form">
+    <table>
+      <tr>
+        <td>发电机型号:</td>
+        <td></td>
+        <td></td>
+        <td>相数:</td>
+        <td></td>
+        <td></td>
+        <td>正文号:</td>
+        <td></td>
+        <td style="width: 50px;"></td>
+      </tr>
+      <tr>
+        <td>额定功率:</td>
+        <td></td>
+        <td>kW</td>
+        <td>频率:</td>
+        <td></td>
+        <td>Hz</td>
+        <td>状态:</td>
+        <td>空载</td>
+      </tr>
+      <tr>
+        <td>额定电压:</td>
+        <td></td>
+        <td>V</td>
+        <td>转速:</td>
+        <td></td>
+        <td>mn-1</td>
+        <td>试验日期:</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>额定定子电流:</td>
+        <td></td>
+        <td>A</td>
+        <td>PF:</td>
+        <td></td>
+        <td></td>
+        <td>试验人员:</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="6"></td>
+        <td style="width: auto;border: 0;text-align: right;">PQC:</td>
+        <td style="width: 20%;border-bottom: 1px solid #333;"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.form {
+  padding: 30px 0;
+  // border: 1px solid #333;
+  border-top: 0;
+  border-bottom: 0;
+
+}
+
+table {
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  // border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+
+td:nth-child(2),
+td:nth-child(5),
+td:nth-child(8) {
+  width: 20%;
+  border-bottom: 1px solid #333;
+
+}
+
+td:nth-child(1),
+td:nth-child(4),
+td:nth-child(7) {
+  text-align: right;
+
+}
+</style>

+ 134 - 0
zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/components/tableComp.vue

@@ -0,0 +1,134 @@
+<template>
+  <div>
+    <table style="table-layout:fixed;">
+    <tr>
+      <td colspan="3">时间</td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+    </tr>
+    <tr v-for="(item, index) in dataTable" :key="index">
+      <td colspan="2">{{ item.title }}</td>
+      <td>{{ item.unit }}</td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+    </tr>
+  </table>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataTable: [{
+        title: 'U电压',
+        unit: 'V'
+      }, {
+        title: 'IU电流',
+        unit: 'A'
+      }, {
+        title: 'IV电流',
+        unit: 'A'
+      }, {
+        title: 'IW电流',
+        unit: 'A'
+      }, {
+        title: 'P有功',
+        unit: 'kW'
+      }, {
+        title: 'PF功率因数',
+        unit: ''
+      }, {
+        title: '频率',
+        unit: 'Hz'
+      }, {
+        title: '转速',
+        unit: 'RPM'
+      }, {
+        title: 'IEXC励磁电流',
+        unit: 'A'
+      }, {
+        title: '轴承DE',
+        unit: '℃'
+      }, {
+        title: '轴承NDE',
+        unit: '℃'
+      }, {
+        title: '润滑油DE',
+        unit: '℃'
+      }, {
+        title: '润滑油NDE',
+        unit: '℃'
+      }, {
+        title: '进风',
+        unit: '℃'
+      }, {
+        title: '出风',
+        unit: '℃'
+      }, {
+        title: '机壳',
+        unit: '℃'
+      }, {
+        title: '室温',
+        unit: '℃'
+      }, {
+        title: 'PT100(1)',
+        unit: '℃'
+      }, {
+        title: 'PT100(2)',
+        unit: '℃'
+      }, {
+        title: 'PT100(3)',
+        unit: '℃'
+      }, {
+        title: 'PT100(4)',
+        unit: '℃'
+      }, {
+        title: 'PT100(5)',
+        unit: '℃'
+      }, {
+        title: 'PT100(6)',
+        unit: '℃'
+      }]
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+table {
+
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  border: 1px solid #333;
+}
+th,
+td {
+  border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+</style>

+ 84 - 0
zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/components/testComp.vue

@@ -0,0 +1,84 @@
+<template>
+  <div class="test">
+    <table style="table-layout:fixed;">
+      <tr style="border: 0;">
+        <td colspan="3" style="font-size: 18px;border: 0;">温升试验</td>
+        <td colspan="6"  style="border: 0;">指导书:<span style="font-weight: 500;">T996-1 S055NU2</span></td>
+        <td colspan="4"  style="border: 0;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" rowspan="2">绕组名称</td>
+        <td colspan="3">冷态电阻, <span style="font-weight: 500;">ohm</span></td>
+        <td colspan="3">热态电阻, <span style="font-weight: 500;">ohm</span></td>
+        <td colspan="4" rowspan="2"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;">Ta ℃</td>
+        <td colspan="3" style="text-align: left;font-weight: 500;">Ta ℃</td>
+      </tr>
+      <tr>
+        <td colspan="3" rowspan="3">定子</td>
+        <td colspan="3" style="text-align: left;font-weight: 500;">U/V</td>
+        <td colspan="3"></td>
+        <td colspan="4" rowspan="3"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" >转子</td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+      <tr>
+        <td colspan="3">励磁电枢</td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+      <tr>
+        <td colspan="3">励磁定子</td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.test {
+  // padding-bottom: 30px;
+  padding-right: 30px;
+  // border: 1px solid #333;
+  // border-right: 1px solid #333;
+
+}
+
+table {
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  height: 32px;
+  border: 1px solid #333;
+  text-align: center;
+  padding: 5px;
+}
+
+</style>

+ 24 - 0
zkqy-ui/src/views/amichi/qualityControl/emptyLoad/dialogCom/detail.vue

@@ -0,0 +1,24 @@
+<template>
+  <div>
+    <titleComp></titleComp>
+    <formComp></formComp>
+    <testComp></testComp>
+    <div style="height: 30px;"></div>
+    <tableComp></tableComp>
+  </div>
+</template>
+
+<script>
+import titleComp from "@/views/amichi/qualityControl/components/titleComp.vue";
+import formComp from "./components/formComp.vue";
+import testComp from "./components/testComp.vue";
+import tableComp from "./components/tableComp.vue";
+
+export default {
+  components: { titleComp, formComp, testComp, tableComp }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 455 - 0
zkqy-ui/src/views/amichi/qualityControl/emptyLoad/index.vue

@@ -0,0 +1,455 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
+      <el-form-item label="发电机型号" prop="materialCode">
+        <el-input v-model="queryParams.materialCode" placeholder="请输入发电机型号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="正文号" prop="materialName">
+        <el-input v-model="queryParams.materialName" placeholder="请输入正文号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="File文件号" prop="modelNumber">
+        <el-input v-model="queryParams.modelNumber" placeholder="请输入File文件号" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="版次" prop="specification">
+        <el-input v-model="queryParams.specification" placeholder="请输入版次" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+
+      <el-form-item label="日期" prop="effectiveDate">
+        <el-date-picker clearable v-model="queryParams.effectiveDate" type="date" value-format="yyyy-MM-dd"
+          placeholder="请选择日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:materials:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:materials:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:materials:remove']">删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:materials:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table class="sysDictInfoTable" :data="materialsList" style="width: 100%;margin-top: 20px" row-key="id" lazy
+      ref="tableTree" :load="load" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table-column v-for="(item, index) in tableHeadData" :key="index" :prop="item.value" :label="item.label"
+        align="center" width="180">
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-dropdown @command="(command) => { handleCommand(command, scope.row) }">
+            <el-button type="warning">
+              操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item icon="el-icon-document" command="handleDetail">详情</el-dropdown-item>
+
+              <!-- <el-dropdown-item icon="el-icon-circle-plus-outline" command="handleAdd">新增</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item> -->
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改物料清单对话框 -->
+    <el-dialog :title="title" :visible.sync="openDetail" width="1200px" append-to-body>
+      <detailsComp></detailsComp>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delMaterialsUpdate, selectListTree, getTreeInfo, listMaterialsTree, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/amichi/materiel/materials";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import detailsComp from './dialogCom/detail.vue'
+export default {
+  name: "Materials",
+  components: { Treeselect, detailsComp },
+  data() {
+    return {
+      maps: new Map(),
+      materialRows: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物料清单表格数据
+      materialsList: [{
+        materialCode: '111',
+        materialName: '222',
+        modelNumber: '333',
+        specification: 'v1.0.1',
+        date: '2023.12.31'
+      }],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      openDetail: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        createById: null,
+        updateById: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      tableHeadData: [{
+        label: '发电机型号',
+        value: 'materialCode',
+      }, {
+        label: '正文号',
+        value: 'materialName',
+      }, {
+        label: 'File文件号',
+        value: 'modelNumber',
+      }, {
+        label: '版次',
+        value: 'specification',
+      }, {
+        label: '日期',
+        value: 'date',
+      }], //表头存储
+    };
+  },
+  created() {
+    //初始化用的
+    this.queryParams.fid = "0"
+    // this.getList();
+    this.selectListTree();
+  },
+  methods: {
+    // 表头筛选
+    cascaderChangeFun(e) {
+      this.optionsData = e
+      this.$nextTick(() => {
+        this.$refs['tableTree'].doLayout();
+      });
+    },
+
+    //查询租户信息列表
+    // getCodeTenantAllList(){
+    //   getCodeTenantAllList().then((response) => {
+    //     // console.log(response)
+    //     this.tenantRows = response.rows;
+    //   });
+    // },
+    selectListTree() {
+      selectListTree().then(response => {
+        this.materialRows = response.data;
+      });
+    },
+    //下拉菜单点击事件
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleUpdate":
+          this.handleUpdate(row)
+          break;
+        case "handleDelete":
+          this.handleDeleteOne(row)
+          break;
+        case "handleAdd":
+          this.handleAdd2(row);
+          break;
+        case "handleDetail":
+          this.handleDetail(row);
+          break;
+        default:
+          break;
+      }
+    },
+    refreshRow(row) {
+      const { fid } = row  //取出当前删除行的pid
+      console.log(fid)
+      console.log(this.maps.get(parseInt(fid)))
+      const { tree, treeNode, resolve } = this.maps.get(parseInt(fid)) //根据pid取出对应的节点数据
+      this.$set(this.$refs.tableTree.store.states.lazyTreeNodeMap, fid, []); //将对应节点下的数据清空,从而实现数据的重新加载
+      this.load(tree, treeNode, resolve)
+    },
+    load(tree, treeNode, resolve) {
+      const pid = tree.id
+      this.maps.set(pid, { tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
+      console.log(this.maps.get(10))
+      console.log(this.maps, "村进去");
+      getTreeInfo(tree.id).then(response => {
+        resolve(response.data);
+      });
+      // // console.log(resolve,"c")
+      // setTimeout(() => {
+      //   resolve([
+      //     {
+      //       id: 31,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }, {
+      //       id: 32,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }
+      //   ])
+      // }, 1000)},
+    },
+    /** 查询物料清单列表 */
+    getList() {
+      this.materialsList = [];
+      this.loading = true;
+      listMaterialsTree(this.queryParams).then(response => {
+        this.materialsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.openDetail = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.fid = ""
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.fid = "0"
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 详情页面
+    handleDetail(row) {
+      this.openDetail = true
+    },
+    /** 新增按钮操作 */
+    handleAdd2(row) {
+      this.reset();
+      this.selectListTree();
+      this.openDetail = true;
+      this.form.fid = row.id;
+      console.log("新增回显0k")
+      this.title = "添加物料清单";
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.selectListTree();
+      // this.open = true;
+      this.title = "添加物料清单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+
+      this.reset();
+      this.selectListTree();
+      const id = row.id || this.ids
+      getMaterials(id).then(response => {
+        this.form = response.data;
+        this.openDetail = true;
+        this.title = "修改物料清单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          } else {
+            addMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    handleDeleteOne(row) {
+      const ids = row.id;
+      console.log(row)
+      this.$confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        delMaterialsUpdate(ids).then(data => {
+          if (data.code == 666) {
+            this.$message({
+              message: data.msg,
+              type: 'warning'
+            });
+          } else if (data.code == 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.refreshRow(row);
+          }
+        })
+        this.getList();
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?').then(function () {
+        return delMaterialsUpdate(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/materials/export', {
+        ...this.queryParams
+      }, `materials_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped lang='scss'>
+// el-table表格对齐
+.sysDictInfoTable ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+  td:first-child {
+    padding-left: 23px !important; //一级数据无Child缩进
+  }
+}
+
+.sysDictInfoTable ::v-deep .el-table__placeholder {
+  margin-left: 3px; //子节点无Child缩进
+}
+</style>

+ 197 - 0
zkqy-ui/src/views/amichi/qualityControl/hotResistance/dialogCom/components/tableComp.vue

@@ -0,0 +1,197 @@
+<template>
+  <div>
+    <table>
+      <tr>
+        <td colspan="2"></td>
+        <td style="font-size: 18px;">测试状态</td>
+        <td style="border: 1px solid #333;"></td>
+        <td colspan="2">(剩磁,空载,短路)</td>
+      </tr>
+      <tr>
+        <td colspan="2"></td>
+        <td style="font-size: 18px;">温升</td>
+        <td ></td>
+        <td colspan="2">环温:</td>
+      </tr>
+    </table>
+    <table class="table1">
+
+      <tr>
+        <td>时间</td>
+        <td></td>
+        <td>定子绕组(UV)</td>
+        <td>转子绕组</td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>秒</td>
+        <td></td>
+        <td>Ω</td>
+        <td>Ω</td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr v-for="(item, index) in dataTable" :key="index">
+        <td>{{ item.title }}</td>
+        <td>{{ item.unit }}</td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </table>
+    <table>
+      <tr>
+        <td colspan="4" style="text-align: right;">PQC:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2" style="text-align: right;">试验人员:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="3" style="text-align: right;">时间:</td>
+        <td colspan="3" class="border"></td>
+        <td colspan="2"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataTable: [{
+        title: '0',
+        unit: '冷态电阻'
+      }, {
+        title: '15',
+        unit: '0:00:15'
+      }, {
+        title: '30',
+        unit: '0:00:30'
+      }, {
+        title: '45',
+        unit: '0:00:45'
+      }, {
+        title: '60',
+        unit: '0:01:00'
+      }, {
+        title: '75',
+        unit: '0:01:15'
+      }, {
+        title: '90',
+        unit: '0:01:30'
+      }, {
+        title: '105',
+        unit: '0:01:45'
+      }, {
+        title: '120',
+        unit: '0:02:00'
+      }, {
+        title: '135',
+        unit: '0:02:15'
+      }, {
+        title: '150',
+        unit: '0:02:30'
+      }, {
+        title: '165',
+        unit: '0:02:45'
+      }, {
+        title: '180',
+        unit: '0:03:00'
+      }, {
+        title: '195',
+        unit: '0:03:15'
+      }, {
+        title: '210',
+        unit: '0:03:30'
+      }, {
+        title: '225',
+        unit: '0:03:45'
+      }, {
+        title: '240',
+        unit: '0:04:00'
+      }, {
+        title: '255',
+        unit: '0:04:15'
+      }, {
+        title: '270',
+        unit: '0:04:30'
+      }, {
+        title: '285',
+        unit: '0:04:45'
+      }, {
+        title: '300',
+        unit: '0:05:00'
+      }, {
+        title: '315',
+        unit: '0:05:15'
+      }, {
+        title: '330',
+        unit: '0:05:30'
+      }, {
+        title: '345',
+        unit: '0:05:45'
+      }, {
+        title: '360',
+        unit: '0:06:00'
+      }, {
+        title: '375',
+        unit: '0:06:15'
+      }, {
+        title: '390',
+        unit: '0:06:30'
+      }, {
+        title: '405',
+        unit: '0:06:45'
+      }, {
+        title: '420',
+        unit: '0:07:00'
+      }, {
+        title: '435',
+        unit: '0:07:15'
+      }, {
+        title: '450',
+        unit: '0:07:30'
+      }, {
+        title: '465',
+        unit: '0:07:45'
+      }, {
+        title: '480',
+        unit: '0:08:00'
+      }, {
+        title: '495',
+        unit: '0:08:15'
+      }, {
+        title: '510',
+        unit: '0:08:30'
+      }, {
+        title: '525',
+        unit: '0:08:45'
+      }, {
+        title: '540',
+        unit: '0:09:00'
+      }]
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.table1 {
+
+  /* 合并边框 */
+  th,
+  td {
+    border: 1px solid #333;
+    text-align: center;
+    // padding: 5px 0;
+  }
+}
+
+table {
+  width: 90%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  table-layout:fixed;
+}
+</style>

+ 20 - 0
zkqy-ui/src/views/amichi/qualityControl/hotResistance/dialogCom/detail.vue

@@ -0,0 +1,20 @@
+<template>
+  <div>
+    <titleComp></titleComp>
+    <div style="height: 30px;"></div>
+    <tableComp></tableComp>
+  </div>
+</template>
+
+<script>
+import titleComp from "@/views/amichi/qualityControl/components/titleComp.vue";
+import tableComp from "./components/tableComp.vue";
+
+export default {
+  components: { titleComp, tableComp }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 453 - 0
zkqy-ui/src/views/amichi/qualityControl/hotResistance/index.vue

@@ -0,0 +1,453 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
+      <el-form-item label="发电机型号" prop="materialCode">
+        <el-input v-model="queryParams.materialCode" placeholder="请输入发电机型号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="正文号" prop="materialName">
+        <el-input v-model="queryParams.materialName" placeholder="请输入正文号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="File文件号" prop="modelNumber">
+        <el-input v-model="queryParams.modelNumber" placeholder="请输入File文件号" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="版次" prop="specification">
+        <el-input v-model="queryParams.specification" placeholder="请输入版次" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="日期" prop="effectiveDate">
+        <el-date-picker clearable v-model="queryParams.effectiveDate" type="date" value-format="yyyy-MM-dd"
+          placeholder="请选择日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:materials:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:materials:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:materials:remove']">删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:materials:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable=""></right-toolbar>
+    </el-row>
+
+    <el-table class="sysDictInfoTable" :data="materialsList" style="width: 100%;margin-top: 20px" row-key="id" lazy
+      ref="tableTree" :load="load" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table-column v-for="(item, index) in tableHeadData" :key="index" :prop="item.value" :label="item.label"
+        align="center" width="180">
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-dropdown @command="(command) => { handleCommand(command, scope.row) }">
+            <el-button type="warning">
+              操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item icon="el-icon-document" command="handleDetail">详情</el-dropdown-item>
+
+              <!-- <el-dropdown-item icon="el-icon-circle-plus-outline" command="handleAdd">新增</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item> -->
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改物料清单对话框 -->
+    <el-dialog :title="title" :visible.sync="openDetail" width="1200px" append-to-body>
+      <detailsComp></detailsComp>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delMaterialsUpdate, selectListTree, getTreeInfo, listMaterialsTree, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/amichi/materiel/materials";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import detailsComp from './dialogCom/detail.vue'
+export default {
+  name: "Materials",
+  components: { Treeselect, detailsComp },
+  data() {
+    return {
+      maps: new Map(),
+      materialRows: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物料清单表格数据
+      materialsList: [{
+        materialCode: '111',
+        materialName: '222',
+        modelNumber: '333',
+        specification: 'v1.0.1',
+        date: '2023.12.31'
+      }],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      openDetail: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        createById: null,
+        updateById: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      tableHeadData: [{
+        label: '发电机型号',
+        value: 'materialCode',
+      }, {
+        label: '正文号',
+        value: 'materialName',
+      }, {
+        label: 'File文件号',
+        value: 'modelNumber',
+      }, {
+        label: '版次',
+        value: 'specification',
+      }, {
+        label: '日期',
+        value: 'date',
+      }], //表头存储
+    };
+  },
+  created() {
+    //初始化用的
+    this.queryParams.fid = "0"
+    // this.getList();
+    this.selectListTree();
+  },
+  methods: {
+    // 表头筛选
+    cascaderChangeFun(e) {
+      this.optionsData = e
+      this.$nextTick(() => {
+        this.$refs['tableTree'].doLayout();
+      });
+    },
+
+    //查询租户信息列表
+    // getCodeTenantAllList(){
+    //   getCodeTenantAllList().then((response) => {
+    //     // console.log(response)
+    //     this.tenantRows = response.rows;
+    //   });
+    // },
+    selectListTree() {
+      selectListTree().then(response => {
+        this.materialRows = response.data;
+      });
+    },
+    //下拉菜单点击事件
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleUpdate":
+          this.handleUpdate(row)
+          break;
+        case "handleDelete":
+          this.handleDeleteOne(row)
+          break;
+        case "handleAdd":
+          this.handleAdd2(row);
+          break;
+        case "handleDetail":
+          this.handleDetail(row);
+          break;
+        default:
+          break;
+      }
+    },
+    refreshRow(row) {
+      const { fid } = row  //取出当前删除行的pid
+      console.log(fid)
+      console.log(this.maps.get(parseInt(fid)))
+      const { tree, treeNode, resolve } = this.maps.get(parseInt(fid)) //根据pid取出对应的节点数据
+      this.$set(this.$refs.tableTree.store.states.lazyTreeNodeMap, fid, []); //将对应节点下的数据清空,从而实现数据的重新加载
+      this.load(tree, treeNode, resolve)
+    },
+    load(tree, treeNode, resolve) {
+      const pid = tree.id
+      this.maps.set(pid, { tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
+      console.log(this.maps.get(10))
+      console.log(this.maps, "村进去");
+      getTreeInfo(tree.id).then(response => {
+        resolve(response.data);
+      });
+      // // console.log(resolve,"c")
+      // setTimeout(() => {
+      //   resolve([
+      //     {
+      //       id: 31,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }, {
+      //       id: 32,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }
+      //   ])
+      // }, 1000)},
+    },
+    /** 查询物料清单列表 */
+    getList() {
+      this.materialsList = [];
+      this.loading = true;
+      listMaterialsTree(this.queryParams).then(response => {
+        this.materialsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.openDetail = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.fid = ""
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.fid = "0"
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 详情页面
+    handleDetail(row) {
+      this.openDetail = true
+    },
+    /** 新增按钮操作 */
+    handleAdd2(row) {
+      this.reset();
+      this.selectListTree();
+      this.openDetail = true;
+      this.form.fid = row.id;
+      console.log("新增回显0k")
+      this.title = "添加物料清单";
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.selectListTree();
+      // this.open = true;
+      this.title = "添加物料清单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+
+      this.reset();
+      this.selectListTree();
+      const id = row.id || this.ids
+      getMaterials(id).then(response => {
+        this.form = response.data;
+        this.openDetail = true;
+        this.title = "修改物料清单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          } else {
+            addMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    handleDeleteOne(row) {
+      const ids = row.id;
+      console.log(row)
+      this.$confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        delMaterialsUpdate(ids).then(data => {
+          if (data.code == 666) {
+            this.$message({
+              message: data.msg,
+              type: 'warning'
+            });
+          } else if (data.code == 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.refreshRow(row);
+          }
+        })
+        this.getList();
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?').then(function () {
+        return delMaterialsUpdate(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/materials/export', {
+        ...this.queryParams
+      }, `materials_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped lang='scss'>
+// el-table表格对齐
+.sysDictInfoTable ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+  td:first-child {
+    padding-left: 23px !important; //一级数据无Child缩进
+  }
+}
+
+.sysDictInfoTable ::v-deep .el-table__placeholder {
+  margin-left: 3px; //子节点无Child缩进
+}
+</style>

+ 97 - 0
zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/components/formComp.vue

@@ -0,0 +1,97 @@
+<template>
+  <div class="form">
+    <table>
+      <tr>
+        <td>发电机型号:</td>
+        <td></td>
+        <td></td>
+        <td>相数:</td>
+        <td></td>
+        <td></td>
+        <td>正文号:</td>
+        <td></td>
+        <td style="width: 50px;"></td>
+      </tr>
+      <tr>
+        <td>额定功率:</td>
+        <td></td>
+        <td>kW</td>
+        <td>频率:</td>
+        <td></td>
+        <td>Hz</td>
+        <td>状态:</td>
+        <td>短路</td>
+      </tr>
+      <tr>
+        <td>额定电压:</td>
+        <td></td>
+        <td>V</td>
+        <td>转速:</td>
+        <td></td>
+        <td>mn-1</td>
+        <td>试验日期:</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>额定定子电流:</td>
+        <td></td>
+        <td>A</td>
+        <td>PF:</td>
+        <td></td>
+        <td></td>
+        <td>试验人员:</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="6"></td>
+        <td style="width: auto;border: 0;text-align: right;">PQC:</td>
+        <td style="width: 20%;border-bottom: 1px solid #333;"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.form {
+  padding: 30px 0;
+  // border: 1px solid #333;
+  border-top: 0;
+  border-bottom: 0;
+
+}
+
+table {
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  // border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+
+td:nth-child(2),
+td:nth-child(5),
+td:nth-child(8) {
+  width: 20%;
+  border-bottom: 1px solid #333;
+
+}
+
+td:nth-child(1),
+td:nth-child(4),
+td:nth-child(7) {
+  text-align: right;
+
+}
+</style>

+ 134 - 0
zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/components/tableComp.vue

@@ -0,0 +1,134 @@
+<template>
+  <div>
+    <table style="table-layout:fixed;">
+    <tr>
+      <td colspan="3">时间</td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+    </tr>
+    <tr v-for="(item, index) in dataTable" :key="index">
+      <td colspan="2">{{ item.title }}</td>
+      <td>{{ item.unit }}</td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+    </tr>
+  </table>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataTable: [{
+        title: 'U电压',
+        unit: 'V'
+      }, {
+        title: 'IU电流',
+        unit: 'A'
+      }, {
+        title: 'IV电流',
+        unit: 'A'
+      }, {
+        title: 'IW电流',
+        unit: 'A'
+      }, {
+        title: 'P有功',
+        unit: 'kW'
+      }, {
+        title: 'PF功率因数',
+        unit: ''
+      }, {
+        title: '频率',
+        unit: 'Hz'
+      }, {
+        title: '转速',
+        unit: 'RPM'
+      }, {
+        title: 'IEXC励磁电流',
+        unit: 'A'
+      }, {
+        title: '轴承DE',
+        unit: '℃'
+      }, {
+        title: '轴承NDE',
+        unit: '℃'
+      }, {
+        title: '润滑油DE',
+        unit: '℃'
+      }, {
+        title: '润滑油NDE',
+        unit: '℃'
+      }, {
+        title: '进风',
+        unit: '℃'
+      }, {
+        title: '出风',
+        unit: '℃'
+      }, {
+        title: '机壳',
+        unit: '℃'
+      }, {
+        title: '室温',
+        unit: '℃'
+      }, {
+        title: 'PT100(1)',
+        unit: '℃'
+      }, {
+        title: 'PT100(2)',
+        unit: '℃'
+      }, {
+        title: 'PT100(3)',
+        unit: '℃'
+      }, {
+        title: 'PT100(4)',
+        unit: '℃'
+      }, {
+        title: 'PT100(5)',
+        unit: '℃'
+      }, {
+        title: 'PT100(6)',
+        unit: '℃'
+      }]
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+table {
+
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  border: 1px solid #333;
+}
+th,
+td {
+  border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+</style>

+ 78 - 0
zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/components/testComp.vue

@@ -0,0 +1,78 @@
+<template>
+  <div class="test">
+    <table style="table-layout:fixed;">
+      <tr style="border: 0;">
+        <td colspan="3" style="font-size: 18px;border: 0;">温升试验</td>
+        <td colspan="6"  style="border: 0;">指导书:<span style="font-weight: 500;">T996-1 S055NU2</span></td>
+        <td colspan="4"  style="border: 0;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" rowspan="2">绕组名称</td>
+        <td colspan="3">冷态电阻, <span style="font-weight: 500;">ohm</span></td>
+        <td colspan="3">热态电阻, <span style="font-weight: 500;">ohm</span></td>
+        <td colspan="4" rowspan="2"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;">Ta ℃</td>
+        <td colspan="3" style="text-align: left;font-weight: 500;">Ta ℃</td>
+      </tr>
+      <tr>
+        <td colspan="3" rowspan="3">定子</td>
+        <td colspan="3" style="text-align: left;font-weight: 500;">U/V</td>
+        <td colspan="3"></td>
+        <td colspan="4" rowspan="3"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" >转子</td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+      <tr v-for="i in 2">
+        <td colspan="3" ></td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.test {
+  // padding-bottom: 30px;
+  padding-right: 30px;
+  // border: 1px solid #333;
+  // border-right: 1px solid #333;
+
+}
+
+table {
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  height: 32px;
+  border: 1px solid #333;
+  text-align: center;
+  padding: 5px;
+}
+
+</style>

+ 24 - 0
zkqy-ui/src/views/amichi/qualityControl/shortCircuit/dialogCom/detail.vue

@@ -0,0 +1,24 @@
+<template>
+  <div>
+    <titleComp></titleComp>
+    <formComp></formComp>
+    <testComp></testComp>
+    <div style="height: 30px;"></div>
+    <tableComp></tableComp>
+  </div>
+</template>
+
+<script>
+import titleComp from "@/views/amichi/qualityControl/components/titleComp.vue";
+import formComp from "./components/formComp.vue";
+import testComp from "./components/testComp.vue";
+import tableComp from "./components/tableComp.vue";
+
+export default {
+  components: { titleComp, formComp, testComp, tableComp }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 455 - 0
zkqy-ui/src/views/amichi/qualityControl/shortCircuit/index.vue

@@ -0,0 +1,455 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
+      <el-form-item label="发电机型号" prop="materialCode">
+        <el-input v-model="queryParams.materialCode" placeholder="请输入发电机型号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="正文号" prop="materialName">
+        <el-input v-model="queryParams.materialName" placeholder="请输入正文号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="File文件号" prop="modelNumber">
+        <el-input v-model="queryParams.modelNumber" placeholder="请输入File文件号" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="版次" prop="specification">
+        <el-input v-model="queryParams.specification" placeholder="请输入版次" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+
+      <el-form-item label="日期" prop="effectiveDate">
+        <el-date-picker clearable v-model="queryParams.effectiveDate" type="date" value-format="yyyy-MM-dd"
+          placeholder="请选择日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:materials:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:materials:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:materials:remove']">删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:materials:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table class="sysDictInfoTable" :data="materialsList" style="width: 100%;margin-top: 20px" row-key="id" lazy
+      ref="tableTree" :load="load" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table-column v-for="(item, index) in tableHeadData" :key="index" :prop="item.value" :label="item.label"
+        align="center" width="180">
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-dropdown @command="(command) => { handleCommand(command, scope.row) }">
+            <el-button type="warning">
+              操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item icon="el-icon-document" command="handleDetail">详情</el-dropdown-item>
+
+              <!-- <el-dropdown-item icon="el-icon-circle-plus-outline" command="handleAdd">新增</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item> -->
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改物料清单对话框 -->
+    <el-dialog :title="title" :visible.sync="openDetail" width="1200px" append-to-body>
+      <detailsComp></detailsComp>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delMaterialsUpdate, selectListTree, getTreeInfo, listMaterialsTree, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/amichi/materiel/materials";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import detailsComp from './dialogCom/detail.vue'
+export default {
+  name: "Materials",
+  components: { Treeselect, detailsComp },
+  data() {
+    return {
+      maps: new Map(),
+      materialRows: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物料清单表格数据
+      materialsList: [{
+        materialCode: '111',
+        materialName: '222',
+        modelNumber: '333',
+        specification: 'v1.0.1',
+        date: '2023.12.31'
+      }],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      openDetail: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        createById: null,
+        updateById: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      tableHeadData: [{
+        label: '发电机型号',
+        value: 'materialCode',
+      }, {
+        label: '正文号',
+        value: 'materialName',
+      }, {
+        label: 'File文件号',
+        value: 'modelNumber',
+      }, {
+        label: '版次',
+        value: 'specification',
+      }, {
+        label: '日期',
+        value: 'date',
+      }], //表头存储
+    };
+  },
+  created() {
+    //初始化用的
+    this.queryParams.fid = "0"
+    // this.getList();
+    this.selectListTree();
+  },
+  methods: {
+    // 表头筛选
+    cascaderChangeFun(e) {
+      this.optionsData = e
+      this.$nextTick(() => {
+        this.$refs['tableTree'].doLayout();
+      });
+    },
+
+    //查询租户信息列表
+    // getCodeTenantAllList(){
+    //   getCodeTenantAllList().then((response) => {
+    //     // console.log(response)
+    //     this.tenantRows = response.rows;
+    //   });
+    // },
+    selectListTree() {
+      selectListTree().then(response => {
+        this.materialRows = response.data;
+      });
+    },
+    //下拉菜单点击事件
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleUpdate":
+          this.handleUpdate(row)
+          break;
+        case "handleDelete":
+          this.handleDeleteOne(row)
+          break;
+        case "handleAdd":
+          this.handleAdd2(row);
+          break;
+        case "handleDetail":
+          this.handleDetail(row);
+          break;
+        default:
+          break;
+      }
+    },
+    refreshRow(row) {
+      const { fid } = row  //取出当前删除行的pid
+      console.log(fid)
+      console.log(this.maps.get(parseInt(fid)))
+      const { tree, treeNode, resolve } = this.maps.get(parseInt(fid)) //根据pid取出对应的节点数据
+      this.$set(this.$refs.tableTree.store.states.lazyTreeNodeMap, fid, []); //将对应节点下的数据清空,从而实现数据的重新加载
+      this.load(tree, treeNode, resolve)
+    },
+    load(tree, treeNode, resolve) {
+      const pid = tree.id
+      this.maps.set(pid, { tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
+      console.log(this.maps.get(10))
+      console.log(this.maps, "村进去");
+      getTreeInfo(tree.id).then(response => {
+        resolve(response.data);
+      });
+      // // console.log(resolve,"c")
+      // setTimeout(() => {
+      //   resolve([
+      //     {
+      //       id: 31,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }, {
+      //       id: 32,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }
+      //   ])
+      // }, 1000)},
+    },
+    /** 查询物料清单列表 */
+    getList() {
+      this.materialsList = [];
+      this.loading = true;
+      listMaterialsTree(this.queryParams).then(response => {
+        this.materialsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.openDetail = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.fid = ""
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.fid = "0"
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 详情页面
+    handleDetail(row) {
+      this.openDetail = true
+    },
+    /** 新增按钮操作 */
+    handleAdd2(row) {
+      this.reset();
+      this.selectListTree();
+      this.openDetail = true;
+      this.form.fid = row.id;
+      console.log("新增回显0k")
+      this.title = "添加物料清单";
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.selectListTree();
+      // this.open = true;
+      this.title = "添加物料清单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+
+      this.reset();
+      this.selectListTree();
+      const id = row.id || this.ids
+      getMaterials(id).then(response => {
+        this.form = response.data;
+        this.openDetail = true;
+        this.title = "修改物料清单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          } else {
+            addMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    handleDeleteOne(row) {
+      const ids = row.id;
+      console.log(row)
+      this.$confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        delMaterialsUpdate(ids).then(data => {
+          if (data.code == 666) {
+            this.$message({
+              message: data.msg,
+              type: 'warning'
+            });
+          } else if (data.code == 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.refreshRow(row);
+          }
+        })
+        this.getList();
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?').then(function () {
+        return delMaterialsUpdate(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/materials/export', {
+        ...this.queryParams
+      }, `materials_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped lang='scss'>
+// el-table表格对齐
+.sysDictInfoTable ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+  td:first-child {
+    padding-left: 23px !important; //一级数据无Child缩进
+  }
+}
+
+.sysDictInfoTable ::v-deep .el-table__placeholder {
+  margin-left: 3px; //子节点无Child缩进
+}
+</style>

+ 97 - 0
zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/components/formComp.vue

@@ -0,0 +1,97 @@
+<template>
+  <div class="form">
+    <table>
+      <tr>
+        <td>发电机型号:</td>
+        <td></td>
+        <td></td>
+        <td>相数:</td>
+        <td></td>
+        <td></td>
+        <td>正文号:</td>
+        <td></td>
+        <td style="width: 50px;"></td>
+      </tr>
+      <tr>
+        <td>额定功率:</td>
+        <td></td>
+        <td>kW</td>
+        <td>频率:</td>
+        <td></td>
+        <td>Hz</td>
+        <td>状态:</td>
+        <td>剩磁</td>
+      </tr>
+      <tr>
+        <td>额定电压:</td>
+        <td></td>
+        <td>V</td>
+        <td>转速:</td>
+        <td></td>
+        <td>mn-1</td>
+        <td>试验日期:</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>额定定子电流:</td>
+        <td></td>
+        <td>A</td>
+        <td>PF:</td>
+        <td></td>
+        <td></td>
+        <td>试验人员:</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td colspan="6"></td>
+        <td style="width: auto;border: 0;text-align: right;">PQC:</td>
+        <td style="width: 20%;border-bottom: 1px solid #333;"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.form {
+  padding: 30px 0;
+  // border: 1px solid #333;
+  border-top: 0;
+  border-bottom: 0;
+
+}
+
+table {
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  // border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+
+td:nth-child(2),
+td:nth-child(5),
+td:nth-child(8) {
+  width: 20%;
+  border-bottom: 1px solid #333;
+
+}
+
+td:nth-child(1),
+td:nth-child(4),
+td:nth-child(7) {
+  text-align: right;
+
+}
+</style>

+ 134 - 0
zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/components/tableComp.vue

@@ -0,0 +1,134 @@
+<template>
+  <div>
+    <table style="table-layout:fixed;">
+    <tr>
+      <td colspan="3">时间</td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+    </tr>
+    <tr v-for="(item, index) in dataTable" :key="index">
+      <td colspan="2">{{ item.title }}</td>
+      <td>{{ item.unit }}</td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+      <td></td>
+    </tr>
+  </table>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataTable: [{
+        title: 'U电压',
+        unit: 'V'
+      }, {
+        title: 'IU电流',
+        unit: 'A'
+      }, {
+        title: 'IV电流',
+        unit: 'A'
+      }, {
+        title: 'IW电流',
+        unit: 'A'
+      }, {
+        title: 'P有功',
+        unit: 'kW'
+      }, {
+        title: 'PF功率因数',
+        unit: ''
+      }, {
+        title: '频率',
+        unit: 'Hz'
+      }, {
+        title: '转速',
+        unit: 'RPM'
+      }, {
+        title: 'IEXC励磁电流',
+        unit: 'A'
+      }, {
+        title: '轴承DE',
+        unit: '℃'
+      }, {
+        title: '轴承NDE',
+        unit: '℃'
+      }, {
+        title: '润滑油DE',
+        unit: '℃'
+      }, {
+        title: '润滑油NDE',
+        unit: '℃'
+      }, {
+        title: '进风',
+        unit: '℃'
+      }, {
+        title: '出风',
+        unit: '℃'
+      }, {
+        title: '机壳',
+        unit: '℃'
+      }, {
+        title: '室温',
+        unit: '℃'
+      }, {
+        title: 'PT100(1)',
+        unit: '℃'
+      }, {
+        title: 'PT100(2)',
+        unit: '℃'
+      }, {
+        title: 'PT100(3)',
+        unit: '℃'
+      }, {
+        title: 'PT100(4)',
+        unit: '℃'
+      }, {
+        title: 'PT100(5)',
+        unit: '℃'
+      }, {
+        title: 'PT100(6)',
+        unit: '℃'
+      }]
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+table {
+
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  border: 1px solid #333;
+}
+th,
+td {
+  border: 1px solid #333;
+  border-top: 0;
+  text-align: center;
+  padding: 5px 0;
+}
+</style>

+ 78 - 0
zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/components/testComp.vue

@@ -0,0 +1,78 @@
+<template>
+  <div class="test">
+    <table style="table-layout:fixed;">
+      <tr style="border: 0;">
+        <td colspan="3" style="font-size: 18px;border: 0;">温升试验</td>
+        <td colspan="6"  style="border: 0;">指导书:<span style="font-weight: 500;">T996-1 S055NU2</span></td>
+        <td colspan="4"  style="border: 0;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" rowspan="2">绕组名称</td>
+        <td colspan="3">冷态电阻, <span style="font-weight: 500;">ohm</span></td>
+        <td colspan="3">热态电阻, <span style="font-weight: 500;">ohm</span></td>
+        <td colspan="4" rowspan="2"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;">Ta ℃</td>
+        <td colspan="3" style="text-align: left;font-weight: 500;">Ta ℃</td>
+      </tr>
+      <tr>
+        <td colspan="3" rowspan="3">定子</td>
+        <td colspan="3" style="text-align: left;font-weight: 500;">U/V</td>
+        <td colspan="3"></td>
+        <td colspan="4" rowspan="3"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+        <td colspan="3" style="text-align: left;font-weight: 500;"></td>
+      </tr>
+      <tr>
+        <td colspan="3" >转子</td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+      <tr v-for="i in 2">
+        <td colspan="3" ></td>
+        <td colspan="3"></td>
+        <td colspan="3"></td>
+        <td colspan="4"></td>
+      </tr>
+    </table>
+  </div>
+</template>
+
+<script>
+
+</script>
+
+<style scoped lang="scss">
+.test {
+  // padding-bottom: 30px;
+  padding-right: 30px;
+  // border: 1px solid #333;
+  // border-right: 1px solid #333;
+
+}
+
+table {
+  width: 100%;
+  padding-right: 20px;
+  border-collapse: collapse;
+  /* 合并边框 */
+  // border: 1px solid #333;
+}
+
+th,
+td {
+  height: 32px;
+  border: 1px solid #333;
+  text-align: center;
+  padding: 5px;
+}
+
+</style>

+ 24 - 0
zkqy-ui/src/views/amichi/qualityControl/tempRemanence/dialogCom/detail.vue

@@ -0,0 +1,24 @@
+<template>
+  <div>
+    <titleComp></titleComp>
+    <formComp></formComp>
+    <testComp></testComp>
+    <div style="height: 30px;"></div>
+    <tableComp></tableComp>
+  </div>
+</template>
+
+<script>
+import titleComp from "@/views/amichi/qualityControl/components/titleComp.vue";
+import formComp from "./components/formComp.vue";
+import testComp from "./components/testComp.vue";
+import tableComp from "./components/tableComp.vue";
+
+export default {
+  components: { titleComp, formComp, testComp, tableComp }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 453 - 0
zkqy-ui/src/views/amichi/qualityControl/tempRemanence/index.vue

@@ -0,0 +1,453 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
+      <el-form-item label="发电机型号" prop="materialCode">
+        <el-input v-model="queryParams.materialCode" placeholder="请输入发电机型号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="正文号" prop="materialName">
+        <el-input v-model="queryParams.materialName" placeholder="请输入正文号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="File文件号" prop="modelNumber">
+        <el-input v-model="queryParams.modelNumber" placeholder="请输入File文件号" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="版次" prop="specification">
+        <el-input v-model="queryParams.specification" placeholder="请输入版次" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="日期" prop="effectiveDate">
+        <el-date-picker clearable v-model="queryParams.effectiveDate" type="date" value-format="yyyy-MM-dd"
+          placeholder="请选择日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:materials:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:materials:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:materials:remove']">删除</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:materials:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable=""></right-toolbar>
+    </el-row>
+
+    <el-table class="sysDictInfoTable" :data="materialsList" style="width: 100%;margin-top: 20px" row-key="id" lazy
+      ref="tableTree" :load="load" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table-column v-for="(item, index) in tableHeadData" :key="index" :prop="item.value" :label="item.label"
+        align="center" width="180">
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-dropdown @command="(command) => { handleCommand(command, scope.row) }">
+            <el-button type="warning">
+              操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item icon="el-icon-document" command="handleDetail">详情</el-dropdown-item>
+
+              <!-- <el-dropdown-item icon="el-icon-circle-plus-outline" command="handleAdd">新增</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-edit" command="handleUpdate">修改</el-dropdown-item>
+              <el-dropdown-item icon="el-icon-delete" command="handleDelete">删除</el-dropdown-item> -->
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改物料清单对话框 -->
+    <el-dialog :title="title" :visible.sync="openDetail" width="1200px" append-to-body>
+      <detailsComp></detailsComp>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delMaterialsUpdate, selectListTree, getTreeInfo, listMaterialsTree, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/amichi/materiel/materials";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import detailsComp from './dialogCom/detail.vue'
+export default {
+  name: "Materials",
+  components: { Treeselect, detailsComp },
+  data() {
+    return {
+      maps: new Map(),
+      materialRows: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物料清单表格数据
+      materialsList: [{
+        materialCode: '111',
+        materialName: '222',
+        modelNumber: '333',
+        specification: 'v1.0.1',
+        date: '2023.12.31'
+      }],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      openDetail: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        createById: null,
+        updateById: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      tableHeadData: [{
+        label: '发电机型号',
+        value: 'materialCode',
+      }, {
+        label: '正文号',
+        value: 'materialName',
+      }, {
+        label: 'File文件号',
+        value: 'modelNumber',
+      }, {
+        label: '版次',
+        value: 'specification',
+      }, {
+        label: '日期',
+        value: 'date',
+      }], //表头存储
+    };
+  },
+  created() {
+    //初始化用的
+    this.queryParams.fid = "0"
+    // this.getList();
+    this.selectListTree();
+  },
+  methods: {
+    // 表头筛选
+    cascaderChangeFun(e) {
+      this.optionsData = e
+      this.$nextTick(() => {
+        this.$refs['tableTree'].doLayout();
+      });
+    },
+
+    //查询租户信息列表
+    // getCodeTenantAllList(){
+    //   getCodeTenantAllList().then((response) => {
+    //     // console.log(response)
+    //     this.tenantRows = response.rows;
+    //   });
+    // },
+    selectListTree() {
+      selectListTree().then(response => {
+        this.materialRows = response.data;
+      });
+    },
+    //下拉菜单点击事件
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleUpdate":
+          this.handleUpdate(row)
+          break;
+        case "handleDelete":
+          this.handleDeleteOne(row)
+          break;
+        case "handleAdd":
+          this.handleAdd2(row);
+          break;
+        case "handleDetail":
+          this.handleDetail(row);
+          break;
+        default:
+          break;
+      }
+    },
+    refreshRow(row) {
+      const { fid } = row  //取出当前删除行的pid
+      console.log(fid)
+      console.log(this.maps.get(parseInt(fid)))
+      const { tree, treeNode, resolve } = this.maps.get(parseInt(fid)) //根据pid取出对应的节点数据
+      this.$set(this.$refs.tableTree.store.states.lazyTreeNodeMap, fid, []); //将对应节点下的数据清空,从而实现数据的重新加载
+      this.load(tree, treeNode, resolve)
+    },
+    load(tree, treeNode, resolve) {
+      const pid = tree.id
+      this.maps.set(pid, { tree, treeNode, resolve })  //将当前选中节点数据存储到maps中
+      console.log(this.maps.get(10))
+      console.log(this.maps, "村进去");
+      getTreeInfo(tree.id).then(response => {
+        resolve(response.data);
+      });
+      // // console.log(resolve,"c")
+      // setTimeout(() => {
+      //   resolve([
+      //     {
+      //       id: 31,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }, {
+      //       id: 32,
+      //       date: '2016-05-01',
+      //       name: '王小虎',
+      //       address: '上海市普陀区金沙江路 1519 弄'
+      //     }
+      //   ])
+      // }, 1000)},
+    },
+    /** 查询物料清单列表 */
+    getList() {
+      this.materialsList = [];
+      this.loading = true;
+      listMaterialsTree(this.queryParams).then(response => {
+        this.materialsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.openDetail = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fid: null,
+        materialCode: null,
+        materialName: null,
+        modelNumber: null,
+        specification: null,
+        dosageMolecular: null,
+        usageDenominator: null,
+        skipOrNot: null,
+        materialProperty: null,
+        dataState: null,
+        bomVersion: null,
+        materialIssueMethod: null,
+        job: null,
+        subitemType: null,
+        standardDosage: null,
+        actualQuantity: null,
+        auxiliaryAttribute: null,
+        dosageType: null,
+        fixedLoss: null,
+        changeTheAttritionRate: null,
+        alternativeStrategy: null,
+        alternativeMode: null,
+        substituteMaterial: null,
+        effectiveDate: null,
+        expirationDate: null,
+        presenceOfCobyproducts: null,
+        standardSubitemUsage: null,
+        actualSubitemUsage: null,
+        inventory: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        dataApprovalStatus: null,
+        processKey: null,
+        taskProcessKey: null,
+        taskNodeKey: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.fid = ""
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams.fid = "0"
+      this.queryParams.pageNum = 1;
+      // this.getList();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 详情页面
+    handleDetail(row) {
+      this.openDetail = true
+    },
+    /** 新增按钮操作 */
+    handleAdd2(row) {
+      this.reset();
+      this.selectListTree();
+      this.openDetail = true;
+      this.form.fid = row.id;
+      console.log("新增回显0k")
+      this.title = "添加物料清单";
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.selectListTree();
+      // this.open = true;
+      this.title = "添加物料清单";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+
+      this.reset();
+      this.selectListTree();
+      const id = row.id || this.ids
+      getMaterials(id).then(response => {
+        this.form = response.data;
+        this.openDetail = true;
+        this.title = "修改物料清单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          } else {
+            addMaterials(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openDetail = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    handleDeleteOne(row) {
+      const ids = row.id;
+      console.log(row)
+      this.$confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        delMaterialsUpdate(ids).then(data => {
+          if (data.code == 666) {
+            this.$message({
+              message: data.msg,
+              type: 'warning'
+            });
+          } else if (data.code == 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.refreshRow(row);
+          }
+        })
+        this.getList();
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除物料清单编号为"' + ids + '"的数据项?').then(function () {
+        return delMaterialsUpdate(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/materials/export', {
+        ...this.queryParams
+      }, `materials_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style scoped lang='scss'>
+// el-table表格对齐
+.sysDictInfoTable ::v-deep .el-table__row:not([class*="el-table__row--level-"]) {
+  td:first-child {
+    padding-left: 23px !important; //一级数据无Child缩进
+  }
+}
+
+.sysDictInfoTable ::v-deep .el-table__placeholder {
+  margin-left: 3px; //子节点无Child缩进
+}
+</style>