Browse Source

feat: 作业计划列表

cfofpp 6 months ago
parent
commit
bb774180ef

+ 19 - 0
src/api/secure/pdm-work-plan.js

@@ -0,0 +1,19 @@
+import request from "@/utils/request";
+
+// 查询作业计划列表
+export function getWorkPlanList(param) {
+  return request({
+    url: `/power/workPlan/list`,
+    method: "get",
+    params: param,
+  });
+}
+
+// 更新作业计划列表
+export function updateWorkPlan(data) {
+  return request({
+    url: `/power/workPlan/update`,
+    method: "post",
+    data,
+  });
+}

+ 88 - 59
src/views/distributionnetwork/secure/abnormal-data/index.vue

@@ -1,16 +1,32 @@
-// 取消原因
 <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 ref="queryForm" :model="queryParams" size="small" :inline="true">
+      <el-form-item label="作业类型">
+        <el-input v-model="queryParams.opTypCd" placeholder="请输入"></el-input>
+      </el-form-item>
+      <el-form-item label="管理单位" prop="mgmtOrgNm">
+        <el-input
+          v-model="queryParams.mgmtOrgNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="作业班组" prop="workTeamNm">
+        <el-input
+          v-model="queryParams.workTeamNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="工作负责人" prop="workPrincipNm">
+        <el-input
+          v-model="queryParams.workPrincipNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="作业单位" prop="submitOrgNm">
+        <el-input
+          v-model="queryParams.submitOrgNm"
+          placeholder="请输入"
+        ></el-input>
       </el-form-item>
       <el-form-item>
         <el-button
@@ -23,104 +39,110 @@
         <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 v-loading="loading" :data="dataList">
         <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="opContent" />
         <el-table-column
-          label="作业单位"
+          label="作业地址"
           align="center"
-          prop="dictName"
+          prop="opAddr"
           :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="作业班组"
+          label="线路/变电站"
+          prop="subsOrLineId"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电压等级"
+          prop="voltLvlCd"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
           label="作业类型"
+          prop="opTypCd"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业风险"
+          label="管理单位"
+          prop="mgmtOrgNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="电网风险"
+          label="作业单位"
+          prop="submitOrgNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
           label="工作负责人"
+          prop="workPrincipNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业开始时间"
+          label="作业班组"
+          prop="workTeamNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业结束时间"
+          label="作业风险"
+          prop="opRiskLvlDsc"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="工作内容"
+          label="作业人数"
+          prop="mainBusiOrgOpNum"
           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
+          label="作业开始时间"
+          prop="planStartWkTm"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
         </el-table-column>
         <el-table-column
-          label="取消原因"
+          label="作业结束时间"
+          prop="planEndTm"
           align="center"
-          prop="remark"
           :show-overflow-tooltip="true"
-        />
+        >
+        </el-table-column>
+        <el-table-column label="专业类型" align="center" prop="majorTypCd">
+        </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";
-
+import { getWorkPlanList } from "@/api/secure/pdm-work-plan";
 export default {
-  dicts: ["sys_normal_disable"],
   data() {
     return {
+      dataList: [],
       // 遮罩层
       loading: true,
       total: 0,
@@ -128,11 +150,11 @@ export default {
       dateRange: [],
       // 查询参数
       queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        dictName: undefined,
-        dictType: undefined,
-        status: undefined,
+        opTypDsc: "",
+        mgmtOrgNm: "",
+        workTeamNm: "",
+        workPrincipNm: "",
+        submitOrgNm: "",
       },
     };
   },
@@ -140,25 +162,32 @@ export default {
     this.getList();
   },
   methods: {
-    /** 查询字典类型列表 */
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.form = { ...row };
+      this.openDataScope = true;
+      this.title = "编辑";
+    },
+    /** 查询列表 */
     getList() {
       this.loading = true;
-      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
-        (response) => {
-          this.typeList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        }
-      );
+      getWorkPlanList({ ...this.queryParams }).then((response) => {
+        this.dataList = response.rows.filter(
+          (ite) =>
+            ite.voltLvlDsc == "其他" &&
+            !ite.isEnergizedOpDsc &&
+            ite.poweroffTypDsc &&
+            ite.workticketTypDsc == "配电带电作业工作票"
+        );
+        this.loading = false;
+      });
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },

+ 147 - 56
src/views/distributionnetwork/secure/reason-for-cancellation/index.vue

@@ -1,16 +1,35 @@
-// 取消原因
 <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 ref="queryForm" :model="queryParams" size="small" :inline="true">
+      <el-form-item label="作业类型" prop="opTypDsc">
+        <el-input
+          v-model="queryParams.opTypDsc"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="管理单位" prop="mgmtOrgNm">
+        <el-input
+          v-model="queryParams.mgmtOrgNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="作业班组" prop="workTeamNm">
+        <el-input
+          v-model="queryParams.workTeamNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="工作负责人" prop="workPrincipNm">
+        <el-input
+          v-model="queryParams.workPrincipNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="作业单位" prop="submitOrgNm">
+        <el-input
+          v-model="queryParams.submitOrgNm"
+          placeholder="请输入"
+        ></el-input>
       </el-form-item>
       <el-form-item>
         <el-button
@@ -23,104 +42,158 @@
         <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 v-loading="loading" :data="dataList">
         <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="opContent" />
         <el-table-column
-          label="作业单位"
+          label="作业地址"
           align="center"
-          prop="dictName"
+          prop="opAddr"
           :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="作业班组"
+          label="线路/变电站"
+          prop="subsOrLineId"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电压等级"
+          prop="voltLvlCd"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
           label="作业类型"
+          prop="opTypCd"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业风险"
+          label="管理单位"
+          prop="mgmtOrgNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="电网风险"
+          label="作业单位"
+          prop="submitOrgNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
           label="工作负责人"
+          prop="workPrincipNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业开始时间"
+          label="作业班组"
+          prop="workTeamNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业结束时间"
+          label="作业风险"
+          prop="opRiskLvlDsc"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="工作内容"
+          label="作业人数"
+          prop="mainBusiOrgOpNum"
           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
+          label="作业开始时间"
+          prop="planStartWkTm"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业结束时间"
+          prop="planEndTm"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column label="专业类型" align="center" prop="majorTypCd">
         </el-table-column>
         <el-table-column
           label="取消原因"
           align="center"
+          prop="cancelReason"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="附件"
+          align="center"
           prop="remark"
           :show-overflow-tooltip="true"
         />
+        <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)"
+              >编辑</el-button
+            >
+          </template>
+        </el-table-column>
       </el-table>
     </div>
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <el-dialog
+      :title="title"
+      :visible.sync="openDataScope"
+      width="500px"
+      append-to-body
+    >
+      <el-form :model="form" label-width="70px">
+        <el-form-item label="取消原因">
+          <el-input
+            type="textarea"
+            :rows="3"
+            placeholder="请输入取消原因"
+            v-model="form.cancelReason"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitDataScope">确 定</el-button>
+        <el-button @click="cancelDataScope">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listType } from "@/api/system/dict/type";
-
+import { getWorkPlanList, updateWorkPlan } from "@/api/secure/pdm-work-plan";
 export default {
-  dicts: ["sys_normal_disable"],
   data() {
     return {
+      dataList: [],
       // 遮罩层
       loading: true,
       total: 0,
@@ -128,37 +201,55 @@ export default {
       dateRange: [],
       // 查询参数
       queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        dictName: undefined,
-        dictType: undefined,
-        status: undefined,
+        opTypDsc: "",
+        mgmtOrgNm: "",
+        workTeamNm: "",
+        workPrincipNm: "",
+        submitOrgNm: "",
       },
+      form: {},
+      openDataScope: false,
+      title: "",
     };
   },
   created() {
     this.getList();
   },
   methods: {
-    /** 查询字典类型列表 */
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.form = { ...row };
+      this.openDataScope = true;
+      this.title = "编辑";
+    },
+    /** 提交按钮 */
+    submitDataScope() {
+      updateWorkPlan(this.form).then((response) => {
+        this.$modal.msgSuccess("修改成功");
+        this.openDataScope = false;
+        this.getList();
+      });
+    },
+    // 取消按钮
+    cancelDataScope() {
+      this.openDataScope = false;
+    },
+    /** 查询列表 */
     getList() {
       this.loading = true;
-      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
-        (response) => {
-          this.typeList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        }
-      );
+      getWorkPlanList({ ...this.queryParams }).then((response) => {
+        this.dataList = response.rows.filter(
+          (ite) => ite.planExecStDsc == "已取消"
+        );
+        this.loading = false;
+      });
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },

+ 142 - 57
src/views/distributionnetwork/secure/reason-for-the-plan/index.vue

@@ -1,16 +1,35 @@
-// 取消原因
 <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 ref="queryForm" :model="queryParams" size="small" :inline="true">
+      <el-form-item label="作业类型" prop="opTypDsc">
+        <el-input
+          v-model="queryParams.opTypDsc"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="管理单位" prop="mgmtOrgNm">
+        <el-input
+          v-model="queryParams.mgmtOrgNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="作业班组" prop="workTeamNm">
+        <el-input
+          v-model="queryParams.workTeamNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="工作负责人" prop="workPrincipNm">
+        <el-input
+          v-model="queryParams.workPrincipNm"
+          placeholder="请输入"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="作业单位" prop="submitOrgNm">
+        <el-input
+          v-model="queryParams.submitOrgNm"
+          placeholder="请输入"
+        ></el-input>
       </el-form-item>
       <el-form-item>
         <el-button
@@ -23,104 +42,152 @@
         <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 v-loading="loading" :data="dataList">
         <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="opContent" />
         <el-table-column
-          label="作业单位"
+          label="作业地址"
           align="center"
-          prop="dictName"
+          prop="opAddr"
           :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="作业班组"
+          label="线路/变电站"
+          prop="subsOrLineId"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="电压等级"
+          prop="voltLvlCd"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
           label="作业类型"
+          prop="opTypCd"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业风险"
+          label="管理单位"
+          prop="mgmtOrgNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="电网风险"
+          label="作业单位"
+          prop="submitOrgNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
           label="工作负责人"
+          prop="workPrincipNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业开始时间"
+          label="作业班组"
+          prop="workTeamNm"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="作业结束时间"
+          label="作业风险"
+          prop="opRiskLvlDsc"
           align="center"
           :show-overflow-tooltip="true"
         >
         </el-table-column>
         <el-table-column
-          label="工作内容"
+          label="作业人数"
+          prop="mainBusiOrgOpNum"
           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
+          label="作业开始时间"
+          prop="planStartWkTm"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column
+          label="作业结束时间"
+          prop="planEndTm"
+          align="center"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+        <el-table-column label="专业类型" align="center" prop="majorTypCd">
         </el-table-column>
         <el-table-column
           label="临时计划原因"
           align="center"
-          prop="remark"
+          prop="planReason"
           :show-overflow-tooltip="true"
         />
+        <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)"
+              >编辑</el-button
+            >
+          </template>
+        </el-table-column>
       </el-table>
     </div>
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <el-dialog
+      :title="title"
+      :visible.sync="openDataScope"
+      width="500px"
+      append-to-body
+    >
+      <el-form :model="form" label-width="100px">
+        <el-form-item label="临时计划原因">
+          <el-input
+            type="textarea"
+            :rows="3"
+            placeholder="请输入临时计划原因"
+            v-model="form.planReason"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitDataScope">确 定</el-button>
+        <el-button @click="cancelDataScope">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listType } from "@/api/system/dict/type";
-
+import { getWorkPlanList, updateWorkPlan } from "@/api/secure/pdm-work-plan";
 export default {
-  dicts: ["sys_normal_disable"],
   data() {
     return {
+      dataList: [],
       // 遮罩层
       loading: true,
       total: 0,
@@ -128,37 +195,55 @@ export default {
       dateRange: [],
       // 查询参数
       queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        dictName: undefined,
-        dictType: undefined,
-        status: undefined,
+        opTypDsc: "",
+        mgmtOrgNm: "",
+        workTeamNm: "",
+        workPrincipNm: "",
+        submitOrgNm: "",
       },
+      form: {},
+      openDataScope: false,
+      title: "",
     };
   },
   created() {
     this.getList();
   },
   methods: {
-    /** 查询字典类型列表 */
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.form = { ...row };
+      this.openDataScope = true;
+      this.title = "编辑";
+    },
+    /** 提交按钮 */
+    submitDataScope() {
+      updateWorkPlan(this.form).then((response) => {
+        this.$modal.msgSuccess("修改成功");
+        this.openDataScope = false;
+        this.getList();
+      });
+    },
+    // 取消按钮
+    cancelDataScope() {
+      this.openDataScope = false;
+    },
+    /** 查询列表 */
     getList() {
       this.loading = true;
-      listType(this.addDateRange(this.queryParams, this.dateRange)).then(
-        (response) => {
-          this.typeList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        }
-      );
+      getWorkPlanList({ ...this.queryParams }).then((response) => {
+        this.dataList = response.rows.filter(
+          (ite) => ite.planTypDsc == "临时计划"
+        );
+        this.loading = false;
+      });
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },