Browse Source

物联感知部分的页面调整,包括报警详情,设备点位等。

dongming
duanliangtao 10 months ago
parent
commit
a96ec7deb9
  1. BIN
      src/assets/images/overview/resources010.png
  2. BIN
      src/assets/images/overview/resources010_bak.png
  3. BIN
      src/assets/images/overview/resources011.png
  4. BIN
      src/assets/images/overview/resources011_bak.png
  5. BIN
      src/assets/images/overview/resources012.png
  6. BIN
      src/assets/images/overview/resources013.png
  7. BIN
      src/assets/images/overview/resources014.png
  8. BIN
      src/assets/images/overview/resources015.png
  9. BIN
      src/assets/images/overview/resources016.png
  10. 84
      src/views/dataBoard/IoTPerception/equipmentWarning/index.vue
  11. 122
      src/views/dataBoard/IoTPerception/index.vue
  12. 563
      src/views/dataBoard/IoTPerception/more/warning.vue
  13. 2
      src/views/dataBoard/cpts/sjkb-map/index.vue
  14. 2
      src/views/modules/base/facilities/add.vue
  15. 2
      src/views/modules/base/facilities/info.vue
  16. 2
      src/views/modules/base/orgUnitManger/add.vue
  17. 2
      src/views/modules/base/orgUnitManger/info.vue
  18. 2
      src/views/modules/base/vehicleManger/add.vue
  19. 13
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue
  20. 4
      vue.config.js

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

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

@ -16,51 +16,37 @@
<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>
<!-- <tr class="table-body-tr">
<td class="td">
报警时间
</td>
<td class="td">
报警类型
</td>
<td class="td">
报警状态
</td>
<td class="td">
设备位置
</td>
<td class="td">
操作</td>
</tr> -->
<tr class="table-body-tr" v-for="(item, index) in list" :key="index" >
<td class="td">
<div>{{ item.date }}</div>
</td>
<td class="td">
<div>{{ item.baoxiu }}</div>
</td>
<td class="td">
<div>{{ item.type }}</div>
</td>
<td class="td">
<div>{{ item.address }}</div>
</td>
<td class="table-header-th" style="color: #007FF1;">
<div @click="getWaring()">查看</div> </td>
<div @click="getWaring(item)">查看</div> </td>
</tr>
</tbody>
@ -87,7 +73,7 @@
<video src="../image/123.mp4" />
<video src="../image/123.mp4" /> -->
</div>
<warning :showInfo="showInfo" @close="close"></warning>
<warning :showInfo="showInfo" :warnItem="warnItem" @close="close" @handleCancle="showInfo = false"></warning>
</div>
</template>
<script>
@ -175,6 +161,7 @@ import titleSmall from "@/views/dataBoard/satisfactionEval/components/Title/titl
endTime:"",
startTime:"",
showInfo:false,
warnItem:{},
};
},
watch: {
@ -206,17 +193,18 @@ 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号'}))
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}))
}
},
close(){this.showInfo=false},
getWaring(){
console.log("sdklfgkls");
getWaring(item){
this.warnItem = item;
this.showInfo=true
console.log(this.showInfo,"salkfa");
},
getReport({ orgId, orgLevel }) {
this.$http
.get(

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

@ -8,7 +8,7 @@
<div class="more" @click="getMore('Video')" >
更多 <i class="el-icon-arrow-right"></i></div>
</Title>
<jdjs :currentLevelData="currentLevelData"></jdjs>
<jdjs ref="jdjs" :currentLevelData="currentLevelData"></jdjs>
</div>
<div class="m-box1">
<title-box text="设备数量统计" />
@ -37,7 +37,7 @@
</div>
</div>
</div>
<div class="map-legend" style="z-index: 100;">
<div class="map-legend" style="z-index: 10;">
<img :class="isShow ? '' : 'close'" alt="" class="map-right-icon"
src="@/assets/images/renfang/map-right-open.png" @click="isShow = !isShow">
<div v-if="isShow" style="width: 134px;color: #ffff;">
@ -46,16 +46,32 @@
</div>
<div class="legend-list">
<div class="legend-item ">
未完成需求
<img style="width: 25px;" src="@/assets/images/overview/resources010_bak.png">
智能监控
</div>
<div class="legend-item ">
难解决问题
<img style="width: 25px;" src="@/assets/images/overview/resources011.png">
智能灯杆
</div>
<div class="legend-item ">
可调配资源
<img style="width: 25px;" src="@/assets/images/overview/resources012.png">
智能手环
</div>
<div class="legend-item ">
不满意问题
<img style="width: 25px;" src="@/assets/images/overview/resources013.png">
智能垃圾桶
</div>
<div class="legend-item ">
<img style="width: 25px;" src="@/assets/images/overview/resources014.png">
智能井盖
</div>
<div class="legend-item ">
<img style="width: 25px;" src="@/assets/images/overview/resources015.png">
智能消防栓
</div>
<div class="legend-item ">
<img style="width: 25px;" src="@/assets/images/overview/resources016.png">
直饮水机
</div>
</div>
</div>
@ -83,6 +99,7 @@
:srcGridData="orgData"
@clickAgency="clickAgencyItem"
@clickDotBtn="handleClickDotBtn"
@resourcesPointClick="resourcesPointClick"
/>
</div>
@ -94,7 +111,8 @@
</div>
</template>
<script>
import gridMap from "@/views/dataBoard/cpts/map/index";
// import gridMap from "@/views/dataBoard/cpts/map/index";
import gridMap from "@/views/dataBoard/cpts/sjkb-map/index";
import cptBread from "@/views/dataBoard/renfang/cpts/bread";
import cptLoading from "@/views/dataBoard/cpts/loading";
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
@ -171,7 +189,7 @@
}, //
showMap: false,
orgId: "",
isShow:false,
isShow:true,
orgLevel: "",
currentLevel: "",//level
currentLevelData: {
@ -451,14 +469,19 @@
this.currentLevel = this.orgData.agencyLevel;
this.peopleType = this.currentLevel === "grid" ? "unit" : "staffAgency";
this.$refs.map.removeResourcesPoint();
if (this.currentLevel !== 'street') {
this.setResourcesPoint({agencyId: this.orgId})
}
this.getMapCount()
this.setResourcesPoint({agencyId: this.orgId})
});
},
resourcesPointClick(data) {
this.$refs.MapResourceInfo.open(data.id, data.dataClass)
let dataClass = data.dataClass;
if (dataClass === 10) {
console.log("点击摄像头");
console.log(data);
this.$refs.jdjs.videoPlay(data.monitorCode)
}else{
this.$refs.MapResourceInfo.open(data.id, data.dataClass)
}
},
search(data) {
data = data.filter(item => item.latitude && item.longitude)
@ -472,12 +495,15 @@
this.$refs.map.setResourcesPoint(data)
},
setResourcesPoint({agencyId}) {
this.$http.get('/actual/base/dataBoard/resource/search?keyword=&agencyId=' + agencyId).then(res => {
let data = res.data.data;
//
this.$http.get('/actual/base/videoMonitoring/page').then(res => {
// this.$http.get('/actual/base/dataBoard/resource/search?keyword=&agencyId=' + agencyId).then(res => {
let data = res.data.data.list;
data = data.filter(item => item.latitude && item.longitude)
data = data.map(item => {
return {
...item,
dataClass: 10,
latitude: item.latitude * 1,
longitude: item.longitude * 1
}
@ -485,69 +511,7 @@
this.$refs.map.setResourcesPoint(data)
})
},
getMapCount() {
this.$http.get('/governance/icEvent/statOrgResourceAndEventCount?agencyId=' + this.orgId).then(res => {
let countData = res.data.data
let orgDataids = this.orgData.children.map(item => item.id)
countData.forEach(item => {
let orgDataIndex = orgDataids.indexOf(item.agencyId)
if (orgDataIndex > -1) {
let curOrgData = this.orgData.children[orgDataIndex];
item.data = item.data.map(item2 => {
return {
...curOrgData,
...item2,
agencyId: item.agencyId
}
})
item.data.forEach(item3 => {
let coordinates = spliceIntoChunks(item3.coordinates.split(",").map((coordinatesItem) => parseFloat(coordinatesItem)), 2)
let coordinates2 = coordinates.map(item4 => {
return [{
lat: item4[1],
lng: item4[0]
}]
})
let centerLngLat = this.getCenterPoint(coordinates2)
if (item3.hasOwnProperty("services")) {
item3.type = 'services'
item3.num = item3.services;
item3.offsets = [50, 50];
item3.latitude = centerLngLat.lat
item3.longitude = centerLngLat.lng
}
if (item3.hasOwnProperty("resources")) {
item3.type = 'resources'
item3.num = item3.resources;
item3.offsets = [-50, 50];
item3.latitude = centerLngLat.lat + 0.002
item3.longitude = centerLngLat.lng
}
if (item3.hasOwnProperty("problems")) {
item3.type = 'problems'
item3.num = item3.problems;
item3.offsets = [50, -50];
item3.latitude = centerLngLat.lat
item3.longitude = centerLngLat.lng + .002
}
if (item3.hasOwnProperty("events")) {
item3.type = 'events'
item3.num = item3.events;
item3.offsets = [-50, -50];
item3.latitude = centerLngLat.lat + .002
item3.longitude = centerLngLat.lng + .002
}
item3.latitude = parseFloat(item3.lat)
item3.longitude = parseFloat(item3.lon)
})
}
})
this.$refs.map.setNumpoint(countData)
})
},
//
async getSubMapData() {
@ -699,7 +663,7 @@
line-height: 42px;
overflow: hidden;
height: 42px;
padding-left: 24px;
// padding-left: 24px;
text-overflow: ellipsis;
border-bottom: 1px solid;
border-image: linear-gradient(to right, #000 0%, #4eafd5 50%, #000 100%);

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

@ -7,29 +7,94 @@
<div style=" width: 50%;">
<h2 style="color: #fff; width: 50%;">告警详情</h2>
<div style="display: flex; flex-direction: column; margin: 0 10px 10px 40px; color: #3884d1;">
<span style=" margin: 0 0 10px 0 ;">设备类型视频监控 </span>
<span style=" margin: 0 0 10px 0 ">设备名称视频监控 </span>
<span style=" margin: 0 0 10px 0 ">设备编号:</span>
<span style=" margin: 0 0 10px 0 ">报警时间视频监控</span>
<span style=" margin: 0 0 10px 0 ">报警状态视频监控 </span>
<span style=" margin: 0 0 10px 0 ">安装位置视频监控 </span>
<span style=" margin: 0 0 10px 0 ;">设备类型{{ warnItem.baoxiu }} </span>
<span style=" margin: 0 0 10px 0 ">设备名称智能摄像头</span>
<span style=" margin: 0 0 10px 0 ">设备编号: {{ warnItem.id }}</span>
<span style=" margin: 0 0 10px 0 ">报警时间{{ warnItem.date }}</span>
<span style=" margin: 0 0 10px 0 ">报警状态{{ warnItem.type }} </span>
<span style=" margin: 0 0 10px 0 ">安装位置{{ warnItem.address }} </span>
</div>
</div>
<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')" />
<div class="prism-big-play-btn" @click="videoPlay(warnItem.inspectCode)">
<div class="outter"></div>
</div>
</div>
</div>
</div>
<div>
<h2 style="color: #fff;">处理</h2>
<div style="display: flex; flex-direction: column; margin: 0 10px 10px 40px; color: #3884d1;">
<div style=" margin: 0 0 10px 0 ;"><span>处理方式</span>
<el-checkbox v-model="checked" style=" color: #3884d1;" class="round-checkbox">指派</el-checkbox>
<el-checkbox v-model="checked" class="round-checkbox">完成</el-checkbox>
<el-checkbox
v-model="isAssigned"
style="color: #3884d1;"
class="round-checkbox"
@change="handleCheck('assign')"
>
指派
</el-checkbox>
<el-checkbox
v-model="isCompleted"
class="round-checkbox"
@change="handleCheck('complete')"
>
完成
</el-checkbox>
</div>
<div style=" margin: 0 0 10px 0 "><span>处理部门</span>
<el-cascader
ref="agencyIdArray"
v-model.trim="agencyIdArray"
:options="orgOptions"
:props="orgOptionProps"
:show-all-levels="false"
class="select"
popper-class="selectPopClass"
@change="handleChangeAgency"
/>
</div>
<div style=" margin: 0 0 10px 0 "><span>转办意见</span>
</div>
<div style=" margin: 0 0 10px 0 ">
<el-input
v-model.trim="form.content"
:autosize="{ minRows: 5, maxRows: 10}"
style="width: 50%;"
maxlength="500"
placeholder="请输入转办意见"
type="textarea"/>
</div>
<span style=" margin: 0 0 10px 0 ">处理部门视频监控 </span>
<span style=" margin: 0 0 10px 0 ">转办意见:</span>
<span style=" margin: 0 0 10px 0 ">图片/附件视频监控</span>
<div style=" margin: 0 0 10px 0 "><span>图片/附件</span>
<el-upload
:action="uploadUlr"
:before-upload="beforeUpload"
:file-list="fileList"
:headers="$getElUploadHeaders()"
:limit="3"
:on-preview="handleFileDownload"
:on-remove="handleFileRemove"
:on-success="handleFileSuccess"
accept=".doc,.pdf,.xls,.docx,.xlsx,.jpg,.png,.jpeg,.bmp,.mp4,.wma,.m4a,.mp3"
>
<el-button :disabled="fileList.length === 3" size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持图片wordpdf</div>
</el-upload>
</div>
<!-- 按钮居中显示 -->
<div style="display: flex; flex-direction: row; justify-content: center;">
<el-button size="small" style="width: 100px;" type="primary" @click="handleCancle">处理告警</el-button>
</div>
</div>
</div>
@ -38,22 +103,29 @@
</el-dialog>
<video-dialog :showDialog="showVideoDialog" :monitorCode="monitorCode" @close="close"></video-dialog>
</div>
</template>
<script>
import {requestPost} from "@/js/dai/request";
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import videoDialog from "../Videosurveillance/cpts/videoDialog.vue"
export default {
name: "moreDialog",
components: {
Title,
videoDialog
},
props: {
showInfo: {
type: Boolean,
default: false
},
warnItem: {
type: Object,
default: () => {}
},
},
data() {
return {
@ -76,267 +148,38 @@ export default {
},
],
header: [
"设备类型",
"设备编号",
"设备位置",
"操作",
],
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 弄'
}, {
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 弄'
}],
equipmentListType: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
equipmentType: '',
bubbleList: [
{
w: 8,
x: 10
},
{
w: 9,
x: 50
},
{
w: 4,
x: 30
},
{
w: 5,
x: 80
},
{
w: 4,
x: 30
},
{
w: 4,
x: 70
},
{
w: 6,
x: 20
},
{
w: 8,
x: 50
},
{
w: 4,
x: 60
},
{
w: 6,
x: 65
}
],
// list: [
// {
// title: '',
// children: [
// {
// label: '',
// navigator: ''
// },
// {
// label: '',
// navigator: ''
// },
// {
// label: '',
// navigator: 'shequzhili-Delivery-index'
// }, {
// label: '',
// navigator: 'communityParty-comPromotion-index'
// }, {
// label: '',
// navigator: 'volunteer-activityArchive-index'
// }
// ]
// },
// {
// title: '',
// children: [
// {
// label: '',
// navigator: 'base-community-community'
// },
// {
// label: '',
// navigator: 'base-resi'
// },
// {
// label: '',
// navigator: 'base-classification'
// }, {
// label: '',
// navigator: 'base-huji-immigration-index'
// }, {
// label: '',
// navigator: 'plugins-change-changerelocation'
// },
// {
// label: '',
// navigator: 'plugins-change-changedeath'
// },
// {
// label: '',
// navigator: 'base-virtualResi'
// },
// {
// label: '',
// navigator: 'base-smartImport'
// }
// ]
// },
// {
// title:'',
// children:[
// {
// label: '',
// navigator: 'communityParty-partyOrg-orgTree'
// },{
// label: '',
// navigator: 'communityParty-members-memberList'
// },{
// label: '',
// navigator: 'communityParty-regionalParty-units'
// },{
// label: '',
// navigator: 'communityParty-regionalParty-activitys'
// },{
// label: '',
// navigator: 'communityParty-comPromotion-index'
// },{
// label: '',
// navigator: 'communityParty-activity-index'
// }
// ]
// }
// ],
agencyIdArray: [],
orgOptions: [],
orgOptionProps: {
multiple: false,
value: 'agencyId',
label: 'agencyName',
children: 'subAgencyList',
checkStrictly: true
},
loading: false,
loading1: false,
user: this.$store.state.user
user: this.$store.state.user,
form: {
operationType: "5", //[0: 5 6]
content: "",//
timeLimit: "",//
categoryId: "",//
deptId: "", //
deptName: "",
categoryList: [],
files: [] //
},
fileList: [],
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
isAssigned: false,
isCompleted: false,
showVideoDialog:false,
};
},
computed: {},
watch: {
showInfo: {
handler(val) {
if (val) {
this.bubbleList.forEach((i, index) => {
this.$set(
i,
'c',
this.forArrayValue(
[
'rgba(255,255,255,0.2)',
'rgba(255,255,255,0.4)',
'rgba(255,255,255,0.6)'
],
index
)
)
})
console.log(this.bubbleList);
} else {
}
},
immediate: true,
},
},
created() {
@ -370,8 +213,128 @@ export default {
// handelClickNavigator(navigator) {
// this.$emit('handelClickNavigator', navigator)
// }
handleChangeAgency(val) {
let obj = this.$refs["agencyIdArray"].getCheckedNodes()[0].data
if (obj) {
this.form.orgType = obj.level === 'grid' ? 'grid' : 'agency'
this.form.deptId = obj.agencyId
this.form.deptName = obj.agencyName
} else {
this.form.orgType = ''
this.form.orgId = ''
}
},
close(){
this.showVideoDialog = false;
},
//
async getOrgTreeList() {
const url = "/gov/org/customeragency/agencygridtree"
let params = {
agencyId: this.agencyId,
purpose: "query"
}
const {data, code, msg} = await requestPost(url, params)
if (code === 0) {
this.orgOptions = []
this.orgOptions.push(data)
} else {
this.$message.error(msg)
}
},
beforeUpload(file) {
const array = file.name.split(".");
const extension = array[array.length - 1];
const formatarray = [
"jpg",
"png",
"jpeg",
"bmp",
"mp4",
"wma",
"m4a",
"mp3",
"doc",
"docx",
"xls",
"xlsx",
"pdf",
];
if (formatarray.indexOf(extension) === -1) {
this.$message.error("只支持图片、word、pdf");
return false;
}
},
handleFileRemove(file) {
if (file && file.status === "success") {
this.fileList.splice(
this.fileList.findIndex((item) => item.uid === file.uid),
1
);
}
},
handleFileSuccess(res, file) {
if (res.code === 0 && res.msg === "success") {
const array = file.name.split(".");
const fileType = array[array.length - 1];
const picArray = ["jpg", "png", "jpeg", "bmp"];
const videoarray = ["mp4", "wma", "m4a"];
const docArray = ["doc", "docx", "xls", "xlsx", "pdf"];
const mp3Array = ["mp3"];
if (picArray.indexOf(fileType) > -1) {
file.attachmentFormat = "image";
} else if (videoarray.indexOf(fileType) > -1) {
file.attachmentFormat = "video";
} else if (docArray.indexOf(fileType) > -1) {
file.attachmentFormat = "doc";
} else if (mp3Array.indexOf(fileType) > -1) {
file.attachmentFormat = "voice";
}
file.url = res.data.url;
file.type = fileType;
file.attachmentName = file.name;
file.attachmentType = file.type;
file.attachmentUrl = file.url;
this.fileList.push(file);
} else this.$message.error(res.msg);
},
//
handleFileDownload(file) {
var a = document.createElement("a");
var event = new MouseEvent("click");
a.download = file.name;
a.target = '_blank';
a.href = file.url;
a.dispatchEvent(event);
},
handleCancle () {
this.$message.success("操作成功");
this.$emit('handleCancle')
},
handleCheck(type) {
if (type === 'assign') {
this.isCompleted = !this.isAssigned;
} else if (type === 'complete') {
this.isAssigned = !this.isCompleted;
}
},
videoPlay(code) {
this.showVideoDialog = true;
this.monitorCode = code
},
},
mounted() {
this.getOrgTreeList();
console.log('showDialog:', this.showDialog); // showDialog
console.log('type:', this.type); // type
}
@ -651,4 +614,66 @@ section {
transform: scale(1);
}
}
.video-right {
position: relative;
background: #000;
width: 50%;
.prism-big-play-btn {
position: absolute;
transform: translate(-50%, -50%);
left: 50%;
top: 50%;
width: 32px;
height: 32px;
background: url("../image/vidio.png") no-repeat;
background-size: contain;
cursor: pointer;
.outter {
border: 7px solid rgba(255, 255, 255, 0.51);
width: 32px;
height: 32px;
border-radius: 100%;
position: absolute;
box-sizing: border-box;
top: 0;
left: 0;
}
.outter:hover {
content: "";
width: 80px;
height: 80px;
position: absolute;
left: 25%;
top: 50%;
margin-left: -40px;
margin-top: -40px;
border-radius: 50%;
//a1@keyframes web
// a2 1s 2s
// a3 css
// ++,infinite
animation: warn 1s ease-out 0s infinite;
}
// warn, "from" "to" 0% 100%
// 0% 100% 使
@keyframes warn {
0% {
// transform: scaleX/Y
transform: scale(0.5);
opacity: 1;
}
30% {
opacity: 1;
}
100% {
transform: scale(1.4);
opacity: 0;
}
}
}
}
</style>

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

@ -942,6 +942,8 @@ export default {
scene.addImage('resources03', require('@/assets/images/overview/resources03.png'));
scene.addImage('resources04', require('@/assets/images/overview/resources04.png'));
scene.addImage('resources05', require('@/assets/images/overview/resources05.png'));
scene.addImage('resources010', require('@/assets/images/overview/resources010.png'));
}
ResourcesPoint = new PointLayer({

2
src/views/modules/base/facilities/add.vue

@ -293,7 +293,7 @@
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.post("/actual/base/serviceitem/listAllCategory",{})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);

2
src/views/modules/base/facilities/info.vue

@ -299,7 +299,7 @@
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.post("/actual/base/serviceitem/listAllCategory",{})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);

2
src/views/modules/base/orgUnitManger/add.vue

@ -417,7 +417,7 @@
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.post("/actual/base/serviceitem/listAllCategory",{})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);

2
src/views/modules/base/orgUnitManger/info.vue

@ -289,7 +289,7 @@
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.post("/actual/base/serviceitem/listAllCategory",{})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);

2
src/views/modules/base/vehicleManger/add.vue

@ -356,7 +356,7 @@
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.post("/actual/base/serviceitem/listAllCategory",{})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);

13
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue

@ -37,13 +37,22 @@
<el-col :span="6">
<el-form-item label="负责人" prop="principalName">
<el-select v-model.trim="formData.principalName" class="u-item-width-normal" size="small" clearable
<!-- <el-select v-model.trim="formData.principalName" class="u-item-width-normal" size="small" clearable
placeholder="请选择联系人" @change="handelChangeStaff">
<el-option v-for="item in stafflist"
:key="item.value"
:label="item.name"
:value="item.name"></el-option>
</el-select>
</el-select> -->
<el-input
v-model.trim="formData.principalName"
:disabled="disabled"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">

4
vue.config.js

@ -37,9 +37,9 @@ module.exports = {
"/api": {
// target: " https://epmet-test.elinkservice.cn/",
target: "http://219.146.91.110:30801", // 测试地址
// target: "http://219.146.91.110:30801", // 测试地址
// target: "http://192.168.1.60:8080", // 本地地址
// target: "https://epmet-preview.elinkservice.cn", // 演示地址
target: "https://epmet-dongming.elinkservice.cn", // 演示地址
changeOrigin: true,
pathRewrite: {
"^api": "",

Loading…
Cancel
Save