tongshanglei 3 年 前
コミット
54592d12d3

+ 1 - 1
src/views/device/hydraulic/detail.vue

@@ -20,7 +20,7 @@
               </div>
               <div class="detail-item">
                 <pre style="display: inline">型    号:</pre>
-                <span class="item">{{ record.model }}</span>
+                <span class="item">{{ record.model_name }}</span>
               </div>
               <div class="detail-item">
                 <span>所属部门:</span>

+ 33 - 3
src/views/device/hydraulic/formModel.vue

@@ -18,6 +18,32 @@
 export default {
   props: ["formModelVisible", "title"],
   data() {
+    var validateMaxPressure = (rule, value, callback) => {
+        if ( (value !== '') && (this.formFieldsData.min_pressure !=='')) {
+            var min_pressure = this.formFieldsData.min_pressure - 0;
+            var max_pressure = value - 0;
+            if (min_pressure > max_pressure) {
+                callback(new Error('不能小于最小压力'))
+            } else {
+                callback()
+            }
+        } else {
+           callback()
+        }
+    };
+    var validateMinPressure = (rule, value, callback) => {
+        if ( (value !== '') && (this.formFieldsData.max_pressure !=='')) {
+            var max_pressure = this.formFieldsData.max_pressure - 0;
+            var min_pressure = value - 0;
+            if (min_pressure > max_pressure) {
+                callback(new Error('不能大于最大压力'))
+            } else {
+                callback()
+            }
+        } else {
+           callback()
+        }
+    };
     return {
       formData: {},
       deviceTypes:[],
@@ -30,7 +56,7 @@ export default {
         supplier:"",
         max_pressure:"",
         min_pressure:"",
-        out_date:null,
+        out_date:"",
         remark: ""
       },
       url: "hydraulic",
@@ -90,10 +116,14 @@ export default {
           },
           remark: {
             type: "textarea",
-            label: "备注"
+            label: "显示信息"
           }
         },
-        order: ["department_id","number", "name", "model","brand","supplier","max_pressure","min_pressure","out_date","remark"]
+        rules: {
+          max_pressure:  { validator: validateMaxPressure, trigger: 'blur' } ,
+          min_pressure:  { validator: validateMinPressure, trigger: 'blur' } ,
+        },
+        order: ["department_id","number", "name", "model","brand","supplier","min_pressure","max_pressure","out_date","remark"]
       }
     };
   },

+ 2 - 2
src/views/device/hydraulic/index.vue

@@ -273,7 +273,7 @@
       />
       <el-table-column
         label="操作"
-        min-width="185"
+        width="180"
         align="center"
         fixed="right"
       >
@@ -311,7 +311,7 @@
           <div class="head">选择显示字段</div>
           <div class="body">
             <el-checkbox v-model="checkList.depart_name" disabled>所属部门</el-checkbox>
-            <el-checkbox v-model="checkList.alarm_state_text" disabled>告警状态</el-checkbox>
+            <!-- <el-checkbox v-model="checkList.alarm_state_text" disabled>告警状态</el-checkbox> -->
             <el-checkbox v-model="checkList.net_state">在线状态</el-checkbox>
             <el-checkbox v-model="checkList.number">编号</el-checkbox>
             <el-checkbox v-model="checkList.name">名称</el-checkbox>

+ 62 - 192
src/views/device/wrench/detail.vue

@@ -15,33 +15,34 @@
               style="margin-top: 10px; font-size: 14px; color: #a0a0a0"
             >
               <div class="detail-item">
-                <span>法兰编号:</span>
-                <span class="item">{{ data.number }}</span>
+                <pre style="display: inline">名    称:</pre>
+                <span class="item">{{ record.name }}</span>
               </div>
               <div class="detail-item">
-                <pre style="display: inline">    号:</pre>
-                <span class="item">{{ data.model }}</span>
+                <pre style="display: inline">    号:</pre>
+                <span class="item">{{ record.number }}</span>
               </div>
+             
               <div class="detail-item">
                 <span>所属部门:</span>
-                <span class="item">{{ data.depart_name }}</span>
+                <span class="item">{{ record.depart_name }}</span>
               </div>
             </el-col>
             <el-col
               :span="6"
               style="margin-top: 10px; font-size: 14px; color: #a0a0a0"
             >
-              <div class="detail-item">
-                <pre style="display: inline">名    称:</pre>
-                <span class="item">{{ data.name }}</span>
+               <div class="detail-item">
+                <pre style="display: inline">型    号:</pre>
+                <span class="item">{{ record.model_name }}</span>
               </div>
               <div class="detail-item">
-                <span>使用状态:</span>
-                <span class="item">在用</span>
+                <span>压力范围:</span>
+                <span class="item">{{ record.min_pressure }}~{{ record.max_pressure }}</span>
               </div>
               <div class="detail-item">
-                <pre style="display: inline">品    牌:</pre>
-                <span class="item">{{ data.brand }}</span>
+                <span>扭矩范围:</span>
+                <span class="item">{{ record.min_torque }}~{{ record.max_torque }}</span>
               </div>
             </el-col>
             <el-col
@@ -50,212 +51,72 @@
             >
               <div class="detail-item">
                 <pre style="display: inline">供 应 商:</pre>
-                <span class="item">{{ data.supplier }}</span>
-              </div>
-              <div class="detail-item">
-                <span>出厂日期:</span>
-                <span class="item">{{ data.out_date }}</span>
-              </div>
-              <div class="detail-item">
-                <pre style="display: inline">备    注:</pre>
-                <span class="item">{{ data.remark }}</span>
-              </div>
-            </el-col>
-            <el-col :span="6"></el-col>
-          </div>
-        </el-row>
-        <el-divider content-position="left">实时维护信息</el-divider>
-        <el-row>
-          <div style="margin-bottom: 30px; margin-left: 50px">
-            <el-col
-              :span="6"
-              style="margin-top: 10px; font-size: 14px; color: #a0a0a0"
-            >
-              <div class="detail-item">
-                <span>校准系数a:</span>
-                <span class="item">{{ data.coefficient_a }}</span>
+                <span class="item">{{ record.supplier }}</span>
               </div>
               <div class="detail-item">
-                <pre style="display: inline">校准系数b:</pre>
-                <span class="item">{{ data.coefficient_b }}</span>
-              </div>
-            </el-col>
-            <el-col
-              :span="6"
-              style="margin-top: 10px; font-size: 14px; color: #a0a0a0"
-            >
-              <div class="detail-item">
-                <pre style="display: inline">校准时间:</pre>
-                <span class="item">2022-02-16 18:30:41</span>
-              </div>
-              <div class="detail-item">
-                <span>校验台编号:</span>
-                <span class="item">{{ data.checked_no }}</span>
-              </div>
-            </el-col>
-            <el-col
-              :span="6"
-              style="margin-top: 10px; font-size: 14px; color: #a0a0a0"
-            >
-              <div class="detail-item">
-                <pre style="display: inline">校验结果:</pre>
-                <span class="item">合格</span>
+                <pre style="display: inline">品    牌:</pre>
+                <span class="item">{{ record.brand }}</span>
               </div>
               <div class="detail-item">
-                <span>操作员:</span>
-                <span class="item">张速</span>
+                <span>出厂日期:</span>
+                <span class="item">{{ record.out_date }}</span>
               </div>
+              <!-- <div class="detail-item">
+                <pre style="display: inline">备    注:</pre>
+                <span class="item">{{ darecordta.remark }}</span>
+              </div> -->
             </el-col>
             <el-col :span="6"></el-col>
           </div>
         </el-row>
       </el-tab-pane>
-      <el-tab-pane label="实时维保信息" name="fourth">
-        <el-table :data="nowData" style="width: 100%; margin-left: 20px">
-          <el-table-column prop="coefficient_a" label="校验系数a">
-          </el-table-column>
-          <el-table-column prop="coefficient_b" label="校验系数b">
-          </el-table-column>
-          <el-table-column prop="checked_time" label="校验时间">
-          </el-table-column>
-          <el-table-column prop="checked_no" label="校验台编号">
-          </el-table-column>
-          <el-table-column prop="checked_res" label="校验结果">
-          </el-table-column>
-          <el-table-column prop="operator" label="操作员"> </el-table-column>
-        </el-table>
-      </el-tab-pane>
-      <el-tab-pane label="历史维保记录" name="five">
-        <el-table :data="historyData" style="width: 100%; margin-left: 20px">
-          <el-table-column prop="coefficient_a" label="校验系数a">
-          </el-table-column>
-          <el-table-column prop="coefficient_b" label="校验系数b">
-          </el-table-column>
-          <el-table-column prop="checked_time" label="校验时间">
-          </el-table-column>
-          <el-table-column prop="checked_no" label="校验台编号">
-          </el-table-column>
-          <el-table-column prop="checked_res" label="校验结果">
-          </el-table-column>
-          <el-table-column prop="operator" label="操作员"> </el-table-column>
+      <el-tab-pane label="校验记录" name="fourth">
+        <el-table :data="data" style="width: 100%; margin-left: 20px">
+          <el-table-column prop="max_pressure" label="最大压力" align="center"></el-table-column>
+          <el-table-column prop="min_pressure" label="最小压力" align="center"></el-table-column>
+          <el-table-column prop="max_torque" label="最大扭矩" align="center"></el-table-column>
+          <el-table-column prop="min_torque" label="最小扭矩" align="center"></el-table-column>
+          <el-table-column prop="check_state" label="检测是否合格" align="center"></el-table-column>
+          <el-table-column prop="exterior_state" label="外观是否合格" align="center"></el-table-column>
+          <el-table-column prop="hydraulic_number" label="泵编号" align="center"></el-table-column>
+          <el-table-column prop="checked_user" label="检验员" align="center"></el-table-column>
+          <el-table-column prop="check_time" label="检验时间" align="center" min-width="160"></el-table-column>
+
+
         </el-table>
+        <el-pagination
+      background
+      class="pagination-container"
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="paginate.current"
+      :page-sizes="paginate.sizes"
+      :page-size="paginate.limit"
+      :layout="paginate.layout"
+      :total="paginate.total"
+    />
       </el-tab-pane>
+     
     </el-tabs>
   </el-drawer>
 </template>
 <script>
+import rlListOperate from "@/layout/rl-list-operate/rlListOperate";
 export default {
-  props: ["detailVisible", "data"],
+  props: ["detailVisible", "record"],
+   mixins: [rlListOperate],
   data() {
     return {
+      url:'wrenchCheckLog',
       drawer: false,
+      data:[],
       direction: "rtl",
       activeName: "first",
-      nowData: [
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-      ],
-      historyData: [
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-        {
-          coefficient_a: "1",
-          coefficient_b: "2",
-          checked_time: "2022-03-02 15:31:54",
-          checked_no: "200001",
-          checked_res: "合格",
-          operator: "张速",
-        },
-      ],
     };
   },
   methods: {
     handleClick(tab, event) {
-      console.log(tab, event);
+      // console.log(tab, event);
     },
     tableRowClassName({ row, rowIndex }) {
       if (rowIndex === 1) {
@@ -272,6 +133,11 @@ export default {
         this.$emit("sendVal", val); // 表示将子组件改变的值传递给父组件
       },
       get() {
+        if(this.detailVisible){
+          //获取维护记录
+          this.queryParam.device_number=this.record.number
+          this.getList()
+        }
         return this.detailVisible; // 表示获取父组件的值
       },
     },
@@ -296,4 +162,8 @@ export default {
 .el-table .success-row {
   background: #f0f9eb !important;
 }
+.pagination-container{
+  padding-left:25px;
+  padding-right:25px;
+}
 </style>

+ 94 - 9
src/views/device/wrench/formModel.vue

@@ -18,6 +18,69 @@
 export default {
   props: ["formModelVisible", "title"],
   data() {
+    // var validateInt = (rule, value, callback) => {
+    //     if (value !== '') {
+    //         if ((/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/).test(value) === false) {
+    //             callback(new Error('不能小于0'))
+    //         } else {
+    //             callback()
+    //         }
+    //     } else {
+    //        callback()
+    //     }
+    // };
+    var validateMaxPressure = (rule, value, callback) => {
+        if ( (value !== '') && (this.formFieldsData.min_pressure !=='')) {
+            var min_pressure = this.formFieldsData.min_pressure - 0;
+            var max_pressure = value - 0;
+            if (min_pressure > max_pressure) {
+                callback(new Error('不能小于最小压力'))
+            } else {
+                callback()
+            }
+        } else {
+           callback()
+        }
+    };
+    var validateMinPressure = (rule, value, callback) => {
+        if ( (value !== '') && (this.formFieldsData.max_pressure !=='')) {
+            var max_pressure = this.formFieldsData.max_pressure - 0;
+            var min_pressure = value - 0;
+            if (min_pressure > max_pressure) {
+                callback(new Error('不能大于最大压力'))
+            } else {
+                callback()
+            }
+        } else {
+           callback()
+        }
+    };
+    var validateMaxTorque = (rule, value, callback) => {
+        if ( (value !== '') && (this.formFieldsData.min_torque !=='')) {
+            var min_torque = this.formFieldsData.min_torque - 0;
+            var max_torque = value - 0;
+            if (min_torque > max_torque) {
+                callback(new Error('不能小于最小压力'))
+            } else {
+                callback()
+            }
+        } else {
+           callback()
+        }
+    };
+    var validateMinTorque = (rule, value, callback) => {
+        if ( (value !== '') && (this.formFieldsData.max_torque !=='')) {
+            var max_torque = this.formFieldsData.max_torque - 0;
+            var min_torque = value - 0;
+            if (min_torque > max_torque) {
+                callback(new Error('不能大于最大压力'))
+            } else {
+                callback()
+            }
+        } else {
+           callback()
+        }
+    };
     return {
       formData: {},
       formFieldsData: {
@@ -28,10 +91,13 @@ export default {
         brand:"",
         supplier:"",
         out_date:"",
-        remark: "",
-        type:1
+
+        max_torque: "",
+        min_torque: "",
+        max_pressure: "",
+        min_pressure: "",
       },
-      url: "hydraulic",
+      url: "wrench",
       formConfig: {
         formDesc: {
           department_id: {
@@ -73,16 +139,35 @@ export default {
             type: "input",
             label: "供应商"
           },
-            out_date: {
+          max_pressure: {
+            type: "input",
+            label: "最大压力"
+          },
+          min_pressure: {
+            type: "input",
+            label: "最小压力"
+          },
+           max_torque: {
+            type: "input",
+            label: "最大扭矩"
+          },
+          min_torque: {
+            type: "input",
+            label: "最小扭矩"
+          },
+          out_date: {
             type: "date",
             label: "出厂日期"
           },
-          remark: {
-            type: "textarea",
-            label: "备注"
-          }
+         
+        },
+        rules: {
+          max_pressure:  { validator: validateMaxPressure, trigger: 'blur' } ,
+          min_pressure:  { validator: validateMinPressure, trigger: 'blur' } ,
+          max_torque:  { validator: validateMaxTorque, trigger: 'blur' } ,
+          min_torque:  { validator: validateMinTorque, trigger: 'blur' } ,
         },
-        order: ["department_id","number", "name", "model","brand","supplier","out_date","remark"]
+        order: ["department_id","number", "name", "model","brand","supplier","min_pressure","max_pressure","min_torque","max_torque","out_date"]
       }
     };
   },

+ 73 - 24
src/views/device/wrench/index.vue

@@ -35,13 +35,19 @@
           />
         </div>
         <div class="search-item">
-          <el-input
+          <el-select
             v-model="queryParam.model"
-            placeholder="型号"
-            clearable
+            placeholder="设备型号"
             class="filter-item form-search-input fl"
-            @keyup.enter.native="handleSearch"
-          />
+            clearable
+          >
+          <el-option
+                v-for="item in deviceTypes"
+                :key="item.value"
+                :label="item.text"
+                :value="item.value">
+              </el-option>
+          </el-select>
         </div>
         <div class="search-item">
           <el-select
@@ -117,7 +123,7 @@
         :show-overflow-tooltip="true"
         width="150"
       />
-      <el-table-column
+      <!-- <el-table-column
         prop="alarm_state_text"
         label="告警状态"
         align="center"
@@ -133,7 +139,7 @@
               >{{ record.row.alarm_state_text }}</el-tag
             >
         </template>
-      </el-table-column>
+      </el-table-column> -->
 
       <el-table-column
         prop="net_state"
@@ -184,10 +190,10 @@
         width="120"
       />
       <el-table-column
-        prop="model"
+        prop="model_name"
         label="型号"
         align="center"
-        v-if="showColumn.model"
+        v-if="showColumn.model_name"
         :show-overflow-tooltip="true"
       />
       <el-table-column
@@ -198,7 +204,7 @@
         :show-overflow-tooltip="true"
         width="150"
       />
-      <el-table-column
+      <!-- <el-table-column
         prop="is_used"
         label="使用状态"
         align="center"
@@ -212,15 +218,49 @@
           >
           <el-tag type="success" v-else>已使用</el-tag>
         </template>
-      </el-table-column>
+      </el-table-column> -->
        <el-table-column
         prop="online_time"
         label="在线时间"
         align="center"
         v-if="showColumn.online_time"
-        width="200"
+        width="180"
         sortable
       />
+
+       <el-table-column
+        prop="max_pressure"
+        label="最大压力"
+        align="center"
+        v-if="showColumn.max_pressure"
+        width="120"
+        sortable
+      />
+       <el-table-column
+        prop="min_pressure"
+        label="最小压力"
+        align="center"
+        v-if="showColumn.min_pressure"
+         width="120"
+        sortable
+      />
+       <el-table-column
+        prop="max_torque"
+        label="最大扭矩"
+        align="center"
+        v-if="showColumn.max_torque"
+         width="120"
+        sortable
+      />
+       <el-table-column
+        prop="min_torque"
+        label="最小扭矩"
+        align="center"
+        v-if="showColumn.min_torque"
+         width="120"
+        sortable
+      />
+
       <el-table-column
         prop="creator_user"
         label="导入用户"
@@ -246,7 +286,7 @@
       />
       <el-table-column
         label="操作"
-        min-width="185"
+        width="190"
         align="center"
         fixed="right"
       >
@@ -284,16 +324,20 @@
           <div class="head">选择显示字段</div>
           <div class="body">
             <el-checkbox v-model="checkList.depart_name" disabled>所属部门</el-checkbox>
-            <el-checkbox v-model="checkList.alarm_state_text" disabled>告警状态</el-checkbox>
+            <!-- <el-checkbox v-model="checkList.alarm_state_text" disabled>告警状态</el-checkbox> -->
             <el-checkbox v-model="checkList.net_state">在线状态</el-checkbox>
             <el-checkbox v-model="checkList.number">编号</el-checkbox>
             <el-checkbox v-model="checkList.name">名称</el-checkbox>
             <el-checkbox v-model="checkList.brand">品牌</el-checkbox>
             <el-checkbox v-model="checkList.supplier">供应商</el-checkbox>
-            <el-checkbox v-model="checkList.model">型号</el-checkbox>
+            <el-checkbox v-model="checkList.model_name">型号</el-checkbox>
             <el-checkbox v-model="checkList.out_date">出厂日期</el-checkbox>
-            <el-checkbox v-model="checkList.is_used">使用状态</el-checkbox>
+            <!-- <el-checkbox v-model="checkList.is_used">使用状态</el-checkbox> -->
             <el-checkbox v-model="checkList.online_time">在线时间</el-checkbox>
+            <el-checkbox v-model="checkList.max_pressure">最大压力</el-checkbox>
+            <el-checkbox v-model="checkList.min_pressure">最小压力</el-checkbox>
+            <el-checkbox v-model="checkList.max_torque">最大扭矩</el-checkbox>
+            <el-checkbox v-model="checkList.min_torque">最小扭矩</el-checkbox>
             <el-checkbox v-model="checkList.creator_user">导入用户</el-checkbox>
             <el-checkbox v-model="checkList.created_at">添加时间</el-checkbox>
             <el-checkbox v-model="checkList.remark">备注</el-checkbox>
@@ -342,7 +386,7 @@
     <detail
       :detailVisible="detailVisible"
        @sendVal="closeDrawer"
-       :data="detail"
+       :record="detail"
     />
   </div>
 </template>
@@ -353,7 +397,7 @@ import { action } from "@/directive/permission/index.js";
 import detail from "./detail.vue"
 import formModel from './formModel.vue'
 export default {
-  name: "hydraulic",
+  name: "wrench",
   directives: { action },
   mixins: [rlListOperate],
   components: {
@@ -362,7 +406,8 @@ export default {
   },
   data() {
     return {
-      url: "hydraulic",
+      url: "wrench",
+       deviceTypes:[],
       queryParam: {
         number: "",
         department_id: [],
@@ -376,7 +421,7 @@ export default {
         0: "success",
         1: "danger",
       },
-      formName:'hydraulic',
+      formName:'wrench',
       formVisible:false,
       //搜索
       searchDisplay: true,
@@ -397,7 +442,7 @@ export default {
         name: true,
         brand: true,
         supplier: true,
-        model: true,
+        model_name: true,
         online_time: true
       }
     };
@@ -406,6 +451,10 @@ export default {
     this.$http.get("departments").then((response) => {
       this.departments = response.data;
     });
+      // 1-液压扳手
+    this.$http.get("get_device_mold",{ params: {type:1} }).then(resp => {
+        this.deviceTypes = resp.data
+     });
   },
   methods: {
    
@@ -437,7 +486,7 @@ export default {
       this.isShowColumn = true;
     },
     saveColumn() {
-      localStorage.setItem("hydColumnSet", JSON.stringify(this.checkList));
+      localStorage.setItem("wrenchColumnSet", JSON.stringify(this.checkList));
       this.isShowColumn = false;
     },
     handleDetail(row){
@@ -479,8 +528,8 @@ export default {
       this.searchDis();
     });
     // 发请求得到checkListInitData的列的名字
-    if (localStorage.getItem("hydColumnSet")) {
-      this.checkList = JSON.parse(localStorage.getItem("hydColumnSet"));
+    if (localStorage.getItem("wrenchColumnSet")) {
+      this.checkList = JSON.parse(localStorage.getItem("wrenchColumnSet"));
     } else {
       this.checkList = {
         depart_name: true,