commit c2c2b1739bed0cf47aa2f3bae6c035704d47a121
Author: 严妍 <3096114695@qq.com>
Date: Thu Jul 6 21:47:47 2023 +0800
fix: 验收汇总73个BUG以及优化点修改
532 lines
16 KiB
Vue
532 lines
16 KiB
Vue
<template>
|
||
<div class="fullHeight">
|
||
<div class="searchBox whiteBlock">
|
||
<el-button type="warning" size="medium" plain @click="refresh">{{
|
||
$t('message.alarmValueSet.refresh')
|
||
}}</el-button>
|
||
<el-button type="primary" size="medium" @click="add">{{
|
||
$t('message.alarmValueSet.add')
|
||
}}</el-button>
|
||
<!-- <span class="downloadBtn primaryText" @click="downloadFn">对接协议下载</span> -->
|
||
</div>
|
||
<div class="table_wrap whiteBlock">
|
||
<el-table class="tables" :data="List">
|
||
<el-table-column
|
||
width="200"
|
||
prop="ammeterName"
|
||
align="center"
|
||
:label="$t('message.alarmValueSet.deviceName')"
|
||
></el-table-column>
|
||
|
||
<!-- 电表号 -->
|
||
<el-table-column
|
||
prop="ammeterNo"
|
||
:label="$t('message.alarmValueSet.meterNumber')"
|
||
align="center"
|
||
></el-table-column>
|
||
<el-table-column
|
||
prop="online"
|
||
:label="$t('message.alarmValueSet.isClosed')"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">{{
|
||
$t('message.deviceManage.isClosedArr')[scope.row.online] || '离线'
|
||
}}</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="ammeterPosition"
|
||
:label="$t('message.alarmValueSet.address')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- <el-table-column prop="realTime" width="200"
|
||
:label="$t('message.alarmValueSet.createTime')"
|
||
align="center"></el-table-column> -->
|
||
<el-table-column
|
||
:label="$t('message.alarmValueSet.operation')"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">
|
||
<div class="tableBtns">
|
||
<div @click="edit(scope.row)" class="operationText">
|
||
<img
|
||
src="@/assets/images/icon-edit.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>{{ $t('message.alarmValueSet.edit') }}</span>
|
||
</div>
|
||
<div @click="deleteDev(scope.row)" class="operationText">
|
||
<img
|
||
src="@/assets/images/icon-delete.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>{{ $t('message.alarmValueSet.delete') }}</span>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
<el-dialog
|
||
@close="close"
|
||
:modal-append-to-body="false"
|
||
:title="$t('message.alarmValueSet.Popup_title')[Popup.type]"
|
||
:visible.sync="Popup.show"
|
||
width="667px"
|
||
>
|
||
<div class="dialog_content">
|
||
<el-form
|
||
v-show="Popup.type === 'add' || Popup.type === 'edit'"
|
||
size="medium"
|
||
ref="addEditForm"
|
||
:model="addEditForm"
|
||
:rules="addEditRules"
|
||
label-width="120px"
|
||
class="dialogFormBox"
|
||
>
|
||
<!-- 电表号 -->
|
||
<el-form-item
|
||
:label="$t('message.alarmValueSet.meterNumber')"
|
||
prop="ammeterNo"
|
||
>
|
||
<el-input
|
||
v-model="addEditForm.ammeterNo"
|
||
:disabled="Popup.type === 'edit'"
|
||
:placeholder="$t('message.alarmValueSet.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<!-- <el-form-item :label="'电表模组号'" prop="ammeterModuleNo">
|
||
<el-input v-model="addEditForm.ammeterModuleNo" :disabled="Popup.type === 'edit'"
|
||
:placeholder="$t('message.alarmValueSet.placeholder')"></el-input>
|
||
</el-form-item> -->
|
||
<el-form-item
|
||
:label="$t('message.alarmValueSet.dialog_edit.isEnable')"
|
||
prop="online"
|
||
>
|
||
<el-radio-group v-model="addEditForm.online">
|
||
<el-radio :label="1">{{
|
||
$t('message.alarmValueSet.dialog_edit.isEnableArr')[0]
|
||
}}</el-radio>
|
||
<el-radio :label="0">{{
|
||
$t('message.alarmValueSet.dialog_edit.isEnableArr')[1]
|
||
}}</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>
|
||
<el-form-item
|
||
:label="$t('message.alarmValueSet.dialog_edit.name')"
|
||
prop="ammeterName"
|
||
>
|
||
<el-input
|
||
v-model="addEditForm.ammeterName"
|
||
:placeholder="$t('message.alarmValueSet.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item
|
||
:label="$t('message.alarmValueSet.dialog_edit.address')"
|
||
>
|
||
<el-input
|
||
v-model="addEditForm.ammeterPosition"
|
||
:placeholder="$t('message.alarmValueSet.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.alarmValueSet.dialog_edit.lng')">
|
||
<el-input v-model="addEditForm.lng" disabled>
|
||
<template slot="append">
|
||
<el-link type="primary" @click="showMap = true">{{
|
||
$t(
|
||
'message.companyDiagram.dialog_ProjectPop_up.coordinatePicking'
|
||
)
|
||
}}</el-link>
|
||
</template>
|
||
</el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.alarmValueSet.dialog_edit.lat')">
|
||
<el-input v-model="addEditForm.lat" disabled></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.alarmValueSet.dialog_edit.pusher')">
|
||
<el-select
|
||
v-model="addEditForm.alarmPushWorkerId"
|
||
multiple
|
||
:placeholder="$t('message.alarmValueSet.placeholder_select')"
|
||
>
|
||
<el-option
|
||
v-for="item in options"
|
||
:key="item.workerId"
|
||
:label="item.workerName"
|
||
:value="item.workerId"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<div class="dialog-footer">
|
||
<el-button
|
||
class="cancleBtn"
|
||
@click="Popup.show = false"
|
||
icon="el-icon-circle-close"
|
||
size="medium"
|
||
>{{ $t('message.alarmValueSet.cancel') }}
|
||
</el-button>
|
||
<el-button
|
||
type="primary"
|
||
icon="el-icon-circle-check"
|
||
@click="submit"
|
||
size="medium"
|
||
>{{ $t('message.alarmValueSet.save') }}
|
||
</el-button>
|
||
</div>
|
||
</el-form>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 配置供应商类型 -->
|
||
<el-dialog
|
||
:modal-append-to-body="false"
|
||
:title="$t('message.videoManage.dialog_video_config.title')"
|
||
:visible.sync="configDialog"
|
||
width="667px"
|
||
:close-on-click-modal="false"
|
||
:show-close="false"
|
||
>
|
||
<div class="dialog_content">
|
||
<!-- <p>{{$t('message.videoManage.dialog_video_config.content')}}</p> -->
|
||
<p>
|
||
<!-- 请选择供应商 -->
|
||
{{ $t('message.alarmValueSet.pleaseSelectSupplier') }}
|
||
</p>
|
||
<el-radio-group v-model="supplierId" class="videoTypeGroup">
|
||
<el-radio
|
||
:label="item.id"
|
||
v-for="(item, index) in supplyList"
|
||
:key="index"
|
||
>{{ item.supplierName }}</el-radio
|
||
>
|
||
</el-radio-group>
|
||
<p style="opacity: 0.5; font-size: 13px">
|
||
<!-- 注:选择后不可更改 -->
|
||
{{ $t('message.alarmValueSet.notes') }}
|
||
</p>
|
||
<!-- <p style="opacity: 0.5;font-size: 13px;">{{$t('message.videoManage.dialog_video_config.tips')}}</p> -->
|
||
<div class="dialog-footer">
|
||
<el-button
|
||
type="primary"
|
||
icon="el-icon-circle-check"
|
||
@click="saveSupply"
|
||
size="medium"
|
||
>{{ $t('message.companyDiagram.determine') }}
|
||
</el-button>
|
||
</div>
|
||
</div>
|
||
</el-dialog>
|
||
<!--高德地图-->
|
||
<gd-map
|
||
v-if="showMap"
|
||
:addProjectForm="addProjectForm"
|
||
@closeMap="closeMap"
|
||
@save="getLngLat"
|
||
></gd-map>
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import {
|
||
addwaterMeterApi,
|
||
editwaterMeterApi,
|
||
deletewaterMeterApi,
|
||
getwaterMeterListApi,
|
||
selelctProjectMeterSupplierApi,
|
||
addOrUpdateProjectMeterSupplierApi,
|
||
selelctSupplierListApi
|
||
} from '@/assets/js/api/electricDevManage'
|
||
import { getProjectChilderSystemUserListApi } from '@/assets/js/api/configManage'
|
||
import gdMap from '@/components/map/gd-map'
|
||
export default {
|
||
components: {
|
||
gdMap
|
||
},
|
||
mounted() {
|
||
this.selelctProjectMeterSupplier()
|
||
},
|
||
data() {
|
||
return {
|
||
showMap: false,
|
||
props: {
|
||
multiple: true
|
||
},
|
||
addEditRules: {
|
||
ammeterNo: [
|
||
{
|
||
required: true,
|
||
message: this.$t('message.personnelPosition.mandatory'),
|
||
trigger: 'blur'
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t('message.personnelPosition.mandatory'),
|
||
trigger: 'change'
|
||
}
|
||
],
|
||
ammeterName: [
|
||
{
|
||
required: true,
|
||
message: this.$t('message.personnelPosition.mandatory'),
|
||
trigger: 'blur'
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t('message.personnelPosition.mandatory'),
|
||
trigger: 'change'
|
||
}
|
||
]
|
||
},
|
||
options: [
|
||
/*{realName: "曾祥万", value: 1},
|
||
{realName: "李先生", value: 2},*/
|
||
],
|
||
addEditForm: {
|
||
isEnable: 0
|
||
},
|
||
List: [
|
||
/*{
|
||
deviceId: "124578",
|
||
deviceName: "扬尘监测1",
|
||
isClosed: 2,
|
||
address: "22",
|
||
createTime: "2019-05-05 16:55:46",
|
||
}*/
|
||
],
|
||
Popup: {
|
||
type: 'add',
|
||
show: false
|
||
},
|
||
supplyList: [],
|
||
supplyDetail: null,
|
||
configDialog: false,
|
||
supplierId: '',
|
||
addProjectForm: {
|
||
placeCode: '',
|
||
areaCode: '',
|
||
buildingNum: '',
|
||
bulidStatus: '',
|
||
cityCode: '',
|
||
companySn: '',
|
||
constructionStage: '',
|
||
engineeringPurpose: '',
|
||
households: '',
|
||
latitude: '',
|
||
layoutImage: '',
|
||
longitude: '',
|
||
projectAcreage: '',
|
||
projectAddress: '',
|
||
projectName: '',
|
||
projectNumber: '',
|
||
projectType: '',
|
||
provincesCode: '',
|
||
saleAcreage: '',
|
||
startWorkDate: '',
|
||
structureType: '',
|
||
projectManage: '',
|
||
projectTel: '',
|
||
majorProjectType: 0
|
||
}
|
||
}
|
||
},
|
||
methods: {
|
||
closeMap(val) {
|
||
this.showMap = val
|
||
},
|
||
getLngLat(v) {
|
||
this.showMap = false
|
||
this.addEditForm.lng = v.lng
|
||
this.addEditForm.lat = v.lat
|
||
console.log('查看经纬度', v)
|
||
},
|
||
//查询项目电表电表供应商
|
||
selelctProjectMeterSupplier() {
|
||
selelctProjectMeterSupplierApi({
|
||
meterType: 1,
|
||
projectSn: this.$store.state.projectSn
|
||
}).then((result) => {
|
||
this.supplyDetail = result.result
|
||
if (this.supplyDetail) {
|
||
this.getList()
|
||
this.getLaborManagementList()
|
||
} else {
|
||
this.getSupplyList()
|
||
this.configDialog = true
|
||
}
|
||
})
|
||
},
|
||
//获取供应商列表
|
||
getSupplyList() {
|
||
selelctSupplierListApi().then((result) => {
|
||
this.supplyList = result.result
|
||
})
|
||
},
|
||
//保存项目供应商
|
||
saveSupply() {
|
||
if (this.supplierId == '') {
|
||
this.$message.error(
|
||
this.$t('message.alarmValueSet.pleaseSelectSupplier')
|
||
) // 请选择供应商
|
||
return
|
||
}
|
||
var json = {
|
||
meterType: 1,
|
||
projectSn: this.$store.state.projectSn,
|
||
supplierId: this.supplierId
|
||
}
|
||
addOrUpdateProjectMeterSupplierApi(json).then((result) => {
|
||
this.configDialog = false
|
||
this.selelctProjectMeterSupplier()
|
||
})
|
||
},
|
||
downloadFn() {
|
||
// 环境对接协议
|
||
window.open(
|
||
'/doc/' + this.$t('message.alarmValueSet.envDockingProtocol') + '.zip'
|
||
)
|
||
},
|
||
handle(type, show) {
|
||
//打开弹窗前的统一处理
|
||
this.Popup = {
|
||
type: type,
|
||
show: show
|
||
}
|
||
},
|
||
Change() {},
|
||
add() {
|
||
this.handle('add', true)
|
||
},
|
||
edit(obj) {
|
||
console.log('编辑', obj)
|
||
this.addEditForm = JSON.parse(JSON.stringify(obj))
|
||
if (
|
||
typeof obj.alarmPushWorkerId === 'string' &&
|
||
obj.alarmPushWorkerId != ''
|
||
) {
|
||
this.addEditForm.alarmPushWorkerId = obj.alarmPushWorkerId.split(',')
|
||
}
|
||
this.handle('edit', true)
|
||
},
|
||
deleteDev(obj) {
|
||
console.log('删除', obj)
|
||
this.$confirm(
|
||
this.$t('message.personnelPosition.beaconManage.table.confirmText') +
|
||
'【' +
|
||
obj.ammeterName +
|
||
'】?',
|
||
this.$t('message.personnelPosition.beaconManage.table.Tips'),
|
||
{
|
||
confirmButtonText: this.$t(
|
||
'message.personnelPosition.confirmButtonText'
|
||
),
|
||
cancelButtonText: this.$t(
|
||
'message.personnelPosition.cancelButtonText'
|
||
),
|
||
type: 'warning'
|
||
}
|
||
)
|
||
.then(() => {
|
||
deletewaterMeterApi({ id: obj.id }).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message)
|
||
this.getList()
|
||
}
|
||
})
|
||
})
|
||
.catch(() => {})
|
||
},
|
||
submit() {
|
||
this.$refs.addEditForm.validate((valid) => {
|
||
if (valid) {
|
||
let params = JSON.parse(JSON.stringify(this.addEditForm))
|
||
if (
|
||
this.addEditForm.alarmPushWorkerId &&
|
||
this.addEditForm.alarmPushWorkerId.length > 0
|
||
) {
|
||
params.alarmPushWorkerId =
|
||
this.addEditForm.alarmPushWorkerId.join(',')
|
||
} else {
|
||
params.alarmPushWorkerId = ''
|
||
}
|
||
|
||
params.projectSn = this.$store.state.projectSn
|
||
if (this.Popup.type === 'add') {
|
||
addwaterMeterApi(params).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message)
|
||
this.getList()
|
||
}
|
||
})
|
||
} else if (this.Popup.type === 'edit') {
|
||
console.log('编辑信息', this.addEditForm)
|
||
editwaterMeterApi(params).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message)
|
||
this.getList()
|
||
}
|
||
})
|
||
}
|
||
this.Popup.show = false
|
||
} else {
|
||
return false
|
||
}
|
||
})
|
||
},
|
||
refresh() {
|
||
this.getList()
|
||
},
|
||
getList() {
|
||
getwaterMeterListApi({ projectSn: this.$store.state.projectSn }).then(
|
||
(result) => {
|
||
if (result.success) {
|
||
this.List = result.result
|
||
console.log('列表', result)
|
||
}
|
||
}
|
||
)
|
||
},
|
||
close() {
|
||
this.addEditForm = {
|
||
isEnable: 0
|
||
}
|
||
this.$nextTick(() => {
|
||
this.$refs.addEditForm.clearValidate()
|
||
})
|
||
},
|
||
getLaborManagementList() {
|
||
getProjectChilderSystemUserListApi({
|
||
projectSn: this.$store.state.projectSn
|
||
}).then((result) => {
|
||
if (result.success) {
|
||
console.log('劳务人员', result)
|
||
this.options = result.result
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style lang="less">
|
||
.tableBtns {
|
||
display: flex;
|
||
justify-content: center;
|
||
}
|
||
|
||
.yj-dialogFormBox {
|
||
width: 462px;
|
||
}
|
||
.searchBox {
|
||
position: relative;
|
||
}
|
||
.downloadBtn {
|
||
position: absolute;
|
||
right: 20px;
|
||
top: 30px;
|
||
text-decoration: underline;
|
||
cursor: pointer;
|
||
}
|
||
.videoTypeGroup {
|
||
margin: 20px 0;
|
||
}
|
||
</style>
|