Files
hb_pqs_web/src/views/Process-supervision/components/interferencemanagement/Undocumentednonlinear.vue
2025-03-21 08:58:54 +08:00

1252 lines
40 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div>
<el-form :inline="true" class="demo-form-inline form">
<el-form-item>
<Area @click="handleNodeClick" ref="area"></Area>
</el-form-item>
<el-form-item label="干扰源类型:" class="box1">
<el-select v-model="formData.loadType" clearable collapse-tags placeholder="请选择">
<el-option
v-for="item in interferenceType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="干扰源用户名称:">
<el-input v-model="formData.userName" clearable placeholder="请输入关键字"></el-input>
</el-form-item>
<el-form-item label="是否上传报告:" class="box">
<el-select v-model="upload" clearable placeholder="请选择">
<el-option
v-for="item in uploadData"
:key="item.id"
:label="item.label"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" class="ml10" icon="el-icon-search" @click="initQuery">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="Reset">重置</el-button>
</el-form-item>
</el-form>
<el-row>
<el-col :span="24">
<div class="mb10 fl">
<el-button type="primary" icon="el-icon-folder-add" @click="add">新增</el-button>
<el-button type="primary" icon="el-icon-upload" @click="sc">填报评估信息</el-button>
<el-button type="primary" icon="el-icon-folder-add" @click="submitAuditUser">提交审核</el-button>
</div>
<div class="mb10 fr">
<el-button type="primary" icon="el-icon-attract" @click="relationFn">关联</el-button>
<el-button type="primary" icon="el-icon-share" @click="dc">导出</el-button>
</div>
<el-table
stripe
:data="undocumentednonlinearData"
:height="height"
border
style="width: 100%"
v-loading="isLoading"
header-cell-class-name="table_header"
@selection-change="handleSelectionChange"
:cell-style="cellStyle"
ref="multipleTable"
>
<el-table-column type="selection" width="65"></el-table-column>
<el-table-column prop="orgName" label="所属单位" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="loadType" label="干扰源类型" :show-overflow-tooltip="true"></el-table-column>
<el-table-column
prop="userName"
label="干扰源用户名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column prop="recordTime" label="建档时间" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="iisFileUpload" label="是否上传报告" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.iisFileUpload == 0" type="primary" size="small"></span>
<span v-if="scope.row.iisFileUpload == 1" type="primary" size="small"></span>
</template>
</el-table-column>
<el-table-column prop="createByName" label="创建人" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="icheckPersonName" label="审核人" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="istatus" label="状态" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span
v-if="scope.row.istatus == 0"
type="primary"
size="small"
style="color: #da70d6"
>
新建
</span>
<span
v-else-if="scope.row.istatus == 1"
type="primary"
size="small"
style="color: #48d1cc"
>
待审核
</span>
<span
v-else-if="scope.row.istatus == 3"
type="primary"
size="small"
style="color: #dc143c; text-decoration: underline"
@click="failed = true"
>
未通过
</span>
<span
v-else-if="scope.row.istatus == 2"
type="primary"
size="small"
style="color: #9acd32"
>
通过
</span>
<span v-else type="primary" size="small">{{ scope.row.istatus }}</span>
</template>
</el-table-column>
<el-table-column prop="plandetails" label="详情">
<template slot-scope="scope">
<!-- <span type="primary" size="small" style="color:blue;text-decoration:underline" @click="userDetails=true">查看</span> -->
<el-button
v-if="scope.row.istatus != null"
@click="ck(scope.row)"
size="mini"
type="primary"
>
查看
</el-button>
<!-- <el-button
v-if="scope.row.istatus != null"
@click="ck(scope.row)"
size="mini"
type="primary"
>
编辑
</el-button>-->
<el-button
v-if="scope.row.istatus != null"
@click="deleteData(scope.row)"
size="mini"
type="primary"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
align="right"
class="mt10"
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
:page-sizes="[20, 30, 40, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</el-col>
</el-row>
<!-- 选择审核人 -->
<el-dialog :close-on-click-modal="false" title="选择审核人" :visible.sync="chooseAudit" width="25%">
<el-form label-width="80px">
<el-row :gutter="20">
<el-form-item label="审核人">
<el-select v-model="auditUser" placeholder="请选择" style="width: 90%;" clearable>
<el-option
v-for="item in auditUserList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row :gutter="20">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="auditSubmit">确认</el-button>
</el-form-item>
</el-row>
</el-form>
</el-dialog>
<!-- 未通过弹窗 -->
<el-dialog :close-on-click-modal="false" title="未通过审批意见查看" :visible.sync="failed" width="50%">
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">审核意见</el-divider>
<el-input type="textarea" :rows="7" placeholder="请输入内容" v-model="textarea"></el-input>
</el-dialog>
<!-- 新增 -->
<el-dialog :close-on-click-modal="false" title="未建档干扰用户新增" :visible.sync="userAdd" width="1400px">
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">基本信息</el-divider>
<el-form :inline="true" label-width="120px">
<el-form-item>
<Area @click="handleNodeClick" ref="area"></Area>
</el-form-item>
<el-form-item label="干扰源类型:">
<el-select v-model="addData.loadType" clearable collapse-tags placeholder="请选择">
<el-option
v-for="item in interferenceType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="干扰源用户名称:">
<el-input v-model="addData.userName" clearable placeholder="请输入关键字"></el-input>
</el-form-item>
<el-form-item label="建档时间:">
<!-- <el-date-picker
v-model.trim="addData.recordTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
>
</el-date-picker> -->
<el-date-picker
value-format="yyyy-MM-dd HH:mm:ss"
v-model="addData.recordTime"
type="datetime"
placeholder="选择日期时间"
></el-date-picker>
</el-form-item>
</el-form>
<div style="display: flex; justify-content: center; margin-top: 30px">
<el-button type="primary" class="ml20" @click="config">确定</el-button>
<el-button type="primary" class="ml20" @click="userAdd = false">取消</el-button>
</div>
</el-dialog>
<!-- 上传 -->
<el-dialog
:close-on-click-modal="false"
title="未建档干扰源用户入网报告结论填报"
:visible.sync="uploadConclusions"
width="1400px"
>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">基本信息</el-divider>
<el-form :inline="true">
<el-form-item label="所属单位:">
<el-input v-model="addData.orgNo" clearable placeholder="请输入" disabled></el-input>
</el-form-item>
<el-form-item label="干扰源类型:">
<el-select v-model="addData.loadType" clearable collapse-tags placeholder="请选择" disabled>
<el-option
v-for="item in interferenceType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="干扰源用户名称:">
<el-input v-model="addData.userName" clearable placeholder="请输入关键字" disabled></el-input>
</el-form-item>
<el-form-item label="建档时间:">
<!-- <el-date-picker
v-model.trim="addData.recordTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
>
</el-date-picker> -->
<el-date-picker
value-format="yyyy-MM-dd HH:mm:ss"
v-model="addData.recordTime"
disabled
type="datetime"
placeholder="选择日期时间"
></el-date-picker>
</el-form-item>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">
入网评估报告上传
</el-divider>
<el-form-item class="item" label="文件名称:">
<el-input v-model="documentName" clearable placeholder="请输入填报名称" disabled></el-input>
</el-form-item>
<el-form-item>
<!-- <upload/> -->
<el-upload
ref="upload"
class="upload-files"
action=""
:headers="headers"
name="file"
accept=".doc,.docx,.xls,.xlsx,.pdf,.txt"
multiple
:auto-upload="false"
:file-list="fileList"
:on-change="handleChange"
:limit="1"
:on-exceed="handleExceed"
>
<el-button slot="trigger" size="mini" icon="el-icon-upload" type="primary">上传本地评估报告</el-button>
</el-upload>
</el-form-item>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">
入网评估结论填报
</el-divider>
<el-row>
<el-form-item label="是否超标:" style="margin-top: 20px">
<el-radio v-model="radio" label="0"></el-radio>
<el-radio v-model="radio" label="1"></el-radio>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="超标指标:" style="margin-top: 20px">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange" :disabled="eventDis">
<el-checkbox v-for="(city, ind) in cities" :label="city.id" :key="ind">
{{ city.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-row>
<el-form-item label="计划采取措施:" style="margin-top: 20px">
<el-select v-model="measures" placeholder="请选择" :disabled="eventDis">
<el-option
v-for="item in takeMeasures"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<br/>
<el-form-item label="入网详情:" style="margin-top: 20px">
<el-input
v-model="rwxq"
placeholder="请输入入网详情"
type="textarea"
style="width: 500px"
></el-input>
</el-form-item>
</el-form>
<div style="display: flex; justify-content: center; margin-top: 30px">
<!-- <el-button type="primary" class="ml20" @click="tj">提交</el-button>-->
<el-button type="primary" class="ml20" @click="bc">保存</el-button>
<!-- <el-button type="primary" class="ml20" @click="uploadConclusions = false">取消</el-button>-->
</div>
</el-dialog>
<!-- 查看详情 -->
<el-dialog
:close-on-click-modal="false"
title="未建档干扰源用户详情"
:visible.sync="userDetails"
width="1500px"
>
<el-form :inline="true" style="padding: 10px">
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">基本信息</el-divider>
<el-form-item label="所属单位:">
<el-input v-model="addData.orgNo" clearable placeholder="请输入" disabled></el-input>
</el-form-item>
<el-form-item label="干扰源类型:">
<el-select v-model="addData.loadType" clearable collapse-tags placeholder="请选择" disabled>
<el-option
v-for="item in interferenceType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="干扰源用户名称:">
<el-input v-model="addData.userName" clearable placeholder="请输入关键字" disabled></el-input>
</el-form-item>
<el-form-item label="建档时间">
<!-- <el-date-picker
v-model.trim="addData.recordTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
>
</el-date-picker> -->
<el-date-picker
value-format="yyyy-MM-dd HH:mm:ss"
v-model="addData.recordTime"
disabled
type="datetime"
placeholder="选择日期时间"
></el-date-picker>
</el-form-item>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">
入网评估报告上传
</el-divider>
<el-form-item class="item" label="文件名称:">
<el-input v-model="documentName1" clearable placeholder="请输入填报名称" disabled></el-input>
</el-form-item>
<el-form-item>
<el-button size="small" type="primary" icon="el-icon-download" @click="xz">下载</el-button>
</el-form-item>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">
入网评估结论填报
</el-divider>
<el-row>
<el-form-item label="是否超标:" style="margin-top: 20px">
<el-radio v-model="radio" label="0" disabled></el-radio>
<el-radio v-model="radio" label="1" disabled></el-radio>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="超标指标:" style="margin-top: 20px">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange" disabled>
<el-checkbox :disabled="eventDis" v-for="(city, ind) in cities" :label="city.id" :key="ind">
{{ city.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-row>
<el-form-item label="计划采取措施:" style="margin-top: 20px">
<el-select v-model="measures" placeholder="请选择" disabled>
<el-option
v-for="item in takeMeasures"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<br/>
<el-form-item label="入网详情:" style="margin-top: 20px">
<el-input
v-model="rwxq"
placeholder="请输入入网详情"
type="textarea"
style="width: 500px"
disabled
></el-input>
</el-form-item>
</el-form>
<!-- <div style="display: flex; justify-content: center; margin-top: 30px">
<el-button type="primary" class="ml20" @click="userDetails = false">关闭</el-button>
</div>-->
</el-dialog>
<!-- 关联 -->
<el-dialog :close-on-click-modal="false" title="关联营销用户" :visible.sync="marketingUsers" width="70%">
<el-form :inline="true">
<el-form-item label="用户编号:">
<el-input v-model="userNumber" clearable placeholder="请输入关键字"></el-input>
</el-form-item>
<el-form-item label="用户类型:">
<el-select v-model="op" placeholder="请选择">
<el-option
v-for="item in op1"
:key="item.value"
:label="item.value"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" class="ml10" icon="el-icon-search" @click="opselect">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="ResetFn">重置</el-button>
</el-form-item>
</el-form>
<el-table
stripe
:data="undocumentednonlinearData1"
:height="height - 250"
border
class="mt10"
style="width: 100%"
v-loading="isLoading"
header-cell-class-name="table_header"
@selection-change="handleSelectionChange1"
ref="multipleTable1"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="id" label="用户编号" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="name" label="用户名称" :show-overflow-tooltip="true"></el-table-column>
</el-table>
<div style="display: flex; justify-content: center; margin-top: 30px">
<el-button type="primary" class="ml20" @click="gl">关联</el-button>
<el-button type="primary" class="ml20" @click="marketingUsers = false">取消</el-button>
</div>
</el-dialog>
<!-- 关联用户确认弹窗 -->
<!-- <el-dialog :close-on-click-modal="false"
title="关联确认"
:visible.sync="confirm"
width="30%"
>
<span :style="`color:${WordColor}`"
>关联营销用户后,该干扰源用户户将纳入常态化管理列表,是否确认关联</span
>
<div style="display: flex; justify-content: center; margin-top: 30px">
<el-button type="primary" class="ml20" @click="gl">关联</el-button>
<el-button type="primary" class="ml20" @click="confirm = false"
>取消</el-button
>
</div>
</el-dialog> -->
</div>
</template>
<script>
import Area from '@/views/components/Area/Area.vue'
import {dicData} from '@/assets/commjs/dictypeData'
import {
addLoadTypeUser,
getLoadTypeUserList,
getPowerClientList,
getPowerGenerationUserList,
linkUser,
uploadLoadTypeUserI,
getLoadTypeUserById,
exportLoadTypeUserList,
delLoadTypeUserPlan,
submitAuditUser
} from '@/api/Process-supervision/interferencemanagement/interferencemanagement'
import {getAuditUser} from '@/api/Process-supervision/tiaoHarmonicmanagement/harmonicmanagement'
export default {
components: {Area},
watch: {
// 此处监听variable变量当期有变化时执行
radio(item1, item2) {
// item1为新值item2为旧值
if (item1 === '1') {
console.log("未超标")
//未超标
this.checkedCities = []
this.measures = ''
this.eventDis = true
} else if (item1 === '0') {
console.log("超标")
this.eventDis = false
}
},
},
data() {
return {
checkedCities: [],
cities: [],
rwxq: '',
headers: {
Authorization: window.sessionStorage.getItem('cntoken')
},
undocumentednonlinearData1: [],
op: '发电用户',
op1: [
{
value: '发电用户'
},
{
value: '用电用户'
}
],
WordColor: JSON.parse(window.localStorage.echartsColor).WordColor,
url: '',
total: 0,
pageSize: 20,
pageNum: 1,
vh: '',
height: null,
isLoading: false,
failed: false,
chooseAudit:false,
auditUser:'',
userAdd: false,
uploadConclusions: false,
userDetails: false,
marketingUsers: false,
confirm: false,
checkList: ['0'],
radio: '0',
textarea: '评估入网报告缺少XX指标,请整改后提交。',
upload: '',
formData: {
loadType: '',
userName: ''
},
orgNo: JSON.parse(window.sessionStorage.getItem('Info')).deptId,
addData: {
orgNo: JSON.parse(window.sessionStorage.getItem('Info')).deptId,
loadType: '',
userName: '',
recordTime: ''
},
measures: '',
documentName: '',
documentName1: '',
userNumber: '',
//是否上传
uploadData: [
{
id: 1,
label: '是'
},
{
id: 0,
label: '否'
}
],
//干扰源类型
interferenceType: [],
//计划采取措施
takeMeasures: [],
undocumentednonlinearData: [],
multipleSelection: [],
loadTypeId:[],
multipleSelection1: [],
fileList: [],
fileList1: [],
device: '',
rwzt: [],
auditUserList:[],//审核人下拉
eventDis: false
}
},
created() {
this.rwzt = dicData('On-network_Status', [], 1)
this.cities = dicData('Steady_Statis', [])
this.takeMeasures = dicData('Plan_Take', [], 1)
this.takeMeasures.shift()
// console.log(
// this.rwzt,
// " console.log(this.rwzt) console.log(this.rwzt)"
// );
this.cities.shift()
this.interferenceType = dicData('Interference_Source', [], 0)
},
mounted() {
this.initQuery()
this.device = window.devicePixelRatio
this.setHeight()
window.addEventListener('resize', this.setHeight)
//获取审核人列表
this.getAuditUser()
},
beforeDestroy() {
window.removeEventListener('resize', this.setHeight)
},
methods: {
setHeight() {
this.height = window.sessionStorage.getItem('appheight') - 215
},
dc() {
if (this.multipleSelection.length == 0) {
this.$message({
message: '请选择一条数据',
type: 'warning'
})
} else {
let a = []
this.multipleSelection.forEach(res => {
a.push(res.id)
})
exportLoadTypeUserList(a).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 = '未建档干扰源用户管理信息.xls' // 设置下载的文件名
document.body.appendChild(link)
link.click() //执行下载
document.body.removeChild(link)
})
}
},
bc() {
//先校验
if(this.fileList.length == 0){
this.$message.warning(`请上传预测评估报告`);
return false;
}
if(this.radio == ''){
this.$message.warning(`请选择是否超标`);
return false;
}
if(this.radio == '0'){
if(this.checkedCities.length < 1){
this.$message.warning(`请选择超标指标`);
return false;
}
if(this.measures == '' || this.measures == null){
this.$message.warning(`计划采取措施不可为空`);
return false;
}
}
const formData = new FormData()
this.fileList.forEach(item => {
if (item.raw == '') {
} else {
formData.append('file', item.raw)
}
})
formData.append('status', '2')
formData.append('id', this.multipleSelection[0].id)
formData.append('IDescription', this.rwxq)
formData.append('iIsOverLimit', this.radio)
formData.append('IPlanStep', this.measures)
formData.append('IOverLimitTarget', this.checkedCities.toString())
uploadLoadTypeUserI(formData) //后端上传接口
.then(res => {
if (res.code == 'A0000') {
this.$message({
message: '保存成功!',
type: 'success'
})
this.uploadConclusions = false
this.initQuery()
}
})
.catch(err => {
// console.log(err);
})
},
xz() {
window.open(this.url)
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 1个文件本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
)
},
ck(val) {
getLoadTypeUserById({
id: val.id
}).then(res => {
this.url = res.data.ifile == null ? '' : res.data.ifile
this.addData.orgNo = val.orgName == null ? '' : val.orgName
this.addData.loadType = res.data.loadType == null ? '' : res.data.loadType
this.addData.userName = res.data.userName == null ? '' : res.data.userName
this.addData.recordTime = res.data.recordTime == null ? '' : res.data.recordTime
this.documentName1 = res.data.ifilePath == null ? '' : res.data.ifilePath
this.radio = res.data.iisOverLimit == null ? '' : res.data.iisOverLimit.toString()
this.checkedCities = res.data.ioverLimitTarget == null ? '' : res.data.ioverLimitTarget.split(',')
this.measures = res.data.iplanStep == null ? '' : res.data.iplanStep
this.rwxq = res.data.idescription == null ? '' : res.data.idescription
this.userDetails = true
})
},
//删除
deleteData(row) {
let data = [row.id]
this.$confirm("是否确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
delLoadTypeUserPlan(data).then(res => {
if (res.code == 'A0000') {
this.$message.success("删除成功");
this.initQuery()
}
})
});
},
tj() {
const formData = new FormData()
this.fileList.forEach(item => {
if (item.raw == '') {
} else {
formData.append('file', item.raw)
}
})
formData.append('status', '1')
formData.append('id', this.multipleSelection[0].id)
formData.append('IDescription', this.rwxq)
formData.append('iIsOverLimit', this.radio)
formData.append('IPlanStep', this.measures)
formData.append('IOverLimitTarget', this.checkedCities.toString())
uploadLoadTypeUserI(formData) //后端上传接口
.then(res => {
if (res.code == 'A0000') {
this.$message({
message: '提交成功!',
type: 'success'
})
this.uploadConclusions = false
this.initQuery()
}
})
.catch(err => {
// console.log(err);
})
},
sc() {
if (this.multipleSelection.length == 0) {
this.$message({
message: '请选择一条数据',
type: 'warning'
})
}
if (this.multipleSelection.length > 1) {
this.$message({
message: '只能选择一条数据',
type: 'warning'
})
} else {
this.fileList = []
getLoadTypeUserById({
id: this.multipleSelection[0].id
}).then(res => {
this.documentName = res.data.ifilePath == null ? '' : res.data.ifilePath
res.data.ifilePath == null
? ''
: this.fileList.push({
name: res.data.ifilePath,
url: res.data.ifile,
raw: ''
})
this.radio = res.data.iisOverLimit == null ? '' : res.data.iisOverLimit.toString()
this.checkedCities = res.data.ioverLimitTarget == null ? [] : res.data.ioverLimitTarget.split(',')
this.measures = res.data.iplanStep == null ? '' : res.data.iplanStep
this.rwxq = res.data.idescription == null ? '' : res.data.idescription
this.uploadConclusions = true
})
this.addData.orgNo = this.multipleSelection[0].orgName == null ? '' : this.multipleSelection[0].orgName
this.addData.loadType =
this.multipleSelection[0].loadType == null ? '' : this.multipleSelection[0].loadType
this.addData.userName =
this.multipleSelection[0].userName == null ? '' : this.multipleSelection[0].userName
this.addData.recordTime =
this.multipleSelection[0].recordTime == null ? '' : this.multipleSelection[0].recordTime
}
},
gl() {
if (this.multipleSelection1.length == 0) {
this.$message({
message: '请选择1条数据进行关联!',
type: 'warning'
})
} else {
this.$confirm('关联营销用户后,该干扰源用户户将纳入常态化管理列表,是否确认关联?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
linkUser({
relationUserName: this.multipleSelection1[0].name,
id: this.multipleSelection[0].id,
relationUserId: this.multipleSelection1[0].id,
userLoadType: this.op == '发电用户' ? '0' : '1'
}).then(res => {
if (res.code == 'A0000') {
this.$message({
message: '关联成功',
type: 'success'
})
this.initQuery()
}
})
this.marketingUsers = false
this.confirm = false
})
}
},
opselect(val) {
if (this.op == '发电用户') {
getPowerGenerationUserList({
orgId: this.multipleSelection[0].orgNo,
id: this.userNumber
}).then(res => {
this.undocumentednonlinearData1 = res.data
this.marketingUsers = true
})
} else {
getPowerClientList({
orgId: this.multipleSelection[0].orgNo,
id: this.userNumber
}).then(res => {
this.undocumentednonlinearData1 = res.data
this.marketingUsers = true
})
}
},
handleSizeChange(val) {
this.pageSize = val
this.initQuery()
},
handleCurrentChange(val) {
this.pageNum = val
this.initQuery()
},
config() {
this.userAdd = false
addLoadTypeUser({
...this.addData
}).then(res => {
if (res.code == 'A0000') {
this.$message({
message: '新增成功',
type: 'success'
})
this.initQuery()
}
})
},
add() {
this.userAdd = true
this.addData = {
orgNo: JSON.parse(window.sessionStorage.getItem('Info')).deptId,
loadType: this.interferenceType[0].id,
userName: '',
recordTime: ''
}
},
//上传本地评估报告
handleRemove(file, fileList) {
// console.log(file, fileList,'111111');
},
handleChange(file, fileList) {
// console.log(file, fileList);
this.fileList = fileList
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`)
},
//上传
handleRemove1(file, fileList1) {
// console.log(file, fileList,'111111');
},
handleChange1(file, fileList) {
// console.log(file, fileList);
this.fileList = fileList
},
handleExceed1(files, fileList1) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList1.length
} 个文件`
)
},
beforeRemove1(file, fileList1) {
return this.$confirm(`确定移除 ${file.name}?`)
},
//查询
initQuery() {
this.isLoading = true
getLoadTypeUserList({
loadType: this.formData.loadType,
orgNo: this.orgNo,
pageNum: this.pageNum,
pageSize: this.pageSize,
relationUserName: this.formData.userName,
userName: this.formData.userName,
fileUploadflag: this.upload
}).then(res => {
this.isLoading = false
res.data.records.forEach(i => {
this.interferenceType.forEach(o => {
if (i.loadType == o.id) {
i.loadType = o.name
}
})
})
this.undocumentednonlinearData = res.data.records
this.total = res.data.total
})
},
// 新增确定
// determineFn(){
// this.userAdd=false;
// },
// 新增取消
// cancelFn(){
// this.userAdd=false;
// },
//上传
// uploadFn(){
// this.uploadConclusions=true
// },
//关联
relationFn() {
if (this.multipleSelection.length == 0) {
this.$message({
message: '请选择一条数据',
type: 'warning'
})
} else if (this.multipleSelection.length > 1) {
this.$message({
message: '只能选择一条数据',
type: 'warning'
})
} else {
if (this.op == '发电用户') {
getPowerGenerationUserList({
orgId: this.multipleSelection[0].orgNo
}).then(res => {
this.marketingUsers = true
this.undocumentednonlinearData1 = res.data
})
}
}
},
// 切换选项
handleNodeClick(data) {
this.orgNo = data.id
},
toggleSelection(rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable.toggleRowSelection(row)
})
} else {
this.$refs.multipleTable.clearSelection()
}
},
toggleSelection1(rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable1.toggleRowSelection(row)
})
} else {
this.$refs.multipleTable1.clearSelection()
}
},
//勾选
handleSelectionChange(val) {
this.multipleSelection = val
// console.log(
// this.multipleSelection,
// "this.multipleSelectionthis.multipleSelection"
// );
},
selectAll() {
this.$refs.multipleTable.clearSelection()
},
handleSelectionChange1(val) {
// console.log(val, "valll");
if (val.length > 1) {
this.toggleSelection1([val[0]])
this.multipleSelection1 = val
} else {
this.multipleSelection1 = val
}
},
//重置
Reset() {
this.$refs.area.form.valueTitle = JSON.parse(window.sessionStorage.getItem('Info')).deptName
this.orgNo = JSON.parse(window.sessionStorage.getItem('Info')).deptId
this.upload = ''
this.formData.loadType = this.interferenceType[0].id
this.formData.userName = ''
this.pageSize = 20
this.pageNum = 1
},
ResetFn() {
this.userNumber = ''
},
//判断颜色
cellStyle(row) {
// if(row.row.upload==1){
// // if(row.columnIndex==6 ){
// row.row.status='--'
// // }else if(row.columnIndex==7){
// row.row.plandetails='--'
// // }
// }
if (row.columnIndex == 6) {
if (row.row.upload == 1) {
row.row.status = '--'
}
}
if (row.columnIndex == 7) {
if (row.row.upload == 1) {
row.row.plandetails = '--'
}
}
},
handleCheckedCitiesChange(value) {
// console.log(value, "value");
// console.log(this.checkedCities, "this.checkedCities");
},
// 提交审核
submitAuditUser() {
if (this.multipleSelection.length === 0) {
this.$message({
message: '请选择至少一条提交审核',
type: 'warning'
})
return false;
}
//需要保证当前用户只能操作自己建的计划
this.loadTypeId = []
let flag = true
let flagFile = true
this.multipleSelection.forEach(item => {
if (item.istatus == 0 || item.istatus == 2) {
this.loadTypeId.push(item.id)
} else {
flag = false
}
if (item.iisFileUpload !== 1) {
flagFile = false
}
})
if (!flagFile) {
this.$message({
message: '请选择已经上传评估报告的条目进行提交审核',
type: 'warning'
})
return false;
}
if (flag && flagFile) {
this.chooseAudit = true;
} else {
this.$message({
message: '请选择新建、未通过的计划进行审核!',
type: 'warning'
})
}
},
//确认发起审核
auditSubmit() {
if (!this.auditUser || this.auditUser === '') {
this.$message({
message: '请选择审核人!',
type: 'warning'
})
return false;
}
let data = {ids: this.loadTypeId, checkPerson: this.auditUser}
submitAuditUser(data).then(res => {
if (res && res.code == 'A0000') {
this.$message({
message: '提交成功!',
type: 'success'
})
this.chooseAudit = false
this.initQuery()
}
})
},
//获取审核人列表
getAuditUser() {
let param = {roleType: 1}
getAuditUser(param).then(res => {
if (res && res.code === 'A0000') {
this.auditUserList = res.data
}
})
},
}
}
</script>
<style lang="less" scoped>
@import url('../../../../styles/comStyle.less');
::v-deep .el-table .cell {
text-align: center;
}
::v-deep .el-tabs--border-card > .el-tabs__content {
padding: 10px;
}
::v-deep .form {
.el-form-item {
margin-bottom: 5px;
}
}
::v-deep .el-form-item {
margin-bottom: 15px;
}
.button {
float: right;
margin-right: 5px;
}
::v-deep .el-dialog {
display: flex;
flex-direction: column;
margin: 0 !important;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/*height:600px;*/
max-height: calc(100% - 200px);
max-width: calc(100% - 30px);
}
::v-deep .el-dialog .el-dialog__body {
flex: 1;
overflow: auto;
}
</style>