diff --git a/dist.rar b/dist.zip
similarity index 67%
rename from dist.rar
rename to dist.zip
index 852ffab..4acad6d 100644
Binary files a/dist.rar and b/dist.zip differ
diff --git a/src/api/index.js b/src/api/index.js
index 1b2d53c..937ca58 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -122,7 +122,7 @@ export function deviceStatus(data) {
}
})
}
-
+//节目单接口旧
export function infoBoardTemplateList(data) {
return request({
url: '/json/iot/infoBoardTemplateList',
@@ -133,6 +133,19 @@ export function infoBoardTemplateList(data) {
}
})
}
+
+//节目单接口
+export function getProgramTree(data) {
+ return request({
+ url: `/iotApi/informationPublish/program/getProgramTree`,
+ method: "post",
+ data: data,
+ headers:{
+ 'Content-Type':'application/json',
+ }
+ });
+}
+
export function warnList(data) {
return request({
url: '/json/warn/warnList',
diff --git a/src/views/control/index.vue b/src/views/control/index.vue
index 2f91e8a..fa4ea10 100644
--- a/src/views/control/index.vue
+++ b/src/views/control/index.vue
@@ -503,6 +503,13 @@ export default {
item.imgUrl = imgForm['urls'][j.command]
}
})
+ }else if(that.dataForm.deviceType == '11'){
+ let imgForm = window.config.drapLeftElMap[that.dataForm.deviceType];
+ that.componentsList.forEach(item=>{
+ if(item.deviceId == that.dataForm.deviceId){
+ item.imgUrl = imgForm['urls'][j.command]
+ }
+ })
}else if(that.dataForm.deviceType == '40' || that.dataForm.deviceType == '41' || that.dataForm.deviceType == '42'){
that.iotKeyData = [];
const str1 = that.dataForm.iotKey.split('|');
diff --git a/src/views/device/deviceView.vue b/src/views/device/deviceView.vue
index 3bbd5d4..202550e 100644
--- a/src/views/device/deviceView.vue
+++ b/src/views/device/deviceView.vue
@@ -502,15 +502,18 @@ export default {
1: {
left: 'K30+600',
right: 'K34+800',
- length1: '4000',
- length2: '2616',
+ // length1: '4000',
+ // length2: '2616',
+ length1: '2616',
+ length2: '2606',
width: 3436,
pileNumData: ['K31+294', 'K33+916'],
},
2: {
left: 'K58+176',
right: 'K60+976',
- length1: '2800',
+ // length1: '2800',
+ length1: '2200',
length2: '2200',
width: 3436,
pileNumData: ['K58+476', 'K60+676'],
diff --git a/src/views/view/index.vue b/src/views/view/index.vue
index cebb699..dfc769b 100644
--- a/src/views/view/index.vue
+++ b/src/views/view/index.vue
@@ -753,7 +753,7 @@
{{ filedFomatter(item1, deviceTypeList) }}控制
-
{{ filedFomatter(item.direction, directionList) }}
{{ item.id }}({{ item.pileNum }})
-
-
+ -->
+
@@ -1450,8 +1472,7 @@
:label="item.id"
v-for="item in taskList"
:key="item.id"
- >{{ item.name }}
+ >{{ item.name }}
@@ -1479,29 +1500,51 @@
-->
-
+
+
+
+
+ {{ data.name }}
+ {{ data.content }}
+
+
+
+ 高宽:{{ data.displaySize }}
+ 字体大小:{{ data.fontSize }} 字体颜色:{{getColor(data.fontColor)}}
+
+
+
@@ -1927,7 +1970,7 @@
-->
-
+
@@ -2116,8 +2158,7 @@
background: #2b6bb6;
margin: 7px 5px 0 0;
"
- >批量控制
+ >批量控制
-->
-
+
+
+
+
+ {{ data.name }}
+ {{ data.content }}
+
+
+
+ 高宽:{{ data.displaySize }}
+
+ 大小:{{ data.fontSize }} 颜色:{{getColor(data.fontColor)}}
+
+
+
@@ -2256,6 +2322,7 @@ import {
planDetail,
planExecute,
verify,
+ getProgramTree
} from '../../api'
import { tunnelLeftList, tunnelRightList } from '../../utils/pathJson'
@@ -2271,6 +2338,8 @@ export default {
area: '2',
editable: '2',
},
+ treeData: [],
+ filterText: "",
areaList: window.config.areaList,
deviceTypeList: window.config.deivceTypeList,
deviceTypeList1: [
@@ -2301,19 +2370,22 @@ export default {
warnTypeList: window.config.warnTypeList,
warnStatusList: window.config.warnStatusList,
deviceBarTypeList: [
- { id: '15', name: '情报板1' },
+ { id: '15', name: '情报板' },
{ id: '11', name: '风机' },
{ id: '13', name: '车道指示灯' },
{ id: '14', name: '交通信号灯' },
{ id: '19', name: '卷帘门' },
- /*{id: '16', name: '报警器'},*/ {
- id: '17',
- name: '广播电话系统',
- url: window.config.typeUrlLink['17'],
- },
- { id: '12', name: '照明系统', url: window.config.typeUrlLink['12'] },
+ { id: '40', name: '消防泵房' },
+ { id: '41', name: '污水泵房' },
+ /*{id: '16', name: '报警器'},*/
+ // {
+ // id: '17',
+ // name: '广播电话系统',
+ // url: window.config.typeUrlLink['17'],
+ // },
+ // { id: '12', name: '照明系统', url: window.config.typeUrlLink['12'] }
+ // ,
],
-
taskEnum: window.config.taskEnum,
totalWidth: 1562,
totalHeight: 560,
@@ -2343,8 +2415,10 @@ export default {
1: {
left: 'K30+600',
right: 'K34+800',
- length1: '4000',
- length2: '2616',
+ // length1: '4000',
+ // length2: '2616',
+ length1: '2616',
+ length2: '2606',
width: 5000,
pileNumData: ['K31+294', 'K33+916'],
n: 10,
@@ -2352,7 +2426,8 @@ export default {
2: {
left: 'K58+176',
right: 'K60+976',
- length1: '2800',
+ // length1: '2800',
+ length1: '2200',
length2: '2200',
width: 5000,
pileNumData: ['K58+476', 'K60+676'],
@@ -2389,7 +2464,7 @@ export default {
pileNumList: [],
deviceForm: {},
- warnShow: false,
+ warnShow: true,
planShow: false,
planList: [],
planDetailShow: false,
@@ -2419,7 +2494,15 @@ export default {
tempMap: {},
controlShow: false,
multipleSelection: [],
- warnList: [],
+ warnList: [{
+ id:'1',
+ status:1,
+ type:''
+ },{
+ id:'2',
+ status:2,
+ type:''
+ }],
componentsWarnList: [],
statusTimer: null,
deviceLoading: false,
@@ -2440,6 +2523,13 @@ export default {
planLoading: false,
planSuccess: false,
planDeviceType: ['14', '13', '11', '15', '19'],
+ defaultProps: {
+ children: "children",
+ label: "name",
+ name:"name",
+ content: "content",
+ // displaySize: "displaySize",
+ },
listMedia: [
/*{
id:20,
@@ -2649,21 +2739,23 @@ export default {
// console.log(item,item.direction,'xxxxxxxxxx')
if(item.direction == 2){ //下行
if(item.rotationDirection == null || item.rotationDirection == '正转'){
- json.imgUrl = './lib/icon/112.gif'
- }else if(item.rotationDirection == '反转'){
json.imgUrl = './lib/icon/111.gif'
+ }else if(item.rotationDirection == '反转'){
+ json.imgUrl = './lib/icon/112.gif'
} else if(item.rotationDirection == '停止'){
json.imgUrl = './lib/icon/11.png'
}
+ console.log("json.imgUrl",json.imgUrl)
}else if(item.direction == 1){ //上行
if(item.rotationDirection == null || item.rotationDirection == '正转'){
- json.imgUrl = './lib/icon/112.gif'
- }else if(item.rotationDirection == '反转'){
json.imgUrl = './lib/icon/111.gif'
+ }else if(item.rotationDirection == '反转'){
+ json.imgUrl = './lib/icon/112.gif'
} else if(item.rotationDirection == '停止'){
json.imgUrl = './lib/icon/11.png'
}
+ console.log("json.imgUrl",json.imgUrl)
}
}
//交通信号灯
@@ -2926,6 +3018,7 @@ export default {
} else if (item.deviceType == '15' && item.modelId) {
if (j.body) {
j.dataFormBody = JSON.parse(j.body)
+ console.log("j.dataFormBody",j.dataFormBody)
that.loadinfoBoardTemplate(
3,
j.dataFormBody.textInfoList,
@@ -3315,6 +3408,18 @@ export default {
}
})*/
},
+ handleCheckChange(data, checked, indeterminate) {
+ console.log(data, checked, indeterminate);
+ // this.addComment(data,data.programId)
+
+ },
+ handleCheck(checkedNodes) {
+ console.log(checkedNodes, "cscscscs");
+ // 这里可以处理选中项的逻辑,比如更新checkedKeys等。
+ // this.textInfoList = checkedNodes.push() // 根据需要更新checkedKeys数组,例如只保留id等。
+ this.textInfoList.push(checkedNodes.programId)
+ console.log(this.textInfoList, "cscscscs");
+ },
loadWarnMarker(data) {
var that = this
that.componentsWarnList = []
@@ -3770,8 +3875,10 @@ export default {
// 13 车道指示灯
console.log('1111111111111111111111111', that.dataForm.deviceType)
if (that.dataForm.deviceType == '15') {
+ console.log("that.dataFormBody",that.dataFormBody)
if (that.dataForm.task) {
var j = JSON.parse(that.dataForm.task)
+ console.log("j.dataFormBody",j.dataFormBody)
that.$set(that.dataForm, 'taskName', j.command)
if (j.body) {
j.dataFormBody = JSON.parse(j.body)
@@ -4068,7 +4175,7 @@ export default {
}
if (that.dataForm.deviceType == '15') {
- //that.loadinfoBoardTemplate(1,j.dataFormBody.textInfoList);
+ // that.loadinfoBoardTemplate(1,j.dataFormBody.textInfoList);
} else if (that.dataForm.deviceType == '26') {
that.dataForm.speed26 = j.speed
that.dataForm.direction26 = j.direction == '0' ? '正向' : '反向'
@@ -4202,12 +4309,55 @@ export default {
})
},
loadinfoBoardTemplate(index, list, modelId) {
+ console.log("index",index)
var that = this
+ getProgramTree({ name: this.filterText }).then((res) => {
+ console.log("this.treeData",res.data.data)
+ console.log("res.code",res.data.code)
+ if (res.data.code == 200) {
+ console.log("this.treeData",res.data.data)
+ res.data.data.forEach((item) => {
+ // this.count += item.children.length;
+ if (item.children) {
+ item.children.forEach((child) => {
+ if (child.dynamicValueNum > 0) {
+ console.log("大于0");
+ for (let i = 0; i < child.dynamicValueNum; i++) {
+ child["contentValue" + (i + 1)] =
+ child.dynamicValueList.length > 0
+ ? child.dynamicValueList[i]
+ : "";
+ }
+ }
+ });
+ }
+ });
+
+ // this.treeData = res.data;
+ this.treeData = res.data.data;
+ // this.infoBoardTemplateList = res.data.data
+ console.log("this.treeData",this.treeData)
+ this.infoBoardTemplateList = []
+ const newArray = res.data.data.flatMap(item => item.children);
+ console.log("newArray",newArray)
+ this.infoBoardTemplateList = newArray
+ // res.data.data.forEach((item, i) => {
+ //
+ // var form = {
+ // ...item,
+ // templateHtml: that.domRender(item.textInfo),
+ // }
+ // that.infoBoardTemplateList.push(form)
+ // })
+
+ }
+ });
infoBoardTemplateList().then((res) => {
if (res.status == 200) {
if (res.data.retCode == 0) {
if (index == 1) {
that.templateHtmlList = []
+ console.log("res.data.result111111111111",res.data.result)
res.data.result.forEach((item, i) => {
list.forEach((item1) => {
if (item.id == item1.id) {
@@ -4295,7 +4445,7 @@ export default {
that.templateDisplay(0) // 递归调用显示函数
}
} else if (index == 2) {
- that.infoBoardTemplateList = res.data.result
+ // that.infoBoardTemplateList = res.data.result
} else if (index == 3) {
that.templateHtmlList = []
res.data.result.forEach((item, i) => {
@@ -4346,14 +4496,14 @@ export default {
that.templateDisplay(0, 3) // 递归调用显示函数
}
} else {
- that.infoBoardTemplateList = []
- res.data.result.forEach((item, i) => {
- var form = {
- ...item,
- templateHtml: that.domRender(item.textInfo),
- }
- that.infoBoardTemplateList.push(form)
- })
+ // that.infoBoardTemplateList = []
+ // res.data.result.forEach((item, i) => {
+ // var form = {
+ // ...item,
+ // templateHtml: that.domRender(item.textInfo),
+ // }
+ // that.infoBoardTemplateList.push(form)
+ // })
}
} else {
that.$message.warning(res.data.message)
@@ -4373,6 +4523,29 @@ export default {
that.tempTimer = setTimeout(() => {
that.templateDisplay(nextIndex, m) // 递归调用显示函数
}, nextTime)
+ },
+ handleAddToTable(node, data) {
+ console.log("添加至表格", node, data);
+ // let exists = this.tableData.find(
+ // (obj) => obj.programId === node.data.programId
+ // );
+ // if (exists) return this.$message("该项已添加,请勿重复添加!");
+ // this.tableData.push(data);
+ // console.log("添加至表格", this.tableData);
+ },
+ filterNode(value, data) {
+ console.log(value, data);
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ getColor(value){
+ if(value =="#7b5ba1"){
+ return '红'
+ }else if(value =="#008000"){
+ return '绿'
+ }else if(value =="#FFFF00"){
+ return '黄'
+ }
},
addComment(event, row) {
this.tempMap[row.id] = {
@@ -4544,10 +4717,14 @@ export default {
let checkArr = [] //选中的情报板
if(that.textInfoList.length > 0){
that.textInfoList.forEach((item1) => {
- checkArr.push(that.infoBoardTemplateList[item1-1])
+ that.infoBoardTemplateList.forEach((item) => {
+ if(item1==item.programId){
+ checkArr.push(item)
+ }
+ })
})
}
-
+ console.log(checkArr, '555555555555')
// let arr = [
// { id: 1, textInfo: '隧道火灾,禁止驶入' },
// { id: 2, textInfo: '隧道限速{}Km/h' },
@@ -4555,16 +4732,15 @@ export default {
// { id: 4, textInfo: '隧道火灾,禁止驶入3' },
// { id: 5, textInfo: '隧道限速{}Km/h,最高速{}Km/h,最低速{}Km/h' },
// ];
-
let temp = this.tempMap
// 遍历 checkArr 数组
checkArr.forEach(item => {
- let text = item.textInfo;
+ let text = item.content;
// 如果 temp 中存在该 id 的数据
- if (temp[item.id]) {
- let replacements = temp[item.id];
+ if (temp[item.programId]) {
+ let replacements = temp[item.programId];
let matchCount = 0;
// 替换每个 {} 占位符
@@ -4583,8 +4759,9 @@ export default {
}
// 更新 checkArr 中的 textInfo
- item.textInfo = text;
+ item.content = text;
});
+
let company = ''
if(that.dataForm.extraJson){
let extr = JSON.parse(that.dataForm.extraJson);
@@ -4601,23 +4778,25 @@ export default {
let Size = (val.cmsWidth == 384 && val.cmsHeight == 288) ? '1' : (val.cmsWidth == 128 && val.cmsHeight == 80) ? '2' : (val.cmsWidth == 576 && val.cmsHeight == 48) ? '3' : (val.cmsWidth == 624 && val.cmsHeight == 48) ? '4' : (val.cmsWidth == 128 && val.cmsHeight == 64) ? '5' : ''
data.playProgramlist.push(
{
- programId: val.id,
- name: val.textInfo,
- programType: "",
- type: "",
- displaySize: val.textInfo,
- displayMode: Size,
- displaySpeed: "",
- fontFamily: val.fontName,
- fontSize: this.convertFontSize(val.fontSize),
- fontColor: this.getHexColor(val.fontColor),
- alignment: val.fontFormat,
- content: val.textInfo
+ programId: val.programId,
+ name: val.name,
+ programType: val.programType,
+ type: val.type,
+ displaySize: val.displaySize,
+ displayMode: val.displayMode,
+ displaySpeed: val.displaySpeed,
+ fontFamily: val.fontFamily,
+ // fontSize: this.convertFontSize(val.fontSize),
+ // fontColor: this.getHexColor(val.fontColor),
+ fontSize: val.fontSize,
+ fontColor: val.fontColor,
+ alignment: val.alignment,
+ content: val.content
}
)
+ console.log("data.playProgramlist",data.playProgramlist)
})
}
- console.log(data, 'dadadada')
playManuallyTriggered(data, '/xjIotApi/iotServiceCommon/playManuallyTriggered').then((res)=>{
console.log(res, 'rrrr')
that.deviceLoading = false
@@ -4713,6 +4892,7 @@ export default {
if (that.dataForm.deviceType == '12') {
that.$set(that.dataForm, 'light', b.light)
} else if (that.dataForm.deviceType == '15') {
+ console.log("b.textInfoList",b.textInfoList)
that.loadinfoBoardTemplate(1, b.textInfoList)
}
}
@@ -5032,6 +5212,7 @@ export default {
that.warnTimer = null
}
},
+
}
@@ -5059,7 +5240,51 @@ export default {
.infowindow {
position: absolute;
}
+ .el-tree {
+ padding: 10px;
+ }
+ ::v-deep .el-tree-node__expand-icon {
+ // display: none !important;
+ // display: none !important;
+ }
+
+ .custom-tree-node {
+ // flex: 1;
+ // display: flex;
+ // align-items: center;
+ // justify-content: space-between;
+ font-size: 14px;
+ padding-right: 8px;
+ // line-height: 55px;
+ // display: inline-block;
+ position: relative;
+ .label{
+ flex: 1;
+ max-width: 200px !important;
+ display: inline-block;
+ white-space: nowrap; /* 防止文本换行 */
+ overflow: hidden; /* 隐藏溢出的文本 */
+ text-overflow: ellipsis; /* 显示省略号 */
+ // background: saddlebrown;
+ }
+ .icon{
+ height: 100%;
+ position: absolute;
+ right: 10px;
+ z-index: 9999 !important;
+ }
+ }
+ .custom-tree-node:hover .node-actions {
+ display: block;
+ position: absolute;
+ right: 0px;
+ top: 3px;
+ z-index: 9999 !important;
+ }
+ .node-actions {
+ display: none;
+ }
.header {
width: 100%;
height: 65px;
@@ -5541,4 +5766,11 @@ export default {
zoom: 0.8;
}
}
+
+ .el-tree-node__content{
+ display: flex;
+ align-items: center;
+ height: 40px ;
+ cursor: pointer;
+ }
diff --git a/vue.config.js b/vue.config.js
index 0b5066e..47f749e 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -14,7 +14,8 @@ module.exports = {
//本地服务接口地址
// target: 'http://link.ser99.vip:8080/zhongkai',
// target: 'http://65.73.11.246:7774',
- target: 'http://172.16.1.155:8009',
+ // target: 'http://172.16.1.155:8009',
+ target: 'http://172.16.1.103:8084',
// target: 'http://172.16.1.162:8233',
// target: 'http://192.168.13.138:8233',
// target: 'http://172.16.1.113:8012',
@@ -27,7 +28,8 @@ module.exports = {
'/xjIotApi': {
//集采
// target: 'http://65.73.11.246:8083',
- target: 'http://172.16.1.155:8080',
+ // target: 'http://172.16.1.155:8080',
+ target: 'http://172.16.1.103:8084',
ws: true,
https: true,
pathRewrite: {
@@ -37,7 +39,8 @@ module.exports = {
'/iotApi': {
//平台
// target: 'http://65.73.11.246:8090',
- target: 'http://172.16.1.155:8080',
+ // target: 'http://172.16.1.155:8080',
+ target: 'http://172.16.1.103:8080',
ws: true,
https: true,
pathRewrite: {