cfofpp 5 bulan lalu
induk
melakukan
11cb20fef5

+ 16 - 1
src/api/powerdistribution/maintenance.js

@@ -146,7 +146,22 @@ export function updateExamineRoleDetail(data) {
 
 export function getExamineCountyInfo() {
   return request({
-    url: `/power/distribution/pdmExamineCounty/getExamineCountyInfo`,
+    url: `/powerdistribution/pdmExamineCounty/getExamineCountyInfo`,
     method: "get",
   });
 }
+
+export function saveBatch(data) {
+  return request({
+    url: "/powerdistribution/pdmExamineCounty/saveBatch",
+    method: "post",
+    data: data,
+  });
+}
+export function upPdmExamineCounty(data) {
+  return request({
+    url: "/powerdistribution/pdmExamineCounty",
+    method: "post",
+    data: data,
+  });
+}

+ 111 - 174
src/views/distributionnetwork/power-outage-control/rules/index2.vue

@@ -1,18 +1,14 @@
 <template>
   <!-- 奖惩规则配置 -->
   <div class="app-container">
-    <div class="table">
+    <div class="table" v-loading="loading">
       <el-table
+        v-if="!loading"
         ref="renewalTable"
-        v-loading="loading"
         :data="wrapperDataList"
         row-key="id"
         :span-method="objectSpanMethod"
       >
-        <!-- height="640px" -->
-        <!-- <el-table-column prop="date" label="序号" width="70" align="center">
-        <template slot-scope="scope">{{ scope.$index + 1 }}</template>
-      </el-table-column> -->
         <el-table-column
           label="时户数要求"
           align="center"
@@ -53,11 +49,54 @@
             :key="_i"
             :label="_ite.remark"
             align="center"
-            prop="title2"
-            width="160"
-            fixed
+            :prop="`${ite.remark}_${_ite.remark}`"
             :show-overflow-tooltip="true"
-          ></el-table-column>
+          >
+            <template slot="header" slot-scope="scope">
+              {{ _ite.remark }}
+              <!-- <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleBatchUpdate(scope.row)"
+              ></el-button> -->
+            </template>
+            <template slot-scope="scope">
+              <span
+                v-if="
+                  !curKey ||
+                  curKey !=
+                    `${ite.remark}_${_ite.remark}_${keys[scope.$index].text}`
+                "
+                class="text"
+                @dblclick="
+                  editVal(
+                    `${ite.remark}_${_ite.remark}_${
+                      keys[scope.$index]['text']
+                    }`,
+                    scope.row[
+                      `${ite.remark}_${_ite.remark}_${
+                        keys[scope.$index]['text']
+                      }_obj`
+                    ]
+                  )
+                "
+              >
+                {{
+                  scope.row[
+                    `${ite.remark}_${_ite.remark}_${keys[scope.$index].text}`
+                  ] || "-"
+                }}</span
+              >
+              <el-input
+                id="inputId"
+                v-else
+                v-model="editObj.amount"
+                @blur="editChange"
+                placeholder="请输入"
+              ></el-input>
+            </template>
+          </el-table-column>
         </el-table-column>
         <div slot="append">
           <!-- class中出现了el-table字样的,为了复用el-table的样式 -->
@@ -75,7 +114,18 @@
                 class="el-table__cell"
                 style="width: 100%; padding: 10px"
               >
-                1.大大说的撒的 2.大大说 3.大大说
+                <div>
+                  1、未批准的300 时户数以内的计划停电,超出 300
+                  时户数的,按超出部分每时户
+                  10元对四级单位党政一把手及以下人员进行叠加考核。
+                </div>
+                <div>
+                  2、已批准的超300时户数的计划停电,对超出计划时户数的,按超出部分每时户
+                  20元对四级单位党政一把手及以下人员进行叠加考核。
+                </div>
+                <div>
+                  3、因上级电网需求的计划停电,对超出计划时户数的,按以上原则对责任单位进行考核。
+                </div>
               </td>
             </tr>
           </table>
@@ -86,12 +136,15 @@
 </template>
 
 <script>
-import { getExamineCountyInfo } from "@/api/powerdistribution/maintenance";
+import {
+  getExamineCountyInfo,
+  upPdmExamineCounty,
+  saveBatch,
+} from "@/api/powerdistribution/maintenance";
 export default {
   data() {
     return {
       dataList: [],
-      total: 0,
       wrapperDataList: [],
       loading: true,
       keys: [
@@ -121,153 +174,15 @@ export default {
         },
         {
           key: "workPrincipAmt",
-          text: "直接责任人(工作负责人)",
+          text: "直接责任人",
         },
         {
           key: "ownerAmt",
           text: "设备主人",
         },
       ],
-      data: [
-        {
-          createBy: "",
-          createTime: "2025-01-02 18:21:00",
-          updateBy: "",
-          updateTime: null,
-          remark: "N<100",
-          id: 1,
-          requireCd: "01",
-          hourMinNum: "N",
-          hourMaxNum: 100,
-          pId: 0,
-          requireType: "N",
-          sortNo: 1,
-          children: [
-            {
-              createBy: "",
-              createTime: "2025-01-02 18:32:39",
-              updateBy: "",
-              updateTime: null,
-              remark: "N<X<100",
-              id: 2,
-              requireCd: "0101",
-              hourMinNum: "N",
-              hourMaxNum: 100,
-              pId: 1,
-              requireType: "X",
-              sortNo: 1,
-              children: null,
-              examineCountyList: [
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 1,
-                  roleNm: "党政一把手",
-                  roleCd: "0001",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: null,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 2,
-                  roleNm: "分管副经理",
-                  roleCd: "0002",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: null,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 3,
-                  roleNm: "部室主任",
-                  roleCd: "0003",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: 50,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 4,
-                  roleNm: "部室分管主任",
-                  roleCd: "0004",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: 50,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 5,
-                  roleNm: "部室责任专责",
-                  roleCd: "0005",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: 50,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 6,
-                  roleNm: "总负责人",
-                  roleCd: "0006",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: 50,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 7,
-                  roleNm: "直接责任人",
-                  roleCd: "0007",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: 100,
-                },
-                {
-                  createBy: null,
-                  createTime: null,
-                  updateBy: null,
-                  updateTime: null,
-                  remark: null,
-                  id: 8,
-                  roleNm: "设备主人",
-                  roleCd: "0008",
-                  requireCd: "0101",
-                  compteHourNumX: "N<X<100",
-                  amount: 50,
-                },
-              ],
-            },
-          ],
-        },
-      ],
-      head: [],
+      curKey: null,
+      editObj: {},
     };
   },
   created() {
@@ -277,34 +192,53 @@ export default {
     /** 查询列表 */
     getList() {
       this.loading = true;
-      // getExamineCountyInfo().then((response) => {
-      this.dataList = this.data;
-      console.log(this.dataList, " this.dataList");
-
-      // this.dataList = response.rows;
-      // this.total = response.total;
-      this.loading = false;
-      this.wrapperData(this.dataList);
-      // });
+      getExamineCountyInfo().then((response) => {
+        this.dataList = response.data;
+        this.loading = false;
+        this.wrapperData();
+      });
     },
-    wrapperData(data) {
-      this.keys.forEach((key) => {
+    wrapperData() {
+      this.wrapperDataList = [];
+      this.keys.forEach((obj, i) => {
         this.wrapperDataList.push({
           title1: "四级单位(县公司)考核金额单位:元",
-          title2: key.text,
-          ...key,
+          title2: obj.text,
+          ...obj,
         });
+
+        this.dataList.forEach((ite) => {
+          if (ite.children && ite.children.length) {
+            ite.children.forEach((c) => {
+              this.wrapperDataList[i][`${ite.remark}_${c.remark}_${obj.text}`] =
+                c.examineCountyList.find((e) =>
+                  e.roleNm.includes(obj.text)
+                )?.amount;
+              this.wrapperDataList[i][
+                `${ite.remark}_${c.remark}_${obj.text}_obj`
+              ] = c.examineCountyList.find((e) => e.roleNm.includes(obj.text));
+            });
+          }
+        });
+      });
+      this.loading = false;
+    },
+    editVal(key, row) {
+      this.editObj = row;
+      this.curKey = key;
+      this.$nextTick(() => {
+        let dom = document.getElementById("inputId");
+        dom.focus();
       });
     },
-    /** 搜索按钮操作 */
-    handleQuery() {
+    handleBatchUpdate(e) {},
+    async editChange() {
+      await upPdmExamineCounty({ ...this.editObj });
+      this.curKey = null;
+      this.editObj = {};
+      this.loading = true;
       this.getList();
     },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
       if (columnIndex === 0) {
         if (rowIndex === 0) {
@@ -338,4 +272,7 @@ export default {
     }
   }
 }
+.text {
+  cursor: pointer;
+}
 </style>