zhaoyun 6 månader sedan
förälder
incheckning
17274a1c2b

+ 51 - 0
src/api/powerdistribution/dic.js

@@ -0,0 +1,51 @@
+import request from '@/utils/request'
+
+// 查询配网字典列表
+export function listDic(query) {
+  return request({
+    url: '/powerdistribution/dic/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询配网字典详细
+export function getDic(id) {
+  return request({
+    url: '/powerdistribution/dic/' + id,
+    method: 'get'
+  })
+}
+
+// 新增配网字典
+export function addDic(data) {
+  return request({
+    url: '/powerdistribution/dic',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改配网字典
+export function updateDic(data) {
+  return request({
+    url: '/powerdistribution/dic',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除配网字典
+export function delDic(id) {
+  return request({
+    url: '/powerdistribution/dic/' + id,
+    method: 'delete'
+  })
+}
+// 查询配网字典详细
+export function getPdmDicTree() {
+  return request({
+    url: '/powerdistribution/dic/getPdmDicTree',
+    method: 'get'
+  })
+}

+ 51 - 0
src/api/powerdistribution/par.js

@@ -0,0 +1,51 @@
+import request from '@/utils/request'
+
+// 查询配网参数配置列表
+export function listPar(query) {
+  return request({
+    url: '/powerdistribution/par/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询配网参数配置列表
+export function listByParType(query) {
+  return request({
+    url: '/powerdistribution/par/listByParType',
+    method: 'get',
+    params: query
+  })
+}
+// 查询配网参数配置详细
+export function getPar(id) {
+  return request({
+    url: '/powerdistribution/par/' + id,
+    method: 'get'
+  })
+}
+
+// 新增配网参数配置
+export function addPar(data) {
+  return request({
+    url: '/powerdistribution/par',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改配网参数配置
+export function updatePar(data) {
+  return request({
+    url: '/powerdistribution/par',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除配网参数配置
+export function delPar(id) {
+  return request({
+    url: '/powerdistribution/par/' + id,
+    method: 'delete'
+  })
+}

+ 141 - 0
src/views/distributionnetwork/config/setting/dic.vue

@@ -0,0 +1,141 @@
+<template>
+	<el-dialog :title="titleMap[mode]" :visible.sync="visible" width="500px" destroy-on-close @closed="$emit('closed')">
+		<el-form ref="dialogForm" :model="form"  :rules="rules" label-width="80px">
+		        <el-form-item label="项目编码" prop="parCode">
+		          <el-input v-model="form.parCode" placeholder="请输入编码" />
+		        </el-form-item>
+		        <el-form-item label="项目名称" prop="parName">
+		          <el-input v-model="form.parName" placeholder="请输入名称" />
+		        </el-form-item>
+		        <el-form-item label="项目值" prop="parValue" label-width="83px">
+		          <el-input v-model="form.parValue" placeholder="请输入值" />
+		        </el-form-item>
+		        <el-form-item label="计量单位" prop="parUnit">
+				  <el-select
+				    v-model="form.parUnit"
+				    placeholder="计量单位"
+				    clearable
+				  >
+				    <el-option
+				      v-for="dict in dict.type.pdm_maintenance_time" 
+					  v-if="form.parType==0"
+				      :key="dict.value"
+				      :label="dict.label"
+				      :value="dict.value"
+				    />
+					<el-option
+					  v-for="dict in dict.type.repeat_power_failure" 
+					  v-if="form.parType==1"
+					  :key="dict.value"
+					  :label="dict.label"
+					  :value="dict.value"
+					/>
+				  </el-select>
+		        </el-form-item>
+				<el-form-item label="状态" prop="status">
+					 <template>
+						<el-switch v-model="form.status"  active-value="1" inactive-value="0"></el-switch>
+					 </template>
+				</el-form-item>
+		        <el-form-item label="备注" prop="remark">
+		          <el-input  type="textarea" v-model="form.remark" placeholder="请输入备注" />
+		        </el-form-item>
+		      </el-form>
+		      <div slot="footer" class="dialog-footer">
+		        <el-button type="primary" @click="submit" :loading="isSaveing">确 定</el-button>
+		        <el-button  @click="visible=false" >取 消</el-button>
+		      </div>
+	</el-dialog>
+</template>
+
+<script>
+import { addPar, updatePar } from "@/api/powerdistribution/par";	 
+	export default {
+		emits: ['success', 'closed'],
+		dicts: ["pdm_maintenance_time","repeat_power_failure"],
+		data() {
+			return {
+				mode: "add",
+				titleMap: {
+					add: '新增配置',
+					edit: '编辑配置'
+				},
+				visible: false,
+				isSaveing: false,
+				form: {
+					id:'',
+					parCode:"",
+					parName: "",
+					parValue: "",
+					parUnit: "",
+					parType: "",
+					remark: "",
+					status: ""
+				},
+				rules: {
+					parCode: [
+						{required: true, message: '请输入编码'}
+					],
+					parName: [
+						{required: true, message: '请输入名称'}
+					],
+					parValue: [
+						{required: true, message: '请输入值'}
+					],
+					parUnit: [
+						{required: true, message: '请选择计量单位'}
+					]
+				},
+			}
+		},
+		mounted() {
+		},
+		methods: {
+			//显示
+			open(mode='add'){
+				this.mode = mode;
+				this.visible = true;
+				return this;
+			},
+			//表单提交方法
+			submit(){
+				this.$refs.dialogForm.validate(async (valid) => {
+					if (valid) {
+						this.isSaveing = true;
+						var res
+						
+						if(this.mode=="add")
+						{
+							addPar(this.form).then(response => {
+						      this.$emit('success', this.form, this.mode)
+							  this.$message.success("操作成功")
+							  this.visible = false;
+							});
+						}else
+						{
+							updatePar(this.form).then(response => {
+							   this.$message.success("操作成功")
+							   this.$emit('success', this.form, this.mode)
+							   this.visible = false;
+							});
+						}
+						this.isSaveing = false;
+						
+					}
+				})
+			},
+			//表单注入数据
+			setData(data){
+				// this.form.id = data.id
+				// this.form.parCode = data.parCode
+				// this.form.parName = data.parName
+				// this.form.parValue = data.parValue
+				//可以和上面一样单个注入,也可以像下面一样直接合并进去
+				Object.assign(this.form, data)
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

+ 332 - 0
src/views/distributionnetwork/config/setting/index.vue

@@ -0,0 +1,332 @@
+<template>
+  <div class="app-container">
+   <el-container>
+   	<el-header style="text-align: center;display: block;">
+   		<span style="font-weight: 600;font-size: 18px;">配网参数信息</span>
+   	</el-header>
+	<el-main class="nopadding">
+		<div style="width: 50%;display: inline-block">
+			<el-card header="计划检修超期设置">
+				<el-table ref="table" :data="tableData1" row-key="id" stripe height="300px">
+					<el-table-column prop="序号" label="序号" >
+						 <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+					</el-table-column>
+					<el-table-column label="项目编码" prop="parCode" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="项目名称" prop="parName"  width="150"></el-table-column>
+					<el-table-column label="项目对应值" prop="parValue"></el-table-column>
+					<el-table-column label="单位" prop="parUnit">
+						<template slot-scope="scope">
+						  <dict-tag :options="dict.type.pdm_maintenance_time" :value="scope.row.parUnit"/>
+						</template>
+					</el-table-column>
+					<el-table-column label="状态" prop="status">
+					  <template slot-scope="scope">
+					 	 	<el-tag type="success" effect="dark" v-if="scope.row.status=='1'">启用</el-tag>
+					 	 	<el-tag type="info" effect="dark" v-else>禁用</el-tag>
+					  </template>
+					</el-table-column>
+					<el-table-column label="操作" align="center" class-name="small-padding fixed-width" :render-header="renderHeader" >
+					        <template slot-scope="scope">
+					          <el-button
+					            size="mini"
+					            type="text"
+					            icon="el-icon-edit"
+					            @click="handleUpdate(scope.row)"
+					            v-hasPermi="['powerdistribution:par:edit']"
+					          >修改</el-button>
+					          <el-button
+					            size="mini"
+					            type="text"
+					            icon="el-icon-delete"
+					            @click="handleDelete(scope.row)"
+					            v-hasPermi="['powerdistribution:par:remove']"
+					          >删除</el-button>
+					        </template>
+					 </el-table-column>
+				</el-table>
+			</el-card>
+			<el-card header="重复停电风险告警次数设置">
+				<el-table ref="table1" :data="tableData2" row-key="id" stripe height="300px">
+					<el-table-column prop="序号" label="序号" >
+						 <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+					</el-table-column>
+					<el-table-column label="项目编码" prop="parCode" width="100" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="项目名称" prop="parName" width="180"></el-table-column>
+					<el-table-column label="项目对应值" prop="parValue"></el-table-column>
+					<el-table-column label="单位" prop="parUnit">
+						<template slot-scope="scope">
+						  <dict-tag :options="dict.type.repeat_power_failure" :value="scope.row.parUnit"/>
+						</template>
+					</el-table-column>
+					<el-table-column label="状态" prop="status">
+					  <template slot-scope="scope">
+					 	 	<el-tag type="success" effect="dark" v-if="scope.row.status=='1'">启用</el-tag>
+					 	 	<el-tag type="info" effect="dark" v-else>禁用</el-tag>
+					  </template>
+					</el-table-column>
+					<el-table-column label="操作" align="center" class-name="small-padding fixed-width" :render-header="renderHeader2">
+					        <template slot-scope="scope">
+					          <el-button
+					            size="mini"
+					            type="text"
+					            icon="el-icon-edit"
+					            @click="handleUpdate(scope.row)"
+					            v-hasPermi="['powerdistribution:par:edit']"
+					          >修改</el-button>
+					          <el-button
+					            size="mini"
+					            type="text"
+					            icon="el-icon-delete"
+					            @click="handleDelete(scope.row)"
+					            v-hasPermi="['powerdistribution:par:remove']"
+					          >删除</el-button>
+					        </template>
+					 </el-table-column>
+				</el-table>
+			</el-card>
+		</div>
+		<div style="width: 50%;display: inline-block">
+			<el-card header="无故障持续时间奖励设置">
+				<el-table ref="table2" :data="tableData3" row-key="billId" stripe height="300px">
+					<el-table-column label="合同标题" prop="title" width="250" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="发票编号" prop="billCode" width="150" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="票据类型" prop="billTypeName" width="150"></el-table-column>
+					<el-table-column label="开票时间" prop="billTime" width="150"></el-table-column>
+					<el-table-column label="票面金额" prop="total" :show-overflow-tooltip="true">
+						<template #default="scope">
+							{{scope.row.total}}/元
+						</template>
+					</el-table-column>
+				</el-table>
+			</el-card>
+			<el-card header="违章扣分规则设置">
+				<el-table ref="table3" :data="tableData4" row-key="contractId" stripe height="300px">
+					<el-table-column label="合同编号" prop="contractCode" width="150" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="合同标题" prop="title" width="250" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="客户名称" prop="customerName" width="150" :show-overflow-tooltip="true"></el-table-column>
+					<el-table-column label="合同类型" prop="contractTypeName" width="150"></el-table-column>
+					<el-table-column label="签定时间" prop="signTime" width="150"></el-table-column>
+					<el-table-column label="合同金额" prop="total" :show-overflow-tooltip="true">
+						<template #default="scope">
+							{{scope.row.total}}/元
+						</template>
+					</el-table-column>
+				</el-table>
+			</el-card>
+		</div>
+	</el-main>
+	</el-container>
+  <dic-dialog v-if="dialog.dic" ref="dicDialog" @success="handleDicSuccess" @closed="dialog.dic=false"></dic-dialog>
+  </div>
+ 
+</template>
+
+<script>
+import { listPar, getPar, delPar,listByParType } from "@/api/powerdistribution/par";
+ import dicDialog from './dic'
+export default {
+  name: "Par",
+  dicts: ["pdm_maintenance_time","repeat_power_failure"],
+  components: {
+  	dicDialog
+  },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 配网参数配置表格数据
+      parList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        parCode: null,
+        parName: null,
+        parValue: null,
+        parUnit: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+	  tableData1:[],
+	  tableData2:[],
+	  tableData3:[],
+	  tableData4:[],
+	  dialog: {
+	  	dic: false,
+	  	info: false
+	  },
+    };
+  },
+  created() {
+    this.getParList(0);
+	this.getParList(1);
+	this.getParList(2);
+	this.getParList(3);
+  },
+  methods: {
+    /** 查询配网参数配置列表 */
+    async getParList(parType) {
+	  this.queryParams.parType=parType;
+      listByParType(this.queryParams).then(response => {
+       if(parType==0)this.tableData1= response.data;
+	   if(parType==1)this.tableData2= response.data;
+	   if(parType==2)this.tableData3= response.data; 
+	   if(parType==3)this.tableData4= response.data; 
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        parCode: null,
+        parName: null,
+        parValue: null,
+        parUnit: null,
+        remark: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd(parType) {
+	  this.dialog.dic = true
+	  this.$nextTick(() => {
+		this.form = {
+		  id: null,
+		  parCode: null,
+		  parName: null,
+		  parValue: null,
+		  parUnit: null,
+		  parType: parType,
+		  remark: null,
+		  createBy: null,
+		  createTime: null,
+		  updateBy: null,
+		  updateTime: null
+		};
+	  	this.$refs.dicDialog.open().setData(this.form)
+	  })
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPar(id).then(response => {
+        this.dialog.dic = true
+        this.$nextTick(() => {
+        this.$refs.dicDialog.open('edit').setData(response.data)
+       })
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePar(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPar(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除'+row.parName+'编号为"' + row.parCode + '"的数据项?').then(function() {
+        return delPar(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('powerdistribution/par/export', {
+        ...this.queryParams
+      }, `par_${new Date().getTime()}.xlsx`)
+    },
+	renderHeader() {
+	  return (
+	    <div>
+	    <span>操作</span>
+	    <el-button
+	      type="primary"
+	      icon="el-icon-plus"
+	      class="table-icon"
+	      size="mini"
+	      onClick={() => this.handleAdd(0)}
+	    ></el-button>
+	    </div>
+	  );
+	},
+	renderHeader2() {
+	  return (
+	    <div>
+	    <span>操作</span>
+	    <el-button
+	      type="primary"
+	      icon="el-icon-plus"
+	      class="table-icon"
+	      size="mini"
+	      onClick={() => this.handleAdd(1)}
+	    ></el-button>
+	    </div>
+	  );
+	},
+	//本地更新数据
+	async handleDicSuccess(data, mode) {
+		this.getParList(data.parType);
+	},
+  }
+};
+</script>

+ 171 - 0
src/views/distributionnetwork/maintenance/completion-statistics/details.vue

@@ -0,0 +1,171 @@
+<template>
+	<el-drawer :title="`[`+form.electLineName+`]线路检修完成情况`" :visible.sync="visible" :size="650" destroy-on-close @closed="$emit('closed')">
+		<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="faultFreeDuration">{{form.faultFreeDuration}}
+							</el-form-item>
+						</el-col>
+						<el-col :lg="12">
+							<el-form-item label="奖励金额" prop="rewardAmount">{{form.rewardAmount}}
+							</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: {
+		//显示
+		open(){
+			this.visible = true;
+			return this;
+		},
+		//表单注入数据
+		setData(data){
+			this.form= data
+		}
+	}
+}
+</script>
+
+<style>
+</style>

+ 333 - 0
src/views/distributionnetwork/maintenance/completion-statistics/index.vue

@@ -0,0 +1,333 @@
+<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 label="计划检修超期" label-width="100px">
+			<el-select
+			  style="margin-right: 8px"
+			  size="mini"
+			  v-model="queryParams.maintenanceOverdue"
+			  placeholder="请选择"
+			  clearable
+			>
+			  <el-option label="否" value=""> </el-option>
+			  <el-option
+			    v-for="item in maintenanceTimeList"
+			    :key="item.parValue"
+			    :label="`${item.parValue}${item.parUnitCn}`"
+			    :value="`${item.parValue}|${item.parUnit}`"
+			  >
+			  </el-option>
+			</el-select>
+      </el-form-item>
+      <el-form-item label="重复停电" >
+		  <el-select
+		    style="margin-right: 8px"
+		    size="mini"
+		    v-model="queryParams.repeatPowerCut"
+		    placeholder="请选择"
+		    clearable
+		  >
+		    <el-option label="否" value=""> </el-option>
+		    <el-option
+		      v-for="item in repeatPowerFailureList"
+		      :key="item.parValue"
+		      :label="`${item.parValue}${item.parUnitCn}`"
+		      :value="`${item.parValue}|${item.parUnit}`"
+		    >
+		    </el-option>
+		  </el-select>
+      </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-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['powerdistribution:maintenance:statistics:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="maintenanceStatisticsList" @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 @click="table_show(scope.row, scope.$index)" style="color:blue;cursor:pointer">{{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>
+        <!--template slot-scope="scope">
+          <span>{{ parseTime(scope.row.powerOutageStart, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
+        </template-->
+      </el-table-column>
+      <el-table-column label="停电终止时间" align="center" prop="powerOutageEnd" width="180" fixed>
+        <!--template slot-scope="scope">
+          <span>{{ parseTime(scope.row.powerOutageEnd, '{y}-{m}-{d}') }}</span>
+        </template-->
+      </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="faultFreeDuration" />
+      <el-table-column label="奖励金额" align="center" prop="rewardAmount" />
+     
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+	<recordDetails v-if="dialog.detailsSave" ref="detailsDialog" @closed="dialog.detailsSave=false"></recordDetails>
+	</div>
+	
+</template>
+
+<script>
+import recordDetails from './details'
+import { listMaintenanceStatistics, getMaintenanceStatistics, delMaintenanceStatistics, addMaintenanceStatistics, updateMaintenanceStatistics } from "@/api/powerdistribution/maintenance";
+import { listByParType } from "@/api/powerdistribution/par";
+import { getDicts } from "@/api/system/dict/data";
+export default {
+  name: "MaintenanceStatistics",
+  dicts: ["pdm_maintenance_time","repeat_power_failure"],
+  components: {
+  	recordDetails
+  },
+  data() {
+    return {
+			dialog: {
+				detailsSave:false
+			},
+			visible:false,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 线路检修完成情况表格数据
+      maintenanceStatisticsList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      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
+      },
+      // 表单参数
+      form: {},
+	  maintenanceTimeList: [],
+	  maintenanceTimeList2: [],
+	  repeatPowerFailureList: [],
+	  maintenanceTimeDicList: [],
+      // 表单校验
+      rules: {
+        eventNo: [
+          { required: true, message: "事情序号不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+	this.getParList(0);
+	this.getParList(1);
+  },
+  methods: {
+    /** 查询线路检修完成情况列表 */
+    getList() {
+      this.loading = true;
+      listMaintenanceStatistics(this.queryParams).then(response => {
+        this.maintenanceStatisticsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+	async getParList(parType) {
+	  this.queryParams.parType=parType;
+	  await listByParType(this.queryParams).then(response => {
+	   if(parType==0){
+		   this.maintenanceTimeList= response.data;
+		}
+	   if(parType==1)this.repeatPowerFailureList= response.data;
+	  });
+	
+	},
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        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
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.eventNo)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加线路检修完成情况";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const eventNo = row.eventNo || this.ids
+      getMaintenanceStatistics(eventNo).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改线路检修完成情况";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.eventNo != null) {
+            updateMaintenanceStatistics(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addMaintenanceStatistics(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const eventNos = row.eventNo || this.ids;
+      this.$modal.confirm('是否确认删除线路检修完成情况编号为"' + eventNos + '"的数据项?').then(function() {
+        return delMaintenanceStatistics(eventNos);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('powerdistribution/maintenance/statistics/export', {
+        ...this.queryParams
+      }, `maintenanceStatistics_${new Date().getTime()}.xlsx`)
+    },
+	//查看
+	table_show(row){
+		this.dialog.detailsSave = true
+		this.$nextTick(() => {
+			this.$refs.detailsDialog.open().setData(row)
+		})
+	},
+  }
+};
+</script>

+ 0 - 0
src/views/distributionnetwork/manage/index.vue