Files
hb_pqs_web/src/views/Process-supervision/components/interferencemanagement/Undocumentednonlinear.vue

1252 lines
40 KiB
Vue
Raw Normal View History

2025-01-09 19:02:44 +08:00
<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: 3}
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>