likang 3 years ago
parent
commit
10804d3263
2 changed files with 146 additions and 3 deletions
  1. 6 3
      src/config/componentsMap.js
  2. 140 0
      src/views/work_record/worklocal_config/index.vue

+ 6 - 3
src/config/componentsMap.js

@@ -77,14 +77,17 @@ export default {
         import ('@/views/wind/fan'),
     worklocation: () =>
         import ('@/views/work_record/worklocation'),
+    //作业记录参数 映射表
+    maintenancemapper: () =>
+        import ('@/views/work_record/maintenancemapper'),
+    //作业位置管理表
+    worklocal_config: () =>
+        import ('@/views/work_record/worklocal_config'),
     //同步方案
     synscheme: () =>
         import ('@/views/device/synscheme'),
     device_mold: () =>
         import ('@/views/device/mold'),
-    //维保记录参数 映射表
-    maintenancemapper: () =>
-        import ('@/views/work_record/maintenancemapper'),
     // stolenVehicles: () => import('@/views/yunying/vehicle/stolen'),
     // 短信平台
     sms: () =>

+ 140 - 0
src/views/work_record/worklocal_config/index.vue

@@ -0,0 +1,140 @@
+<template>
+  <div class="app-container">
+    <div class="filter-container">
+      <el-input v-model="queryParam.name" placeholder="名称" clearable class="filter-item form-search-input fl" />
+       <el-select  v-model="queryParam.device_type"  clearable class="filter-item form-search-input fl"  placeholder="请选择设备类型" >
+              <el-option
+                v-for="item in deviceTypes"
+                :key="item.value"
+                :label="item.text"
+                :value="item.value">
+              </el-option>
+        </el-select>
+      <el-button class="filter-item search fl" icon="el-icon-search" @click="handleSearch">
+        搜索
+      </el-button>
+      <el-button class="filter-item fl" icon="el-icon-refresh" @click="handleRefresh">
+        重置
+      </el-button>
+
+      <!-- <el-button class="filter-item" type="primary" icon="el-icon-plus" @click="handleCreate()">
+        新增
+      </el-button>
+      <el-button v-if="this.selectedIds.length" size="small" class="filter-item mb-5" type="danger" icon="el-icon-delete" @click="handleMultiDelete">
+        批量删除
+      </el-button> -->
+    </div>
+    <el-table ref="multipleTable" :data="data" tooltip-effect="dark" style="width: 100%" border fit @selection-change="handleSelectMulti">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="设备类型" prop="device_type_name" align="center"/>
+      <el-table-column label="名称" prop="name" align="center"/>
+       <el-table-column label="唯一标识" prop="value" align="center"/>
+      <el-table-column prop="created_at" label="创建时间" align="center"/>
+      <el-table-column prop="updated_at" label="更新时间" align="center"/>
+      <el-table-column label="操作" width="200px" align="center">
+        <template slot-scope="word">
+          <el-button type="primary" icon="el-icon-edit" @click="handleUpdate(word.row)" />
+          <el-button type="danger" icon="el-icon-delete" @click="handleDelete(word.row.id)" />
+        </template>
+      </el-table-column>
+    </el-table>
+        <el-button
+      type="primary"
+      icon="el-icon-plus"
+      :loading="downloadLoading"
+      style="margin-top: 15px"
+      @click="handleCreate"
+      >添加</el-button
+    >
+    <el-button
+      type="danger"
+      icon="el-icon-delete"
+      v-if="selectedIds.length > 0"
+      style="margin-top: 15px"
+      @click="handleMultiDelete()"
+      >删除</el-button
+    >
+    <el-pagination
+      background
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="paginate.current"
+       class="pagination-container"
+      :page-sizes="paginate.sizes"
+      :page-size="paginate.limit"
+      :layout="paginate.layout"
+      :total="paginate.total"/>
+    <!----------------------------------- 部门 ---------------------------------------------->
+    <el-dialog :title="title" :visible.sync="formVisible" @close="handleCancel" width="500px">
+      <el-form :ref="formName" :model="formFieldsData" :rules="rules">
+        <el-form-item label="设备类型" :label-width="formLabelWidth" prop="device_type">
+          <el-select  v-model="formFieldsData.device_type"  clearable  style="width: 250px"  placeholder="请选择设备类型" >
+              <el-option
+                v-for="item in deviceTypes"
+                :key="item.value"
+                :label="item.text"
+                :value="item.value">
+              </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <el-form :ref="formName" :model="formFieldsData" :rules="rules">
+      <el-form-item label="名称" :label-width="formLabelWidth" prop="name">
+          <el-input v-model="formFieldsData.name" placeholder="请输入名称" style="width: 250px" autocomplete="off" clearable />
+        </el-form-item>
+        <el-form-item label="唯一标识" :label-width="formLabelWidth" prop="value">
+          <el-input v-model="formFieldsData.value" placeholder="请输入唯一标识" style="width: 250px" autocomplete="off" clearable />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="handleCancel">取 消</el-button>
+        <el-button type="primary" @click="handleSubmit">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import formOperate from '@/layout/mixin/formOperate'
+
+export default {
+  name:"maintenance_mapper",
+  mixins: [formOperate],
+  data() {
+    return {
+      formName: 'maintenance_mapper',
+      formLabelWidth: '120px',
+      // 用户搜索
+      queryParam: {
+        name: '',
+      },
+      deviceTypes:[],
+      formVisible: false,
+      formFieldsData: {
+        name: '',
+        device_type:'',
+        value:''
+      },
+      url: 'maintenance_mapper',
+      // 表单验证
+      rules: {
+        name: [
+          { required: true, message: '请输入名称', trigger: 'blur' }
+        ],
+         value: [
+          { required: true, message: '请输入唯一标识', trigger: 'blur' }
+        ]
+      }
+    }
+  },
+  created() {
+    this.$http.post("sysDictData/getOptions", { type: "Maintenance" }).then(resp => {
+        this.deviceTypes = resp.data
+     });
+  },
+}
+</script>
+<style lang="scss" scoped>
+.filter-item{
+  margin-bottom: 10px;
+}
+</style>