3297 lines
144 KiB
Vue
3297 lines
144 KiB
Vue
<template>
|
|
<div class="pd10" element-loading-text="数据加载中">
|
|
<el-form ref="form" inline :model="formData" style="overflow-y: auto;height: 46px ">
|
|
<el-form-item class="box">
|
|
<Area @click="handleNodeClick" ref="area" @send="takeover"></Area>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<Timeinterval :interval="3" ref="Timeinterval"></Timeinterval>
|
|
</el-form-item>
|
|
<el-form-item label="监督类型筛选:" class="box">
|
|
<el-select v-model="formData.supvType" clearable placeholder="请选择监督类型">
|
|
<el-option v-for="item in supervisionType" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-button size="small" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
|
|
<el-button size="small" type="primary" icon="el-icon-circle-plus" @click="addFn">新增
|
|
</el-button>
|
|
<el-button size="small" type="primary" icon="el-icon-delete" @click="deleteFn">删除</el-button>
|
|
<el-button size="small" type="primary" v-if="biaoCode === 'jsjdpush'" @click="planPush">
|
|
上送网公司
|
|
</el-button>
|
|
<el-button size="small" type="primary" v-if="biaoCode1 === 'jsjdjhdelete'" @click="cancelPlanPush">
|
|
取消上送
|
|
</el-button>
|
|
<el-button size="small" type="primary" v-if="biaoCode4 === 'tsfjwtpush'" @click="planAnnexPush">
|
|
附件上送
|
|
</el-button>
|
|
<el-button size="small" type="primary" icon="el-icon-download" @click="exportEvent">导出计划</el-button>
|
|
<el-button size="small" type="primary" icon="el-icon-download" @click="exportProblems">
|
|
导出问题
|
|
</el-button>
|
|
<!-- <el-form-item style="float: right">
|
|
|
|
|
|
</el-form-item> -->
|
|
<!-- <el-form-item>
|
|
<el-button type="text" @click="closeHandle">
|
|
条件筛选
|
|
<i :class="!view ? 'el-icon-arrow-down' : 'el-icon-arrow-right'"></i>
|
|
</el-button>
|
|
</el-form-item>-->
|
|
</el-form>
|
|
<div class="container" id="container">
|
|
<i @click="closeHandle" class="el-icon-circle-close coles"></i>
|
|
<el-form :inline="true" style="margin-top: 10px" label-width="110px" class="">
|
|
|
|
|
|
</el-form>
|
|
</div>
|
|
|
|
<div class="boxS">
|
|
<div class="boxTableS">
|
|
<vxe-table stripe size="mini" :row-config="{ isCurrent: true, isHover: true }" :data="tableData"
|
|
ref="plan" v-loading="loading" highlight-current-row border :height="vh"
|
|
header-cell-class-name="table_header" @checkbox-all="selectAllChangeEvent"
|
|
@checkbox-change="handleSelectionChange">
|
|
<vxe-table-column type="checkbox" align="center" width="55"></vxe-table-column>
|
|
<vxe-table-column field="province" show-overflow align="center" title="所属省份"
|
|
min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="city" show-overflow align="center" title="所属地市" min-width="150px">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.city == null ? '/' : scope.row.city }}
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="county" show-overflow align="center" title="所属县区" min-width="150px">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.county == null ? '/' : scope.row.county }}
|
|
</template>
|
|
</vxe-table-column>
|
|
|
|
|
|
<vxe-table-column field="supvOrgName" show-overflow align="center" title="监督单位"
|
|
min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="planOrgName" show-overflow align="center" title="计划编制单位"
|
|
min-width="150px"></vxe-table-column>
|
|
|
|
<vxe-table-column field="workPlanName" show-overflow align="center" title="计划名称"
|
|
min-width="250px"></vxe-table-column>
|
|
<!-- <vxe-table-column field="effectUserId" show-overflow align="center" title="实施人员" min-width="100px"></vxe-table-column> -->
|
|
<vxe-table-column field="planSupvDate" :sortable="true" show-overflow align="center" title="计划监督时间"
|
|
min-width="130px">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.planSupvDate.substring(0, 7) }}
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="supvType" show-overflow align="center" title="监督类型" min-width="150px"
|
|
:formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="supvStage" show-overflow align="center" title="监督阶段" min-width="100px"
|
|
:formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="supvObjType" show-overflow align="center" title="监督对象类型" min-width="150px"
|
|
:formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="supvObjName" show-overflow align="center" title="监督对象名称"
|
|
min-width="150px"></vxe-table-column>
|
|
<!-- <vxe-table-column
|
|
field="objTypeName"
|
|
show-overflow
|
|
align="center"
|
|
title="监督对象属性名称"
|
|
min-width="140px"
|
|
></vxe-table-column> -->
|
|
<vxe-table-column field="objType" show-overflow align="center" title="监督对象属性" min-width="150px"
|
|
:formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="objVoltageLevel" show-overflow align="center" title="监督对象电压等级"
|
|
min-width="140px" :formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="substationName" show-overflow align="center" title="监督关联电站名称"
|
|
min-width="140px"></vxe-table-column>
|
|
<vxe-table-column field="substationVoltageLevel" show-overflow align="center" title="监督关联电站电压等级"
|
|
min-width="170px" :formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="objCapacity" show-overflow align="center" title="监督对象协议容量(MVA)"
|
|
min-width="180px"></vxe-table-column>
|
|
|
|
<vxe-table-column field="effectStartTime" :sortable="true" show-overflow align="center"
|
|
title="实施开始时间" min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="effectEndTime" :sortable="true" show-overflow align="center" title="实施结束时间"
|
|
min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="effectStatus" show-overflow align="center" title="实施状态" min-width="100px">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.effectStatus == '01'">未开展</span>
|
|
<span v-if="scope.row.effectStatus == '02'">开展中</span>
|
|
<span v-if="scope.row.effectStatus == '03'">待审核</span>
|
|
<span v-if="scope.row.effectStatus == '04'">已完成</span>
|
|
</template>
|
|
</vxe-table-column>
|
|
|
|
<vxe-table-column field="planUserName" show-overflow align="center" title="计划编制人"
|
|
min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="createTime" :sortable="true" show-overflow align="center" title="创建时间"
|
|
min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="problemOcTime" show-overflow align="center" title="电能质量问题发生时间"
|
|
min-width="170px"></vxe-table-column>
|
|
<vxe-table-column field="reportIssueTime" show-overflow align="center" title="报告出具时间"
|
|
min-width="170px"></vxe-table-column>
|
|
<vxe-table-column field="planStatus" show-overflow align="center" title="计划状态" min-width="100px"
|
|
:formatter="formFilter"></vxe-table-column>
|
|
<vxe-table-column field="otherRemark" show-overflow align="center" title="其他要求"
|
|
min-width="170px"></vxe-table-column>
|
|
<vxe-table-column field="isUploadHead" show-overflow align="center" title="上送网公司" min-width="100px"
|
|
fixed="right">
|
|
<template slot-scope="scope">
|
|
<el-tag type="primary" size="mini" style="color: #409eff; background: #ecf5ff"
|
|
v-if="scope.row.isUploadHead == 0">
|
|
未上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="mini" style="color: #67c23a; background: #f0f9eb"
|
|
v-if="scope.row.isUploadHead == 1">
|
|
已上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="mini" style="color: #909399; background: #f4f4f5"
|
|
v-if="scope.row.isUploadHead == 2">
|
|
取消上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="mini" style="color: orange; background: #f4f4f5"
|
|
v-if="scope.row.isUploadHead == 3">
|
|
待重新上送
|
|
</el-tag>
|
|
</template>
|
|
</vxe-table-column>
|
|
|
|
<vxe-table-column field="" show-overflow align="center" title="操作" min-width="350px" fixed="right">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="problems(scope.row)">实施问题</el-button>
|
|
<el-button type="primary" size="mini" @click="viewsXquery(scope.row)">详情</el-button>
|
|
<el-button type="primary" size="mini" @click="modifyFn(scope.row)">修改</el-button>
|
|
<!-- <el-button type="primary" size="mini" :disabled="scope.row.isUploadHead == 1? true : false" @click="modifyFn(scope.row)">修改</el-button> -->
|
|
|
|
|
|
<el-dropdown size="mini" style="margin-left: 10px;">
|
|
<el-button type="primary" size="mini">
|
|
更多<i class="el-icon-arrow-down el-icon--right"></i>
|
|
</el-button>
|
|
<el-dropdown-menu slot="dropdown">
|
|
<el-dropdown-item>
|
|
<el-button style="" size="mini" type="primary"
|
|
@click="planUploadFn(scope.row)">上传附件
|
|
</el-button>
|
|
</el-dropdown-item>
|
|
<el-dropdown-item>
|
|
<el-button style="margin-top: 10px" size="mini" type="primary"
|
|
@click="lookFn(scope.row)">查看附件
|
|
</el-button>
|
|
</el-dropdown-item>
|
|
<el-dropdown-item v-if="scope.row.supvType == '994f2bf76d8e7423a5cad97a1d878738'">
|
|
<el-button style="margin-top: 10px" size="mini" type="primary"
|
|
@click="capacitorFlagDialog(scope.row)">关联对象
|
|
</el-button>
|
|
</el-dropdown-item>
|
|
</el-dropdown-menu>
|
|
</el-dropdown>
|
|
</template>
|
|
</vxe-table-column>
|
|
</vxe-table>
|
|
<el-pagination background align="right" @size-change="handleSizeChange"
|
|
@current-change="handleCurrentChange" :current-page="formData.pageNum"
|
|
:page-sizes="[20, 30, 40, 50, 100]" :page-size="formData.pageSize"
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" class="mt10"></el-pagination>
|
|
</div>
|
|
</div>
|
|
<!-- 新增/修改 -->
|
|
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="addinformation"
|
|
:before-close="handleClose" width="60%" height="80%">
|
|
<div class="border">
|
|
<div class="border-title">
|
|
<span>基本内容</span>
|
|
</div>
|
|
<el-form :inline="true" :model="form" :disabled="planDisabled" class="form" style="margin-right: 10px"
|
|
ref="form" :rules="rules" label-width="200px">
|
|
<el-form-item label="计划名称:" prop="workPlanName" class="mt10">
|
|
<el-input v-model="form.workPlanName" disabled></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="监督单位:" class="mt10" prop="supvOrgName">
|
|
<Organization @click="supvOrgNameChange" ref="Organization" :valueTitle="valueTitle"
|
|
:editCheckCode="editCheckCode"></Organization>
|
|
</el-form-item>
|
|
<el-form-item label="计划编制单位:" class="mt10" prop="planOrgName">
|
|
<Operation @click="handleNodeClick2" ref="Operation" :valueTitle="valueTitle1"
|
|
:editCheckCode="editCheckCode1"></Operation>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="计划编制人员:" class="mt10">
|
|
<el-select v-model="form.planUserId" placeholder="计划编制人员" @change="$forceUpdate()">
|
|
<el-option v-for="item in planUserList" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="监督类型:" prop="supvType" class="mt10">
|
|
<el-select v-model="form.supvType" clearable placeholder="请选择监督类型" @change="changeSupv">
|
|
<el-option v-for="item in supervisionType" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="监督阶段:" prop="supvStage" class="mt10">
|
|
<el-select v-model="form.supvStage" clearable placeholder="请选择监督阶段">
|
|
<el-option v-for="item in phase" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="计划监督时间:" prop="planSupvDate" class="mt10">
|
|
<el-date-picker v-model="form.planSupvDate" value-format="yyyy-MM-dd" type="month"
|
|
placeholder="选择日期" @change="changeFn"></el-date-picker>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="监督对象类型:" prop="supvObjType" class="mt10">
|
|
<el-select v-model="form.supvObjType" clearable placeholder="请选择监督对象类型">
|
|
<el-option v-for="item in supervisionObjType" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="supvTypeFlag" label="监督对象名称:" prop="supvObjName" class="mt10">
|
|
<el-input v-model="form.supvObjName" clearable placeholder="请输入监督对象名称"
|
|
@change="changeFn1"></el-input>
|
|
</el-form-item>
|
|
<el-form-item v-if="!supvTypeFlag" label="监督对象名称:" prop="supvObjId" class="mt10">
|
|
<el-select v-model="form.supvObjId" @change="changeSupvObjName" clearable
|
|
placeholder="请选择监督对象名称">
|
|
<el-option v-for="item in supvObjNameList" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="监督对象电压等级:" prop="objVoltageLevel" class="mt10">
|
|
<el-select v-model="form.objVoltageLevel" clearable placeholder="请选择监督对象电压等级">
|
|
<el-option v-for="item in voltageLevel" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="监督对象属性:" prop="objType" class="mt10">
|
|
<el-select v-model="form.objType" clearable :disabled="!rules.objType[0].required"
|
|
placeholder="请选择监监督对象属性" @change="changeObjType" @clear="clear('objType', 'objTypeName')">
|
|
<el-option v-for="item in superviseProperties" :key="item.gvalue" :label="item.name"
|
|
:value="item.gvalue"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<!-- <el-form-item label="监督对象属性名称:" prop="objTypeName" class="mt10">
|
|
<el-input v-model="form.objTypeName" clearable placeholder="请输入监督对象属性名称"></el-input>
|
|
</el-form-item> -->
|
|
<el-form-item label="监督对象协议容量(MVA):" prop="objCapacity" class="mt10">
|
|
<el-input v-model="form.objCapacity" clearable placeholder="请输入监督对象协议容量"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="监督对象关联电站:" prop="substationName" class="mt10">
|
|
<el-input v-model="form.substationName" clearable placeholder="请输入监督对象关联电站"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="监督对象关联电站电压等级:" prop="substationVoltageLevel" class="mt10">
|
|
<el-select v-model="form.substationVoltageLevel" clearable placeholder="请选择监督对象关联电站电压等级">
|
|
<el-option v-for="item in voltageLevel" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="实施状态:" prop="effectStatus" class="mt10">
|
|
<el-select v-model="form.effectStatus" clearable placeholder="请选择实施状态" @change="changeStatus">
|
|
<el-option v-for="item in status" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="开始实施时间:" prop="effectStartTime" class="mt10">
|
|
<el-date-picker v-model="form.effectStartTime" value-format="yyyy-MM-dd HH:mm:ss"
|
|
type="datetime" placeholder="选择日期"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="结束实施时间:" prop="effectEndTime" class="mt10">
|
|
<el-date-picker v-model="form.effectEndTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
|
|
placeholder="选择日期"></el-date-picker>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="报告出具时间:" prop="reportIssueTime" class="mt10">
|
|
<el-date-picker v-model="form.reportIssueTime" value-format="yyyy-MM-dd HH:mm:ss"
|
|
type="datetime" placeholder="选择日期时间"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="电能质量问题发生时间:" prop="problemOcTime" class="mt10">
|
|
<el-date-picker v-model="form.problemOcTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
|
|
placeholder="选择日期时间"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="实施人员:" class="mt10">
|
|
<el-select v-model="form.effectUserId" clearable placeholder="请选择实施人员">
|
|
<el-option v-for="item in ImplementationPeople" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="计划状态:" prop="planStatus" class="mt10">
|
|
<el-select v-model="form.planStatus" clearable placeholder="请选择计划状态">
|
|
<el-option v-for="item in planStatusHis" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="其他要求:" prop="planName" class="mt10">
|
|
<el-input v-model="form.otherRemark" type="textarea" autosize clearable></el-input>
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
</div>
|
|
|
|
<span slot="footer" class="dialog-footer" v-if="isok">
|
|
<el-button type="primary" @click="handleClose">取 消</el-button>
|
|
<el-button v-if="add" type="primary" @click="addinformationFn">确 定</el-button>
|
|
<el-button v-if="modify" type="primary" @click="modifyinformationFn">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!-- 问题新增/修改 -->
|
|
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="problemAddinformation"
|
|
:before-close="problemHandleClose" width="60%" height="80%">
|
|
<div class="border1">
|
|
<div class="border-title1">
|
|
<span>技术监督实施问题</span>
|
|
</div>
|
|
<el-form :inline="true" :model="ruleform" class="form" label-width="140px" style="margin-right: 10px"
|
|
ref="ruleform" :rules="rules1">
|
|
<el-form-item label="责任单位:" class="mt10" prop="dutyOrgName">
|
|
<Company @click="handleNodeClick3" ref="Organization" :valueTitle="valueTitle"
|
|
:disabled="problemDisabled" :editCheckCode="editCheckCode"></Company>
|
|
</el-form-item>
|
|
<el-form-item label="监测点类型:" prop="monitorType" class="mt10">
|
|
<el-select v-model="ruleform.monitorType" clearable placeholder="请选择监测点类型"
|
|
:disabled="problemDisabled">
|
|
<el-option v-for="item in monitoring" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="是否发布预告警:" prop="ifReleaseWarning" class="mt10">
|
|
<el-select v-model="ruleform.ifReleaseWarning" clearable placeholder="请选择是否发不预告警"
|
|
:disabled="problemDisabled">
|
|
<el-option v-for="item in ReleaseWarning" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="计划整改时间:" prop="planRectificationTime" class="mt10">
|
|
<el-date-picker v-model="ruleform.planRectificationTime" value-format="yyyy-MM-dd" type="date"
|
|
placeholder="选择日期" :disabled="problemDisabled"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="整改情况:" prop="rectificationStatus" class="mt10">
|
|
<el-select v-model="ruleform.rectificationStatus" clearable placeholder="请选择整改情况"
|
|
:disabled="problemDisabled1">
|
|
<el-option v-for="item in rectification" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="整改时间:" prop="rectificationTime" class="mt10">
|
|
<el-date-picker v-model="ruleform.rectificationTime" value-format="yyyy-MM-dd" type="date"
|
|
placeholder="选择日期" :disabled="problemDisabled1"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="监督标准:" prop="supvStandard" class="mt10">
|
|
<el-input v-model="ruleform.supvStandard" placeholder="请输入监督标准"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="监督标准序号:" prop="supvStandardSort" class="mt10">
|
|
<el-input v-model="ruleform.supvStandardSort" placeholder="请输入监督标准序号"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="标准出处:" prop="supvResouce" class="mt10">
|
|
<el-input v-model="ruleform.supvResouce" placeholder="请输入标准出处"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="问题等级:" prop="problemLevel" class="mt10">
|
|
<el-select v-model="ruleform.problemLevel" clearable placeholder="请选择问题等级"
|
|
:disabled="problemDisabled">
|
|
<el-option v-for="item in questionLevel" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="问题类型:" prop="problemType" class="mt10">
|
|
<el-select v-model="ruleform.problemType" clearable placeholder="请选择问题类型"
|
|
:disabled="problemDisabled">
|
|
<el-option v-for="item in questionType" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<!-- <el-form-item label="问题出处:" prop="problemsource" class="mt10" >
|
|
<el-input v-model="ruleform.problemsource"></el-input>
|
|
</el-form-item> -->
|
|
<el-form-item label="问题简要描述:" prop="simpleProblemDesc" class="mt10">
|
|
<el-input v-model="ruleform.simpleProblemDesc" placeholder="请输入问题简要描述"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="问题描述:" prop="problemDesc" class="mt10">
|
|
<el-input v-model="ruleform.problemDesc" placeholder="请输入问题描述"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="问题发现时间:" prop="discoveryTime" class="mt10">
|
|
<el-date-picker v-model="ruleform.discoveryTime" value-format="yyyy-MM-dd HH:mm:ss"
|
|
type="datetime" placeholder="选择日期时间" :disabled="problemDisabled"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="定级依据:" prop="problemLevelReason" class="mt10">
|
|
<el-input v-model="ruleform.problemLevelReason" placeholder="请输入定级依据"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<!-- <el-form-item label="问题依据:" prop="problembasis" class="mt10" >
|
|
<el-select
|
|
v-model="ruleform.problembasis"
|
|
clearable
|
|
placeholder="请选择问题依据"
|
|
>
|
|
<el-option
|
|
v-for="item in options"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:value="item.id"
|
|
>
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item> -->
|
|
<el-form-item label="整改方案:" prop="rectificationProgramme" class="mt10">
|
|
<el-input v-model="ruleform.rectificationProgramme" placeholder="请输入整改方案"
|
|
:disabled="problemDisabled"></el-input>
|
|
<!-- <el-select
|
|
v-model="ruleform.rectificationProgramme"
|
|
clearable
|
|
placeholder="请选择整改方案"
|
|
:disabled="problemDisabled"
|
|
>
|
|
<el-option
|
|
v-for="item in programme"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:value="item.id"
|
|
>
|
|
</el-option>
|
|
</el-select> -->
|
|
</el-form-item>
|
|
<!-- <el-form-item label="问题简要描述:" prop="problemdescription " class="mt10" >
|
|
<el-input v-model="ruleform.problemdescription" type="textarea" autosize></el-input>
|
|
</el-form-item> -->
|
|
<el-form-item label="整改措施:" prop="rectificationMeasure" class="mt10">
|
|
<el-input v-model="ruleform.rectificationMeasure" type="textarea" autosize placeholder="请输入整改措施"
|
|
:disabled="problemDisabled1"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="备注:" prop="measures " class="mt10">
|
|
<el-input v-model="ruleform.remark" type="textarea" autosize placeholder="请输入备注"
|
|
:disabled="problemDisabled"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="关联告预警单:" prop="workAlarmId" class="mt10">
|
|
<el-select v-model="ruleform.workAlarmId" clearable filterable placeholder="请选择关联告预警单">
|
|
<el-option v-for="item in workAlarmList" :key="item.alarmId"
|
|
:label="item.billNo + '_' + item.billName" :value="item.alarmId">
|
|
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<span slot="footer" class="dialog-footer" v-if="isok1">
|
|
<el-button type="primary" @click="problemHandleClose">取 消</el-button>
|
|
<el-button v-if="add" type="primary" @click="problemAddinformationFn">确 定</el-button>
|
|
<el-button v-if="modify" type="primary" @click="problemModifyinformationFn">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!-- 上传文件 -->
|
|
<el-dialog :close-on-click-modal="false" title="附件上传" :visible.sync="uploadInformation"
|
|
:before-close="uploadClose" width="20%" class="dialog" height="280px">
|
|
<el-form label-width="100px" :model="formLine" ref="form" :rules="rules">
|
|
<el-form-item label="附件分类:" class="mt10" prop="classification">
|
|
<el-select v-model="formLine.classification" clearable placeholder="请选择附件分类">
|
|
<el-option v-for="item in classificationData" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="报告时间:" class="mt20 timeBox" prop="uploadTime">
|
|
<el-date-picker v-model="formLine.uploadTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
|
|
placeholder="选择日期时间"></el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="上送人:" class="mt20" prop="uploaderName">
|
|
<el-select v-model="formLine.uploaderId" clearable placeholder="请选择上送人" @change="changeUploaderName"
|
|
@clear="clear1('uploaderId', 'uploaderName')">
|
|
<el-option v-for="item in ImplementationPeople" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="附件:" class="mt20">
|
|
<el-upload ref="upload" action="#" class="upload-files" accept="" :headers="headers" name="file"
|
|
multiple :auto-upload="false" :file-list="fileList" :on-change="handleChange" :limit="1"
|
|
:on-exceed="handleExceed" :before-remove="beforeRemove">
|
|
<el-button slot="trigger" size="mini" type="primary">选取文件</el-button>
|
|
</el-upload>
|
|
</el-form-item>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="uploadClose">取 消</el-button>
|
|
<el-button type="primary" @click="uploadFn">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!-- 技术监督实施问题 -->
|
|
<el-dialog :close-on-click-modal="false" title="技术监督实施问题" :visible.sync="Implementation"
|
|
:before-close="implementationClose" width="90%" height="90%">
|
|
<div v-loading="isLoading1" element-loading-text="数据加载中">
|
|
<el-form ref="form" :inline="true">
|
|
<!-- <el-form-item>
|
|
<Timeinterval :interval="3" ref="Timeinterval"></Timeinterval>
|
|
</el-form-item> -->
|
|
<el-form-item>
|
|
<!-- <el-button size="small" type="primary" icon="el-icon-search" @click="problemOnSubmit">查询</el-button> -->
|
|
<el-button size="small" type="primary" icon="el-icon-circle-plus" @click="problemAddFn">
|
|
新增
|
|
</el-button>
|
|
<el-button size="small" type="primary" icon="el-icon-delete" @click="problemDeleteFn">
|
|
删除
|
|
</el-button>
|
|
<el-button size="small" type="primary" icon="el-icon-download" @click="exportEvent1">
|
|
导出
|
|
</el-button>
|
|
<el-button size="small" type="primary" v-if="biaoCode2 === 'ssjsjdpushQuestion'"
|
|
@click="problemPush">
|
|
上送问题
|
|
</el-button>
|
|
<!-- <el-button size="small" type="primary" v-if="biaoCode3 === 'zgcspushQuestion'"
|
|
@click="problemQuestionPush">
|
|
上送问题整改措施
|
|
</el-button>-->
|
|
<el-button size="small" type="primary" v-if="biaoCode4 === 'tsfjwtpush'" @click="annexPush">
|
|
附件上送
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<div class="boxS">
|
|
<div class="boxTableS">
|
|
<vxe-table stripe size="mini" :row-config="{ isCurrent: true, isHover: true }"
|
|
:data="problemData" ref="problems" highlight-current-row border :height="vh1"
|
|
header-cell-class-name="table_header" @checkbox-all="selectAllChangeEvent1"
|
|
@checkbox-change="handleSelectionChange1">
|
|
<vxe-table-column type="checkbox" align="center" width="55"></vxe-table-column>
|
|
<!-- <vxe-table-column field="province" show-overflow align="center" title="所属省份" min-width="100px"></vxe-table-column> -->
|
|
<!-- <vxe-table-column field="city" show-overflow align="center" title="所属地市" min-width="100px"></vxe-table-column> -->
|
|
<!-- <vxe-table-column field="county" show-overflow align="center" title="所属县区" min-width="100px"></vxe-table-column> -->
|
|
<vxe-table-column field="dutyOrgName" show-overflow align="center" title="责任单位"
|
|
min-width="150px"></vxe-table-column>
|
|
<vxe-table-column field="monitorType" show-overflow align="center" title="监测点类型"
|
|
min-width="100px" :formatter="formFilter1"></vxe-table-column>
|
|
<vxe-table-column field="ifReleaseWarning" show-overflow align="center" title="是否发布预告警"
|
|
min-width="150px">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.ifReleaseWarning == 0">否</span>
|
|
<span v-if="scope.row.ifReleaseWarning == 1">是</span>
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="planRectificationTime" show-overflow align="center" title="计划整改时间"
|
|
min-width="150px"></vxe-table-column>
|
|
<!-- <vxe-table-column field="effectUserId" show-overflow align="center" title="实施人员" min-width="100px"></vxe-table-column> -->
|
|
<vxe-table-column field="rectificationStatus" show-overflow align="center" title="整改情况"
|
|
min-width="100px">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.rectificationStatus == '01'">未整改</span>
|
|
<span v-if="scope.row.rectificationStatus == '02'">已整改</span>
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="rectificationTime" show-overflow align="center" title="整改时间"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="supvStandard" show-overflow align="center" title="监督标准"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="supvStandardSort" show-overflow align="center" title="监督标准序号"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="supvResouce" show-overflow align="center" title="标准出处"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="problemLevel" show-overflow align="center" title="问题等级"
|
|
min-width="100px">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.problemLevel == '01'">一般</span>
|
|
<span v-if="scope.row.problemLevel == '02'">较大</span>
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="problemType" show-overflow align="center" title="问题类型"
|
|
min-width="100px" :formatter="formFilter1"></vxe-table-column>
|
|
<!-- <vxe-table-column field="createBy" show-overflow align="center" title="问题出处" min-width="100px"></vxe-table-column> -->
|
|
<vxe-table-column field="simpleProblemDesc" show-overflow align="center" title="问题简要描述"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="problemDesc" show-overflow align="center" title="问题描述"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="discoveryTime" show-overflow align="center" title="问题发现时间"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="problemLevelReason" show-overflow align="center" title="定级依据"
|
|
min-width="100px"></vxe-table-column>
|
|
<!-- <vxe-table-column field="createBy" show-overflow align="center" title="问题依据" min-width="100px"></vxe-table-column> -->
|
|
|
|
<vxe-table-column field="rectificationProgramme" show-overflow align="center" title="整改方案"
|
|
min-width="100px"></vxe-table-column>
|
|
<!-- <vxe-table-column field="createBy" show-overflow align="center" title="问题简要描述" min-width="150px"></vxe-table-column> -->
|
|
<vxe-table-column field="rectificationMeasure" show-overflow align="center" title="整改措施"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="remark" show-overflow align="center" title="备注"
|
|
min-width="100px"></vxe-table-column>
|
|
<vxe-table-column field="isUploadHead" show-overflow align="center" title="上送问题"
|
|
min-width="100px">
|
|
<template slot-scope="scope">
|
|
<el-tag type="primary" size="small" style="color: #409eff; background: #ecf5ff"
|
|
v-if="scope.row.isUploadHead == 0">
|
|
未上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="small" style="color: #67c23a; background: #f0f9eb"
|
|
v-if="scope.row.isUploadHead == 1">
|
|
已上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="small" style="color: #909399; background: #f4f4f5"
|
|
v-if="scope.row.isUploadHead == 2">
|
|
取消上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="small" style="color: orange; background: #f4f4f5"
|
|
v-if="scope.row.isUploadHead == 3">
|
|
待重新上送
|
|
</el-tag>
|
|
</template>
|
|
</vxe-table-column>
|
|
<!-- <vxe-table-column field="createBy" show-overflow align="center" title="电能质量问题发生详情" min-width="170px">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" type="primary" @click="problemDetails(scope.row)">详情</el-button>
|
|
</template>
|
|
</vxe-table-column> -->
|
|
<!-- <vxe-table-column field="attachmentName" show-overflow align="center" title="盖章报告" min-width="150px">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.attachmentName == null" >/</span>
|
|
<span v-else style="color: blue; text-decoration: underline; cursor: pointer;" @click="downLoad(scope.row,'01')"> {{ scope.row.attachmentName}}</span>
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="attachmentNameTwo" show-overflow align="center" title=" 佐证材料" min-width="150px">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.attachmentNameTwo == null" >/</span>
|
|
<span v-else style="color: blue; text-decoration: underline; cursor: pointer;" @click="downLoad(scope.row,'02')"> {{ scope.row.attachmentNameTwo}}</span>
|
|
</template>
|
|
</vxe-table-column> -->
|
|
<vxe-table-column field="" show-overflow align="center" title="操作" min-width="350px"
|
|
fixed="right">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="problemView(scope.row)">
|
|
详情
|
|
</el-button>
|
|
<!-- <el-button type="primary" size="mini" :disabled="scope.row.isUploadHead == 1? true : false" @click="problemModifyFn(scope.row)">修改</el-button> -->
|
|
<el-button type="primary" size="mini" @click="problemModifyFn(scope.row)">
|
|
修改
|
|
</el-button>
|
|
<el-button size="mini" type="primary" @click="upload(scope.row)">
|
|
上传附件
|
|
</el-button>
|
|
<el-button size="mini" type="primary" @click="problemUpload(scope.row)">
|
|
查看附件
|
|
</el-button>
|
|
</template>
|
|
</vxe-table-column>
|
|
</vxe-table>
|
|
<el-pagination background align="right" @size-change="handleSizeChange1"
|
|
@current-change="handleCurrentChange1" :current-page="formData1.pageNum"
|
|
:page-sizes="[20, 30, 40, 50, 100]" :page-size="formData1.pageSize"
|
|
layout="total, sizes, prev, pager, next, jumper" :total="problemTotal"
|
|
class="mt10"></el-pagination>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
<!-- 已上送修改 -->
|
|
<el-dialog :close-on-click-modal="false" title="修改原因" :visible.sync="modifyReason" width="40%" class="eduity">
|
|
<el-form label-width="90px" :model="form" ref="form1" :rules="rules">
|
|
<el-form-item label="调整原因:" class="mt20 eduitybox" prop="applyCommentHis">
|
|
<el-input v-model="form.applyCommentHis" type="textarea" placeholder="请输入调整原因"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="其他要求:" style="margin-top: 150px" class="eduitybox" prop="otherRemarkHis">
|
|
<el-input v-model="form.otherRemarkHis" type="textarea" placeholder="请输入其他要求"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="modifyReason = false">取 消</el-button>
|
|
<el-button type="primary" @click="modifyReasonFn">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!-- 查看附件/附件上送 -->
|
|
<el-dialog :close-on-click-modal="false" :title="uploadTitle" :visible.sync="lookUpload"
|
|
:before-close="lookUploadClose" width="80%">
|
|
<el-form ref="form" inline :model="formLine">
|
|
<el-form-item label="附件分类:" class="mt10" prop="classification">
|
|
<el-select v-model="formLine.classification" clearable placeholder="请选择附件分类">
|
|
<el-option v-for="item in classificationData" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item class="mt10">
|
|
<el-button size="small" type="primary" icon="el-icon-search" @click="lookOnsubmit">查询</el-button>
|
|
</el-form-item>
|
|
<el-form-item class="mt10">
|
|
<el-button size="small" type="primary" icon="el-icon-search" @click="delFile">删除附件</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<vxe-table stripe size="mini" :row-config="{ isCurrent: true, isHover: true }" :data="uploadData"
|
|
highlight-current-row border :height="vh1" header-cell-class-name="table_header"
|
|
@checkbox-all="selectAllChangeEvent2" @checkbox-change="handleSelectionChange2">
|
|
<vxe-table-column type="checkbox" align="center" width="55"></vxe-table-column>
|
|
<vxe-table-column field="uploadTime" show-overflow align="center" title="上传时间"
|
|
min-width="120"></vxe-table-column>
|
|
<vxe-table-column field="busiName" show-overflow align="center" :title="fjtitle"
|
|
min-width="180"></vxe-table-column>
|
|
<vxe-table-column field="attachmentName" show-overflow align="center" title="附件名称" min-width="400">
|
|
<template slot-scope="scope">
|
|
<span style="color: blue; text-decoration: underline; cursor: pointer"
|
|
@click="downLoadFn(scope.row)">
|
|
{{ scope.row.attachmentName }}
|
|
</span>
|
|
</template>
|
|
</vxe-table-column>
|
|
<vxe-table-column field="attachmentType" show-overflow align="center" title="附件类型" min-width="100"
|
|
:formatter="formFilter2"></vxe-table-column>
|
|
<vxe-table-column field="uploaderName" show-overflow align="center" title="上送人"
|
|
min-width="100"></vxe-table-column>
|
|
<vxe-table-column field="isUploadHead" show-overflow align="center" title="是否上送网公司" min-width="100px">
|
|
<template slot-scope="scope">
|
|
<el-tag type="primary" size="small" style="color: #409eff; background: #ecf5ff"
|
|
v-if="scope.row.isUploadHead == 0">
|
|
未上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="small" style="color: #67c23a; background: #f0f9eb"
|
|
v-if="scope.row.isUploadHead == 1">
|
|
已上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="small" style="color: #909399; background: #f4f4f5"
|
|
v-if="scope.row.isUploadHead == 2">
|
|
取消上送
|
|
</el-tag>
|
|
<el-tag type="primary" size="small" style="color: orange; background: #f4f4f5"
|
|
v-if="scope.row.isUploadHead == 3">
|
|
待重新上送
|
|
</el-tag>
|
|
</template>
|
|
</vxe-table-column>
|
|
</vxe-table>
|
|
<span slot="footer" class="dialog-footer" v-if="this.uploadTitle == '附件上送' ? true : false">
|
|
<el-button type="primary" @click="lookUploadClose">取 消</el-button>
|
|
<el-button type="primary" @click="isUploadFn">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!--电容器组关联-->
|
|
<el-dialog :close-on-click-modal="false" title="关联对象" :visible.sync="capacitorFlag"
|
|
:before-close="capacitorClose" width="20%">
|
|
<el-form label-width="120px" ref="formCapacitor" :model="formCapacitor">
|
|
<el-form-item label="关联对象类型" class="mt10" prop="relObjType">
|
|
<el-select v-model="formCapacitor.relObjType" placeholder="关联对象类型">
|
|
<el-option v-for="item in [{ id: '01', name: '电容器' }]" :key="item.id" :label="item.name"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="关联对象名称:" class="mt10" prop="relObjName" :rules="[
|
|
{ required: true, message: '关联对象名称不能为空' },
|
|
]">
|
|
<el-input v-model="formCapacitor.relObjName" clearable placeholder="关联对象名称">
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="capacitorSubmit">确 定</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<!--电容器组关联列表-->
|
|
<el-dialog :close-on-click-modal="false" title="电容器组关联对象列表" :visible.sync="capacitorTableFlag"
|
|
:before-close="capacitorTableClose" width="80%">
|
|
<el-button style="margin-top: 10px;margin-bottom: 10px" size="small" type="primary"
|
|
@click="capacitorDia">新增关联对象</el-button>
|
|
<vxe-table stripe size="mini" :row-config="{ isCurrent: true, isHover: true }" :data="capacitorTableData"
|
|
highlight-current-row border :height="vh1" header-cell-class-name="table_header">
|
|
<vxe-table-column type="checkbox" align="center" width="55"></vxe-table-column>
|
|
<vxe-table-column field="relObjType" show-overflow align="center" title="关联对象类型"
|
|
min-width="120"></vxe-table-column>
|
|
<vxe-table-column field="relObjName" show-overflow align="center" title="关联对象名称"
|
|
min-width="180"></vxe-table-column>
|
|
<vxe-table-column field="updateTimes" show-overflow align="center" title="更新时间"
|
|
min-width="180"></vxe-table-column>
|
|
<vxe-table-column field="" show-overflow align="center" title="操作" width="300px" fixed="right">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="updateCapacitor(scope.row)">修改</el-button>
|
|
<el-button type="primary" size="mini" @click="capacitorDel(scope.row)">删除</el-button>
|
|
</template>
|
|
</vxe-table-column>
|
|
</vxe-table>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import Area from '@/views/components/Area/Area.vue'
|
|
import Organization from './Area/Organization.vue'
|
|
import Operation from './Area/Operation.vue'
|
|
import Company from './Area/Company.vue'
|
|
import { dicData } from '@/assets/commjs/dictypeData'
|
|
import { listRoleMenu, updateRoleMenu } from '@/api/admin/role'
|
|
import {
|
|
pagePlan,
|
|
addPlan,
|
|
updatePlan,
|
|
delPlan,
|
|
pageProblem,
|
|
addProblem,
|
|
updateProblem,
|
|
delProblem,
|
|
planUpload,
|
|
detail,
|
|
pushPlan,
|
|
pushQuestion,
|
|
delPushPlan,
|
|
pushFile,
|
|
getUserListByDeptId,
|
|
pushQuestionUpdate,
|
|
addPlanHis,
|
|
problemList,
|
|
list,
|
|
getDeptByCode,
|
|
delFile, saveOrUpdatePlanRel, delPlanRel, planRelList, getAlarmList
|
|
} from '@/api/Supervisionmanage2/Workplan'
|
|
import Timeinterval from '@/views/components/TimePicker/index6'
|
|
// import Timeinterval from '@/views/components/Timeinterval.vue'
|
|
|
|
export default {
|
|
name: 'jsplan',
|
|
components: { Area, Timeinterval, Organization, Operation, Company },
|
|
props: {},
|
|
data() {
|
|
return {
|
|
capacitorFlag: false,
|
|
capacitorTableFlag: false,
|
|
capacitorTableData: [],
|
|
formCapacitor: {
|
|
objId: '',
|
|
relObjName: '',
|
|
relObjType: '01',
|
|
planId: ''
|
|
},
|
|
|
|
|
|
biaoCode: '',
|
|
biaoCode1: '',
|
|
biaoCode2: '',
|
|
biaoCode3: '',
|
|
biaoCode4: '',
|
|
formData: {
|
|
planOrgId: '',
|
|
supvType: '',
|
|
pageSize: 20,
|
|
pageNum: 1,
|
|
searchBeginTime: '',
|
|
searchEndTime: ''
|
|
},
|
|
tag: '',
|
|
id: JSON.parse(window.sessionStorage.getItem('Info')).roleList[0],
|
|
formData1: {
|
|
pageSize: 20,
|
|
pageNum: 1
|
|
// searchBeginTime: "",
|
|
// searchEndTime: "",
|
|
},
|
|
isLoading: false,
|
|
isLoading1: false,
|
|
planDisabled: false,
|
|
problemDisabled: false,
|
|
problemDisabled1: false,
|
|
add: false,
|
|
modify: false,
|
|
modifyReason: false,
|
|
isok: true,
|
|
isok1: true,
|
|
area: false,
|
|
total: undefined,
|
|
problemTotal: undefined,
|
|
headers: {
|
|
Authorization: window.sessionStorage.getItem('cntoken')
|
|
},
|
|
fileList: [],
|
|
multipleSelection: [],
|
|
multipleSelection1: [],
|
|
multipleSelection2: [],
|
|
loading: false,
|
|
addinformation: false,
|
|
uploadInformation: false,
|
|
lookUpload: false,
|
|
Implementation: false,
|
|
problemAddinformation: false,
|
|
vh: undefined,
|
|
vh1: undefined,
|
|
zoom: '', //图表焦点校验
|
|
ids: [],
|
|
title: '',
|
|
uploadTitle: '',
|
|
fjtitle: '',
|
|
formLine: {
|
|
classification: '',
|
|
uploadTime: '',
|
|
uploaderName: '',
|
|
uploaderId: ''
|
|
},
|
|
planId: '',
|
|
uploadType: '',
|
|
editCheckCode: '',
|
|
valueTitle: '',
|
|
editCheckCode1: '',
|
|
valueTitle1: '',
|
|
|
|
applyComment: '',
|
|
otherRemark: '',
|
|
isUploadHead: '',
|
|
tableData: [],
|
|
problemData: [],
|
|
uploadData: [],
|
|
dataName: '',
|
|
powerTime: '',
|
|
supvTypeFlag: true,//区分是供电电压还是其他
|
|
supvObjNameList: [],//用来存供电电压相关名称
|
|
workAlarmList: [],//告预警单集合
|
|
form: {
|
|
supvOrgId: '',
|
|
supvOrgName: '',
|
|
planOrgId: '',
|
|
planOrgName: '',
|
|
planUserId: '', //计划编制人员
|
|
workPlanName: '',
|
|
effectUserId: '',
|
|
supvStage: '',
|
|
supvType: '',
|
|
planSupvDate: '',
|
|
supvObjId: '',
|
|
supvObjName: '',
|
|
supvObjType: '',
|
|
objVoltageLevel: '',
|
|
objType: '',
|
|
planstatus: '',
|
|
objCapacity: '',
|
|
substationName: '',
|
|
objTypeName: '',
|
|
planStatus: '',
|
|
effectStatus: '',
|
|
substationVoltageLevel: '',
|
|
effectStartTime: '',
|
|
effectEndTime: '',
|
|
otherRemark: '',
|
|
otherRemarkHis: '',
|
|
reportIssueTime: '',
|
|
problemOcTime: '',
|
|
applyCommentHis: '',
|
|
|
|
},
|
|
ruleform: {
|
|
planId: '',
|
|
dutyOrgId: '',
|
|
dutyOrgName: '',
|
|
monitorType: '',
|
|
ifReleaseWarning: '',
|
|
planRectificationTime: '',
|
|
rectificationStatus: '',
|
|
rectificationTime: '',
|
|
supvStandard: '',
|
|
supvStandardSort: '',
|
|
supvResouce: '',
|
|
problemLevel: '',
|
|
problemType: '',
|
|
discoveryTime: '',
|
|
simpleProblemDesc: '',
|
|
problemDesc: '',
|
|
problemLevelReason: '',
|
|
rectificationProgramme: '',
|
|
rectificationMeasure: '',
|
|
remark: '',
|
|
workAlarmId: ''
|
|
},
|
|
rules: {
|
|
supvOrgName: [{ required: true, message: '请输入监督单位', trigger: 'change' }],
|
|
planOrgName: [{ required: true, message: '请输入计划编制单位', trigger: 'change' }],
|
|
workPlanName: [{ required: true, message: '请输入计划名称', trigger: 'blur' }],
|
|
supvStage: [{ required: true, message: '请选择监督阶段', trigger: 'change' }],
|
|
supvType: [{ required: true, message: '请选择监督类型', trigger: 'change' }],
|
|
planSupvDate: [{ required: true, message: '请选择日期', trigger: 'change' }],
|
|
supvObjName: [{ required: true, message: '请输入监督对象名称', trigger: 'blur' }],
|
|
objTypeName: [{ required: false, message: '请输入监督对象属性名称', trigger: 'blur' }],
|
|
supvObjType: [{ required: true, message: '请选择监督对象类型', trigger: 'change' }],
|
|
objVoltageLevel: [{ required: true, message: '请选择监督对象电压等级', trigger: 'change' }],
|
|
objType: [{ required: true, message: '请选择监监督对象属性', trigger: 'change' }],
|
|
objCapacity: [{ required: true, message: '请输入监督对象协议容量', trigger: 'blur' }],
|
|
substationName: [{ required: true, message: '请选择监督对象关联电站', trigger: 'blur' }],
|
|
substationVoltageLevel: [
|
|
{ required: true, message: '请选择监督对象关联电站电压等级', trigger: 'change' }
|
|
],
|
|
effectStatus: [{ required: true, message: '请选择实施状态', trigger: 'change' }],
|
|
effectStartTime: [{ required: false, message: '请选择日期', trigger: 'change' }],
|
|
effectEndTime: [{ required: false, message: '请选择日期', trigger: 'change' }],
|
|
reportIssueTime: [{ required: false, message: '请选择日期', trigger: 'change' }],
|
|
planStatus: [{ required: false, message: '请选择计划状态', trigger: 'change' }],
|
|
applyCommentHis: [{ required: true, message: '请输入调整原因', trigger: 'blur' }],
|
|
otherRemarkHis: [{ required: true, message: '请输入其他要求', trigger: 'blur' }],
|
|
classification: [{ required: true, message: '请选择附件分类', trigger: 'change' }],
|
|
uploadTime: [{ required: true, message: '请选择日期与时间', trigger: 'change' }],
|
|
uploaderName: [{ required: true, message: '请选择上送人', trigger: 'change' }]
|
|
},
|
|
rules1: {
|
|
dutyOrgName: [{ required: true, message: '请输入责任单位', trigger: 'change' }],
|
|
monitorType: [{ required: false, message: '请选择监测点类型', trigger: 'change' }],
|
|
ifReleaseWarning: [{ required: true, message: '请选择是否发不预告警', trigger: 'change' }],
|
|
planRectificationTime: [{ required: true, message: '请选择日期', trigger: 'change' }],
|
|
rectificationStatus: [{ required: true, message: '请选择整改情况', trigger: 'change' }],
|
|
// rectificationTime: [
|
|
// { required: true, message: "请选择日期", trigger: "change" },
|
|
// ],
|
|
supvStandard: [{ required: true, message: '请输入监督标准', trigger: 'blur' }],
|
|
supvStandardSort: [{ required: true, message: '请输入监督标准序号', trigger: 'blur' }],
|
|
supvResouce: [{ required: true, message: '请输入标准出处', trigger: 'blur' }],
|
|
problemLevel: [{ required: true, message: '请选择问题等级', trigger: 'change' }],
|
|
problemType: [{ required: true, message: '请选择问题类型', trigger: 'change' }],
|
|
simpleProblemDesc: [{ required: true, message: '请输入问题简要描述', trigger: 'blur' }],
|
|
problemDesc: [{ required: true, message: '请输入问题描述', trigger: 'blur' }],
|
|
discoveryTime: [{ required: true, message: '请选择问题发现时间', trigger: 'change' }],
|
|
problemLevelReason: [{ required: true, message: '请输入定级依据', trigger: 'blur' }],
|
|
// problembasis: [
|
|
// { required: true, message: "请选择问题依据", trigger: "change" },
|
|
// ],
|
|
rectificationProgramme: [{ required: true, message: '请选择整改方案', trigger: 'change' }]
|
|
// rectificationMeasure: [
|
|
// { required: true, message: "请输入整改措施", trigger: "blur" },
|
|
// ],
|
|
},
|
|
statationName: [],
|
|
phase: [], //监督阶段
|
|
supervisionType: [], //监督类型
|
|
supervisionObjType: dicData('supv_obj_type', []), //监督对象类型
|
|
voltageLevel: [], //电压等级
|
|
monitoring: [], //监测点类型
|
|
programme: [], //整改方案
|
|
questionType: [], //问题类型
|
|
ImplementationPeople: [], //实施人员
|
|
planStatusHis: [], //计划状态
|
|
|
|
pageFileterObjType: [],
|
|
pageObjType: [],
|
|
|
|
superviseProperties: [
|
|
{
|
|
id: '01',
|
|
name: '在运站',
|
|
gvalue: '01'
|
|
},
|
|
{
|
|
id: '02',
|
|
name: '新(改、扩)建站',
|
|
gvalue: '02'
|
|
}
|
|
],
|
|
rectification: [
|
|
{
|
|
id: '01',
|
|
name: '未整改'
|
|
},
|
|
{
|
|
id: '02',
|
|
name: '已整改'
|
|
}
|
|
],
|
|
status: [
|
|
{
|
|
id: '01',
|
|
name: '未开展'
|
|
},
|
|
{
|
|
id: '02',
|
|
name: '开展中'
|
|
},
|
|
{
|
|
id: '03',
|
|
name: '待审核'
|
|
},
|
|
{
|
|
id: '04',
|
|
name: '已完成'
|
|
}
|
|
],
|
|
questionLevel: [
|
|
{
|
|
id: '01',
|
|
name: '一般'
|
|
},
|
|
{
|
|
id: '02',
|
|
name: '较大'
|
|
}
|
|
],
|
|
classificationData: [],
|
|
ReleaseWarning: [
|
|
{
|
|
id: 0,
|
|
name: '否'
|
|
},
|
|
{
|
|
id: 1,
|
|
name: '是'
|
|
}
|
|
],
|
|
view: false,
|
|
|
|
newPowerTem: [],
|
|
newPowerTemShu: [],
|
|
userTem: [],
|
|
reportTem: [],
|
|
planUserList: []
|
|
}
|
|
},
|
|
created() {
|
|
this.getclassificationData()
|
|
this.listmenuRoleList()
|
|
this.getUserId()
|
|
let level = JSON.parse(window.sessionStorage.getItem('Info')).deptLevel
|
|
if (level == 1 || level == 2) {
|
|
this.area = true
|
|
}
|
|
|
|
this.getAlarmList()
|
|
|
|
},
|
|
mounted() {
|
|
this.setHeight()
|
|
window.addEventListener('resize', this.setHeight)
|
|
},
|
|
beforeDestroy() {
|
|
window.removeEventListener('resize', this.setHeight)
|
|
},
|
|
methods: {
|
|
setHeight() {
|
|
this.vh = window.sessionStorage.getItem('appheight') - 140
|
|
this.vh = window.sessionStorage.getItem('appheight') - 95
|
|
|
|
this.vh1 = window.sessionStorage.getItem('appheight') - 480
|
|
},
|
|
clear(key, key1) {
|
|
// this.form[key] = ''
|
|
// this.form[key1] = ''
|
|
},
|
|
closeHandle() {
|
|
if (this.view) {
|
|
this.view = false
|
|
} else {
|
|
this.view = true
|
|
}
|
|
//console.log('关闭和展开');
|
|
const dom = document.getElementById('container')
|
|
const closeDom = document.getElementsByClassName('close')[0]
|
|
if (!dom.className.match(/(?:^|\s)expend(?!\S)/)) {
|
|
dom.className = 'container expend'
|
|
} else {
|
|
dom.className = 'container close-container'
|
|
}
|
|
},
|
|
clear1(key, key1) {
|
|
// this.formLine[key] = ''
|
|
// this.formLine[key1] = ''
|
|
},
|
|
//获取权限
|
|
listmenuRoleList() {
|
|
let p = { id: this.id }
|
|
listRoleMenu(p).then(response => {
|
|
let ids = []
|
|
//console.log("权限资源",response.data)
|
|
response.data.forEach(item => {
|
|
//上送网公司权限
|
|
if (item.code === 'jsjdpush') {
|
|
this.biaoCode = item.code
|
|
}
|
|
//取消上送送国网权限
|
|
if (item.code === 'jsjdjhdelete') {
|
|
this.biaoCode1 = item.code
|
|
}
|
|
//上送问题权限
|
|
if (item.code === 'ssjsjdpushQuestion') {
|
|
this.biaoCode2 = item.code
|
|
}
|
|
//上送问题实施整改权限
|
|
if (item.code === 'zgcspushQuestion') {
|
|
this.biaoCode3 = item.code
|
|
}
|
|
//附件上送权限
|
|
if (item.code === 'tsfjwtpush') {
|
|
this.biaoCode4 = item.code
|
|
}
|
|
})
|
|
})
|
|
},
|
|
takeover(val) {
|
|
this.formData.supvOrgId = val[0].code
|
|
this.onSubmit()
|
|
},
|
|
getUserId() {
|
|
let form = {
|
|
deptId: JSON.parse(window.sessionStorage.getItem('Info')).deptId
|
|
}
|
|
getUserListByDeptId(form).then(res => {
|
|
this.ImplementationPeople = res.data
|
|
})
|
|
},
|
|
|
|
getAlarmList() {
|
|
getAlarmList().then(res => {
|
|
this.workAlarmList = res.data
|
|
})
|
|
},
|
|
|
|
//通过下拉选择决定是否必填
|
|
changeSupv(val) {
|
|
this.guolv(val)
|
|
this.form.supvObjName = ''
|
|
this.form.supvObjId = ''
|
|
},
|
|
|
|
changeSupvObjName(val) {
|
|
let obj = this.supvObjNameList.find(item => item.id == val)
|
|
this.form.supvObjName = obj.name
|
|
this.form.workPlanName =
|
|
this.form.supvOrgName +
|
|
this.form.planSupvDate.substring(0, 7).replace('-', '') +
|
|
this.form.supvObjName +
|
|
'监督计划'
|
|
|
|
},
|
|
|
|
changeStatus(val) {
|
|
if (val != '01') {
|
|
this.rules.effectStartTime[0].required = true
|
|
} else {
|
|
this.rules.effectStartTime[0].required = false
|
|
}
|
|
if (val == '04') {
|
|
this.rules.effectEndTime[0].required = true
|
|
this.rules.reportIssueTime[0].required = true
|
|
} else {
|
|
this.rules.effectEndTime[0].required = false
|
|
this.rules.reportIssueTime[0].required = false
|
|
}
|
|
},
|
|
|
|
changeObjType(val) {
|
|
let name = ''
|
|
this.superviseProperties.forEach(item => {
|
|
if (val == item.gvalue) {
|
|
name = item.name
|
|
|
|
}
|
|
})
|
|
this.form.objTypeName = name
|
|
},
|
|
changeUploaderName(val) {
|
|
// console.log(val);
|
|
this.ImplementationPeople.forEach(item => {
|
|
if (val == item.id) {
|
|
this.formLine.uploaderName = item.name
|
|
}
|
|
})
|
|
},
|
|
//判断是否必填
|
|
guolv(val) {
|
|
let type = ''
|
|
this.supervisionType.forEach(item => {
|
|
if (val.supvType) {
|
|
if (item.id == val.supvType) {
|
|
type = item.code
|
|
}
|
|
} else {
|
|
if (item.id == val) {
|
|
type = item.code
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
if (type == 'UHV_Converter') {
|
|
//特高压
|
|
this.supvTypeFlag = true
|
|
this.rules.substationName[0].required = false
|
|
this.rules.substationVoltageLevel[0].required = false
|
|
this.rules.supvObjType[0].required = false
|
|
this.rules.supvObjName[0].required = false
|
|
this.rules.objVoltageLevel[0].required = true
|
|
this.rules.objType[0].required = false
|
|
this.rules.objTypeName[0].required = false
|
|
this.rules.objCapacity[0].required = false
|
|
this.rules.effectStatus[0].required = true
|
|
this.form.supvObjType = ''
|
|
this.form.supvObjType = ''
|
|
this.supervisionObjType = []
|
|
} else if (type == 'New_Energy') {
|
|
this.supvTypeFlag = true
|
|
this.rules.substationName[0].required = true
|
|
this.rules.substationVoltageLevel[0].required = true
|
|
this.rules.supvObjType[0].required = true
|
|
this.rules.supvObjName[0].required = true
|
|
this.rules.objVoltageLevel[0].required = true
|
|
this.rules.objType[0].required = true
|
|
this.rules.objTypeName[0].required = true
|
|
this.rules.objCapacity[0].required = true
|
|
this.rules.effectStatus[0].required = true
|
|
//
|
|
this.supervisionObjType = dicData('supv_obj_type', [])
|
|
|
|
this.superviseProperties = [
|
|
{
|
|
id: '01',
|
|
name: '在运站',
|
|
gvalue: '01'
|
|
},
|
|
{
|
|
id: '02',
|
|
name: '新(改、扩)建站',
|
|
gvalue: '02'
|
|
}
|
|
]
|
|
} else if (type == 'Power_Quality') {
|
|
this.supvTypeFlag = true
|
|
this.rules.substationName[0].required = true
|
|
this.rules.substationVoltageLevel[0].required = true
|
|
this.rules.supvObjType[0].required = false
|
|
this.rules.supvObjName[0].required = true
|
|
this.rules.objVoltageLevel[0].required = true
|
|
|
|
this.rules.objCapacity[0].required = false
|
|
this.rules.objType[0].required = true
|
|
this.rules.objTypeName[0].required = true
|
|
|
|
// this.supervisionObjType = dicData('user_class', [])
|
|
this.superviseProperties = dicData('user_class', [])
|
|
this.rules.effectStatus[0].required = true
|
|
|
|
this.form.supvObjType = ''
|
|
this.supervisionObjType = []
|
|
} else if (type == 'Technical_Super') {
|
|
this.supvTypeFlag = false
|
|
//供电电压 supvObjName
|
|
this.rules.substationName[0].required = false
|
|
this.rules.substationVoltageLevel[0].required = false
|
|
this.rules.supvObjType[0].required = false
|
|
this.rules.supvObjName[0].required = false
|
|
this.rules.objVoltageLevel[0].required = false
|
|
this.rules.objType[0].required = false
|
|
this.rules.objTypeName[0].required = false
|
|
this.rules.objCapacity[0].required = false
|
|
this.rules.effectStatus[0].required = true
|
|
|
|
this.form.supvObjType = ''
|
|
this.supervisionObjType = []
|
|
} else if (type == 'capacitor_bank') {
|
|
this.supvTypeFlag = true
|
|
//电容器组
|
|
this.rules.supvObjType[0].required = false
|
|
this.rules.objType[0].required = false
|
|
this.rules.supvObjName[0].required = false
|
|
this.rules.objCapacity[0].required = false
|
|
this.rules.substationVoltageLevel[0].required = false
|
|
this.rules.substationName[0].required = false
|
|
this.rules.objVoltageLevel[0].required = true
|
|
this.rules.effectStatus[0].required = true
|
|
|
|
this.form.supvObjType = ''
|
|
this.supervisionObjType = []
|
|
} else if (type == 'report_supervision') {
|
|
this.supvTypeFlag = true
|
|
//评估报告 supvObjName
|
|
this.rules.supvObjType[0].required = false
|
|
this.rules.supvObjName[0].required = false
|
|
this.rules.objVoltageLevel[0].required = false
|
|
this.rules.objCapacity[0].required = false
|
|
this.rules.substationVoltageLevel[0].required = false
|
|
this.rules.objType[0].required = true
|
|
this.rules.objTypeName[0].required = true
|
|
this.rules.substationName[0].required = false
|
|
this.rules.effectStatus[0].required = false
|
|
// this.supervisionObjType = dicData('evaluation_report', [])
|
|
this.superviseProperties = dicData('evaluation_report', [])
|
|
|
|
this.form.supvObjType = ''
|
|
this.supervisionObjType = []
|
|
}
|
|
},
|
|
//获取类型
|
|
getclassificationData() {
|
|
//监督阶段
|
|
this.phase = dicData('supv_stage', [])
|
|
//监督类型
|
|
this.supervisionType = dicData('supv_type', [])
|
|
|
|
//监督对象类型
|
|
|
|
//电压等级
|
|
this.voltageLevel = dicData('Dev_Voltage', [])
|
|
//监测点类型
|
|
this.monitoring = dicData('monitor_type', [])
|
|
//整改方案
|
|
this.programme = dicData('RectificationMeasure', [])
|
|
//问题类型
|
|
this.questionType = dicData('problem_type', [])
|
|
//计划状态
|
|
this.planStatusHis = dicData('plan_status', [])
|
|
//附件分类
|
|
this.classificationData = dicData('file_type', [])
|
|
|
|
//供电电压对象名称
|
|
this.supvObjNameList = dicData('Technical_Super_Name', [])
|
|
/* console.log(this.supvObjNameList)*/
|
|
|
|
this.newPowerTem = dicData('supv_obj_type', [])
|
|
; (this.newPowerTemShu = [
|
|
{
|
|
id: '01',
|
|
name: '在运站',
|
|
gvalue: '01'
|
|
},
|
|
{
|
|
id: '02',
|
|
name: '新(改、扩)建站',
|
|
gvalue: '02'
|
|
}
|
|
]),
|
|
(this.userTem = dicData('user_class', [])),
|
|
(this.reportTem = dicData('evaluation_report', []))
|
|
},
|
|
//查询
|
|
onSubmit() {
|
|
this.isLoading = true
|
|
|
|
this.formData.pageNum = 1
|
|
this.formData.searchBeginTime = this.$refs.Timeinterval.timeValue[0]
|
|
this.formData.searchEndTime = this.$refs.Timeinterval.timeValue[1]
|
|
// console.log(this.formData.supvOrgId);
|
|
pagePlan(this.formData).then(res => {
|
|
this.tableData = res.data.records
|
|
this.total = res.data.total
|
|
this.isLoading = false
|
|
})
|
|
},
|
|
onSubmit1() {
|
|
this.isLoading = true
|
|
// this.$refs.Timeinterval.timeOptions = [
|
|
// // { label: "年份", value: 1 },
|
|
// // { label: "季度", value: 2 },
|
|
// { label: "月份", value: 3 },
|
|
// // { label: "周", value: 4 },
|
|
// // // { label: "自定义", value: 5 },
|
|
// ]
|
|
this.formData.searchBeginTime = this.$refs.Timeinterval.timeValue[0]
|
|
this.formData.searchEndTime = this.$refs.Timeinterval.timeValue[1]
|
|
// console.log(this.formData.supvOrgId);
|
|
pagePlan(this.formData).then(res => {
|
|
this.tableData = res.data.records
|
|
this.total = res.data.total
|
|
this.isLoading = false
|
|
})
|
|
},
|
|
//导出
|
|
exportEvent() {
|
|
pagePlan({
|
|
searchBeginTime: this.formData.searchBeginTime,
|
|
searchEndTime: this.formData.searchEndTime,
|
|
planOrgId: this.formData.planOrgId,
|
|
supvType: this.formData.supvType,
|
|
pageNum: 1,
|
|
pageSize: this.total
|
|
}).then(res => {
|
|
res.data.records.forEach(item => {
|
|
if (item.effectStatus == '01') {
|
|
item.effectStatus = '未开展'
|
|
} else if (item.effectStatus == '02') {
|
|
item.effectStatus = '开展中'
|
|
} else if (item.effectStatus == '03') {
|
|
item.effectStatus = '待审核'
|
|
} else if (item.effectStatus == '04') {
|
|
item.effectStatus = '已完成'
|
|
}
|
|
if (item.isUploadHead == 0) {
|
|
item.isUploadHead = '未上送'
|
|
} else if (item.isUploadHead == 1) {
|
|
item.isUploadHead = '已上送'
|
|
} else if (item.isUploadHead == 2) {
|
|
item.isUploadHead = '取消上送'
|
|
}
|
|
})
|
|
|
|
let json = JSON.stringify(res.data.records)
|
|
json = JSON.parse(json)
|
|
json.forEach(item => {
|
|
let p = item.planSupvDate.split('-')
|
|
item.planSupvDate = p[0] + '-' + p[1]
|
|
// console.log(p[0]+'-'+p[1])
|
|
})
|
|
// console.log(json)
|
|
this.$refs.plan.exportData({
|
|
filename: this.formData.searchBeginTime + '至' + this.formData.searchEndTime + '技术监督工作计划', // 文件名字
|
|
sheetName: 'Sheet1',
|
|
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
|
useStyle: true,
|
|
data: json, // 数据源 // 过滤那个字段导出
|
|
columnFilterMethod: function (column, $columnIndex) {
|
|
return !(column.$columnIndex === 0)
|
|
}
|
|
})
|
|
})
|
|
},
|
|
//问题查询
|
|
problemOnSubmit() {
|
|
this.isLoading1 = true
|
|
this.formData1.pageNum = 1
|
|
// this.formData1.searchBeginTime = this.$refs.Timeinterval.timeValue[0];
|
|
// this.formData1.searchEndTime = this.$refs.Timeinterval.timeValue[1];
|
|
pageProblem(this.formData1).then(res => {
|
|
this.problemData = res.data.records
|
|
this.problemTotal = res.data.total
|
|
this.isLoading1 = false
|
|
})
|
|
},
|
|
problemOnSubmit1() {
|
|
this.isLoading1 = true
|
|
// this.formData1.searchBeginTime = this.$refs.Timeinterval.timeValue[0];
|
|
// this.formData1.searchEndTime = this.$refs.Timeinterval.timeValue[1];
|
|
pageProblem(this.formData1).then(res => {
|
|
this.problemData = res.data.records
|
|
this.problemTotal = res.data.total
|
|
this.isLoading1 = false
|
|
})
|
|
},
|
|
//导出
|
|
exportEvent1() {
|
|
pageProblem({
|
|
pageNum: 1,
|
|
pageSize: this.problemTotal,
|
|
planId: this.formData1.planId
|
|
}).then(res => {
|
|
res.data.records.forEach(item => {
|
|
if (item.ifReleaseWarning == 0) {
|
|
item.ifReleaseWarning = '否'
|
|
} else if (item.ifReleaseWarning == 1) {
|
|
item.ifReleaseWarning = '是'
|
|
}
|
|
if (item.rectificationStatus == '01') {
|
|
item.rectificationStatus = '未整改'
|
|
} else if (item.rectificationStatus == '02') {
|
|
item.rectificationStatus = '已整改'
|
|
}
|
|
if (item.problemLevel == '01') {
|
|
item.problemLevel = '一般'
|
|
} else if (item.problemLevel == '02') {
|
|
item.problemLevel = '较大'
|
|
}
|
|
if (item.isUploadHead == 0) {
|
|
item.isUploadHead = '未上送'
|
|
} else if (item.isUploadHead == 1) {
|
|
item.isUploadHead = '已上送'
|
|
} else if (item.isUploadHead == 2) {
|
|
item.isUploadHead = '取消上送'
|
|
}
|
|
})
|
|
this.$refs.problems.exportData({
|
|
filename: '技术监督实施问题', // 文件名字
|
|
sheetName: 'Sheet1',
|
|
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
|
useStyle: true,
|
|
data: res.data.records, // 数据源 // 过滤那个字段导出
|
|
columnFilterMethod: function (column, $columnIndex) {
|
|
return !(column.$columnIndex === 0)
|
|
}
|
|
})
|
|
})
|
|
},
|
|
//导出问题
|
|
exportProblems() {
|
|
this.formData.searchBeginTime = this.$refs.Timeinterval.timeValue[0]
|
|
this.formData.searchEndTime = this.$refs.Timeinterval.timeValue[1]
|
|
problemList(this.formData).then(res => {
|
|
let blob = new Blob([res], {
|
|
type: 'application/vnd.ms-excel'
|
|
})
|
|
const url = window.URL.createObjectURL(blob)
|
|
const link = document.createElement('a') // 创建a标签
|
|
link.href = url // link.download = "电压暂降事件分析报告"; // 设置下载的文件名
|
|
link.download = this.formData.searchBeginTime + '_' + this.formData.searchEndTime + '计划问题.xls' // 设置下载的文件名
|
|
document.body.appendChild(link)
|
|
link.click() //执行下载
|
|
document.body.removeChild(link)
|
|
})
|
|
},
|
|
//数据过滤
|
|
formFilter(row, column) {
|
|
if (row.column.property == 'supvType') {
|
|
console.log(row.row.supvType)
|
|
let title = ''
|
|
this.supervisionType.forEach(item => {
|
|
if (item.id == row.row.supvType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else if (row.column.property == 'supvStage') {
|
|
let title = ''
|
|
this.phase.forEach(item => {
|
|
if (item.id == row.row.supvStage) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else if (row.column.property == 'supvObjType') {
|
|
return this.reRowTitle(row)
|
|
} else if (row.column.property == 'objVoltageLevel') {
|
|
let title = ''
|
|
this.voltageLevel.forEach(item => {
|
|
if (item.id == row.row.objVoltageLevel) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else if (row.column.property == 'substationVoltageLevel') {
|
|
let title = ''
|
|
this.voltageLevel.forEach(item => {
|
|
if (item.id == row.row.substationVoltageLevel) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else if (row.column.property == 'planStatus') {
|
|
let title = ''
|
|
this.planStatusHis.forEach(item => {
|
|
if (item.id == row.row.planStatus) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else if (row.column.property == 'objType') {
|
|
return this.objTypeRowTitle(row)
|
|
} else {
|
|
return row.row[row.column.property]
|
|
}
|
|
},
|
|
formFilter1(row, column) {
|
|
if (row.column.property == 'monitorType') {
|
|
let title = ''
|
|
this.monitoring.forEach(item => {
|
|
if (item.id == row.row.monitorType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else if (row.column.property == 'problemType') {
|
|
let title = ''
|
|
this.questionType.forEach(item => {
|
|
if (item.id == row.row.problemType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
}
|
|
// else if(row.column.property == "rectificationProgramme"){
|
|
// let title = ''
|
|
// this.programme.forEach(item=>{
|
|
// if( item.id == row.row.rectificationProgramme ){
|
|
// title =item.name
|
|
// }
|
|
// })
|
|
// return title
|
|
// }
|
|
else {
|
|
return row.row[row.column.property]
|
|
}
|
|
},
|
|
formFilter2(row, column) {
|
|
if (row.column.property == 'attachmentType') {
|
|
let title = ''
|
|
this.classificationData.forEach(item => {
|
|
if (item.id == row.row.attachmentType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
return title
|
|
} else {
|
|
return row.row[row.column.property]
|
|
}
|
|
},
|
|
|
|
reRowTitle(row) {
|
|
let title = ''
|
|
let type = ''
|
|
this.supervisionType.forEach(item => {
|
|
if (row.row.supvType) {
|
|
if (item.id == row.row.supvType) {
|
|
type = item.code
|
|
}
|
|
} else {
|
|
if (item.id == row.row.supvType) {
|
|
type = item.code
|
|
}
|
|
}
|
|
})
|
|
|
|
if (type == 'UHV_Converter') {
|
|
title = row.row.supvObjType
|
|
} else if (type == 'New_Energy') {
|
|
this.newPowerTem.forEach(item => {
|
|
if (item.id == row.row.supvObjType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
} else if (type == 'Power_Quality') {
|
|
this.userTem.forEach(item => {
|
|
if (item.id == row.row.supvObjType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
} else if (type == 'Technical_Super') {
|
|
title = row.row.supvObjType
|
|
} else if (type == 'capacitor_bank') {
|
|
//电容器组
|
|
|
|
title = row.row.supvObjType
|
|
} else if (type == 'report_supervision') {
|
|
this.reportTem.forEach(item => {
|
|
if (item.id == row.row.supvObjType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
}
|
|
return title
|
|
},
|
|
|
|
objTypeRowTitle(row) {
|
|
let title = ''
|
|
let type = ''
|
|
this.supervisionType.forEach(item => {
|
|
if (row.row.supvType) {
|
|
if (item.id == row.row.supvType) {
|
|
type = item.code
|
|
}
|
|
} else {
|
|
if (item.id == row.row.supvType) {
|
|
type = item.code
|
|
}
|
|
}
|
|
})
|
|
|
|
if (type == 'UHV_Converter') {
|
|
this.newPowerTemShu.forEach(item => {
|
|
if (item.gvalue == row.row.objType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
} else if (type == 'New_Energy') {
|
|
this.newPowerTemShu.forEach(item => {
|
|
if (item.gvalue == row.row.objType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
} else if (type == 'Power_Quality') {
|
|
this.userTem.forEach(item => {
|
|
if (item.gvalue == row.row.objType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
} else if (type == 'Technical_Super') {
|
|
title = row.row.objType
|
|
} else if (type == 'capacitor_bank') {
|
|
this.newPowerTemShu.forEach(item => {
|
|
if (item.gvalue == row.row.objType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
} else if (type == 'report_supervision') {
|
|
this.reportTem.forEach(item => {
|
|
if (item.gvalue == row.row.objType) {
|
|
title = item.name
|
|
}
|
|
})
|
|
}
|
|
|
|
return title
|
|
},
|
|
|
|
//计划复选框
|
|
handleSelectionChange(val) {
|
|
// console.log(val.records);
|
|
this.multipleSelection = val.records
|
|
},
|
|
selectAllChangeEvent(val) {
|
|
// console.log(val.records);
|
|
this.multipleSelection = val.records
|
|
},
|
|
//问题复选框
|
|
handleSelectionChange1(val) {
|
|
this.multipleSelection1 = val.records
|
|
},
|
|
selectAllChangeEvent1(val) {
|
|
// console.log(val.records);
|
|
this.multipleSelection1 = val.records
|
|
},
|
|
//f附件复选框
|
|
handleSelectionChange2(val) {
|
|
this.multipleSelection2 = val.records
|
|
},
|
|
selectAllChangeEvent2(val) {
|
|
// console.log(val.records);
|
|
this.multipleSelection2 = val.records
|
|
},
|
|
handleNodeClick(data) {
|
|
this.formData.planOrgId = data.code
|
|
},
|
|
/* handleNodeClick1(data) {
|
|
// console.log(data);
|
|
this.form.planOrgId = data.code
|
|
this.form.planOrgName = data.name
|
|
// this.ruleform.dutyOrgId = data.code
|
|
this.form.workPlanName =
|
|
this.form.planOrgName +
|
|
this.form.planSupvDate.substring(0, 7).replace('-', '') +
|
|
this.form.supvObjName +
|
|
'监督计划'
|
|
},*/
|
|
changeFn(val) {
|
|
// console.log(val);
|
|
this.form.planSupvDate = val
|
|
this.form.workPlanName =
|
|
this.form.supvOrgName +
|
|
this.form.planSupvDate.substring(0, 7).replace('-', '') +
|
|
this.form.supvObjName +
|
|
'监督计划'
|
|
},
|
|
changeFn1(val) {
|
|
this.form.supvObjName = val
|
|
this.form.workPlanName =
|
|
this.form.supvOrgName +
|
|
this.form.planSupvDate.substring(0, 7).replace('-', '') +
|
|
this.form.supvObjName +
|
|
'监督计划'
|
|
},
|
|
handleNodeClick2(data) {
|
|
this.form.planOrgId = data.code
|
|
this.form.planOrgName = data.name
|
|
//触发单位人员查询
|
|
|
|
|
|
let param = { deptId: data.id }
|
|
getUserListByDeptId(param).then(res => {
|
|
this.planUserList = res.data
|
|
this.form.planUserId = ''
|
|
})
|
|
},
|
|
|
|
supvOrgNameChange(data) {
|
|
this.form.supvOrgId = data.code
|
|
this.form.supvOrgName = data.name
|
|
|
|
this.form.workPlanName =
|
|
this.form.supvOrgName +
|
|
this.form.planSupvDate.substring(0, 7).replace('-', '') +
|
|
this.form.supvObjName +
|
|
'监督计划'
|
|
},
|
|
|
|
handleNodeClick3(data) {
|
|
this.ruleform.dutyOrgId = data.code
|
|
this.ruleform.dutyOrgName = data.name
|
|
},
|
|
//每页条数改变时触发 选择一页显示多少行
|
|
handleSizeChange(val) {
|
|
this.formData.pageSize = val
|
|
this.onSubmit1()
|
|
},
|
|
//当前页改变时触发 跳转其他页
|
|
handleCurrentChange(val) {
|
|
this.formData.pageNum = val
|
|
this.onSubmit1()
|
|
},
|
|
//每页条数改变时触发 选择一页显示多少行
|
|
handleSizeChange1(val) {
|
|
this.formData1.pageSize = val
|
|
this.problemOnSubmit1()
|
|
},
|
|
//当前页改变时触发 跳转其他页
|
|
handleCurrentChange1(val) {
|
|
this.formData1.pageNum = val
|
|
this.problemOnSubmit1()
|
|
},
|
|
//新增
|
|
addFn() {
|
|
this.title = '技术监督计划新增'
|
|
this.rules.planStatus[0].required = false
|
|
this.modify = false
|
|
this.planDisabled = false
|
|
this.add = true
|
|
this.isok = true
|
|
this.valueTitle = ''
|
|
this.editCheckCode = ''
|
|
this.valueTitle1 = ''
|
|
this.editCheckCode1 = ''
|
|
this.form = {
|
|
supvOrgId: '',
|
|
supvOrgName: '',
|
|
planOrgId: '',
|
|
planOrgName: '',
|
|
workPlanName: '',
|
|
supvStage: '',
|
|
supvType: '',
|
|
planSupvDate: '',
|
|
supvObjId: '',
|
|
supvObjName: '',
|
|
supvObjType: '',
|
|
objVoltageLevel: '',
|
|
objType: '',
|
|
objCapacity: '',
|
|
substationName: '',
|
|
objTypeName: '',
|
|
effectStatus: '',
|
|
substationVoltageLevel: '',
|
|
effectStartTime: '',
|
|
effectEndTime: '',
|
|
otherRemark: '',
|
|
reportIssueTime: '',
|
|
problemOcTime: ''
|
|
}
|
|
this.form.planUserId = this.$store.state.user.userInfo.id
|
|
let param = { deptId: this.$store.state.user.userInfo.deptId }
|
|
getUserListByDeptId(param).then(res => {
|
|
this.planUserList = res.data
|
|
})
|
|
this.$nextTick(() => {
|
|
this.$refs['form'].clearValidate()
|
|
})
|
|
this.addinformation = true
|
|
},
|
|
//新增确认关闭
|
|
addinformationFn() {
|
|
|
|
this.$refs.form.validate(value => {
|
|
// console.log(value);
|
|
if (value == true) {
|
|
this.$confirm('是否确认新增?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
addPlan(this.form).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
}
|
|
this.onSubmit()
|
|
this.addinformation = false
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消新增'
|
|
})
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//问题新增
|
|
problemAddFn() {
|
|
this.title = '技术监督实施问题新增'
|
|
this.modify = false
|
|
this.problemDisabled = false
|
|
this.add = true
|
|
this.isok1 = true
|
|
this.valueTitle = ''
|
|
this.editCheckCode = ''
|
|
this.ruleform = {
|
|
planId: this.ruleform.planId,
|
|
dutyOrgId: '',
|
|
dutyOrgName: '',
|
|
monitorType: '',
|
|
ifReleaseWarning: '',
|
|
planRectificationTime: '',
|
|
rectificationStatus: '',
|
|
rectificationTime: '',
|
|
supvStandard: '',
|
|
supvStandardSort: '',
|
|
supvResouce: '',
|
|
problemLevel: '',
|
|
problemType: '',
|
|
discoveryTime: this.powerTime,
|
|
simpleProblemDesc: '',
|
|
problemDesc: '',
|
|
problemLevelReason: '',
|
|
rectificationProgramme: '',
|
|
rectificationMeasure: '',
|
|
remark: ''
|
|
}
|
|
this.$nextTick(() => {
|
|
this.$refs['ruleform'].clearValidate()
|
|
})
|
|
this.problemAddinformation = true
|
|
},
|
|
//问题新增确认关闭
|
|
problemAddinformationFn() {
|
|
this.$refs.ruleform.validate(value => {
|
|
// console.log(value);
|
|
if (value == true) {
|
|
if(this.ruleform.ifReleaseWarning == 1){
|
|
//需要提示预告警单不能为空
|
|
if(this.ruleform.workAlarmId == null || this.ruleform.workAlarmId == ''){
|
|
this.$message.warning("关联告预警单不可为空!");
|
|
return
|
|
}
|
|
}
|
|
|
|
this.$confirm('是否确认新增?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
|
|
|
|
addProblem(this.ruleform).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
}
|
|
this.problemOnSubmit()
|
|
this.problemAddinformation = false
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消新增'
|
|
})
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//修改
|
|
modifyFn(val) {
|
|
// console.log(val);
|
|
this.modify = true
|
|
this.add = false
|
|
this.planDisabled = false
|
|
this.isok = true
|
|
this.title = '技术监督计划修改'
|
|
this.addinformation = true
|
|
this.form = JSON.parse(JSON.stringify(val))
|
|
this.isUploadHead = val.isUploadHead
|
|
this.planId = val.planId
|
|
this.guolv(val)
|
|
this.valueTitle = val.supvOrgName
|
|
this.editCheckCode = val.supvOrgId
|
|
|
|
|
|
this.valueTitle1 = val.planOrgName
|
|
this.editCheckCode1 = val.planOrgId
|
|
if (this.isUploadHead == 1) {
|
|
this.rules.planStatus[0].required = true
|
|
} else {
|
|
this.rules.planStatus[0].required = false
|
|
}
|
|
if (val.effectStatus != '01') {
|
|
this.rules.effectStartTime[0].required = true
|
|
} else {
|
|
this.rules.effectStartTime[0].required = false
|
|
}
|
|
if (val.effectStatus == '04') {
|
|
this.rules.effectEndTime[0].required = true
|
|
this.rules.reportIssueTime[0].required = true
|
|
} else {
|
|
this.rules.effectEndTime[0].required = false
|
|
this.rules.reportIssueTime[0].required = false
|
|
}
|
|
// this.planStatusHis.forEach(item=>{
|
|
// if( item.gvalue == this.form.planStatus ){
|
|
// this.form.planStatus =item.name
|
|
// }
|
|
// })
|
|
|
|
this.form.planUserId = val.planUserId
|
|
this.getDeptByCode(val.planOrgId)
|
|
},
|
|
|
|
getDeptByCode(deptCode) {
|
|
let param = { deptCode: deptCode }
|
|
getDeptByCode(param).then(res => {
|
|
let param = { deptId: res.data.id }
|
|
getUserListByDeptId(param).then(res => {
|
|
this.planUserList = res.data
|
|
})
|
|
})
|
|
},
|
|
|
|
//修改确定关闭
|
|
modifyinformationFn() {
|
|
// debugger
|
|
this.form.workPlanName =
|
|
this.form.supvOrgName +
|
|
this.form.planSupvDate.substring(0, 7).replace('-', '') +
|
|
this.form.supvObjName +
|
|
'监督计划'
|
|
this.$refs.form.validate(value => {
|
|
// console.log(value);
|
|
if (value == true) {
|
|
if (this.isUploadHead == 1) {
|
|
this.modifyReason = true
|
|
} else {
|
|
this.$confirm('是否确认修改?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
updatePlan(this.form).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
}
|
|
this.onSubmit()
|
|
this.addinformation = false
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消修改'
|
|
})
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
//修改原因确认
|
|
modifyReasonFn() {
|
|
// this.planStatusHis.forEach(item=>{
|
|
// console.log(item);
|
|
// if(this.form.planStatus == item.id){
|
|
// this.form.planStatus = item.gvalue
|
|
// }
|
|
// })
|
|
this.$refs.form1.validate(value => {
|
|
if (value == true) {
|
|
updatePlan(this.form).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
}
|
|
this.addinformation = false
|
|
this.modifyReason = false
|
|
this.onSubmit()
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//问题修改
|
|
problemModifyFn(val) {
|
|
// console.log(val);
|
|
this.modify = true
|
|
this.add = false
|
|
this.problemDisabled = false
|
|
this.problemDisabled1 = false
|
|
if (val.isUploadHead == 1) {
|
|
this.problemDisabled = true
|
|
this.problemDisabled1 = false
|
|
}
|
|
this.isok1 = true
|
|
this.title = '技术监督实施问题修改'
|
|
this.ruleform = JSON.parse(JSON.stringify(val))
|
|
this.valueTitle = val.dutyOrgName
|
|
this.editCheckCode = val.dutyOrgId
|
|
this.problemAddinformation = true
|
|
},
|
|
//修改确定关闭
|
|
problemModifyinformationFn() {
|
|
this.$refs.ruleform.validate(value => {
|
|
// console.log(value);
|
|
if (value == true) {
|
|
if(this.ruleform.ifReleaseWarning == 1){
|
|
//需要提示预告警单不能为空
|
|
if(this.ruleform.workAlarmId == null || this.ruleform.workAlarmId == ''){
|
|
this.$message.warning("关联告预警单不可为空!");
|
|
return
|
|
}
|
|
}
|
|
|
|
this.$confirm('是否确认修改?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
updateProblem(this.ruleform).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
|
|
this.problemOnSubmit()
|
|
this.problemAddinformation = false
|
|
}
|
|
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消修改'
|
|
})
|
|
})
|
|
}
|
|
})
|
|
},
|
|
// 删除
|
|
deleteFn() {
|
|
if (this.multipleSelection.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据删除!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
let isUpload = []
|
|
this.multipleSelection.forEach(item => {
|
|
isUpload.push(item.isUploadHead)
|
|
})
|
|
if (isUpload.includes(1) == true) {
|
|
this.$message({
|
|
type: 'warning',
|
|
message: '含有已上送计划,无法删除'
|
|
})
|
|
return
|
|
} else {
|
|
this.$confirm('是否确认删除?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let planIds = []
|
|
this.multipleSelection.forEach(item => {
|
|
planIds.push(item.planId)
|
|
})
|
|
|
|
delPlan(planIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
this.onSubmit()
|
|
}
|
|
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消删除'
|
|
})
|
|
})
|
|
}
|
|
},
|
|
// 删除
|
|
problemDeleteFn() {
|
|
if (this.multipleSelection1.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据删除!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
let isUpload = []
|
|
this.multipleSelection1.forEach(item => {
|
|
isUpload.push(item.isUploadHead)
|
|
})
|
|
if (isUpload.includes(1) == true) {
|
|
this.$message({
|
|
type: 'warning',
|
|
message: '含有已上送计划,无法删除'
|
|
})
|
|
return
|
|
} else {
|
|
this.$confirm('是否确认删除?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let problemIds = []
|
|
this.multipleSelection1.forEach(item => {
|
|
problemIds.push(item.problemId)
|
|
})
|
|
|
|
delProblem(problemIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
}
|
|
this.problemOnSubmit()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消删除'
|
|
})
|
|
})
|
|
}
|
|
},
|
|
// 实施问题
|
|
problems(val) {
|
|
// console.log(val);
|
|
this.Implementation = true
|
|
let type = ''
|
|
this.supervisionType.forEach(item => {
|
|
if (item.id == val.supvType) {
|
|
type = item.code
|
|
}
|
|
})
|
|
if (type == 'Technical_Super') {
|
|
this.rules1.monitorType[0].required = true
|
|
} else {
|
|
this.rules1.monitorType[0].required = false
|
|
}
|
|
this.powerTime = val.problemOcTime
|
|
this.formData1.planId = val.planId
|
|
this.ruleform.planId = val.planId
|
|
this.problemOnSubmit()
|
|
},
|
|
|
|
//查看详情
|
|
viewsXquery(val) {
|
|
this.title = '技术监督工作计划查看'
|
|
this.guolv(val)
|
|
this.addinformation = true
|
|
this.planDisabled = true
|
|
this.isok = false
|
|
this.form = val
|
|
this.valueTitle = val.supvOrgName
|
|
this.editCheckCode = val.supvOrgId
|
|
this.valueTitle1 = val.planOrgName
|
|
this.editCheckCode1 = val.planOrgId
|
|
},
|
|
//问题查看详情
|
|
problemView(val) {
|
|
this.title = '技术监督实施问题查看'
|
|
this.ruleform = val
|
|
this.valueTitle = val.dutyOrgName
|
|
this.editCheckCode = val.dutyOrgId
|
|
this.problemAddinformation = true
|
|
this.isok1 = false
|
|
this.problemDisabled = true
|
|
this.problemDisabled1 = true
|
|
},
|
|
//问题查看
|
|
details(val) {
|
|
// this.title = '技术监督实施问题查看'
|
|
// this.addinformation = true;
|
|
},
|
|
problemDetails(val) {
|
|
// this.title = '技术监督实施问题查看'
|
|
// this.addinformation = true;
|
|
},
|
|
//上传附件
|
|
upload(val) {
|
|
// console.log(val);
|
|
this.tag = 2
|
|
this.uploadType = 1
|
|
; (this.formLine = {
|
|
classification: '',
|
|
uploadTime: '',
|
|
uploaderName: '',
|
|
uploaderId: ''
|
|
}),
|
|
(this.planId = val.problemId)
|
|
this.uploadInformation = true
|
|
this.$nextTick(() => {
|
|
this.$refs['form'].clearValidate()
|
|
})
|
|
},
|
|
planUploadFn(val) {
|
|
// console.log(val);
|
|
this.tag = 1
|
|
this.uploadType = 0
|
|
; (this.formLine = {
|
|
classification: '',
|
|
uploadTime: '',
|
|
uploaderName: '',
|
|
uploaderId: ''
|
|
}),
|
|
(this.planId = val.planId)
|
|
this.uploadInformation = true
|
|
this.$nextTick(() => {
|
|
this.$refs['form'].clearValidate()
|
|
})
|
|
},
|
|
//上传附件确认
|
|
uploadFn() {
|
|
let fileName = this.fileList[0].name
|
|
let pos = fileName.lastIndexOf('.')
|
|
let includes = fileName.substring(pos, fileName.length)
|
|
/* console.log(includes)*/
|
|
let fileLastArr = ['.doc', '.docx', '.xls', '.xlsx', '.pdf', '.txt', '.zip', '.rar']
|
|
if (!fileLastArr.includes(includes)) {
|
|
this.$message.error('当前不支持该格式文件')
|
|
return false
|
|
}
|
|
|
|
|
|
this.$refs.form.validate(value => {
|
|
if (value == true) {
|
|
this.$confirm('是否确认上传附件?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
//console.log(this.fileList);
|
|
if (this.fileList.length == 0) {
|
|
this.$message({
|
|
type: 'warning',
|
|
message: '请选择一个文件上传!!!'
|
|
})
|
|
} else {
|
|
const formData = new FormData()
|
|
this.fileList.forEach(item => {
|
|
// console.log(item);
|
|
if (item.raw == '') {
|
|
} else {
|
|
formData.append('files', item.raw)
|
|
}
|
|
})
|
|
formData.append('planId', this.planId)
|
|
formData.append('type', this.uploadType)
|
|
formData.append('attachmentType', this.formLine.classification)
|
|
formData.append('uploadTime', this.formLine.uploadTime)
|
|
formData.append('uploaderName', this.formLine.uploaderName)
|
|
formData.append('uploaderId', this.formLine.uploaderId)
|
|
planUpload(formData).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
message: res.message,
|
|
type: 'success'
|
|
})
|
|
this.uploadInformation = false
|
|
this.$refs.upload.clearFiles()
|
|
this.fileList = []
|
|
if (this.tag == 1) {
|
|
this.onSubmit()
|
|
} else if (this.yag == 2) {
|
|
this.problemOnSubmit()
|
|
}
|
|
}
|
|
})
|
|
}
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消上传'
|
|
})
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//查看附件
|
|
lookFn(val) {
|
|
this.ids = []
|
|
this.uploadTitle = '查看附件'
|
|
this.fjtitle = '所属计划'
|
|
this.lookUpload = true
|
|
this.formLine.classification = ''
|
|
this.ids.push(val.planId)
|
|
this.uploadType = 0
|
|
this.lookOnsubmit()
|
|
},
|
|
//问题查看附件
|
|
problemUpload(val) {
|
|
this.ids = []
|
|
this.uploadTitle = '查看附件'
|
|
this.fjtitle = '问题简要描述'
|
|
this.lookUpload = true
|
|
this.formLine.classification = ''
|
|
this.ids.push(val.problemId)
|
|
this.uploadType = 1
|
|
this.lookOnsubmit()
|
|
},
|
|
lookOnsubmit() {
|
|
let form = {
|
|
attachmentType: this.formLine.classification,
|
|
ids: this.ids,
|
|
type: this.uploadType
|
|
}
|
|
list(form).then(res => {
|
|
this.uploadData = res.data
|
|
})
|
|
},
|
|
|
|
|
|
delFile() {
|
|
if (this.multipleSelection2.length == 0) {
|
|
this.$message({
|
|
type: 'warning',
|
|
message: '请选择一个文件删除!!!'
|
|
})
|
|
} else {
|
|
let uuid = this.multipleSelection2.map(item => item.uuid)
|
|
this.$confirm('是否确认删除附件?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
|
|
delFile(uuid).then(res => {
|
|
this.$message({
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.lookOnsubmit()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消删除'
|
|
})
|
|
})
|
|
}
|
|
},
|
|
|
|
//附件下载
|
|
downLoadFn(val, type) {
|
|
this.$confirm('是否确认附件下载?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let data = {
|
|
busId: val.busiId,
|
|
type: this.uploadType,
|
|
attachmentType: val.attachmentType
|
|
}
|
|
detail(data).then(res => {
|
|
let blob = new Blob([res], {
|
|
type: 'application/vnd.ms-excel'
|
|
})
|
|
const url = window.URL.createObjectURL(blob)
|
|
const link = document.createElement('a') // 创建a标签
|
|
link.href = url // link.download = "电压暂降事件分析报告"; // 设置下载的文件名
|
|
link.download = val.attachmentName // 设置下载的文件名
|
|
document.body.appendChild(link)
|
|
link.click() //执行下载
|
|
document.body.removeChild(link)
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消下载'
|
|
})
|
|
})
|
|
},
|
|
downLoad(val, type) {
|
|
this.$confirm('是否确认附件下载?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let data = {
|
|
busId: val.problemId,
|
|
type: 1,
|
|
attachmentType: val.attachmentType
|
|
}
|
|
detail(data).then(res => {
|
|
let blob = new Blob([res], {
|
|
type: 'application/vnd.ms-excel'
|
|
})
|
|
const url = window.URL.createObjectURL(blob)
|
|
const link = document.createElement('a') // 创建a标签
|
|
link.href = url // link.download = "电压暂降事件分析报告"; // 设置下载的文件名
|
|
if (type == '01') {
|
|
link.download = val.attachmentName // 设置下载的文件名
|
|
} else if (type == '02') {
|
|
link.download = val.attachmentNameTwo // 设置下载的文件名
|
|
}
|
|
document.body.appendChild(link)
|
|
link.click() //执行下载
|
|
document.body.removeChild(link)
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消下载'
|
|
})
|
|
})
|
|
},
|
|
handleChange(file, fileList) {
|
|
// console.log(file, fileList);
|
|
this.fileList = fileList
|
|
},
|
|
handleExceed(files, fileList) {
|
|
this.$message.warning(
|
|
`当前限制选择 1个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
|
|
} 个文件`
|
|
)
|
|
},
|
|
beforeRemove(file, fileList) {
|
|
// console.log(file,fileList);
|
|
this.fileList = []
|
|
},
|
|
|
|
//计划上送网公司
|
|
planPush() {
|
|
if (this.multipleSelection.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据上送网公司!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
let isUpload = []
|
|
this.multipleSelection.forEach(item => {
|
|
isUpload.push(item.isUploadHead)
|
|
})
|
|
// if(isUpload.includes(1) == true){
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '已上送,无需重复上送',
|
|
// });
|
|
// return
|
|
// }else{
|
|
this.$confirm('是否确认上送网公司?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let planIds = []
|
|
this.multipleSelection.forEach(item => {
|
|
planIds.push(item.planId)
|
|
})
|
|
|
|
pushPlan(planIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.data
|
|
})
|
|
}
|
|
this.onSubmit()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消上送'
|
|
})
|
|
})
|
|
// }
|
|
},
|
|
//取消计划上送网公司
|
|
cancelPlanPush() {
|
|
if (this.multipleSelection.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据取消上送网公司!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
let isUpload = []
|
|
this.multipleSelection.forEach(item => {
|
|
isUpload.push(item.isUploadHead)
|
|
})
|
|
// if(isUpload.includes(0) == true){
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '未上送,无法取消上送',
|
|
// });
|
|
// return
|
|
// }else if(isUpload.includes(2) == true){
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '已取消上送,无需重复取消上送',
|
|
// });
|
|
// return
|
|
// }else{
|
|
this.$confirm('是否确认取消上送网公司?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let planIds = []
|
|
this.multipleSelection.forEach(item => {
|
|
planIds.push(item.planId)
|
|
})
|
|
|
|
delPushPlan(planIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.data
|
|
})
|
|
}
|
|
this.onSubmit()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消上送'
|
|
})
|
|
})
|
|
// }
|
|
},
|
|
//问题上送网公司
|
|
problemPush() {
|
|
if (this.multipleSelection1.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据上送问题!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
let isUpload = []
|
|
this.multipleSelection1.forEach(item => {
|
|
isUpload.push(item.isUploadHead)
|
|
})
|
|
// if(isUpload.includes(1) == true){
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '已上送,无需重复上送',
|
|
// });
|
|
// return
|
|
// }else{
|
|
this.$confirm('是否确认上送网公司?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let planIds = []
|
|
this.multipleSelection1.forEach(item => {
|
|
planIds.push(item.problemId)
|
|
})
|
|
|
|
pushQuestion(planIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.data
|
|
})
|
|
}
|
|
this.onSubmit()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消上送'
|
|
})
|
|
})
|
|
// }
|
|
},
|
|
problemQuestionPush() {
|
|
if (this.multipleSelection1.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据上送问题整改措施!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
let isUpload = []
|
|
let time = []
|
|
let measure = []
|
|
this.multipleSelection1.forEach(item => {
|
|
isUpload.push(item.isUploadHead)
|
|
time.push(item.rectificationTime)
|
|
measure.push(item.rectificationMeasure)
|
|
})
|
|
// console.log(isUpload.includes(0));
|
|
// if(isUpload.includes(0) == true){
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '问题未上送,无法上送问题整改措施',
|
|
// });
|
|
// return
|
|
// }else{
|
|
// if(time.includes('') == true || measure.includes('') == true){
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '整改时间和整改措施不可为空',
|
|
// });
|
|
// return
|
|
// }else{
|
|
this.$confirm('是否确认上送问题整改措施?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let planIds = []
|
|
this.multipleSelection1.forEach(item => {
|
|
planIds.push(item.problemId)
|
|
})
|
|
|
|
pushQuestionUpdate(planIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
}
|
|
this.onSubmit()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消上送'
|
|
})
|
|
})
|
|
// }
|
|
// }
|
|
},
|
|
//计划附件上送
|
|
planAnnexPush() {
|
|
this.ids = []
|
|
if (this.multipleSelection.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据上送!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
this.uploadTitle = '附件上送'
|
|
this.fjtitle = '所属计划'
|
|
this.lookUpload = true
|
|
this.formLine.classification = ''
|
|
this.multipleSelection.forEach(item => {
|
|
this.ids.push(item.planId)
|
|
})
|
|
this.uploadType = 0
|
|
this.lookOnsubmit()
|
|
},
|
|
//问题附件上送
|
|
annexPush() {
|
|
this.ids = []
|
|
if (this.multipleSelection1.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据上送!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
this.uploadTitle = '附件上送'
|
|
this.fjtitle = '问题简要描述·'
|
|
this.lookUpload = true
|
|
this.formLine.classification = ''
|
|
this.multipleSelection1.forEach(item => {
|
|
this.ids.push(item.problemId)
|
|
})
|
|
this.uploadType = 1
|
|
this.lookOnsubmit()
|
|
},
|
|
//计划附件上送确认
|
|
isUploadFn() {
|
|
if (this.multipleSelection2.length == 0) {
|
|
this.$message({
|
|
showClose: true,
|
|
message: '请选择一条数据上送!!!',
|
|
type: 'warning'
|
|
})
|
|
return
|
|
}
|
|
this.$confirm('是否确认上送?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
let busIds = []
|
|
this.multipleSelection2.forEach(item => {
|
|
busIds.push(item.uuid)
|
|
})
|
|
|
|
pushFile(busIds).then(res => {
|
|
if ((res.code == 'A0000')) {
|
|
this.$message({
|
|
dangerouslyUseHTMLString: true,
|
|
type: 'success',
|
|
message: res.data
|
|
})
|
|
}
|
|
// this.lookUpload = false
|
|
this.lookOnsubmit()
|
|
this.multipleSelection2 = []
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消上送'
|
|
})
|
|
})
|
|
},
|
|
//附件上送
|
|
// annexPush(){
|
|
// if (this.multipleSelection1.length == 0) {
|
|
// this.$message({
|
|
// showClose: true,
|
|
// message: "请选择一条数据上送!!!",
|
|
// type: "warning",
|
|
// });
|
|
// return;
|
|
// }
|
|
// this.multipleSelection1.forEach(item=>{
|
|
// if(item.attachmentName != null){
|
|
// this.$confirm("是否确认上送?", "提示", {
|
|
// confirmButtonText: "确定",
|
|
// cancelButtonText: "取消",
|
|
// type: "warning",
|
|
// })
|
|
// .then(() => {
|
|
// let busIds = [];
|
|
// this.multipleSelection1.forEach((item) => {
|
|
// busIds.push(item.planId);
|
|
// });
|
|
|
|
// pushFile(busIds).then((res) => {
|
|
// if ((res.code = "A0000")) {
|
|
// this.$message({
|
|
// type: "success",
|
|
// message: res.message,
|
|
// });
|
|
// }
|
|
// this.onSubmit();
|
|
// });
|
|
// })
|
|
// .catch(() => {
|
|
// this.$message({
|
|
// type: "info",
|
|
// message: "已取消上送",
|
|
// });
|
|
// });
|
|
// }else{
|
|
// this.$message({
|
|
// type: "warning",
|
|
// message: '无附件上送',
|
|
// });
|
|
// }
|
|
// })
|
|
// },
|
|
//关闭弹窗
|
|
handleClose() {
|
|
this.addinformation = false
|
|
},
|
|
//关闭弹窗
|
|
capacitorClose() {
|
|
this.capacitorFlag = false
|
|
},
|
|
|
|
capacitorTableClose() {
|
|
this.capacitorTableFlag = false
|
|
},
|
|
|
|
|
|
capacitorDia() {
|
|
this.capacitorFlag = true
|
|
this.formCapacitor.relObjName = ''
|
|
this.formCapacitor.objId = ''
|
|
},
|
|
|
|
capacitorFlagDialog(row) {
|
|
this.formCapacitor = {
|
|
relObjName: '',
|
|
relObjType: '01',
|
|
planId: ''
|
|
}
|
|
this.capacitorTableFlag = true
|
|
this.formCapacitor.planId = row.planId
|
|
this.initCapacitorList(row.planId)
|
|
},
|
|
|
|
initCapacitorList(planId) {
|
|
let data = { planId: planId }
|
|
planRelList(data).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.capacitorTableData = res.data
|
|
}
|
|
})
|
|
},
|
|
|
|
lookUploadClose() {
|
|
this.lookUpload = false
|
|
if (this.uploadType == 0) {
|
|
this.onSubmit()
|
|
} else if (this.uploadType == 1) {
|
|
this.problemOnSubmit()
|
|
}
|
|
},
|
|
uploadClose() {
|
|
this.uploadInformation = false
|
|
this.$refs.upload.clearFiles()
|
|
this.fileList = []
|
|
if (this.uploadType == 0) {
|
|
this.onSubmit()
|
|
} else if (this.uploadType == 1) {
|
|
this.problemOnSubmit()
|
|
}
|
|
},
|
|
implementationClose() {
|
|
this.Implementation = false
|
|
this.onSubmit()
|
|
},
|
|
problemHandleClose() {
|
|
this.problemAddinformation = false
|
|
},
|
|
|
|
|
|
capacitorSubmit() {
|
|
|
|
this.$refs.formCapacitor.validate(value => {
|
|
// console.log(value);
|
|
if (value) {
|
|
this.$confirm('是否确认新增?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
.then(() => {
|
|
saveOrUpdatePlanRel(this.formCapacitor).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: res.message
|
|
})
|
|
this.capacitorFlag = false;
|
|
this.initCapacitorList(this.formCapacitor.planId)
|
|
|
|
}
|
|
|
|
})
|
|
})
|
|
.catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消新增'
|
|
})
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
|
|
capacitorDel(row) {
|
|
let ids = [row.objId]
|
|
delPlanRel(ids).then(res => {
|
|
if (res.code == 'A0000') {
|
|
this.$message({
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.initCapacitorList(this.formCapacitor.planId)
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
updateCapacitor(row) {
|
|
this.capacitorFlag = true
|
|
this.formCapacitor.objId = row.objId
|
|
this.formCapacitor.planId = row.planId
|
|
this.formCapacitor.relObjName = row.relObjName
|
|
this.formCapacitor.relObjType = row.relObjType
|
|
|
|
}
|
|
|
|
},
|
|
|
|
computed: {},
|
|
|
|
watch: {}
|
|
}
|
|
</script>
|
|
|
|
<style lang="less" scoped>
|
|
@import url('../../../styles/comStyle.less');
|
|
</style>
|
|
|
|
<style lang="scss" scoped>
|
|
.boxS {
|
|
width: 100%;
|
|
// display: flex !important;
|
|
|
|
// justify-content: space-between;
|
|
}
|
|
|
|
::v-deep .el-dialog .el-dialog__body {
|
|
max-height: 100vh;
|
|
min-height: 270px;
|
|
padding: 20px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
::v-deep .eduity {
|
|
.el-dialog {
|
|
height: 500px;
|
|
}
|
|
}
|
|
|
|
::v-deep .timeBox {
|
|
.el-date-editor.el-input {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
::v-deep .eduitybox {
|
|
.el-textarea__inner {
|
|
height: 160px;
|
|
}
|
|
}
|
|
|
|
::v-deep .form {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
|
|
.el-form-item {
|
|
display: flex;
|
|
width: 48%;
|
|
|
|
.el-form-item__content {
|
|
flex: 1 !important;
|
|
|
|
.el-select {
|
|
width: 100%;
|
|
}
|
|
|
|
.el-input__inner {
|
|
width: 100% !important;
|
|
}
|
|
|
|
.el-date-editor {
|
|
width: 100%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
::v-deep .box {
|
|
.el-input {
|
|
width: 150px;
|
|
}
|
|
}
|
|
|
|
.border {
|
|
// width: 97%;
|
|
// height: 200px;
|
|
padding: 10px;
|
|
margin: 10px;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.border1 {
|
|
// width: 97%;
|
|
// height: 200px;
|
|
padding: 10px;
|
|
margin: 30px 10px 10px 10px;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.border-title1 {
|
|
width: 150px;
|
|
height: 20px;
|
|
margin-top: -20px;
|
|
margin-left: 10px;
|
|
text-align: center;
|
|
background: white;
|
|
}
|
|
|
|
.border-title {
|
|
width: 100px;
|
|
height: 20px;
|
|
margin-top: -20px;
|
|
margin-left: 10px;
|
|
text-align: center;
|
|
background: white;
|
|
}
|
|
|
|
.container {
|
|
/* margin: auto; */
|
|
top: 0px;
|
|
right: 0;
|
|
width: 40%;
|
|
height: 0px;
|
|
z-index: 2000;
|
|
position: absolute;
|
|
background-color: #e4e7ebb9;
|
|
overflow: auto;
|
|
scroll-behavior: smooth;
|
|
-radius: 20px;
|
|
}
|
|
|
|
/* 隐藏滚动条 */
|
|
::-webkit-scrollbar {
|
|
display: block;
|
|
}
|
|
|
|
.expend {
|
|
animation: expend ease 5s forwards;
|
|
}
|
|
|
|
.close-container {
|
|
animation: no-expend ease 1s forwards;
|
|
}
|
|
|
|
@keyframes expend {
|
|
from {
|
|
top: 0px;
|
|
height: auto;
|
|
}
|
|
|
|
to {
|
|
height: auto;
|
|
top: 0px;
|
|
}
|
|
}
|
|
|
|
@keyframes no-expend {
|
|
from {
|
|
height: 20%;
|
|
top: 0px;
|
|
}
|
|
|
|
to {
|
|
top: 0px;
|
|
height: 0px;
|
|
}
|
|
}
|
|
|
|
.coles {
|
|
position: absolute;
|
|
right: 0;
|
|
font-size: 20px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
::v-deep.el-dropdown-menu {
|
|
padding: 10px 0;
|
|
}
|
|
</style>
|