فهرست منبع

feat: 安全模块页面初始化

cfofpp 6 ماه پیش
والد
کامیت
5e901ed25e

+ 30 - 0
src/router/index.js

@@ -146,6 +146,36 @@ export const constantRoutes = [
         name: "weekly-report",
         meta: { title: "周报" },
       },
+      {
+        path: "/secure/reason-for-cancellation",
+        component: () => import("@/views/secure/reason-for-cancellation/index"),
+        name: "reason-for-cancellation",
+        meta: { title: "作业计划取消原因" },
+      },
+      {
+        path: "/secure/reason-for-the-plan",
+        component: () => import("@/views/secure/reason-for-the-plan/index"),
+        name: "reason-for-the-plan",
+        meta: { title: "临时计划原因" },
+      },
+      {
+        path: "/secure/abnormal-data",
+        component: () => import("@/views/secure/abnormal-data/index"),
+        name: "abnormal-data",
+        meta: { title: "作业信息异常数据" },
+      },
+      {
+        path: "/secure/risk-identification",
+        component: () => import("@/views/secure/risk-identification/index"),
+        name: "risk-identification",
+        meta: { title: "风险辨识" },
+      },
+      {
+        path: "/secure/points-ranking",
+        component: () => import("@/views/secure/points-ranking/index"),
+        name: "points-ranking",
+        meta: { title: "积分排行榜" },
+      },
     ],
   },
 ];

+ 183 - 0
src/views/secure/abnormal-data/index.vue

@@ -0,0 +1,183 @@
+// 取消原因
+<template>
+  <div class="app-container">
+    <el-form size="small" :inline="true">
+      <el-form-item label="作业日期" prop="menuName">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          type="date"
+          value-format="yyyyMMdd"
+          :clearable="false"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+        <el-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
+    <div class="table">
+      <el-table v-loading="loading" :data="typeList">
+        <el-table-column prop="date" label="序号" width="80" align="center">
+          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        </el-table-column>
+        <el-table-column label="管理单位" align="center" prop="dictId" />
+        <el-table-column
+          label="作业单位"
+          align="center"
+          prop="dictName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="作业班组"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业类型"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电网风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作负责人"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业开始时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业结束时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作内容"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column label="工作执行状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_normal_disable"
+              :value="scope.row.status"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="取消原因"
+          align="center"
+          prop="remark"
+          :show-overflow-tooltip="true"
+        />
+      </el-table>
+    </div>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { listType } from "@/api/system/dict/type";
+
+export default {
+  dicts: ["sys_normal_disable"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        dictName: undefined,
+        dictType: undefined,
+        status: undefined,
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
+      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
+        (response) => {
+          this.typeList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.table {
+  height: calc(100% - 150px);
+}
+::v-deep {
+  .el-table {
+    height: 100%;
+    width: 100%;
+    .el-table__body-wrapper {
+      width: 100% !important;
+      height: calc(100% - 50px) !important; // 表格高度减去表头的高度
+      overflow-y: scroll;
+    }
+  }
+}
+</style>

+ 121 - 0
src/views/secure/points-ranking/index.vue

@@ -0,0 +1,121 @@
+// 积分排行榜
+<template>
+  <div class="app-container">
+    <el-form size="small" :inline="true">
+      <!-- <el-form-item label="作业日期" prop="menuName">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          type="date"
+          value-format="yyyyMMdd"
+          :clearable="false"
+        ></el-date-picker>
+      </el-form-item> -->
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+        <el-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
+    <div class="table">
+      <el-table v-loading="loading" :data="typeList">
+        <el-table-column prop="date" label="序号" width="80" align="center">
+          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        </el-table-column>
+        <el-table-column prop="date" label="排名" align="center">
+        </el-table-column>
+        <el-table-column prop="name" label="单位" align="center">
+        </el-table-column>
+        <el-table-column prop="name" label="工作负责人" align="center">
+        </el-table-column>
+        <el-table-column prop="address" label="积分" align="center">
+        </el-table-column>
+      </el-table>
+    </div>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { listType } from "@/api/system/dict/type";
+
+export default {
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        dictName: undefined,
+        dictType: undefined,
+        status: undefined,
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
+      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
+        (response) => {
+          this.typeList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.table {
+  height: calc(100% - 150px);
+}
+::v-deep {
+  .el-table {
+    height: 100%;
+    width: 100%;
+    .el-table__body-wrapper {
+      width: 100% !important;
+      height: calc(100% - 50px) !important; // 表格高度减去表头的高度
+      overflow-y: scroll;
+    }
+  }
+}
+</style>

+ 183 - 0
src/views/secure/reason-for-cancellation/index.vue

@@ -0,0 +1,183 @@
+// 取消原因
+<template>
+  <div class="app-container">
+    <el-form size="small" :inline="true">
+      <el-form-item label="作业日期" prop="menuName">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          type="date"
+          value-format="yyyyMMdd"
+          :clearable="false"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+        <el-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
+    <div class="table">
+      <el-table v-loading="loading" :data="typeList">
+        <el-table-column prop="date" label="序号" width="80" align="center">
+          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        </el-table-column>
+        <el-table-column label="管理单位" align="center" prop="dictId" />
+        <el-table-column
+          label="作业单位"
+          align="center"
+          prop="dictName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="作业班组"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业类型"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电网风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作负责人"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业开始时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业结束时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作内容"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column label="工作执行状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_normal_disable"
+              :value="scope.row.status"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="取消原因"
+          align="center"
+          prop="remark"
+          :show-overflow-tooltip="true"
+        />
+      </el-table>
+    </div>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { listType } from "@/api/system/dict/type";
+
+export default {
+  dicts: ["sys_normal_disable"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        dictName: undefined,
+        dictType: undefined,
+        status: undefined,
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
+      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
+        (response) => {
+          this.typeList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.table {
+  height: calc(100% - 150px);
+}
+::v-deep {
+  .el-table {
+    height: 100%;
+    width: 100%;
+    .el-table__body-wrapper {
+      width: 100% !important;
+      height: calc(100% - 50px) !important; // 表格高度减去表头的高度
+      overflow-y: scroll;
+    }
+  }
+}
+</style>

+ 183 - 0
src/views/secure/reason-for-the-plan/index.vue

@@ -0,0 +1,183 @@
+// 取消原因
+<template>
+  <div class="app-container">
+    <el-form size="small" :inline="true">
+      <el-form-item label="作业日期" prop="menuName">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          type="date"
+          value-format="yyyyMMdd"
+          :clearable="false"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+        <el-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
+    <div class="table">
+      <el-table v-loading="loading" :data="typeList">
+        <el-table-column prop="date" label="序号" width="80" align="center">
+          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        </el-table-column>
+        <el-table-column label="管理单位" align="center" prop="dictId" />
+        <el-table-column
+          label="作业单位"
+          align="center"
+          prop="dictName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="作业班组"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业类型"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电网风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作负责人"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业开始时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业结束时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作内容"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column label="工作执行状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_normal_disable"
+              :value="scope.row.status"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="临时计划原因"
+          align="center"
+          prop="remark"
+          :show-overflow-tooltip="true"
+        />
+      </el-table>
+    </div>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { listType } from "@/api/system/dict/type";
+
+export default {
+  dicts: ["sys_normal_disable"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        dictName: undefined,
+        dictType: undefined,
+        status: undefined,
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
+      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
+        (response) => {
+          this.typeList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.table {
+  height: calc(100% - 150px);
+}
+::v-deep {
+  .el-table {
+    height: 100%;
+    width: 100%;
+    .el-table__body-wrapper {
+      width: 100% !important;
+      height: calc(100% - 50px) !important; // 表格高度减去表头的高度
+      overflow-y: scroll;
+    }
+  }
+}
+</style>

+ 183 - 0
src/views/secure/risk-identification/index.vue

@@ -0,0 +1,183 @@
+// 取消原因
+<template>
+  <div class="app-container">
+    <el-form size="small" :inline="true">
+      <el-form-item label="作业日期" prop="menuName">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          type="date"
+          value-format="yyyyMMdd"
+          :clearable="false"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+        <el-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
+    <div class="table">
+      <el-table v-loading="loading" :data="typeList">
+        <el-table-column prop="date" label="序号" width="80" align="center">
+          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        </el-table-column>
+        <el-table-column label="管理单位" align="center" prop="dictId" />
+        <el-table-column
+          label="作业单位"
+          align="center"
+          prop="dictName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="作业班组"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业类型"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电网风险"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作负责人"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业开始时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业结束时间"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="工作内容"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column label="工作执行状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_normal_disable"
+              :value="scope.row.status"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="取消原因"
+          align="center"
+          prop="remark"
+          :show-overflow-tooltip="true"
+        />
+      </el-table>
+    </div>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { listType } from "@/api/system/dict/type";
+
+export default {
+  dicts: ["sys_normal_disable"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        dictName: undefined,
+        dictType: undefined,
+        status: undefined,
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
+      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
+        (response) => {
+          this.typeList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.table {
+  height: calc(100% - 150px);
+}
+::v-deep {
+  .el-table {
+    height: 100%;
+    width: 100%;
+    .el-table__body-wrapper {
+      width: 100% !important;
+      height: calc(100% - 50px) !important; // 表格高度减去表头的高度
+      overflow-y: scroll;
+    }
+  }
+}
+</style>