Browse Source

物联一张图的设备列表,打开设备;联建负责人的名称改为手填

dongming
duanliangtao 9 months ago
parent
commit
84b16c104d
  1. BIN
      src/assets/images/overview/resources010.png
  2. BIN
      src/assets/images/overview/resources010_bak.png
  3. 94
      src/views/dataBoard/IoTPerception/equipmentList/index.vue
  4. 2
      src/views/dataBoard/IoTPerception/equipmentWarning/index.vue
  5. BIN
      src/views/dataBoard/IoTPerception/image/lixian.png
  6. 28
      src/views/dataBoard/IoTPerception/index.vue
  7. 188
      src/views/dataBoard/IoTPerception/more/equipmentListMore.vue
  8. 7
      src/views/dataBoard/IoTPerception/more/warning.vue
  9. 6
      src/views/dataBoard/cpts/sjkb-map/index.vue
  10. 18
      src/views/modules/communityParty/regionalParty/unitsForm.vue

BIN
src/assets/images/overview/resources010.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
src/assets/images/overview/resources010_bak.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

94
src/views/dataBoard/IoTPerception/equipmentList/index.vue

@ -26,56 +26,20 @@
<table class="table" border="0" cellspacing="0" cellpadding="0">
<col :align="item.align" :width="item.width" :key="'col' + index" v-for="(item, index) in colList" />
<tbody class="table-body" style="width: 1886px;">
<tr class="table-body-tr" v-for="(value, index) in list" :key="index"
>
<td class="td" v-for="(item, indexs) in value" :key="indexs">
<div v-if="
typeof item === 'string' ||
typeof item === 'number'
" :title="item">
{{ item }}
</div>
<div v-if="
typeof item === 'object' ||
typeof item.type === 'object'
" :title="item.name" :class="item.class">
{{ item.name }}
</div>
<div v-if="
typeof item === 'object' &&
item.type === 'img'
">
<!-- <span>{{ item.type+ item.src}}</span> -->
<img style="width: 18px; height: 18px" :src="item.src" alt="" />
</div>
<div v-if="
typeof item === 'object' &&
item &&
item.type == 'index'
">
<img v-if="highlightTop3 && index == 0" src="@/assets/img/shuju/top/1.png" alt="" />
<img v-else-if="highlightTop3 && index == 1" src="@/assets/img/shuju/top/2.png"
alt="" />
<img v-else-if="highlightTop3 && index == 2" src="@/assets/img/shuju/top/3.png"
alt="" />
<span v-else>{{ index + 1 }}</span>
</div>
<a v-else-if="
typeof item === 'object' &&
item &&
item.type == 'operate'
" fixed v-for="btn in item.list" :key="'operate' + index + btn"
@click.stop="handleClickBtn(index, btn)">{{ btn }}</a>
<a v-else-if="
typeof item === 'object' &&
item &&
item.type == 'people'
" @click="handleClickPeople(item)">{{ item.name }}</a>
</td>
<td class="table-header-th" style="color: #007FF1;">
查看
</td>
</tr>
<tr class="table-body-tr" v-for="(item, index) in list" :key="index" >
<td class="td">
<div>{{ item.name }}</div>
</td>
<td class="td">
<div>{{ item.date }}</div>
</td>
<td class="td">
<div>{{ item.address }}</div>
</td>
<td class="table-header-th" style="color: #007FF1;">
<div @click="handleClickDevice(item)">查看</div> </td>
</tr>
</tbody>
<!-- </div> -->
</table></el-scrollbar>
@ -132,7 +96,29 @@ import titleSmall from "@/views/dataBoard/satisfactionEval/components/Title/titl
"操作",
],
list: [],
equipmentListType: [],
equipmentListType: [
{
label: "智能监控",
},
{
label: "智能灯杆",
},
{
label: "智能手环",
},
{
label: "智能垃圾桶",
},
{
label: "智能井盖",
},
{
label: "智能消防栓",
},
{
label: "直饮水机",
},
],
equipmentType: '',
orgId: this.$store.state.chooseArea.chooseName,
report: "",
@ -411,6 +397,12 @@ import titleSmall from "@/views/dataBoard/satisfactionEval/components/Title/titl
},
handleClickDevice(item){
console.log("-----------------------handleClickDevice----------------------------------")
console.log(item);
this.$emit('openDeviceDetail', item)
},
},
};
</script>

2
src/views/dataBoard/IoTPerception/equipmentWarning/index.vue

@ -193,7 +193,7 @@ import titleSmall from "@/views/dataBoard/satisfactionEval/components/Title/titl
async getList(){
let {data,code} = await requestPost('/actual/base/equipmentInspectRecord/page',{agencyId:this.$store.state.user.agencyId})
if(code === 0){
this.list = data.list.map(item=>({date:item.inspectTime,baoxiu:item.inspectName,type:item.status,address:'东明社区160号',inspectCode:item.inspectCode?item.inspectCode:'',id:item.id}))
this.list = data.list.map(item=>({date:item.inspectTime,baoxiu:item.inspectName,type:item.status,address:item.address,inspectCode:item.inspectCode?item.inspectCode:'',id:item.id}))
}
},
close(){this.showInfo=false},

BIN
src/views/dataBoard/IoTPerception/image/lixian.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

28
src/views/dataBoard/IoTPerception/index.vue

@ -21,7 +21,7 @@
更多 <i class="el-icon-arrow-right"></i></div>
</Title>
<!-- <RequirementList :currentLevelData="currentLevelData"/> -->
<equipmentList :currentLevelData="currentLevelData" />
<equipmentList :currentLevelData="currentLevelData" @openDeviceDetail="openDeviceDetail"/>
</div>
</div>
<div class="g-center">
@ -46,7 +46,7 @@
</div>
<div class="legend-list">
<div class="legend-item ">
<img style="width: 25px;" src="@/assets/images/overview/resources010_bak.png">
<img style="width: 25px;" src="@/assets/images/overview/resources010.png">
智能监控
</div>
<div class="legend-item ">
@ -107,7 +107,7 @@
<cpt-loading v-show="false" />
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData" />
<more :showDialog="showDialog" :type="type" @close="close"></more>
<equipmentListMore :showequipmentListMore="showequipmentListMore" @close="close1"></equipmentListMore>
<equipmentListMore :showequipmentListMore="showequipmentListMore" @close="close1" @openDeviceDetail="openDeviceDetail"></equipmentListMore>
</div>
</template>
<script>
@ -478,11 +478,22 @@
if (dataClass === 10) {
console.log("点击摄像头");
console.log(data);
this.$refs.jdjs.videoPlay(data.monitorCode)
this.$refs.jdjs.videoPlay(data.equipmentNum)
}else{
this.$refs.MapResourceInfo.open(data.id, data.dataClass)
}
},
openDeviceDetail(data){
console.log("--------------------openDeviceDetail---------------------------------");
this.$refs.jdjs.videoPlay(data.date)
// if (dataClass === 10) {
// this.$refs.jdjs.videoPlay(data.date)
// }else{
// console.log("");
// }
},
search(data) {
data = data.filter(item => item.latitude && item.longitude)
data = data.map(item => {
@ -495,19 +506,22 @@
this.$refs.map.setResourcesPoint(data)
},
setResourcesPoint({agencyId}) {
let params = {
agencyId:this.$store.state.user.agencyId
};
//
this.$http.get('/actual/base/videoMonitoring/page').then(res => {
// this.$http.get('/actual/base/dataBoard/resource/search?keyword=&agencyId=' + agencyId).then(res => {
this.$http.post('/actual/base/equipment/page',params).then(res => {
let data = res.data.data.list;
data = data.filter(item => item.latitude && item.longitude)
data = data.map(item => {
return {
...item,
dataClass: 10,
dataClass: parseInt(item.typeCode),
latitude: item.latitude * 1,
longitude: item.longitude * 1
}
})
console.log(data);
this.$refs.map.setResourcesPoint(data)
})
},

188
src/views/dataBoard/IoTPerception/more/equipmentListMore.vue

@ -13,7 +13,7 @@
</el-option>
</el-select>
<el-input style="margin-left: 5px;" v-model="equipmentName" placeholder="设备名称"></el-input>
<el-input style="margin-left: 5px;" v-model="equipmentAdress" placeholder="设备位置"></el-input>
<!-- <el-input style="margin-left: 5px;" v-model="equipmentAdress" placeholder="设备位置"></el-input> -->
<el-button style="background-color: #1a95ff; color: #00153E; ;">
</el-button>
</div>
@ -31,56 +31,20 @@
<table class="table" border="0" cellspacing="0" cellpadding="0">
<col :align="item.align" :width="item.width" :key="'col' + index" v-for="(item, index) in colList" />
<tbody v-if="!loading" class="table-body" style="width: 1886px;">
<tr class="table-body-tr" v-for="(value, index) in list" :key="index"
@click="handleClickRow(index)">
<td class="td" v-for="(item, indexs) in value" :key="indexs">
<div v-if="
typeof item === 'string' ||
typeof item === 'number'
" :title="item">
{{ item }}
</div>
<div v-if="
typeof item === 'object' ||
typeof item.type === 'object'
" :title="item.name" :class="item.class">
{{ item.name }}
</div>
<div v-if="
typeof item === 'object' &&
item.type === 'img'
">
<!-- <span>{{ item.type+ item.src}}</span> -->
<img style="width: 18px; height: 18px" :src="item.src" alt="" />
</div>
<div v-if="
typeof item === 'object' &&
item &&
item.type == 'index'
">
<img v-if="highlightTop3 && index == 0" src="@/assets/img/shuju/top/1.png" alt="" />
<img v-else-if="highlightTop3 && index == 1" src="@/assets/img/shuju/top/2.png"
alt="" />
<img v-else-if="highlightTop3 && index == 2" src="@/assets/img/shuju/top/3.png"
alt="" />
<span v-else>{{ index + 1 }}</span>
</div>
<a v-else-if="
typeof item === 'object' &&
item &&
item.type == 'operate'
" fixed v-for="btn in item.list" :key="'operate' + index + btn"
@click.stop="handleClickBtn(index, btn)">{{ btn }}</a>
<a v-else-if="
typeof item === 'object' &&
item &&
item.type == 'people'
" @click="handleClickPeople(item)">{{ item.name }}</a>
</td>
<tr class="table-body-tr" v-for="(item, index) in list" :key="index" >
<td class="td">
<div>{{ item.name }}</div>
</td>
<td class="td">
<div>{{ item.date }}</div>
</td>
<td class="td">
<div>{{ item.address }}</div>
</td>
<td class="table-header-th" style="color: #007FF1;">
查看
</td>
</tr>
<div @click="handleClickDevice(item)">查看</div> </td>
</tr>
</tbody>
<!-- </div> -->
</table></el-scrollbar>
@ -142,102 +106,28 @@ export default {
"设备位置",
"操作",
],
list: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
},{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
list: [],
equipmentListType: [{
value: '10',
label: '智能监控'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
value: '11',
label: '智能灯杆'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
value: '12',
label: '智能手环'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
value: '13',
label: '智能垃圾桶'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
value: '14',
label: '智能井盖'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
value: '15',
label: '智能消防栓'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}],
equipmentListType: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
value: '16',
label: '直饮水机'
}],
equipmentType: '',
bubbleList: [
@ -402,6 +292,7 @@ export default {
created() {
console.log('showDialog:', this.equipmentListMore); // showDialog
console.log('type:', this.type); // type
this.getData();
this.bubbleList.forEach((i, index) => {
this.$set(
@ -430,6 +321,23 @@ export default {
// handelClickNavigator(navigator) {
// this.$emit('handelClickNavigator', navigator)
// }
async getData() {
let params = {
agencyId:this.$store.state.user.agencyId
};
let {data,code} = await requestPost("/actual/base/equipment/page",params)
if(code === 0){
this.list = data.list.map(item=>({name:item.typeName,date:item.equipmentNum,address:item.address}))
console.log(this.list);
}
},
handleClickDevice(item){
console.log(item);
this.handleClose();
this.$emit('openDeviceDetail', item)
},
},
mounted() {
console.log('showDialog:', this.showDialog); // showDialog

7
src/views/dataBoard/IoTPerception/more/warning.vue

@ -18,7 +18,9 @@
<div style=" width: 50%;">
<h2 style="color: #fff; width: 50%;">实时画面</h2>
<div class="video-right">
<img style="width:100%;height: 120px;" :src="warnItem.imgUrl?warnItem.imgUrl:require('../image/jiedaotu.jpg')" />
<!-- <img style="width:100%;" :src="warnItem.imgUrl?warnItem.imgUrl:require('../image/monitor.png')" /> -->
<img style="width:100%;" src=" https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet-saas/dongming/20241129/b2f5b0a8cbbc4c609d8c6db008d50a55.png" />
<div class="prism-big-play-btn" @click="videoPlay(warnItem.inspectCode)">
<div class="outter"></div>
</div>
@ -176,6 +178,7 @@ export default {
isAssigned: false,
isCompleted: false,
showVideoDialog:false,
monitorCode:"",
};
},
computed: {},
@ -627,7 +630,7 @@ section {
top: 50%;
width: 32px;
height: 32px;
background: url("../image/vidio.png") no-repeat;
background: url("../image/lixian.png") no-repeat;
background-size: contain;
cursor: pointer;
.outter {

6
src/views/dataBoard/cpts/sjkb-map/index.vue

@ -944,6 +944,11 @@ export default {
scene.addImage('resources05', require('@/assets/images/overview/resources05.png'));
scene.addImage('resources010', require('@/assets/images/overview/resources010.png'));
scene.addImage('resources011', require('@/assets/images/overview/resources011.png'));
scene.addImage('resources012', require('@/assets/images/overview/resources012.png'));
scene.addImage('resources013', require('@/assets/images/overview/resources013.png'));
scene.addImage('resources014', require('@/assets/images/overview/resources014.png'));
scene.addImage('resources015', require('@/assets/images/overview/resources015.png'));
}
ResourcesPoint = new PointLayer({
@ -963,6 +968,7 @@ export default {
.size(18);
scene.addLayer(ResourcesPoint);
ResourcesPoint.on("click", (e) => {
console.log(e)
this.$emit('resourcesPointClick', e.feature)
})

18
src/views/modules/communityParty/regionalParty/unitsForm.vue

@ -76,14 +76,22 @@
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<el-form-item label="联系人" prop="principalId">
<el-select v-model.trim="formData.principalId" class="u-item-width-normal" size="small" clearable
<el-form-item label="联系人" prop="contact"
label-width="150px"
style="display: block">
<!-- <el-select v-model.trim="formData.principalId" class="u-item-width-normal" size="small" clearable
placeholder="请选择联系人" @change="handelChangeStaff">
<el-option v-for="item in dicts.stafflist"
:key="item.value"
:label="item.name"
:value="item.staffId"></el-option>
</el-select>
</el-select> -->
<el-input
class="item_width_1"
placeholder="请输入联系人姓名"
v-model.trim="formData.contact"
>
</el-input>
</el-form-item>
<el-form-item
label="联系电话"
@ -200,7 +208,7 @@ export default {
unitName: "",
serviceMatterList: [],
type: "",
principalId: "",
contact: "",
contactMobile: "",
memberCount: 0,
remark: "", //500
@ -545,7 +553,7 @@ export default {
],
type: [{ required: true, message: "分类不能为空", trigger: "blur" }],
principalId: [
contact: [
{ required: true, message: "联系人不能为空", trigger: "blur" },
],
contactMobile: [

Loading…
Cancel
Save