Răsfoiți Sursa

edit background pic

wcf 2 ani în urmă
părinte
comite
916e5c7491

Fișier diff suprimat deoarece este prea mare
+ 1 - 0
public/zoomChart/assets/zc.css


+ 44 - 0
src/api/common/typeDict.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询用做存储类型,枚举类数据存储,列表
+export function listTypeDict(query) {
+  return request({
+    url: '/common/typeDict/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用做存储类型,枚举类数据存储,详细
+export function getTypeDict(id) {
+  return request({
+    url: '/common/typeDict/' + id,
+    method: 'get'
+  })
+}
+
+// 新增用做存储类型,枚举类数据存储,
+export function addTypeDict(data) {
+  return request({
+    url: '/common/typeDict',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用做存储类型,枚举类数据存储,
+export function updateTypeDict(data) {
+  return request({
+    url: '/common/typeDict',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用做存储类型,枚举类数据存储,
+export function delTypeDict(id) {
+  return request({
+    url: '/common/typeDict/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/dataCenter/dataFile.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询文件管理列表
+export function listDataFile(query) {
+  return request({
+    url: '/dataCenter/dataFile/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询文件管理详细
+export function getDataFile(id) {
+  return request({
+    url: '/dataCenter/dataFile/' + id,
+    method: 'get'
+  })
+}
+
+// 新增文件管理
+export function addDataFile(data) {
+  return request({
+    url: '/dataCenter/dataFile',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改文件管理
+export function updateDataFile(data) {
+  return request({
+    url: '/dataCenter/dataFile',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除文件管理
+export function delDataFile(id) {
+  return request({
+    url: '/dataCenter/dataFile/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/ledger/eqiupSys.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询系统与子系统列表
+export function listEqiupSys(query) {
+  return request({
+    url: '/ledger/eqiupSys/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询系统与子系统详细
+export function getEqiupSys(id) {
+  return request({
+    url: '/ledger/eqiupSys/' + id,
+    method: 'get'
+  })
+}
+
+// 新增系统与子系统
+export function addEqiupSys(data) {
+  return request({
+    url: '/ledger/eqiupSys',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改系统与子系统
+export function updateEqiupSys(data) {
+  return request({
+    url: '/ledger/eqiupSys',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除系统与子系统
+export function delEqiupSys(id) {
+  return request({
+    url: '/ledger/eqiupSys/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/ledger/equip.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询装备列表
+export function listEquip(query) {
+  return request({
+    url: '/ledger/equip/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询装备详细
+export function getEquip(id) {
+  return request({
+    url: '/ledger/equip/' + id,
+    method: 'get'
+  })
+}
+
+// 新增装备
+export function addEquip(data) {
+  return request({
+    url: '/ledger/equip',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改装备
+export function updateEquip(data) {
+  return request({
+    url: '/ledger/equip',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除装备
+export function delEquip(id) {
+  return request({
+    url: '/ledger/equip/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/ledger/parts.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询部件管理列表
+export function listParts(query) {
+  return request({
+    url: '/ledger/parts/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询部件管理详细
+export function getParts(id) {
+  return request({
+    url: '/ledger/parts/' + id,
+    method: 'get'
+  })
+}
+
+// 新增部件管理
+export function addParts(data) {
+  return request({
+    url: '/ledger/parts',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改部件管理
+export function updateParts(data) {
+  return request({
+    url: '/ledger/parts',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除部件管理
+export function delParts(id) {
+  return request({
+    url: '/ledger/parts/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/ledger/platform.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询平台管理列表
+export function listPlatform(query) {
+  return request({
+    url: '/ledger/platform/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询平台管理详细
+export function getPlatform(id) {
+  return request({
+    url: '/ledger/platform/' + id,
+    method: 'get'
+  })
+}
+
+// 新增平台管理
+export function addPlatform(data) {
+  return request({
+    url: '/ledger/platform',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改平台管理
+export function updatePlatform(data) {
+  return request({
+    url: '/ledger/platform',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除平台管理
+export function delPlatform(id) {
+  return request({
+    url: '/ledger/platform/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/maintenance/faultInfo.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询故障缺陷列表
+export function listFaultInfo(query) {
+  return request({
+    url: '/maintenance/faultInfo/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询故障缺陷详细
+export function getFaultInfo(id) {
+  return request({
+    url: '/maintenance/faultInfo/' + id,
+    method: 'get'
+  })
+}
+
+// 新增故障缺陷
+export function addFaultInfo(data) {
+  return request({
+    url: '/maintenance/faultInfo',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改故障缺陷
+export function updateFaultInfo(data) {
+  return request({
+    url: '/maintenance/faultInfo',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除故障缺陷
+export function delFaultInfo(id) {
+  return request({
+    url: '/maintenance/faultInfo/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
src/api/maintenance/faultRecord.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询故障记录列表
+export function listFaultRecord(query) {
+  return request({
+    url: '/maintenance/faultRecord/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询故障记录详细
+export function getFaultRecord(id) {
+  return request({
+    url: '/maintenance/faultRecord/' + id,
+    method: 'get'
+  })
+}
+
+// 新增故障记录
+export function addFaultRecord(data) {
+  return request({
+    url: '/maintenance/faultRecord',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改故障记录
+export function updateFaultRecord(data) {
+  return request({
+    url: '/maintenance/faultRecord',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除故障记录
+export function delFaultRecord(id) {
+  return request({
+    url: '/maintenance/faultRecord/' + id,
+    method: 'delete'
+  })
+}

BIN
src/assets/knowledge/backgrand_picture.png


+ 277 - 0
src/views/common/typeDict/index.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="类型名" prop="typeName">
+        <el-input
+          v-model="queryParams.typeName"
+          placeholder="请输入类型名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="父类型id" prop="parentId">
+        <el-input
+          v-model="queryParams.parentId"
+          placeholder="请输入父类型id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="父类型名" prop="parentName">
+        <el-input
+          v-model="queryParams.parentName"
+          placeholder="请输入父类型名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['common:typeDict: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="['common:typeDict: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="['common:typeDict: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="['common:typeDict:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="typeDictList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="类型名" align="center" prop="typeName" />
+      <el-table-column label="父类型id" align="center" prop="parentId" />
+      <el-table-column label="父类型名" align="center" prop="parentName" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['common:typeDict:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['common:typeDict:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="类型名" prop="typeName">
+          <el-input v-model="form.typeName" placeholder="请输入类型名" />
+        </el-form-item>
+        <el-form-item label="父类型id" prop="parentId">
+          <el-input v-model="form.parentId" placeholder="请输入父类型id" />
+        </el-form-item>
+      </el-form>
+      <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 { listTypeDict, getTypeDict, delTypeDict, addTypeDict, updateTypeDict } from "@/api/common/typeDict";
+
+export default {
+  name: "TypeDict",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 用做存储类型,枚举类数据存储,表格数据
+      typeDictList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        typeName: null,
+        parentId: null,
+        parentName: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        parentId: [
+          { required: true, message: "父类型id不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询用做存储类型,枚举类数据存储,列表 */
+    getList() {
+      this.loading = true;
+      listTypeDict(this.queryParams).then(response => {
+        this.typeDictList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        typeName: null,
+        parentId: null,
+        parentName: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加用做存储类型,枚举类数据存储,";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getTypeDict(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改用做存储类型,枚举类数据存储,";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTypeDict(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTypeDict(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除用做存储类型,枚举类数据存储,编号为"' + ids + '"的数据项?').then(function() {
+        return delTypeDict(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('common/typeDict/export', {
+        ...this.queryParams
+      }, `typeDict_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 409 - 0
src/views/dataCenter/dataFile/index.vue

@@ -0,0 +1,409 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="文件名" prop="fileName">
+        <el-input
+          v-model="queryParams.fileName"
+          placeholder="请输入文件名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="文件后缀名" prop="typeName">
+        <el-input
+          v-model="queryParams.typeName"
+          placeholder="请输入文件后缀名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统名" prop="sysName">
+        <el-input
+          v-model="queryParams.sysName"
+          placeholder="请输入系统名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统id" prop="sysId">
+        <el-input
+          v-model="queryParams.sysId"
+          placeholder="请输入系统id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业id" prop="majorId">
+        <el-input
+          v-model="queryParams.majorId"
+          placeholder="请输入专业id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业名" prop="majorName">
+        <el-input
+          v-model="queryParams.majorName"
+          placeholder="请输入专业名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部件ID" prop="partId">
+        <el-input
+          v-model="queryParams.partId"
+          placeholder="请输入部件ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部件名" prop="partName">
+        <el-input
+          v-model="queryParams.partName"
+          placeholder="请输入部件名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="导入时间" prop="uploadTime">
+        <el-input
+          v-model="queryParams.uploadTime"
+          placeholder="请输入导入时间"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="简介" prop="descript">
+        <el-input
+          v-model="queryParams.descript"
+          placeholder="请输入简介"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="版本,期号" prop="fileVer">
+        <el-input
+          v-model="queryParams.fileVer"
+          placeholder="请输入版本,期号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="存储路径" prop="filePath">
+        <el-input
+          v-model="queryParams.filePath"
+          placeholder="请输入存储路径"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['dataCenter:dataFile: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="['dataCenter:dataFile: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="['dataCenter:dataFile: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="['dataCenter:dataFile:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="dataFileList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="文件名" align="center" prop="fileName" />
+      <el-table-column label="文件类型" align="center" prop="fileType" />
+      <el-table-column label="文件后缀名" align="center" prop="typeName" />
+      <el-table-column label="装备型号" align="center" prop="equipType" />
+      <el-table-column label="系统名" align="center" prop="sysName" />
+      <el-table-column label="系统id" align="center" prop="sysId" />
+      <el-table-column label="专业id" align="center" prop="majorId" />
+      <el-table-column label="专业名" align="center" prop="majorName" />
+      <el-table-column label="部件ID" align="center" prop="partId" />
+      <el-table-column label="部件名" align="center" prop="partName" />
+      <el-table-column label="导入时间" align="center" prop="uploadTime" />
+      <el-table-column label="简介" align="center" prop="descript" />
+      <el-table-column label="版本,期号" align="center" prop="fileVer" />
+      <el-table-column label="存储路径" align="center" prop="filePath" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['dataCenter:dataFile:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['dataCenter:dataFile:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="文件名" prop="fileName">
+          <el-input v-model="form.fileName" placeholder="请输入文件名" />
+        </el-form-item>
+        <el-form-item label="文件后缀名" prop="typeName">
+          <el-input v-model="form.typeName" placeholder="请输入文件后缀名" />
+        </el-form-item>
+        <el-form-item label="系统名" prop="sysName">
+          <el-input v-model="form.sysName" placeholder="请输入系统名" />
+        </el-form-item>
+        <el-form-item label="系统id" prop="sysId">
+          <el-input v-model="form.sysId" placeholder="请输入系统id" />
+        </el-form-item>
+        <el-form-item label="专业id" prop="majorId">
+          <el-input v-model="form.majorId" placeholder="请输入专业id" />
+        </el-form-item>
+        <el-form-item label="专业名" prop="majorName">
+          <el-input v-model="form.majorName" placeholder="请输入专业名" />
+        </el-form-item>
+        <el-form-item label="部件ID" prop="partId">
+          <el-input v-model="form.partId" placeholder="请输入部件ID" />
+        </el-form-item>
+        <el-form-item label="部件名" prop="partName">
+          <el-input v-model="form.partName" placeholder="请输入部件名" />
+        </el-form-item>
+        <el-form-item label="导入时间" prop="uploadTime">
+          <el-input v-model="form.uploadTime" placeholder="请输入导入时间" />
+        </el-form-item>
+        <el-form-item label="简介" prop="descript">
+          <el-input v-model="form.descript" placeholder="请输入简介" />
+        </el-form-item>
+        <el-form-item label="版本,期号" prop="fileVer">
+          <el-input v-model="form.fileVer" placeholder="请输入版本,期号" />
+        </el-form-item>
+        <el-form-item label="存储路径" prop="filePath">
+          <el-input v-model="form.filePath" placeholder="请输入存储路径" />
+        </el-form-item>
+      </el-form>
+      <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 { listDataFile, getDataFile, delDataFile, addDataFile, updateDataFile } from "@/api/dataCenter/dataFile";
+
+export default {
+  name: "DataFile",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 文件管理表格数据
+      dataFileList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        fileName: null,
+        fileType: null,
+        typeName: null,
+        equipType: null,
+        sysName: null,
+        sysId: null,
+        majorId: null,
+        majorName: null,
+        partId: null,
+        partName: null,
+        uploadTime: null,
+        descript: null,
+        fileVer: null,
+        filePath: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询文件管理列表 */
+    getList() {
+      this.loading = true;
+      listDataFile(this.queryParams).then(response => {
+        this.dataFileList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        fileName: null,
+        fileType: null,
+        typeName: null,
+        equipType: null,
+        sysName: null,
+        sysId: null,
+        majorId: null,
+        majorName: null,
+        partId: null,
+        partName: null,
+        uploadTime: null,
+        descript: null,
+        fileVer: null,
+        filePath: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加文件管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getDataFile(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改文件管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateDataFile(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDataFile(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除文件管理编号为"' + ids + '"的数据项?').then(function() {
+        return delDataFile(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('dataCenter/dataFile/export', {
+        ...this.queryParams
+      }, `dataFile_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 440 - 0
src/views/ledger/eqiupSys/index.vue

@@ -0,0 +1,440 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="系统名" prop="sysName">
+        <el-input
+          v-model="queryParams.sysName"
+          placeholder="请输入系统名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="上层系统id" prop="parentId">
+        <el-input
+          v-model="queryParams.parentId"
+          placeholder="请输入上层系统id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="上层系统名" prop="parentName">
+        <el-input
+          v-model="queryParams.parentName"
+          placeholder="请输入上层系统名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="子系统数" prop="childCnt">
+        <el-input
+          v-model="queryParams.childCnt"
+          placeholder="请输入子系统数"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业id" prop="majorId">
+        <el-input
+          v-model="queryParams.majorId"
+          placeholder="请输入专业id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业名" prop="majorName">
+        <el-input
+          v-model="queryParams.majorName"
+          placeholder="请输入专业名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="平台id" prop="platId">
+        <el-input
+          v-model="queryParams.platId"
+          placeholder="请输入平台id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="平台名" prop="platName">
+        <el-input
+          v-model="queryParams.platName"
+          placeholder="请输入平台名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部件数" prop="partCnt">
+        <el-input
+          v-model="queryParams.partCnt"
+          placeholder="请输入部件数"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="简介" prop="descprit">
+        <el-input
+          v-model="queryParams.descprit"
+          placeholder="请输入简介"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="故障累计" prop="faltCnt">
+        <el-input
+          v-model="queryParams.faltCnt"
+          placeholder="请输入故障累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="当月故障累计" prop="faltCntCur">
+        <el-input
+          v-model="queryParams.faltCntCur"
+          placeholder="请输入当月故障累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="已修复累计" prop="faltRepaired">
+        <el-input
+          v-model="queryParams.faltRepaired"
+          placeholder="请输入已修复累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="当月已修复累计" prop="faltRepairedCur">
+        <el-input
+          v-model="queryParams.faltRepairedCur"
+          placeholder="请输入当月已修复累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['ledger:eqiupSys: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="['ledger:eqiupSys: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="['ledger:eqiupSys: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="['ledger:eqiupSys:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="eqiupSysList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="系统名" align="center" prop="sysName" />
+      <el-table-column label="型号" align="center" prop="sysType" />
+      <el-table-column label="上层系统id" align="center" prop="parentId" />
+      <el-table-column label="上层系统名" align="center" prop="parentName" />
+      <el-table-column label="子系统数" align="center" prop="childCnt" />
+      <el-table-column label="专业id" align="center" prop="majorId" />
+      <el-table-column label="专业名" align="center" prop="majorName" />
+      <el-table-column label="平台id" align="center" prop="platId" />
+      <el-table-column label="平台名" align="center" prop="platName" />
+      <el-table-column label="部件数" align="center" prop="partCnt" />
+      <el-table-column label="简介" align="center" prop="descprit" />
+      <el-table-column label="当前状态" align="center" prop="curStatus" />
+      <el-table-column label="故障累计" align="center" prop="faltCnt" />
+      <el-table-column label="当月故障累计" align="center" prop="faltCntCur" />
+      <el-table-column label="已修复累计" align="center" prop="faltRepaired" />
+      <el-table-column label="当月已修复累计" align="center" prop="faltRepairedCur" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['ledger:eqiupSys:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['ledger:eqiupSys:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="系统名" prop="sysName">
+          <el-input v-model="form.sysName" placeholder="请输入系统名" />
+        </el-form-item>
+        <el-form-item label="上层系统id" prop="parentId">
+          <el-input v-model="form.parentId" placeholder="请输入上层系统id" />
+        </el-form-item>
+        <el-form-item label="子系统数" prop="childCnt">
+          <el-input v-model="form.childCnt" placeholder="请输入子系统数" />
+        </el-form-item>
+        <el-form-item label="专业id" prop="majorId">
+          <el-input v-model="form.majorId" placeholder="请输入专业id" />
+        </el-form-item>
+        <el-form-item label="专业名" prop="majorName">
+          <el-input v-model="form.majorName" placeholder="请输入专业名" />
+        </el-form-item>
+        <el-form-item label="平台id" prop="platId">
+          <el-input v-model="form.platId" placeholder="请输入平台id" />
+        </el-form-item>
+        <el-form-item label="平台名" prop="platName">
+          <el-input v-model="form.platName" placeholder="请输入平台名" />
+        </el-form-item>
+        <el-form-item label="部件数" prop="partCnt">
+          <el-input v-model="form.partCnt" placeholder="请输入部件数" />
+        </el-form-item>
+        <el-form-item label="简介" prop="descprit">
+          <el-input v-model="form.descprit" placeholder="请输入简介" />
+        </el-form-item>
+        <el-form-item label="故障累计" prop="faltCnt">
+          <el-input v-model="form.faltCnt" placeholder="请输入故障累计" />
+        </el-form-item>
+        <el-form-item label="当月故障累计" prop="faltCntCur">
+          <el-input v-model="form.faltCntCur" placeholder="请输入当月故障累计" />
+        </el-form-item>
+        <el-form-item label="已修复累计" prop="faltRepaired">
+          <el-input v-model="form.faltRepaired" placeholder="请输入已修复累计" />
+        </el-form-item>
+        <el-form-item label="当月已修复累计" prop="faltRepairedCur">
+          <el-input v-model="form.faltRepairedCur" placeholder="请输入当月已修复累计" />
+        </el-form-item>
+      </el-form>
+      <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 { listEqiupSys, getEqiupSys, delEqiupSys, addEqiupSys, updateEqiupSys } from "@/api/ledger/eqiupSys";
+
+export default {
+  name: "EqiupSys",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 系统与子系统表格数据
+      eqiupSysList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        sysName: null,
+        sysType: null,
+        parentId: null,
+        parentName: null,
+        childCnt: null,
+        majorId: null,
+        majorName: null,
+        platId: null,
+        platName: null,
+        partCnt: null,
+        descprit: null,
+        curStatus: null,
+        faltCnt: null,
+        faltCntCur: null,
+        faltRepaired: null,
+        faltRepairedCur: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        parentId: [
+          { required: true, message: "上层系统id不能为空", trigger: "blur" }
+        ],
+        childCnt: [
+          { required: true, message: "子系统数不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询系统与子系统列表 */
+    getList() {
+      this.loading = true;
+      listEqiupSys(this.queryParams).then(response => {
+        this.eqiupSysList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        sysName: null,
+        sysType: null,
+        parentId: null,
+        parentName: null,
+        childCnt: null,
+        majorId: null,
+        majorName: null,
+        platId: null,
+        platName: null,
+        partCnt: null,
+        descprit: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        curStatus: "0",
+        faltCnt: null,
+        faltCntCur: null,
+        faltRepaired: null,
+        faltRepairedCur: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加系统与子系统";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getEqiupSys(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改系统与子系统";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateEqiupSys(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addEqiupSys(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除系统与子系统编号为"' + ids + '"的数据项?').then(function() {
+        return delEqiupSys(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('ledger/eqiupSys/export', {
+        ...this.queryParams
+      }, `eqiupSys_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 353 - 0
src/views/ledger/equip/index.vue

@@ -0,0 +1,353 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="装备名" prop="equipName">
+        <el-input
+          v-model="queryParams.equipName"
+          placeholder="请输入装备名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="编号" prop="equipNo">
+        <el-input
+          v-model="queryParams.equipNo"
+          placeholder="请输入编号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="战区id" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入战区id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="战区" prop="deptName">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="请输入战区"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="故障累计" prop="faltCnt">
+        <el-input
+          v-model="queryParams.faltCnt"
+          placeholder="请输入故障累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="当月故障累计" prop="faltCntCur">
+        <el-input
+          v-model="queryParams.faltCntCur"
+          placeholder="请输入当月故障累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="已修复累计" prop="faltRepaired">
+        <el-input
+          v-model="queryParams.faltRepaired"
+          placeholder="请输入已修复累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="当月已修复累计" prop="faltRepairedCur">
+        <el-input
+          v-model="queryParams.faltRepairedCur"
+          placeholder="请输入当月已修复累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['ledger:equip: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="['ledger:equip: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="['ledger:equip: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="['ledger:equip:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="equipList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="装备名" align="center" prop="equipName" />
+      <el-table-column label="编号" align="center" prop="equipNo" />
+      <el-table-column label="型号" align="center" prop="equipType" />
+      <el-table-column label="战区id" align="center" prop="deptId" />
+      <el-table-column label="战区" align="center" prop="deptName" />
+      <el-table-column label="状态" align="center" prop="equipStatus" />
+      <el-table-column label="故障累计" align="center" prop="faltCnt" />
+      <el-table-column label="当月故障累计" align="center" prop="faltCntCur" />
+      <el-table-column label="已修复累计" align="center" prop="faltRepaired" />
+      <el-table-column label="当月已修复累计" align="center" prop="faltRepairedCur" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['ledger:equip:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['ledger:equip:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="装备名" prop="equipName">
+          <el-input v-model="form.equipName" placeholder="请输入装备名" />
+        </el-form-item>
+        <el-form-item label="编号" prop="equipNo">
+          <el-input v-model="form.equipNo" placeholder="请输入编号" />
+        </el-form-item>
+        <el-form-item label="战区id" prop="deptId">
+          <el-input v-model="form.deptId" placeholder="请输入战区id" />
+        </el-form-item>
+        <el-form-item label="战区" prop="deptName">
+          <el-input v-model="form.deptName" placeholder="请输入战区" />
+        </el-form-item>
+        <el-form-item label="故障累计" prop="faltCnt">
+          <el-input v-model="form.faltCnt" placeholder="请输入故障累计" />
+        </el-form-item>
+        <el-form-item label="当月故障累计" prop="faltCntCur">
+          <el-input v-model="form.faltCntCur" placeholder="请输入当月故障累计" />
+        </el-form-item>
+        <el-form-item label="已修复累计" prop="faltRepaired">
+          <el-input v-model="form.faltRepaired" placeholder="请输入已修复累计" />
+        </el-form-item>
+        <el-form-item label="当月已修复累计" prop="faltRepairedCur">
+          <el-input v-model="form.faltRepairedCur" placeholder="请输入当月已修复累计" />
+        </el-form-item>
+      </el-form>
+      <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 { listEquip, getEquip, delEquip, addEquip, updateEquip } from "@/api/ledger/equip";
+
+export default {
+  name: "Equip",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 装备表格数据
+      equipList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        equipName: null,
+        equipNo: null,
+        equipType: null,
+        deptId: null,
+        deptName: null,
+        equipStatus: null,
+        faltCnt: null,
+        faltCntCur: null,
+        faltRepaired: null,
+        faltRepairedCur: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询装备列表 */
+    getList() {
+      this.loading = true;
+      listEquip(this.queryParams).then(response => {
+        this.equipList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        equipName: null,
+        equipNo: null,
+        equipType: null,
+        deptId: null,
+        deptName: null,
+        equipStatus: "0",
+        faltCnt: null,
+        faltCntCur: null,
+        faltRepaired: null,
+        faltRepairedCur: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加装备";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getEquip(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改装备";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateEquip(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addEquip(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除装备编号为"' + ids + '"的数据项?').then(function() {
+        return delEquip(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('ledger/equip/export', {
+        ...this.queryParams
+      }, `equip_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 525 - 0
src/views/ledger/parts/index.vue

@@ -0,0 +1,525 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="部件名" prop="partName">
+        <el-input
+          v-model="queryParams.partName"
+          placeholder="请输入部件名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="所属系统id" prop="sysId">
+        <el-input
+          v-model="queryParams.sysId"
+          placeholder="请输入所属系统id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统名" prop="sysName">
+        <el-input
+          v-model="queryParams.sysName"
+          placeholder="请输入系统名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业id" prop="majorId">
+        <el-input
+          v-model="queryParams.majorId"
+          placeholder="请输入专业id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业名" prop="majorName">
+        <el-input
+          v-model="queryParams.majorName"
+          placeholder="请输入专业名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="编号" prop="partNo">
+        <el-input
+          v-model="queryParams.partNo"
+          placeholder="请输入编号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="工厂名" prop="factory">
+        <el-input
+          v-model="queryParams.factory"
+          placeholder="请输入工厂名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="修理厂名" prop="factoryRepaired">
+        <el-input
+          v-model="queryParams.factoryRepaired"
+          placeholder="请输入修理厂名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="出厂日期" prop="exFacDate">
+        <el-date-picker clearable
+          v-model="queryParams.exFacDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择出厂日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="维修日期" prop="repairDate">
+        <el-date-picker clearable
+          v-model="queryParams.repairDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择维修日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="维修次数" prop="repairCnt">
+        <el-input
+          v-model="queryParams.repairCnt"
+          placeholder="请输入维修次数"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="使用时长" prop="workedTime">
+        <el-input
+          v-model="queryParams.workedTime"
+          placeholder="请输入使用时长"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="此次工作时长" prop="workedTimeCur">
+        <el-input
+          v-model="queryParams.workedTimeCur"
+          placeholder="请输入此次工作时长"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="此次上线时间" prop="workBeginTime">
+        <el-input
+          v-model="queryParams.workBeginTime"
+          placeholder="请输入此次上线时间"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="简介" prop="descprit">
+        <el-input
+          v-model="queryParams.descprit"
+          placeholder="请输入简介"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="故障累计" prop="faltCnt">
+        <el-input
+          v-model="queryParams.faltCnt"
+          placeholder="请输入故障累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="当月故障累计" prop="faltCntCur">
+        <el-input
+          v-model="queryParams.faltCntCur"
+          placeholder="请输入当月故障累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="已修复累计" prop="faltRepaired">
+        <el-input
+          v-model="queryParams.faltRepaired"
+          placeholder="请输入已修复累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="当月已修复累计" prop="faltRepairedCur">
+        <el-input
+          v-model="queryParams.faltRepairedCur"
+          placeholder="请输入当月已修复累计"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['ledger:parts: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="['ledger:parts: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="['ledger:parts: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="['ledger:parts:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="partsList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="部件名" align="center" prop="partName" />
+      <el-table-column label="所属系统id" align="center" prop="sysId" />
+      <el-table-column label="系统名" align="center" prop="sysName" />
+      <el-table-column label="专业id" align="center" prop="majorId" />
+      <el-table-column label="专业名" align="center" prop="majorName" />
+      <el-table-column label="编号" align="center" prop="partNo" />
+      <el-table-column label="型号" align="center" prop="partType" />
+      <el-table-column label="工厂名" align="center" prop="factory" />
+      <el-table-column label="修理厂名" align="center" prop="factoryRepaired" />
+      <el-table-column label="出厂日期" align="center" prop="exFacDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.exFacDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="维修日期" align="center" prop="repairDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.repairDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="维修次数" align="center" prop="repairCnt" />
+      <el-table-column label="使用时长" align="center" prop="workedTime" />
+      <el-table-column label="此次工作时长" align="center" prop="workedTimeCur" />
+      <el-table-column label="此次上线时间" align="center" prop="workBeginTime" />
+      <el-table-column label="简介" align="center" prop="descprit" />
+      <el-table-column label="当前状态" align="center" prop="curStatus" />
+      <el-table-column label="故障累计" align="center" prop="faltCnt" />
+      <el-table-column label="当月故障累计" align="center" prop="faltCntCur" />
+      <el-table-column label="已修复累计" align="center" prop="faltRepaired" />
+      <el-table-column label="当月已修复累计" align="center" prop="faltRepairedCur" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['ledger:parts:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['ledger:parts:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="部件名" prop="partName">
+          <el-input v-model="form.partName" placeholder="请输入部件名" />
+        </el-form-item>
+        <el-form-item label="所属系统id" prop="sysId">
+          <el-input v-model="form.sysId" placeholder="请输入所属系统id" />
+        </el-form-item>
+        <el-form-item label="系统名" prop="sysName">
+          <el-input v-model="form.sysName" placeholder="请输入系统名" />
+        </el-form-item>
+        <el-form-item label="专业id" prop="majorId">
+          <el-input v-model="form.majorId" placeholder="请输入专业id" />
+        </el-form-item>
+        <el-form-item label="专业名" prop="majorName">
+          <el-input v-model="form.majorName" placeholder="请输入专业名" />
+        </el-form-item>
+        <el-form-item label="编号" prop="partNo">
+          <el-input v-model="form.partNo" placeholder="请输入编号" />
+        </el-form-item>
+        <el-form-item label="工厂名" prop="factory">
+          <el-input v-model="form.factory" placeholder="请输入工厂名" />
+        </el-form-item>
+        <el-form-item label="修理厂名" prop="factoryRepaired">
+          <el-input v-model="form.factoryRepaired" placeholder="请输入修理厂名" />
+        </el-form-item>
+        <el-form-item label="出厂日期" prop="exFacDate">
+          <el-date-picker clearable
+            v-model="form.exFacDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择出厂日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="维修日期" prop="repairDate">
+          <el-date-picker clearable
+            v-model="form.repairDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择维修日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="维修次数" prop="repairCnt">
+          <el-input v-model="form.repairCnt" placeholder="请输入维修次数" />
+        </el-form-item>
+        <el-form-item label="使用时长" prop="workedTime">
+          <el-input v-model="form.workedTime" placeholder="请输入使用时长" />
+        </el-form-item>
+        <el-form-item label="此次工作时长" prop="workedTimeCur">
+          <el-input v-model="form.workedTimeCur" placeholder="请输入此次工作时长" />
+        </el-form-item>
+        <el-form-item label="此次上线时间" prop="workBeginTime">
+          <el-input v-model="form.workBeginTime" placeholder="请输入此次上线时间" />
+        </el-form-item>
+        <el-form-item label="简介" prop="descprit">
+          <el-input v-model="form.descprit" placeholder="请输入简介" />
+        </el-form-item>
+        <el-form-item label="故障累计" prop="faltCnt">
+          <el-input v-model="form.faltCnt" placeholder="请输入故障累计" />
+        </el-form-item>
+        <el-form-item label="当月故障累计" prop="faltCntCur">
+          <el-input v-model="form.faltCntCur" placeholder="请输入当月故障累计" />
+        </el-form-item>
+        <el-form-item label="已修复累计" prop="faltRepaired">
+          <el-input v-model="form.faltRepaired" placeholder="请输入已修复累计" />
+        </el-form-item>
+        <el-form-item label="当月已修复累计" prop="faltRepairedCur">
+          <el-input v-model="form.faltRepairedCur" placeholder="请输入当月已修复累计" />
+        </el-form-item>
+      </el-form>
+      <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 { listParts, getParts, delParts, addParts, updateParts } from "@/api/ledger/parts";
+
+export default {
+  name: "Parts",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 部件管理表格数据
+      partsList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        partName: null,
+        sysId: null,
+        sysName: null,
+        majorId: null,
+        majorName: null,
+        partNo: null,
+        partType: null,
+        factory: null,
+        factoryRepaired: null,
+        exFacDate: null,
+        repairDate: null,
+        repairCnt: null,
+        workedTime: null,
+        workedTimeCur: null,
+        workBeginTime: null,
+        descprit: null,
+        curStatus: null,
+        faltCnt: null,
+        faltCntCur: null,
+        faltRepaired: null,
+        faltRepairedCur: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询部件管理列表 */
+    getList() {
+      this.loading = true;
+      listParts(this.queryParams).then(response => {
+        this.partsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        partName: null,
+        sysId: null,
+        sysName: null,
+        majorId: null,
+        majorName: null,
+        partNo: null,
+        partType: null,
+        factory: null,
+        factoryRepaired: null,
+        exFacDate: null,
+        repairDate: null,
+        repairCnt: null,
+        workedTime: null,
+        workedTimeCur: null,
+        workBeginTime: null,
+        descprit: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        curStatus: "0",
+        updateTime: null,
+        faltCnt: null,
+        faltCntCur: null,
+        faltRepaired: null,
+        faltRepairedCur: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加部件管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getParts(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改部件管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateParts(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addParts(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除部件管理编号为"' + ids + '"的数据项?').then(function() {
+        return delParts(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('ledger/parts/export', {
+        ...this.queryParams
+      }, `parts_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 280 - 0
src/views/ledger/platform/index.vue

@@ -0,0 +1,280 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="平台名" prop="platName">
+        <el-input
+          v-model="queryParams.platName"
+          placeholder="请输入平台名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="版本" prop="platVer">
+        <el-input
+          v-model="queryParams.platVer"
+          placeholder="请输入版本"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="描述" prop="descript">
+        <el-input
+          v-model="queryParams.descript"
+          placeholder="请输入描述"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['ledger:platform: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="['ledger:platform: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="['ledger:platform: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="['ledger:platform:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="platformList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="平台名" align="center" prop="platName" />
+      <el-table-column label="型号" align="center" prop="platType" />
+      <el-table-column label="版本" align="center" prop="platVer" />
+      <el-table-column label="描述" align="center" prop="descript" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['ledger:platform:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['ledger:platform:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="平台名" prop="platName">
+          <el-input v-model="form.platName" placeholder="请输入平台名" />
+        </el-form-item>
+        <el-form-item label="版本" prop="platVer">
+          <el-input v-model="form.platVer" placeholder="请输入版本" />
+        </el-form-item>
+        <el-form-item label="描述" prop="descript">
+          <el-input v-model="form.descript" placeholder="请输入描述" />
+        </el-form-item>
+      </el-form>
+      <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 { listPlatform, getPlatform, delPlatform, addPlatform, updatePlatform } from "@/api/ledger/platform";
+
+export default {
+  name: "Platform",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 平台管理表格数据
+      platformList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        platName: null,
+        platType: null,
+        platVer: null,
+        descript: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询平台管理列表 */
+    getList() {
+      this.loading = true;
+      listPlatform(this.queryParams).then(response => {
+        this.platformList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        platName: null,
+        platType: null,
+        platVer: null,
+        descript: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加平台管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPlatform(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改平台管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePlatform(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPlatform(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除平台管理编号为"' + ids + '"的数据项?').then(function() {
+        return delPlatform(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('ledger/platform/export', {
+        ...this.queryParams
+      }, `platform_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 354 - 0
src/views/maintenance/faultInfo/index.vue

@@ -0,0 +1,354 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="故障名" prop="faultName">
+        <el-input
+          v-model="queryParams.faultName"
+          placeholder="请输入故障名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="平台" prop="platName">
+        <el-input
+          v-model="queryParams.platName"
+          placeholder="请输入平台"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统" prop="sysId">
+        <el-input
+          v-model="queryParams.sysId"
+          placeholder="请输入系统"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统名" prop="sysName">
+        <el-input
+          v-model="queryParams.sysName"
+          placeholder="请输入系统名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业id" prop="majorId">
+        <el-input
+          v-model="queryParams.majorId"
+          placeholder="请输入专业id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业名" prop="majorName">
+        <el-input
+          v-model="queryParams.majorName"
+          placeholder="请输入专业名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="信息来源" prop="faultFrom">
+        <el-input
+          v-model="queryParams.faultFrom"
+          placeholder="请输入信息来源"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['maintenance:faultInfo: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="['maintenance:faultInfo: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="['maintenance:faultInfo: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="['maintenance:faultInfo:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="faultInfoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="故障名" align="center" prop="faultName" />
+      <el-table-column label="故障类型" align="center" prop="faultType" />
+      <el-table-column label="平台" align="center" prop="platName" />
+      <el-table-column label="系统" align="center" prop="sysId" />
+      <el-table-column label="系统名" align="center" prop="sysName" />
+      <el-table-column label="专业id" align="center" prop="majorId" />
+      <el-table-column label="专业名" align="center" prop="majorName" />
+      <el-table-column label="描述" align="center" prop="descript" />
+      <el-table-column label="原因" align="center" prop="faultReason" />
+      <el-table-column label="信息来源" align="center" prop="faultFrom" />
+      <el-table-column label="解决办法" align="center" prop="faultResult" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['maintenance:faultInfo:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['maintenance:faultInfo:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="故障名" prop="faultName">
+          <el-input v-model="form.faultName" placeholder="请输入故障名" />
+        </el-form-item>
+        <el-form-item label="平台" prop="platName">
+          <el-input v-model="form.platName" placeholder="请输入平台" />
+        </el-form-item>
+        <el-form-item label="系统" prop="sysId">
+          <el-input v-model="form.sysId" placeholder="请输入系统" />
+        </el-form-item>
+        <el-form-item label="系统名" prop="sysName">
+          <el-input v-model="form.sysName" placeholder="请输入系统名" />
+        </el-form-item>
+        <el-form-item label="专业id" prop="majorId">
+          <el-input v-model="form.majorId" placeholder="请输入专业id" />
+        </el-form-item>
+        <el-form-item label="专业名" prop="majorName">
+          <el-input v-model="form.majorName" placeholder="请输入专业名" />
+        </el-form-item>
+        <el-form-item label="描述" prop="descript">
+          <el-input v-model="form.descript" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="原因" prop="faultReason">
+          <el-input v-model="form.faultReason" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="信息来源" prop="faultFrom">
+          <el-input v-model="form.faultFrom" placeholder="请输入信息来源" />
+        </el-form-item>
+        <el-form-item label="解决办法" prop="faultResult">
+          <el-input v-model="form.faultResult" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <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 { listFaultInfo, getFaultInfo, delFaultInfo, addFaultInfo, updateFaultInfo } from "@/api/maintenance/faultInfo";
+
+export default {
+  name: "FaultInfo",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 故障缺陷表格数据
+      faultInfoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        faultName: null,
+        faultType: null,
+        platName: null,
+        sysId: null,
+        sysName: null,
+        majorId: null,
+        majorName: null,
+        descript: null,
+        faultReason: null,
+        faultFrom: null,
+        faultResult: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询故障缺陷列表 */
+    getList() {
+      this.loading = true;
+      listFaultInfo(this.queryParams).then(response => {
+        this.faultInfoList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        faultName: null,
+        faultType: null,
+        platName: null,
+        sysId: null,
+        sysName: null,
+        majorId: null,
+        majorName: null,
+        descript: null,
+        faultReason: null,
+        faultFrom: null,
+        faultResult: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加故障缺陷";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getFaultInfo(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改故障缺陷";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateFaultInfo(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addFaultInfo(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除故障缺陷编号为"' + ids + '"的数据项?').then(function() {
+        return delFaultInfo(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('maintenance/faultInfo/export', {
+        ...this.queryParams
+      }, `faultInfo_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 535 - 0
src/views/maintenance/faultRecord/index.vue

@@ -0,0 +1,535 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="装备编号" prop="equipNo">
+        <el-input
+          v-model="queryParams.equipNo"
+          placeholder="请输入装备编号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="战区" prop="equipDept">
+        <el-input
+          v-model="queryParams.equipDept"
+          placeholder="请输入战区"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统id" prop="sysId">
+        <el-input
+          v-model="queryParams.sysId"
+          placeholder="请输入系统id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统名" prop="sysName">
+        <el-input
+          v-model="queryParams.sysName"
+          placeholder="请输入系统名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部件id" prop="partId">
+        <el-input
+          v-model="queryParams.partId"
+          placeholder="请输入部件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部件名" prop="partName">
+        <el-input
+          v-model="queryParams.partName"
+          placeholder="请输入部件名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="替换件id" prop="replacePartId">
+        <el-input
+          v-model="queryParams.replacePartId"
+          placeholder="请输入替换件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="替换件名" prop="replacePartName">
+        <el-input
+          v-model="queryParams.replacePartName"
+          placeholder="请输入替换件名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="发现时间" prop="discoverTime">
+        <el-input
+          v-model="queryParams.discoverTime"
+          placeholder="请输入发现时间"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="发生时间" prop="occurTime">
+        <el-input
+          v-model="queryParams.occurTime"
+          placeholder="请输入发生时间"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="发生时机" prop="occurOppur">
+        <el-input
+          v-model="queryParams.occurOppur"
+          placeholder="请输入发生时机"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="发现人" prop="discoverPeople">
+        <el-input
+          v-model="queryParams.discoverPeople"
+          placeholder="请输入发现人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="发生地" prop="occurPlace">
+        <el-input
+          v-model="queryParams.occurPlace"
+          placeholder="请输入发生地"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="报告部门" prop="reportDept">
+        <el-input
+          v-model="queryParams.reportDept"
+          placeholder="请输入报告部门"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="审核人" prop="reviewer">
+        <el-input
+          v-model="queryParams.reviewer"
+          placeholder="请输入审核人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="确认方法" prop="confirmDescript">
+        <el-input
+          v-model="queryParams.confirmDescript"
+          placeholder="请输入确认方法"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="确认人" prop="confirmUser">
+        <el-input
+          v-model="queryParams.confirmUser"
+          placeholder="请输入确认人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="排故人" prop="repairUser">
+        <el-input
+          v-model="queryParams.repairUser"
+          placeholder="请输入排故人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="排故用时" prop="repairTimeCnt">
+        <el-input
+          v-model="queryParams.repairTimeCnt"
+          placeholder="请输入排故用时"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="解决时间" prop="repairTime">
+        <el-input
+          v-model="queryParams.repairTime"
+          placeholder="请输入解决时间"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="排故用人数" prop="repairPeopleCnt">
+        <el-input
+          v-model="queryParams.repairPeopleCnt"
+          placeholder="请输入排故用人数"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['maintenance:faultRecord: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="['maintenance:faultRecord: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="['maintenance:faultRecord: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="['maintenance:faultRecord:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="faultRecordList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="${comment}" align="center" prop="id" />
+      <el-table-column label="型号" align="center" prop="equipType" />
+      <el-table-column label="装备编号" align="center" prop="equipNo" />
+      <el-table-column label="战区" align="center" prop="equipDept" />
+      <el-table-column label="系统id" align="center" prop="sysId" />
+      <el-table-column label="系统名" align="center" prop="sysName" />
+      <el-table-column label="部件id" align="center" prop="partId" />
+      <el-table-column label="部件名" align="center" prop="partName" />
+      <el-table-column label="替换件id" align="center" prop="replacePartId" />
+      <el-table-column label="替换件名" align="center" prop="replacePartName" />
+      <el-table-column label="故障类型" align="center" prop="faultType" />
+      <el-table-column label="发现时间" align="center" prop="discoverTime" />
+      <el-table-column label="发生时间" align="center" prop="occurTime" />
+      <el-table-column label="发生时机" align="center" prop="occurOppur" />
+      <el-table-column label="发现人" align="center" prop="discoverPeople" />
+      <el-table-column label="发生地" align="center" prop="occurPlace" />
+      <el-table-column label="报告部门" align="center" prop="reportDept" />
+      <el-table-column label="审核人" align="center" prop="reviewer" />
+      <el-table-column label="确认方法" align="center" prop="confirmDescript" />
+      <el-table-column label="确认人" align="center" prop="confirmUser" />
+      <el-table-column label="排故人" align="center" prop="repairUser" />
+      <el-table-column label="排故用时" align="center" prop="repairTimeCnt" />
+      <el-table-column label="解决时间" align="center" prop="repairTime" />
+      <el-table-column label="排故用人数" align="center" prop="repairPeopleCnt" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['maintenance:faultRecord:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['maintenance:faultRecord:remove']"
+          >删除</el-button>
+        </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="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="装备编号" prop="equipNo">
+          <el-input v-model="form.equipNo" placeholder="请输入装备编号" />
+        </el-form-item>
+        <el-form-item label="战区" prop="equipDept">
+          <el-input v-model="form.equipDept" placeholder="请输入战区" />
+        </el-form-item>
+        <el-form-item label="系统id" prop="sysId">
+          <el-input v-model="form.sysId" placeholder="请输入系统id" />
+        </el-form-item>
+        <el-form-item label="系统名" prop="sysName">
+          <el-input v-model="form.sysName" placeholder="请输入系统名" />
+        </el-form-item>
+        <el-form-item label="部件id" prop="partId">
+          <el-input v-model="form.partId" placeholder="请输入部件id" />
+        </el-form-item>
+        <el-form-item label="部件名" prop="partName">
+          <el-input v-model="form.partName" placeholder="请输入部件名" />
+        </el-form-item>
+        <el-form-item label="替换件id" prop="replacePartId">
+          <el-input v-model="form.replacePartId" placeholder="请输入替换件id" />
+        </el-form-item>
+        <el-form-item label="替换件名" prop="replacePartName">
+          <el-input v-model="form.replacePartName" placeholder="请输入替换件名" />
+        </el-form-item>
+        <el-form-item label="发现时间" prop="discoverTime">
+          <el-input v-model="form.discoverTime" placeholder="请输入发现时间" />
+        </el-form-item>
+        <el-form-item label="发生时间" prop="occurTime">
+          <el-input v-model="form.occurTime" placeholder="请输入发生时间" />
+        </el-form-item>
+        <el-form-item label="发生时机" prop="occurOppur">
+          <el-input v-model="form.occurOppur" placeholder="请输入发生时机" />
+        </el-form-item>
+        <el-form-item label="发现人" prop="discoverPeople">
+          <el-input v-model="form.discoverPeople" placeholder="请输入发现人" />
+        </el-form-item>
+        <el-form-item label="发生地" prop="occurPlace">
+          <el-input v-model="form.occurPlace" placeholder="请输入发生地" />
+        </el-form-item>
+        <el-form-item label="报告部门" prop="reportDept">
+          <el-input v-model="form.reportDept" placeholder="请输入报告部门" />
+        </el-form-item>
+        <el-form-item label="审核人" prop="reviewer">
+          <el-input v-model="form.reviewer" placeholder="请输入审核人" />
+        </el-form-item>
+        <el-form-item label="确认方法" prop="confirmDescript">
+          <el-input v-model="form.confirmDescript" placeholder="请输入确认方法" />
+        </el-form-item>
+        <el-form-item label="确认人" prop="confirmUser">
+          <el-input v-model="form.confirmUser" placeholder="请输入确认人" />
+        </el-form-item>
+        <el-form-item label="排故人" prop="repairUser">
+          <el-input v-model="form.repairUser" placeholder="请输入排故人" />
+        </el-form-item>
+        <el-form-item label="排故用时" prop="repairTimeCnt">
+          <el-input v-model="form.repairTimeCnt" placeholder="请输入排故用时" />
+        </el-form-item>
+        <el-form-item label="解决时间" prop="repairTime">
+          <el-input v-model="form.repairTime" placeholder="请输入解决时间" />
+        </el-form-item>
+        <el-form-item label="排故用人数" prop="repairPeopleCnt">
+          <el-input v-model="form.repairPeopleCnt" placeholder="请输入排故用人数" />
+        </el-form-item>
+      </el-form>
+      <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 { listFaultRecord, getFaultRecord, delFaultRecord, addFaultRecord, updateFaultRecord } from "@/api/maintenance/faultRecord";
+
+export default {
+  name: "FaultRecord",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 故障记录表格数据
+      faultRecordList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        equipType: null,
+        equipNo: null,
+        equipDept: null,
+        sysId: null,
+        sysName: null,
+        partId: null,
+        partName: null,
+        replacePartId: null,
+        replacePartName: null,
+        faultType: null,
+        discoverTime: null,
+        occurTime: null,
+        occurOppur: null,
+        discoverPeople: null,
+        occurPlace: null,
+        reportDept: null,
+        reviewer: null,
+        confirmDescript: null,
+        confirmUser: null,
+        repairUser: null,
+        repairTimeCnt: null,
+        repairTime: null,
+        repairPeopleCnt: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询故障记录列表 */
+    getList() {
+      this.loading = true;
+      listFaultRecord(this.queryParams).then(response => {
+        this.faultRecordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        equipType: null,
+        equipNo: null,
+        equipDept: null,
+        sysId: null,
+        sysName: null,
+        partId: null,
+        partName: null,
+        replacePartId: null,
+        replacePartName: null,
+        faultType: null,
+        discoverTime: null,
+        occurTime: null,
+        occurOppur: null,
+        discoverPeople: null,
+        occurPlace: null,
+        reportDept: null,
+        reviewer: null,
+        confirmDescript: null,
+        confirmUser: null,
+        repairUser: null,
+        repairTimeCnt: null,
+        repairTime: null,
+        repairPeopleCnt: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加故障记录";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getFaultRecord(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改故障记录";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateFaultRecord(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addFaultRecord(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除故障记录编号为"' + ids + '"的数据项?').then(function() {
+        return delFaultRecord(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('maintenance/faultRecord/export', {
+        ...this.queryParams
+      }, `faultRecord_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff