|
@@ -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>
|