[Frontend]系統監控 tooltip show 取得原element 功能補上 | 部分功能註解補上
This commit is contained in:
		
							parent
							
								
									f359469e1f
								
							
						
					
					
						commit
						d9d2f27ba0
					
				| @ -72,7 +72,7 @@ | ||||
|                     strHtml += `<button id="floItemBtn${floObj.full_name}" type="button" class="btn btn-primary waves-effect waves-themed mr-5">${floObj.full_name}</button>` | ||||
| 
 | ||||
|                     $.each(floObj.device_list, (index2, devObj) => { | ||||
|                         strHtml += `<div name="devItem" data-id="${devObj.device_guid}" class="mr-5 cur-poi"> | ||||
|                         strHtml += `<div name="devItem" data-id="${devObj.device_guid}" data-number="${devObj.device_number}" class="mr-5 cur-poi"> | ||||
|                                         <span class="status status-success d-inline-block"> | ||||
|                                             <img src="${baseImgUrl + varPathImg + devObj.device_master_icon}" class="profile-image rounded-circle" onerror="defDev(this)" alt="..."> | ||||
|                                         </span> ${devObj.full_name} | ||||
| @ -235,7 +235,8 @@ | ||||
|                                     </div> | ||||
|                                 </div>`, | ||||
|             group:"device", | ||||
|             onShow: function () { | ||||
|             onShow: function (tooltipEle, oriEle) { | ||||
|                 console.log($(oriEle).data("number")) | ||||
|                 var tab = new YT.Tab({ tabName: "cardTab" }) | ||||
|                 loadOpeRecTable(); | ||||
|             } | ||||
|  | ||||
| @ -29,215 +29,223 @@ | ||||
| 
 | ||||
|     function chartHandler() { | ||||
|         floChart.clear(); | ||||
|         $.get(`${baseImgUrl}/upload/floor_map/c0de2199-e62b-4f82-b7f7-abacd4e1cd17.svg`, function (svg) { | ||||
|         /*let url = `${baseApiUrl}/upload/graph_manage/de08e7ee-9839-4403-90e5-754dec4e389b.jpg`*/ | ||||
|         let url = `${baseImgUrl}/upload/floor_map/2e5be49c-f8e8-4977-b5b6-db4d95ff9691.svg` | ||||
| 
 | ||||
|             if (svg == undefined || svg == null) { | ||||
|                 return; | ||||
|             } | ||||
|         download(url) | ||||
| 
 | ||||
|             echarts.registerMap('floor_svg', { svg: svg }); | ||||
|         //ytAjax = new YourTeam.Ajax(url, null, function (res) { | ||||
|         //    if (svg == undefined || svg == null) { | ||||
|         //        return; | ||||
|         //    } | ||||
| 
 | ||||
|             option = { | ||||
|                 // animationDurationUpdate: 1500, | ||||
|                 tooltip: { | ||||
|                     formatter: function (params) { | ||||
|                         if (params.data.device_node_guid != undefined && params.data.device_node_guid != null && params.data.device_node_guid != "") { | ||||
|                             return `名稱:${params.data.device_node_full_name}<br> | ||||
|                                     Guid:${params.data.device_node_guid}` | ||||
|                         } | ||||
|                         else { | ||||
|                             return `名稱:${params.data.device_full_name}<br> | ||||
|                                     Guid:${params.data.device_guid}` | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|                 toolbox: { //工具欄 | ||||
|                     show: false | ||||
|                 }, | ||||
|                 geo: { | ||||
|                     map: 'floor_svg', | ||||
|                     roam: true, | ||||
|                     scaleLimit: {  //限制放大縮小倍數 | ||||
|                         max: 32, | ||||
|                         min: 2.5 | ||||
|                     }, | ||||
|                     layoutSize: '100%', | ||||
|                     layoutCenter: ['50%', '50%'], | ||||
|                     zoom: 2.5, | ||||
|                     silent: true | ||||
|                 }, | ||||
|                 series: [ | ||||
|                     {   //不管有無被選擇(圓點) | ||||
|                         type: 'scatter', | ||||
|                         coordinateSystem: 'geo', | ||||
|                         geoIndex: 0, | ||||
|                         symbol: 'circle', | ||||
|                         symbolSize: 10, | ||||
|                         symbolOffset: [10, 10], | ||||
|                         label: { | ||||
|                             show: false | ||||
|                         }, | ||||
|                         data: currentData, | ||||
|                         z: 2 | ||||
|                     }, | ||||
|                     {   //未選擇的設備(icon) | ||||
|                         type: 'scatter', | ||||
|                         coordinateSystem: 'geo', | ||||
|                         geoIndex: 0, | ||||
|                         symbolSize: 30, | ||||
|                         label: { | ||||
|                             formatter: '{b}', | ||||
|                             position: 'bottom', | ||||
|                             show: true, | ||||
|                             backgroundColor: 'orange' | ||||
|                         }, | ||||
|                         emphasis: { | ||||
|                             label: { | ||||
|                                 show: true, | ||||
|                                 fontSize: '20', | ||||
|                                 fontWeight: 'bold', | ||||
|                                 color: 'yellow' | ||||
|                             } | ||||
|                         }, | ||||
|                         selectedMode: 'single', | ||||
|                         data: null, | ||||
|                         z: 1 | ||||
|                     }, | ||||
|                     {   //被選擇的設備(icon) | ||||
|                         type: 'effectScatter', | ||||
|                         coordinateSystem: 'geo', | ||||
|                         geoIndex: 0, | ||||
|                         showEffectOn: 'render', | ||||
|                         symbolSize: 30, | ||||
|                         label: { | ||||
|                             formatter: '{b}', | ||||
|                             position: 'bottom', | ||||
|                             show: true, | ||||
|                             backgroundColor: 'orange' | ||||
|                         }, | ||||
|                         emphasis: { | ||||
|                             label: { | ||||
|                                 show: true, | ||||
|                                 fontSize: '20', | ||||
|                                 fontWeight: 'bold', | ||||
|                                 color: 'yellow' | ||||
|                             } | ||||
|                         }, | ||||
|                         selectedMode: 'single', | ||||
|                         data: null, | ||||
|                         z: 1 | ||||
|                     }, | ||||
|                     {   //編輯模式底下的設備(圓點,只會有一個) | ||||
|                         type: 'scatter', | ||||
|                         coordinateSystem: 'geo', | ||||
|                         geoIndex: 0, | ||||
|                         symbol: 'circle', | ||||
|                         symbolSize: 10, | ||||
|                         symbolOffset: [10, 10], | ||||
|                         label: { | ||||
|                             show: false | ||||
|                         }, | ||||
|                         data: currentData, | ||||
|                         z: 2 | ||||
|                     }, | ||||
|                     {   //編輯模式底下的設備(icon,只會有一個) | ||||
|                         type: 'scatter', | ||||
|                         coordinateSystem: 'geo', | ||||
|                         geoIndex: 0, | ||||
|                         symbolSize: 30, | ||||
|                         label: { | ||||
|                             formatter: '{b}', | ||||
|                             position: 'bottom', | ||||
|                             show: true, | ||||
|                             backgroundColor: 'orange' | ||||
|                         }, | ||||
|                         emphasis: { | ||||
|                             label: { | ||||
|                                 show: true, | ||||
|                                 fontSize: '20', | ||||
|                                 fontWeight: 'bold', | ||||
|                                 color: 'yellow' | ||||
|                             } | ||||
|                         }, | ||||
|                         data: null, | ||||
|                         z: 1 | ||||
|                     }, | ||||
|                 ], | ||||
|             }; | ||||
|         //    echarts.registerMap('floor_svg', { svg: svg }); | ||||
| 
 | ||||
|             floChart.setOption(option); | ||||
|         //    option = { | ||||
|         //        // animationDurationUpdate: 1500, | ||||
|         //        tooltip: { | ||||
|         //            formatter: function (params) { | ||||
|         //                if (params.data.device_node_guid != undefined && params.data.device_node_guid != null && params.data.device_node_guid != "") { | ||||
|         //                    return `名稱:${params.data.device_node_full_name}<br> | ||||
|         //                            Guid:${params.data.device_node_guid}` | ||||
|         //                } | ||||
|         //                else { | ||||
|         //                    return `名稱:${params.data.device_full_name}<br> | ||||
|         //                            Guid:${params.data.device_guid}` | ||||
|         //                } | ||||
|         //            } | ||||
|         //        }, | ||||
|         //        toolbox: { //工具欄 | ||||
|         //            show: false | ||||
|         //        }, | ||||
|         //        geo: { | ||||
|         //            map: 'floor_svg', | ||||
|         //            roam: true, | ||||
|         //            scaleLimit: {  //限制放大縮小倍數 | ||||
|         //                max: 32, | ||||
|         //                min: 2.5 | ||||
|         //            }, | ||||
|         //            layoutSize: '100%', | ||||
|         //            layoutCenter: ['50%', '50%'], | ||||
|         //            zoom: 2.5, | ||||
|         //            silent: true | ||||
|         //        }, | ||||
|         //        series: [ | ||||
|         //            {   //不管有無被選擇(圓點) | ||||
|         //                type: 'scatter', | ||||
|         //                coordinateSystem: 'geo', | ||||
|         //                geoIndex: 0, | ||||
|         //                symbol: 'circle', | ||||
|         //                symbolSize: 10, | ||||
|         //                symbolOffset: [10, 10], | ||||
|         //                label: { | ||||
|         //                    show: false | ||||
|         //                }, | ||||
|         //                data: currentData, | ||||
|         //                z: 2 | ||||
|         //            }, | ||||
|         //            {   //未選擇的設備(icon) | ||||
|         //                type: 'scatter', | ||||
|         //                coordinateSystem: 'geo', | ||||
|         //                geoIndex: 0, | ||||
|         //                symbolSize: 30, | ||||
|         //                label: { | ||||
|         //                    formatter: '{b}', | ||||
|         //                    position: 'bottom', | ||||
|         //                    show: true, | ||||
|         //                    backgroundColor: 'orange' | ||||
|         //                }, | ||||
|         //                emphasis: { | ||||
|         //                    label: { | ||||
|         //                        show: true, | ||||
|         //                        fontSize: '20', | ||||
|         //                        fontWeight: 'bold', | ||||
|         //                        color: 'yellow' | ||||
|         //                    } | ||||
|         //                }, | ||||
|         //                selectedMode: 'single', | ||||
|         //                data: null, | ||||
|         //                z: 1 | ||||
|         //            }, | ||||
|         //            {   //被選擇的設備(icon) | ||||
|         //                type: 'effectScatter', | ||||
|         //                coordinateSystem: 'geo', | ||||
|         //                geoIndex: 0, | ||||
|         //                showEffectOn: 'render', | ||||
|         //                symbolSize: 30, | ||||
|         //                label: { | ||||
|         //                    formatter: '{b}', | ||||
|         //                    position: 'bottom', | ||||
|         //                    show: true, | ||||
|         //                    backgroundColor: 'orange' | ||||
|         //                }, | ||||
|         //                emphasis: { | ||||
|         //                    label: { | ||||
|         //                        show: true, | ||||
|         //                        fontSize: '20', | ||||
|         //                        fontWeight: 'bold', | ||||
|         //                        color: 'yellow' | ||||
|         //                    } | ||||
|         //                }, | ||||
|         //                selectedMode: 'single', | ||||
|         //                data: null, | ||||
|         //                z: 1 | ||||
|         //            }, | ||||
|         //            {   //編輯模式底下的設備(圓點,只會有一個) | ||||
|         //                type: 'scatter', | ||||
|         //                coordinateSystem: 'geo', | ||||
|         //                geoIndex: 0, | ||||
|         //                symbol: 'circle', | ||||
|         //                symbolSize: 10, | ||||
|         //                symbolOffset: [10, 10], | ||||
|         //                label: { | ||||
|         //                    show: false | ||||
|         //                }, | ||||
|         //                data: currentData, | ||||
|         //                z: 2 | ||||
|         //            }, | ||||
|         //            {   //編輯模式底下的設備(icon,只會有一個) | ||||
|         //                type: 'scatter', | ||||
|         //                coordinateSystem: 'geo', | ||||
|         //                geoIndex: 0, | ||||
|         //                symbolSize: 30, | ||||
|         //                label: { | ||||
|         //                    formatter: '{b}', | ||||
|         //                    position: 'bottom', | ||||
|         //                    show: true, | ||||
|         //                    backgroundColor: 'orange' | ||||
|         //                }, | ||||
|         //                emphasis: { | ||||
|         //                    label: { | ||||
|         //                        show: true, | ||||
|         //                        fontSize: '20', | ||||
|         //                        fontWeight: 'bold', | ||||
|         //                        color: 'yellow' | ||||
|         //                    } | ||||
|         //                }, | ||||
|         //                data: null, | ||||
|         //                z: 1 | ||||
|         //            }, | ||||
|         //        ], | ||||
|         //    }; | ||||
| 
 | ||||
|             floChart.getZr().on('click', function (params) { | ||||
|                 console.log("click", params); | ||||
|                 var pixelPoint = [params.offsetX, params.offsetY]; | ||||
|                 var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint); | ||||
|                 console.log(dataPoint); | ||||
|         //    floChart.setOption(option); | ||||
| 
 | ||||
|                 if (floor_map_mode == "edit") { | ||||
|         //    floChart.getZr().on('click', function (params) { | ||||
|         //        console.log("click", params); | ||||
|         //        var pixelPoint = [params.offsetX, params.offsetY]; | ||||
|         //        var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint); | ||||
|         //        console.log(dataPoint); | ||||
| 
 | ||||
|                     temp_device_on_floor_map = [{ | ||||
|                         device_guid: selected_temp_device.device_guid, | ||||
|                         device_full_name: selected_temp_device.device_full_name, | ||||
|                         device_node_guid: selected_temp_device.device_node_guid ? selected_temp_device.device_node_guid : null, | ||||
|                         device_node_full_name: selected_temp_device.device_node_full_name ? selected_temp_device.device_node_full_name : null, | ||||
|                         status: selected_temp_device.status, | ||||
|                         value: dataPoint | ||||
|                     }]; | ||||
|         //        if (floor_map_mode == "edit") { | ||||
| 
 | ||||
|                     | ||||
|                 } | ||||
|         //            temp_device_on_floor_map = [{ | ||||
|         //                device_guid: selected_temp_device.device_guid, | ||||
|         //                device_full_name: selected_temp_device.device_full_name, | ||||
|         //                device_node_guid: selected_temp_device.device_node_guid ? selected_temp_device.device_node_guid : null, | ||||
|         //                device_node_full_name: selected_temp_device.device_node_full_name ? selected_temp_device.device_node_full_name : null, | ||||
|         //                status: selected_temp_device.status, | ||||
|         //                value: dataPoint | ||||
|         //            }]; | ||||
| 
 | ||||
| 
 | ||||
|                 // currentData.push([dataPoint[0], dataPoint[1], 1]); | ||||
|                 // floChart.setOption(option); | ||||
|             }); | ||||
|         //        } | ||||
| 
 | ||||
|             floChart.on('selectchanged', function (params) { | ||||
|                | ||||
|                 console.log("selectchanged", params); | ||||
|                 // currentData.push([dataPoint[0], dataPoint[1], 1]); | ||||
|                 // floChart.setOption(option); | ||||
| 
 | ||||
|                 currentData = $.map(currentData, function (item) { | ||||
|                     item.selected = false; | ||||
|                     return item; | ||||
|                 }); | ||||
|         //        // currentData.push([dataPoint[0], dataPoint[1], 1]); | ||||
|         //        // floChart.setOption(option); | ||||
|         //    }); | ||||
| 
 | ||||
|                 if (params.selected.length > 0) { | ||||
|                     currentData[params.selected[0].seriesIndex - 1].selected = true; | ||||
|                 } | ||||
|         //    floChart.on('selectchanged', function (params) { | ||||
| 
 | ||||
|                  | ||||
|             }); | ||||
|         //        console.log("selectchanged", params); | ||||
|         //        // currentData.push([dataPoint[0], dataPoint[1], 1]); | ||||
|         //        // floChart.setOption(option); | ||||
| 
 | ||||
|             // floChart.getZr().on('mousewheel', function (params) { | ||||
|             //     console.log(params) | ||||
|             // }) | ||||
|             floChart.on('georoam', function (params) { | ||||
|                 | ||||
|                  var zoom = floChart.getOption().geo[0].zoom; | ||||
|         //        currentData = $.map(currentData, function (item) { | ||||
|         //            item.selected = false; | ||||
|         //            return item; | ||||
|         //        }); | ||||
| 
 | ||||
|                 if (zoom <= 2.5) { | ||||
|                     ResetFloorMap(); | ||||
|                     floChart.setOption({ | ||||
|                         geo: { | ||||
|                             roam: 'scale' | ||||
|                         }, | ||||
|                     }); | ||||
|                 } else { | ||||
|                     floChart.setOption({ | ||||
|                         geo: { | ||||
|                             roam: true | ||||
|                         }, | ||||
|                     }); | ||||
|                 } | ||||
|         //        if (params.selected.length > 0) { | ||||
|         //            currentData[params.selected[0].seriesIndex - 1].selected = true; | ||||
|         //        } | ||||
| 
 | ||||
|                 | ||||
|             }); | ||||
|         }) | ||||
|             .fail(function () { | ||||
|                 toast_warning("查無該樓層地圖") | ||||
|                 floChart.clear(); | ||||
|             }); | ||||
| 
 | ||||
|         //    }); | ||||
| 
 | ||||
|         //    // floChart.getZr().on('mousewheel', function (params) { | ||||
|         //    //     console.log(params) | ||||
|         //    // }) | ||||
|         //    floChart.on('georoam', function (params) { | ||||
| 
 | ||||
|         //        var zoom = floChart.getOption().geo[0].zoom; | ||||
| 
 | ||||
|         //        if (zoom <= 2.5) { | ||||
|         //            ResetFloorMap(); | ||||
|         //            floChart.setOption({ | ||||
|         //                geo: { | ||||
|         //                    roam: 'scale' | ||||
|         //                }, | ||||
|         //            }); | ||||
|         //        } else { | ||||
|         //            floChart.setOption({ | ||||
|         //                geo: { | ||||
|         //                    roam: true | ||||
|         //                }, | ||||
|         //            }); | ||||
|         //        } | ||||
| 
 | ||||
| 
 | ||||
|         //    }); | ||||
|         //}).send(); | ||||
|         //$.get(`${baseImgUrl}/device/GetFloorSvg/c0de2199-e62b-4f82-b7f7-abacd4e1cd17.svg`, function (svg) { | ||||
| 
 | ||||
|              | ||||
|         //}) | ||||
|         //    .fail(function () { | ||||
|         //        toast_warning("查無該樓層地圖") | ||||
|         //        floChart.clear(); | ||||
|         //    }); | ||||
|     } | ||||
| </script> | ||||
| @ -5,13 +5,18 @@ | ||||
| 
 | ||||
| }) | ||||
| 
 | ||||
| 
 | ||||
| /**  | ||||
|  * fn 定義 | 手動初始化 Bootstrap dropdown select  | ||||
|  */ | ||||
| $.fn.droSetItem = function () { | ||||
|     setDropdownItem(this); | ||||
|     return this; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  * 設置 bootstrap dropdown 為下拉選單  | ||||
|  * @param {any} menuEle .dropdown-menu element | ||||
|  */ | ||||
| function setDropdownItem(menuEle) { | ||||
|     if ($(menuEle).find(".dropdown-item.active").length == 0) { | ||||
|         $(menuEle).find(".dropdown-item").first().addClass("active"); | ||||
| @ -21,14 +26,19 @@ function setDropdownItem(menuEle) { | ||||
|     let actEleId = $(menuEle).prop("id"); | ||||
|     $(`.dropdown-toggle[data-target=${actEleId}]`).text(actText); | ||||
|     $(menuEle).trigger("active:change", $(menuEle).find(".dropdown-item.active")); | ||||
| 
 | ||||
|     //點選選項 add active class
 | ||||
|     onEvent("click", ".dropdown-menu.dropdown-select-menu .dropdown-item", function () { | ||||
|         $(this).parent(".dropdown-menu.dropdown-select-menu").find(".dropdown-item").removeClass("active"); | ||||
|         $(this).addClass("active"); | ||||
|         setDropdownItem($(this).parent(".dropdown-menu.dropdown-select-menu")); | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| onEvent("click", ".dropdown-menu.dropdown-select-menu .dropdown-item", function () { | ||||
|     $(this).parent(".dropdown-menu.dropdown-select-menu").find(".dropdown-item").removeClass("active"); | ||||
|     $(this).addClass("active"); | ||||
|     setDropdownItem($(this).parent(".dropdown-menu.dropdown-select-menu")); | ||||
| }) | ||||
| 
 | ||||
| /** | ||||
|  * 預設設備圖像 | ||||
|  * @param {any} obj | ||||
|  */ | ||||
| function defDev(obj) { | ||||
|     let defSrc = 'img/defdev.png'; | ||||
|     obj.src = defSrc; | ||||
|  | ||||
| @ -10,11 +10,14 @@ | ||||
|  * */ | ||||
| var YT = YT || {}; | ||||
| 
 | ||||
| var _ytTabInited = [] | ||||
| $(function () { | ||||
| var _ytTabInited = []; | ||||
| 
 | ||||
| $(function () { | ||||
| }) | ||||
| 
 | ||||
| /** | ||||
|  * 初始全頁面 yt tab | ||||
|  * */ | ||||
| function initTabsByEle() { | ||||
|     $("[data-tabname][data-target]:not([data-tabrole=child])").each(function (index, value) { | ||||
|         let tabName = $(value).data("tabname"); | ||||
| @ -38,25 +41,24 @@ class YourTeamTab { | ||||
|         } | ||||
|         this.event(); | ||||
|         $(`[data-tabname=${this.tabName}][data-tabrole=child]`).css("display", "none"); | ||||
|         $(`[data-tabname=${this.tabName}][data-target]`).first().trigger("click","fromInit"); | ||||
|         $(`[data-tabname=${this.tabName}][data-target]`).first().trigger("click"); | ||||
|         _ytTabInited.push(this.tabName); | ||||
|     } | ||||
| 
 | ||||
|     event = function () { | ||||
|         let clsObj = this; | ||||
|         // custom tab
 | ||||
|         // example : 
 | ||||
|         // <button id="test" data-target="#okDiv" data-tabname="tab1"></button>
 | ||||
|         // <div id="okDiv" data-tabrole="child" data-tabname="tab1"></div>
 | ||||
|         $(`[data-tabname=${this.tabName}][data-target]`).off("click").on("click", function (e, arg) { | ||||
|             console.log(e) | ||||
| 
 | ||||
|         // Tab Item 按鈕 click
 | ||||
|         $(`[data-tabname=${this.tabName}][data-target]`).off("click").on("click", function (e) { | ||||
|             let target = $(this).data("target"); | ||||
|             let obj = this; | ||||
|             $(`[data-tabname=${clsObj.tabName}][data-target]:not([data-tabrole=child])`).removeClass("active") | ||||
|             $(obj).addClass("active") | ||||
|             $(obj).trigger("yt:tab:change") | ||||
|             $(`[data-tabname=${clsObj.tabName}][data-target]:not([data-tabrole=child])`).removeClass("active"); | ||||
|             $(obj).addClass("active"); | ||||
|             // 觸發 yt:tab:change事件
 | ||||
|             $(obj).trigger("yt:tab:change"); | ||||
|             let tabName = $(target).data("tabname"); | ||||
|             if (tabName) { | ||||
|                 // 找出該觸發對象 block
 | ||||
|                 if ($(target).data("tabrole") == "child") { | ||||
|                     $(obj).trigger("yt:tab:show"); | ||||
|                     $(`[data-tabname='${tabName}'][data-tabrole='child']`).css("opacity", 0).hide(); | ||||
|  | ||||
| @ -71,7 +71,7 @@ $.fn.YTTooltip = function (option) { | ||||
|                 obj.tooltipDiv = clone; | ||||
|                 //顯示 tooltip
 | ||||
|                 $(clone).css({ "display": display, "position": "absolute" }); | ||||
|                 obj.onShow ? obj.onShow(clone,obj) : ""; | ||||
|                 obj.onShow ? obj.onShow(clone,obj.ele,obj) : ""; | ||||
|                 //tooltip 高寬
 | ||||
|                 let toolWidth = $(clone)[0].offsetWidth; | ||||
|                 let toolHeight = $(clone)[0].offsetHeight; | ||||
|  | ||||
| @ -182,7 +182,7 @@ namespace FrontendWebApi.ApiControllers | ||||
|                 foreach (var f in fl) | ||||
|                 { | ||||
|                     List<DeviceLists> dl = new List<DeviceLists>(); | ||||
|                     sqlString = $@"select d.device_guid, d.full_name, d.status, d.device_coordinate, dm.device_master_icon
 | ||||
|                     sqlString = $@"select d.device_guid, d.full_name, d.status, d.device_coordinate, dm.device_master_icon,d.device_number
 | ||||
|                                    from device d | ||||
|                                    left join device_master dm on d.device_building_tag = dm.device_building_tag and d.device_name_tag = dm.device_name_tag | ||||
|                                    where d.deleted = 0 and d.device_system_tag = @main_system_tag and d.device_building_tag = @building_tag and d.device_floor_tag = ifnull(@floor_tag, d.device_floor_tag)";
 | ||||
|  | ||||
| @ -30,6 +30,7 @@ namespace FrontendWebApi.Models | ||||
|     public class DeviceLists | ||||
|     { | ||||
|         public string device_guid { get; set; } | ||||
|         public string device_number { get; set; } | ||||
|         public string full_name { get; set; } | ||||
|         public string device_coordinate { get; set; } | ||||
|         public string device_coordinate_3d { get; set; } | ||||
|  | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| After Width: | Height: | Size: 2.0 MiB | 
		Loading…
	
		Reference in New Issue
	
	Block a user