cfofpp 6 месяцев назад
Родитель
Сommit
f33759c23e

+ 192 - 0
src/views/distributionnetwork/power-outage-control/completion-status/components/DetailsDrawer.vue

@@ -0,0 +1,192 @@
+<template>
+  <el-drawer
+    :title="`[` + form.electLineName + `]完成情况`"
+    :visible.sync="visible"
+    :size="650"
+    destroy-on-close
+    @closed="visible = false"
+  >
+    <el-container v-loading="loading">
+      <el-main>
+        <el-form>
+          <el-form-item label="事件序号" prop="eventNo"
+            >{{ form.eventNo }}
+          </el-form-item>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="线路名称" prop="electLineName"
+                >{{ form.electLineName }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="主分支名称" prop="branchName"
+                >{{ form.branchName }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="数据状态" prop="dataStatus"
+                >{{ form.dataStatus }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="推送状态" prop="pushStatus"
+                >{{ form.pushStatus }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="是否可维护" prop="isMaintainable"
+                >{{ form.isMaintainable }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="是否纯专变" prop="isPureSpecia"
+                >{{ form.isPureSpecia }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="事件类型" prop="eventType"
+                >{{ form.eventType }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="研判停电性质" prop="powerOutageNature"
+                >{{ form.powerOutageNature }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="停电起始时间" prop="powerOutageStart"
+                >{{ form.powerOutageStart }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="停电终止时间" prop="powerOutageEnd"
+                >{{ form.powerOutageEnd }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item
+                label="可靠性停电时户数"
+                prop="powerOutageDuringHouseholds"
+                >{{ form.powerOutageDuringHouseholds }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="所属市公司" prop="city"
+                >{{ form.city }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="所属县公司" prop="county"
+                >{{ form.county }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="所属供电所" prop="station"
+                >{{ form.station }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="单位编码" prop="oranNo"
+                >{{ form.oranNo }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="变电站名称" prop="substationName"
+                >{{ form.substationName }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="停电户次数" prop="powerOutageHouseholds"
+                >{{ form.powerOutageHouseholds }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="停电线次数" prop="powerOutageLine"
+                >{{ form.powerOutageLine }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="目标时户数" prop="powerOutageHouseholds"
+                >{{ form.powerOutageHouseholds }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="时户数差异" prop="powerOutageLine"
+                >{{ form.powerOutageLine }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-footer style="text-align: center">
+          <el-button @click="visible = false">关闭</el-button>
+        </el-footer>
+      </el-main>
+    </el-container>
+  </el-drawer>
+</template>
+
+<script>
+export default {
+  emits: ["success", "closed"],
+  components: {},
+  data() {
+    return {
+      loading: false,
+      form: {
+        recordId: "",
+        sortNo: 0,
+        userName: "",
+        year: "",
+        month: "",
+        postSalary: 0,
+        levelSalary: 0,
+        foodSalary: 0,
+        otherPassSalary: 0,
+        transportSalary: 0,
+        postAllowance: 0,
+        sumAmount: 0,
+        pensoin: 0,
+        unemployment: 0,
+        medical: 0,
+        accumulationFund: 0,
+        tax: 0,
+        costOther: 0,
+        realCost: 0,
+        realSalary: 0,
+        msgType: "",
+        remark: "",
+      },
+      visible: false,
+      isSaveing: false,
+    };
+  },
+  mounted() {},
+  methods: {
+    //显示
+    openModel(row) {
+      this.visible = true;
+      this.form = { ...row };
+    },
+  },
+};
+</script>
+
+<style></style>

+ 327 - 0
src/views/distributionnetwork/power-outage-control/completion-status/components/OverallObjectiveTable.vue

@@ -0,0 +1,327 @@
+<template>
+  <!-- 总目标 -->
+  <div class="">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="线路名称" prop="electLineName">
+        <el-input
+          v-model="queryParams.electLineName"
+          placeholder="请输入线路名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="主分支名称" prop="branchName" label-width="100px">
+        <el-input
+          v-model="queryParams.branchName"
+          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
+          size="mini"
+          :disabled="!selectedRows.length"
+          @click="handleInput(selectedRows[0], '录入原因')"
+          >录入原因</el-button
+        >
+      </el-col> -->
+      <!-- <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar> -->
+    </el-row>
+    <div class="table">
+      <el-table
+        ref="renewalTable"
+        v-loading="loading"
+        :data="dataList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column
+          label="事件序号"
+          align="center"
+          prop="eventNo"
+          width="100"
+          fixed
+        >
+          <template slot-scope="scope">
+            <a
+              style="color: #00afff; cursor: pointer"
+              @click="handleDetail(scope.row)"
+              >{{ scope.row.eventNo }}</a
+            >
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="线路名称"
+          align="center"
+          prop="electLineName"
+          :show-overflow-tooltip="true"
+          width="160"
+          fixed
+        />
+        <el-table-column
+          label="主分支名称"
+          align="center"
+          prop="branchName"
+          :show-overflow-tooltip="true"
+          width="120"
+          fixed
+        />
+        <el-table-column
+          label="数据状态"
+          align="center"
+          prop="dataStatus"
+          fixed
+        />
+        <el-table-column
+          label="推送状态"
+          align="center"
+          prop="pushStatus"
+          fixed
+        />
+        <el-table-column
+          label="是否可维护"
+          align="center"
+          prop="isMaintainable"
+          width="100"
+          fixed
+        />
+        <el-table-column
+          label="是否纯专变"
+          align="center"
+          prop="isPureSpecia"
+          width="100"
+          fixed
+        />
+        <el-table-column
+          label="事件类型"
+          align="center"
+          prop="eventType"
+          fixed
+        />
+        <el-table-column
+          label="停电起始时间"
+          align="center"
+          prop="powerOutageStart"
+          width="180"
+          fixed
+        >
+        </el-table-column>
+        <el-table-column
+          label="停电终止时间"
+          align="center"
+          prop="powerOutageEnd"
+          width="180"
+          fixed
+        >
+        </el-table-column>
+        <el-table-column
+          label="可靠性停电时户数"
+          align="center"
+          prop="powerOutageDuringHouseholds"
+          width="100"
+        />
+        <el-table-column
+          label="研判停电性质"
+          align="center"
+          prop="powerOutageNature"
+          width="100"
+        />
+        <el-table-column
+          label="所属市公司"
+          align="center"
+          prop="city"
+          width="150"
+        />
+        <el-table-column
+          label="所属县公司"
+          align="center"
+          prop="county"
+          width="150"
+        />
+        <el-table-column
+          label="所属供电所"
+          align="center"
+          prop="station"
+          width="150"
+        />
+        <el-table-column label="单位编码" align="center" prop="oranNo" />
+        <el-table-column
+          label="变电站名称"
+          align="center"
+          prop="substationName"
+          width="100"
+        />
+        <el-table-column
+          label="停电户次数"
+          align="center"
+          prop="powerOutageHouseholds"
+        />
+        <el-table-column
+          label="停电线次数"
+          align="center"
+          prop="powerOutageLine"
+        />
+        <el-table-column
+          label="目标时户数"
+          align="center"
+          prop="powerOutageLine"
+        />
+        <el-table-column
+          label="时户数差异"
+          align="center"
+          prop="powerOutageLine"
+        />
+      </el-table>
+      <pagination
+        class="page-box"
+        v-show="total > 0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+    </div>
+    <!-- 详情 -->
+    <DetailsDrawer ref="detailRef" />
+    <!-- 录入原因 -->
+    <!-- <InputReasonModel ref="inputReasonRef" @refresh="getList" /> -->
+  </div>
+</template>
+
+<script>
+import DetailsDrawer from "./DetailsDrawer.vue";
+// import InputReasonModel from "./components/InputReasonModel.vue";
+import { listMaintenanceStatistics } from "@/api/powerdistribution/maintenance";
+export default {
+  components: {
+    DetailsDrawer,
+    // InputReasonModel,
+  },
+  data() {
+    return {
+      // 显示搜索条件
+      showSearch: true,
+      dataList: [],
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        eventNo: null,
+        electLineName: null,
+        branchName: null,
+        dataStatus: null,
+        pushStatus: null,
+        isMaintainable: null,
+        isPureSpecia: null,
+        eventType: null,
+        powerOutageStart: null,
+        powerOutageEnd: null,
+        powerOutageDuringHouseholds: null,
+        powerOutageNature: null,
+        city: null,
+        county: null,
+        station: null,
+        oranNo: null,
+        substationName: null,
+        powerOutageHouseholds: null,
+        powerOutageLine: null,
+        faultFreeDuration: null,
+        rewardAmount: null,
+      },
+      // 选中数组
+      selectedRows: [],
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    // 多选框选中数据
+    handleSelectionChange(selectedRows) {
+      if (selectedRows.length > 1) {
+        // 只保留最新选择的项
+        this.$refs.renewalTable.clearSelection();
+        this.$refs.renewalTable.toggleRowSelection(
+          selectedRows[selectedRows.length - 1]
+        );
+      }
+      // 记录选择的行
+      this.selectedRows = selectedRows[selectedRows.length - 1]
+        ? [selectedRows[selectedRows.length - 1]]
+        : [];
+    },
+    // 详情
+    handleDetail(row) {
+      this.$refs.detailRef.openModel({ ...row });
+    },
+    /** 查询列表 */
+    getList() {
+      this.loading = true;
+      listMaintenanceStatistics({
+        ...this.queryParams,
+      }).then((response) => {
+        this.dataList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.queryParams.pageNum = 1;
+      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>

+ 27 - 0
src/views/distributionnetwork/power-outage-control/completion-status/index.vue

@@ -0,0 +1,27 @@
+<template>
+  <!-- 完成情况 -->
+  <div class="app-container">
+    <el-tabs v-model="activeTab">
+      <el-tab-pane label="总目标">
+        <OverallObjectiveTable></OverallObjectiveTable>
+      </el-tab-pane>
+      <el-tab-pane label="故障停电目标">故障停电目标</el-tab-pane>
+      <el-tab-pane label="计划停电目标">计划停电目标</el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+
+<script>
+import OverallObjectiveTable from "./components/OverallObjectiveTable.vue";
+export default {
+  components: { OverallObjectiveTable },
+  data() {
+    return {
+      //当前选中的tab
+      activeTab: "",
+    };
+  },
+};
+</script>
+
+<style></style>

+ 181 - 0
src/views/distributionnetwork/power-outage-control/duration-analysis/components/DetailsDrawer.vue

@@ -0,0 +1,181 @@
+<template>
+  <!-- 时长分析详情 -->
+  <el-drawer
+    :title="`[` + form.electLineName + `]时长分析`"
+    :visible.sync="visible"
+    :size="650"
+    destroy-on-close
+    @closed="visible = false"
+  >
+    <el-container v-loading="loading">
+      <el-main>
+        <el-form>
+          <el-form-item label="事件序号" prop="eventNo"
+            >{{ form.eventNo }}
+          </el-form-item>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="线路名称" prop="electLineName"
+                >{{ form.electLineName }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="主分支名称" prop="branchName"
+                >{{ form.branchName }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="数据状态" prop="dataStatus"
+                >{{ form.dataStatus }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="推送状态" prop="pushStatus"
+                >{{ form.pushStatus }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="是否可维护" prop="isMaintainable"
+                >{{ form.isMaintainable }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="是否纯专变" prop="isPureSpecia"
+                >{{ form.isPureSpecia }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="事件类型" prop="eventType"
+                >{{ form.eventType }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="研判停电性质" prop="powerOutageNature"
+                >{{ form.powerOutageNature }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="停电起始时间" prop="powerOutageStart"
+                >{{ form.powerOutageStart }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="停电终止时间" prop="powerOutageEnd"
+                >{{ form.powerOutageEnd }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item
+                label="停电时户数"
+                prop="powerOutageDuringHouseholds"
+                >{{ form.powerOutageDuringHouseholds }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="所属市公司" prop="city"
+                >{{ form.city }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="所属县公司" prop="county"
+                >{{ form.county }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="所属供电所" prop="station"
+                >{{ form.station }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="单位编码" prop="oranNo"
+                >{{ form.oranNo }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="变电站名称" prop="substationName"
+                >{{ form.substationName }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="24">
+            <el-col :lg="12">
+              <el-form-item label="停电户次数" prop="powerOutageHouseholds"
+                >{{ form.powerOutageHouseholds }}
+              </el-form-item>
+            </el-col>
+            <el-col :lg="12">
+              <el-form-item label="停电线次数" prop="powerOutageLine"
+                >{{ form.powerOutageLine }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-footer style="text-align: center">
+          <el-button @click="visible = false">关闭</el-button>
+        </el-footer>
+      </el-main>
+    </el-container>
+  </el-drawer>
+</template>
+
+<script>
+export default {
+  emits: ["success", "closed"],
+  components: {},
+  data() {
+    return {
+      loading: false,
+      form: {
+        recordId: "",
+        sortNo: 0,
+        userName: "",
+        year: "",
+        month: "",
+        postSalary: 0,
+        levelSalary: 0,
+        foodSalary: 0,
+        otherPassSalary: 0,
+        transportSalary: 0,
+        postAllowance: 0,
+        sumAmount: 0,
+        pensoin: 0,
+        unemployment: 0,
+        medical: 0,
+        accumulationFund: 0,
+        tax: 0,
+        costOther: 0,
+        realCost: 0,
+        realSalary: 0,
+        msgType: "",
+        remark: "",
+      },
+      visible: false,
+      isSaveing: false,
+    };
+  },
+  mounted() {},
+  methods: {
+    //显示
+    openModel(row) {
+      this.visible = true;
+      this.form = { ...row };
+    },
+  },
+};
+</script>
+
+<style></style>

+ 91 - 0
src/views/distributionnetwork/power-outage-control/duration-analysis/components/InputReasonModel.vue

@@ -0,0 +1,91 @@
+<template>
+  <!-- 时长分析录入原因 -->
+  <el-dialog
+    :title="title"
+    :visible.sync="dialog"
+    width="600px"
+    append-to-body
+    @close="cancelForm"
+  >
+    <div class="demo-drawer__content" style="padding: 0 20px">
+      <el-form :model="form" label-position="left" label-width="70px">
+        <el-row :gutter="30">
+          <el-col :span="24">
+            <el-form-item label="作业内容">
+              <el-input v-model="form.opContent" disabled></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
+          <el-col :span="24">
+            <el-form-item label="取消原因">
+              <el-input
+                type="textarea"
+                :rows="3"
+                placeholder="请输入取消原因"
+                v-model="form.cancelReason"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="cancelForm">取 消 </el-button>
+      <el-button type="primary" @click="handleClose" :loading="loading">{{
+        loading ? "提交中 ..." : "确 定"
+      }}</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+import { updateWorkPlan } from "@/api/secure/pdm-work-plan";
+export default {
+  data() {
+    return {
+      title: "录入原因",
+      form: {
+        planReason: "",
+      },
+      loading: false,
+      dialog: false,
+    };
+  },
+  methods: {
+    openModel(data) {
+      this.form = { ...data };
+      this.dialog = true;
+    },
+    handleClose(done) {
+      if (this.loading) {
+        return;
+      }
+      this.loading = true;
+      updateWorkPlan(this.form).then((response) => {
+        this.$modal.msgSuccess("修改成功");
+        this.loading = false;
+        this.dialog = false;
+        this.$emit("refresh");
+      });
+    },
+    cancelForm() {
+      this.form = {
+        planReason: "",
+        id: null,
+      };
+      this.loading = false;
+      this.dialog = false;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep {
+  .el-drawer.ttb,
+  .el-drawer.btt {
+    height: 90% !important;
+  }
+}
+</style>

+ 321 - 0
src/views/distributionnetwork/power-outage-control/duration-analysis/index.vue

@@ -0,0 +1,321 @@
+<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="electLineName">
+        <el-input
+          v-model="queryParams.electLineName"
+          placeholder="请输入线路名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="主分支名称" prop="branchName" label-width="100px">
+        <el-input
+          v-model="queryParams.branchName"
+          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
+          size="mini"
+          :disabled="!selectedRows.length"
+          @click="handleInput(selectedRows[0], '录入原因')"
+          >录入原因</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+    <div class="table">
+      <el-table
+        ref="renewalTable"
+        v-loading="loading"
+        :data="dataList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column
+          label="事件序号"
+          align="center"
+          prop="eventNo"
+          width="100"
+          fixed
+        >
+          <template slot-scope="scope">
+            <a
+              style="color: #00afff; cursor: pointer"
+              @click="handleDetail(scope.row)"
+              >{{ scope.row.eventNo }}</a
+            >
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="线路名称"
+          align="center"
+          prop="electLineName"
+          :show-overflow-tooltip="true"
+          width="160"
+          fixed
+        />
+        <el-table-column
+          label="主分支名称"
+          align="center"
+          prop="branchName"
+          :show-overflow-tooltip="true"
+          width="120"
+          fixed
+        />
+        <el-table-column
+          label="数据状态"
+          align="center"
+          prop="dataStatus"
+          fixed
+        />
+        <el-table-column
+          label="推送状态"
+          align="center"
+          prop="pushStatus"
+          fixed
+        />
+        <el-table-column
+          label="是否可维护"
+          align="center"
+          prop="isMaintainable"
+          width="100"
+          fixed
+        />
+        <el-table-column
+          label="是否纯专变"
+          align="center"
+          prop="isPureSpecia"
+          width="100"
+          fixed
+        />
+        <el-table-column
+          label="事件类型"
+          align="center"
+          prop="eventType"
+          fixed
+        />
+        <el-table-column
+          label="停电起始时间"
+          align="center"
+          prop="powerOutageStart"
+          width="180"
+          fixed
+        >
+        </el-table-column>
+        <el-table-column
+          label="停电终止时间"
+          align="center"
+          prop="powerOutageEnd"
+          width="180"
+          fixed
+        >
+        </el-table-column>
+        <el-table-column
+          label="停电时户数"
+          align="center"
+          prop="powerOutageDuringHouseholds"
+          width="100"
+        />
+        <el-table-column
+          label="研判停电性质"
+          align="center"
+          prop="powerOutageNature"
+          width="100"
+        />
+        <el-table-column
+          label="所属市公司"
+          align="center"
+          prop="city"
+          width="150"
+        />
+        <el-table-column
+          label="所属县公司"
+          align="center"
+          prop="county"
+          width="150"
+        />
+        <el-table-column
+          label="所属供电所"
+          align="center"
+          prop="station"
+          width="150"
+        />
+        <el-table-column label="单位编码" align="center" prop="oranNo" />
+        <el-table-column
+          label="变电站名称"
+          align="center"
+          prop="substationName"
+          width="100"
+        />
+        <el-table-column
+          label="停电户次数"
+          align="center"
+          prop="powerOutageHouseholds"
+        />
+        <el-table-column
+          label="停电线次数"
+          align="center"
+          prop="powerOutageLine"
+        />
+      </el-table>
+      <pagination
+        class="page-box"
+        v-show="total > 0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+    </div>
+    <!-- 详情 -->
+    <DetailsDrawer ref="detailRef" />
+    <!-- 录入原因 -->
+    <InputReasonModel ref="inputReasonRef" @refresh="getList" />
+  </div>
+</template>
+
+<script>
+import DetailsDrawer from "./components/DetailsDrawer.vue";
+import InputReasonModel from "./components/InputReasonModel.vue";
+import { listMaintenanceStatistics } from "@/api/powerdistribution/maintenance";
+export default {
+  components: {
+    DetailsDrawer,
+    InputReasonModel,
+  },
+  data() {
+    return {
+      // 显示搜索条件
+      showSearch: true,
+      dataList: [],
+      // 遮罩层
+      loading: true,
+      total: 0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        eventNo: null,
+        electLineName: null,
+        branchName: null,
+        dataStatus: null,
+        pushStatus: null,
+        isMaintainable: null,
+        isPureSpecia: null,
+        eventType: null,
+        powerOutageStart: null,
+        powerOutageEnd: null,
+        powerOutageDuringHouseholds: null,
+        powerOutageNature: null,
+        city: null,
+        county: null,
+        station: null,
+        oranNo: null,
+        substationName: null,
+        powerOutageHouseholds: null,
+        powerOutageLine: null,
+        faultFreeDuration: null,
+        rewardAmount: null,
+      },
+      // 选中数组
+      selectedRows: [],
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    // 多选框选中数据
+    handleSelectionChange(selectedRows) {
+      if (selectedRows.length > 1) {
+        // 只保留最新选择的项
+        this.$refs.renewalTable.clearSelection();
+        this.$refs.renewalTable.toggleRowSelection(
+          selectedRows[selectedRows.length - 1]
+        );
+      }
+      // 记录选择的行
+      this.selectedRows = selectedRows[selectedRows.length - 1]
+        ? [selectedRows[selectedRows.length - 1]]
+        : [];
+    },
+    /**录入原因*/
+    handleInput(row) {
+      this.$refs.inputReasonRef.openModel({ ...row });
+    },
+    // 详情
+    handleDetail(row) {
+      this.$refs.detailRef.openModel({ ...row });
+    },
+    /** 查询列表 */
+    getList() {
+      this.loading = true;
+      listMaintenanceStatistics({
+        ...this.queryParams,
+      }).then((response) => {
+        this.dataList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.queryParams.pageNum = 1;
+      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>

+ 14 - 0
src/views/distributionnetwork/power-outage-control/target-display-board/index.vue

@@ -0,0 +1,14 @@
+<template>
+  <!-- 目标展板 -->
+  <div class="app-container">目标展板</div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {};
+  },
+};
+</script>
+
+<style></style>

+ 18 - 0
src/views/distributionnetwork/secure/components/WorkPlanDetailModel.vue

@@ -15,6 +15,7 @@
             </el-form-item>
           </el-col>
         </el-row>
+<<<<<<< Updated upstream
 				<el-row :gutter="24">
 				  <el-col :span="24" v-if="type == 1">
 				    <el-form-item label="取消原因">
@@ -35,6 +36,8 @@
 				    </el-form-item>
 				  </el-col>
 				</el-row>
+=======
+>>>>>>> Stashed changes
         <el-row :gutter="24">
           <el-col :span="24">
             <el-form-item label="作业地址">
@@ -111,6 +114,21 @@
           <el-col :span="12">
             <el-form-item label="专业类型">
               {{ form.majorTypDsc }}
+<<<<<<< Updated upstream
+=======
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="24">
+          <el-col :span="24" v-if="type == 1">
+            <el-form-item label="取消原因">
+              {{ form.cancelReason }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-if="type == 2">
+            <el-form-item label="临时计划原因">
+              {{ form.planReason }}
+>>>>>>> Stashed changes
             </el-form-item>
           </el-col>
         </el-row>