[前台] 首頁 工單進度圖表 | 告警系統 預設全選 | 運維管理 bug 修正 | 系統監控 部分小類小卡片大小設定
| [後台] WSP 新增模型匯入參數 [前台API] 新增工單 Api
This commit is contained in:
		
							parent
							
								
									6bc6493cd9
								
							
						
					
					
						commit
						d015c29d34
					
				@ -257,13 +257,26 @@
 | 
				
			|||||||
          /* 0201 更換好電梯順序 */
 | 
					          /* 0201 更換好電梯順序 */
 | 
				
			||||||
          /* launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAxLm53ZA")*/
 | 
					          /* launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAxLm53ZA")*/
 | 
				
			||||||
          // 0202 將感測器新增到電梯內
 | 
					          // 0202 將感測器新增到電梯內
 | 
				
			||||||
          launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAyLm53ZA==")
 | 
					          //launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAyLm53ZA==")
 | 
				
			||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlFX2ZvcmdlX3Rlc3QvJUUzJFTgwJTkwQVJDJUUzJTgwJTkxXzIwMjJfMTJfMTMubndk');//new ARC
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlFX2ZvcmdlX3Rlc3QvJUUzJFTgwJTkwQVJDJUUzJTgwJTkxXzIwMjJfMTJfMTMubndk');//new ARC
 | 
				
			||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxXzIwMjJfMTJfMTMubndj');//new MEP
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxXzIwMjJfMTJfMTMubndj');//new MEP
 | 
				
			||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwQVJDJUUzJTgwJTkxJUU1JTg1JUE4JUU2JUEzJTlGXzIwMjJfMTJfMTMubndj');//全棟 ARC
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwQVJDJUUzJTgwJTkxJUU1JTg1JUE4JUU2JUEzJTlGXzIwMjJfMTJfMTMubndj');//全棟 ARC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //0218
 | 
				
			||||||
 | 
					            // 感測器修正
 | 
				
			||||||
 | 
					            //launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjE4Lm53ZA")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 0221 電梯細節 30
 | 
				
			||||||
 | 
					            //launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyMS5ud2Q")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 0222 電梯 30
 | 
				
			||||||
 | 
					            //launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyMi5ud2Q")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 0224 電梯 30
 | 
				
			||||||
 | 
					            launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyNC5ud2Q")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 0221 WSP
 | 
				
			||||||
 | 
					            //launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvQmFucWlhbyUyMFRhaXBlaSUyME1haW4lMjBPZmZpY2UtQUxMXzAyMjEubndk")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        function move1Floor() {
 | 
					        function move1Floor() {
 | 
				
			||||||
@ -395,6 +408,8 @@
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        function importDevCor() {
 | 
					        function importDevCor() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //console.log(tagIdDevList)
 | 
				
			||||||
            ImportDevForCor();
 | 
					            ImportDevForCor();
 | 
				
			||||||
            ImportForgeRoom();
 | 
					            ImportForgeRoom();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -268,10 +268,9 @@ function onDocumentLoadSuccess(doc) {
 | 
				
			|||||||
        //    })
 | 
					        //    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //})
 | 
					        //})
 | 
				
			||||||
 | 
					 | 
				
			||||||
      allDbIdsStr.forEach((dbId) => {
 | 
					      allDbIdsStr.forEach((dbId) => {
 | 
				
			||||||
        curDbId = parseInt(dbId);
 | 
					        curDbId = parseInt(dbId);
 | 
				
			||||||
        viewer.getProperties(curDbId, function (e) {
 | 
					          viewer.getProperties(curDbId, function (e) {
 | 
				
			||||||
          e.properties.forEach(function (item) {
 | 
					          e.properties.forEach(function (item) {
 | 
				
			||||||
            if (item.displayName == "【tag_id】") { // Tag_name tag_id 【tag_id】
 | 
					            if (item.displayName == "【tag_id】") { // Tag_name tag_id 【tag_id】
 | 
				
			||||||
              if (item.displayValue != "") {
 | 
					              if (item.displayValue != "") {
 | 
				
			||||||
@ -297,21 +296,69 @@ function onDocumentLoadSuccess(doc) {
 | 
				
			|||||||
                  //console.log("position: (" + (position.x).toFixed(2) + ", " + (position.y).toFixed(2) + ", " + (position.z).toFixed(2) + ")");
 | 
					                  //console.log("position: (" + (position.x).toFixed(2) + ", " + (position.y).toFixed(2) + ", " + (position.z).toFixed(2) + ")");
 | 
				
			||||||
                  //console.log("--------------------------------------------------");
 | 
					                  //console.log("--------------------------------------------------");
 | 
				
			||||||
                  ////}
 | 
					                  ////}
 | 
				
			||||||
                  tagIdDevList.push({ device_number: item.displayValue, device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }', forge_dbid: e.dbId, room_name: "" });
 | 
					                    tagIdDevList.push(
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            device_number: item.displayValue,
 | 
				
			||||||
 | 
					                            device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
 | 
				
			||||||
 | 
					                            forge_dbid: e.dbId, room_name: ""
 | 
				
			||||||
 | 
					                        });
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            }
 | 
					              }
 | 
				
			||||||
            if (item.displayName == "【room_id】") {
 | 
					
 | 
				
			||||||
              tagIdDevList = tagIdDevList.map(tagItem => {
 | 
					              if (item.displayName == "【room_id】") {
 | 
				
			||||||
                if (tagItem.forge_dbid === e.dbId) {
 | 
					                  tagIdDevList = tagIdDevList.map(tagItem => {
 | 
				
			||||||
                  tagItem = { ...tagItem, room_name: item.displayValue }
 | 
					                      if (tagItem.forge_dbid === e.dbId) {
 | 
				
			||||||
                }
 | 
					                          tagItem = { ...tagItem, room_name: item.displayValue }
 | 
				
			||||||
                return tagItem
 | 
					                      }
 | 
				
			||||||
              })
 | 
					                      return tagItem
 | 
				
			||||||
            }
 | 
					                  })
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              if (item.displayName == "Group_id" && item.displayValue !== '') {
 | 
				
			||||||
 | 
					                  //取得座標
 | 
				
			||||||
 | 
					                  let bounds = new THREE.Box3();
 | 
				
			||||||
 | 
					                  instanceTree.enumNodeFragments(e.dbId, (fragId) => {
 | 
				
			||||||
 | 
					                      let box = new THREE.Box3();
 | 
				
			||||||
 | 
					                      fragList.getWorldBounds(fragId, box);
 | 
				
			||||||
 | 
					                      bounds.union(box);
 | 
				
			||||||
 | 
					                  }, true);
 | 
				
			||||||
 | 
					                  var position = bounds.center();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  tagIdDevList.push({
 | 
				
			||||||
 | 
					                      device_number: item.displayValue,
 | 
				
			||||||
 | 
					                      //device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
 | 
				
			||||||
 | 
					                      forge_dbid: e.dbId,
 | 
				
			||||||
 | 
					                      room_name: ""
 | 
				
			||||||
 | 
					                  })
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              if (item.displayName == "Tag_name" && item.displayValue !== '') {
 | 
				
			||||||
 | 
					                  //取得座標
 | 
				
			||||||
 | 
					                  let bounds = new THREE.Box3();
 | 
				
			||||||
 | 
					                  instanceTree.enumNodeFragments(e.dbId, (fragId) => {
 | 
				
			||||||
 | 
					                      let box = new THREE.Box3();
 | 
				
			||||||
 | 
					                      fragList.getWorldBounds(fragId, box);
 | 
				
			||||||
 | 
					                      bounds.union(box);
 | 
				
			||||||
 | 
					                  }, true);
 | 
				
			||||||
 | 
					                  var position = bounds.center();
 | 
				
			||||||
 | 
					                  if (tagIdDevList.some(item => item.forge_dbid === e.dbId)) {
 | 
				
			||||||
 | 
					                      tagIdDevList.find(item => item.forge_dbid === e.dbId).node = {
 | 
				
			||||||
 | 
					                          device_number: item.displayValue,
 | 
				
			||||||
 | 
					                          device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
 | 
				
			||||||
 | 
					                          forge_dbid: e.dbId,
 | 
				
			||||||
 | 
					                          room_name: ""
 | 
				
			||||||
 | 
					                      }
 | 
				
			||||||
 | 
					                  } else {
 | 
				
			||||||
 | 
					                      tagIdDevList.push({
 | 
				
			||||||
 | 
					                          device_number: item.displayValue,
 | 
				
			||||||
 | 
					                          device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
 | 
				
			||||||
 | 
					                          forge_dbid: e.dbId,
 | 
				
			||||||
 | 
					                          room_name: ""
 | 
				
			||||||
 | 
					                      })
 | 
				
			||||||
 | 
					                  }
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
        })
 | 
					          })
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //---------------------- end ---------------------------------------------------
 | 
					        //---------------------- end ---------------------------------------------------
 | 
				
			||||||
 | 
				
			|||||||
@ -299,7 +299,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			pageAct.alr_startdate = $("#alr_startdate").val();
 | 
								pageAct.alr_startdate = $("#alr_startdate").val();
 | 
				
			||||||
			pageAct.alr_enddate = $("#alr_enddate").val();
 | 
								pageAct.alr_enddate = $("#alr_enddate").val();
 | 
				
			||||||
			getData();
 | 
								pageAct.SysType = 'all';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (!first) getData();
 | 
				
			||||||
 | 
								else selAllSysVal($('#selAllSys'))
 | 
				
			||||||
 | 
								// getData();
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		onEvent('change', '#alr_startdate, #alr_enddate', function () {
 | 
							onEvent('change', '#alr_startdate, #alr_enddate', function () {
 | 
				
			||||||
@ -551,20 +555,20 @@
 | 
				
			|||||||
					if (i2 == 0 && i == 0) {
 | 
										if (i2 == 0 && i == 0) {
 | 
				
			||||||
						firstMain = v.main_system_tag;
 | 
											firstMain = v.main_system_tag;
 | 
				
			||||||
						firstSub = v2.sub_system_tag;
 | 
											firstSub = v2.sub_system_tag;
 | 
				
			||||||
 | 
											console.log(v.main_system_tag, v2.sub_system_tag)
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
 | 
					 | 
				
			||||||
			if (pageAct.mainStatus) {
 | 
								if (pageAct.mainStatus) {
 | 
				
			||||||
				$('#alr_mainList').html(mainStrHtml);
 | 
									$('#alr_mainList').html(mainStrHtml);
 | 
				
			||||||
				$('#alr_subList').html(subStrHtml);
 | 
									$('#alr_subList').html(subStrHtml);
 | 
				
			||||||
 | 
									console.log($('input[data-type=main][id=' + firstMain + ']'))
 | 
				
			||||||
				$('input[data-type=main][id=' + firstMain + ']').click();
 | 
									$('input[data-type=main][id=' + firstMain + ']').click();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else {
 | 
								else {
 | 
				
			||||||
				$('#alr_mainList').html(subStrHtml);
 | 
									$('#alr_mainList').html(subStrHtml);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
								// $('input[data-type=sub][id=' + firstSub + ']').click();
 | 
				
			||||||
			$('input[data-type=sub][id=' + firstSub + ']').click();
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		ytAjax = new YourTeam.Ajax(url, objSendData, success, null, "POST").send();
 | 
							ytAjax = new YourTeam.Ajax(url, objSendData, success, null, "POST").send();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -584,6 +588,7 @@
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
			$(elem).html('取消全選');
 | 
								$(elem).html('取消全選');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			pageAct.SysType = 'all';
 | 
								pageAct.SysType = 'all';
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
@ -643,6 +648,7 @@
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	function refTable(data) {
 | 
						function refTable(data) {
 | 
				
			||||||
 | 
							console.log(data)
 | 
				
			||||||
		let tag = "#alertTable";
 | 
							let tag = "#alertTable";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		$.each(data, function (i, v) {
 | 
							$.each(data, function (i, v) {
 | 
				
			||||||
@ -671,7 +677,7 @@
 | 
				
			|||||||
				"title": "異常ID",
 | 
									"title": "異常ID",
 | 
				
			||||||
				"data": "uuid",
 | 
									"data": "uuid",
 | 
				
			||||||
				render: (data) => {
 | 
									render: (data) => {
 | 
				
			||||||
					return data.split("-")[0]
 | 
										return data.$val ? data.$val.split("-")[0] : data.split("-")[0]
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@ -736,6 +742,7 @@
 | 
				
			|||||||
		ytAjax = new YourTeam.Ajax(url, objSendData, function (rel) {
 | 
							ytAjax = new YourTeam.Ajax(url, objSendData, function (rel) {
 | 
				
			||||||
			if (rel.code == "0000")
 | 
								if (rel.code == "0000")
 | 
				
			||||||
				a = rel.data;
 | 
									a = rel.data;
 | 
				
			||||||
 | 
								// console.log(rel)
 | 
				
			||||||
		}, null, "POST").send();
 | 
							}, null, "POST").send();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return a;
 | 
							return a;
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -634,7 +634,7 @@
 | 
				
			|||||||
					"title": "異常代號",
 | 
										"title": "異常代號",
 | 
				
			||||||
					"data": "error_code",
 | 
										"data": "error_code",
 | 
				
			||||||
					render: (data) => {
 | 
										render: (data) => {
 | 
				
			||||||
						return data?.split('-')[0];
 | 
											return data?.split('-')[0] || '';
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
@ -748,6 +748,13 @@
 | 
				
			|||||||
					"title": "位置",
 | 
										"title": "位置",
 | 
				
			||||||
					"data": "location",
 | 
										"data": "location",
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"title": "異常代號",
 | 
				
			||||||
 | 
										"data": "error_code",
 | 
				
			||||||
 | 
										render: (data) => {
 | 
				
			||||||
 | 
											return data?.split('-')[0] || '';
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					"title": "表單號",
 | 
										"title": "表單號",
 | 
				
			||||||
					"data": "formId",
 | 
										"data": "formId",
 | 
				
			||||||
 | 
				
			|||||||
@ -1014,6 +1014,7 @@
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        //現在樓層
 | 
					        //現在樓層
 | 
				
			||||||
        if (data.point_name == "CP") {
 | 
					        if (data.point_name == "CP") {
 | 
				
			||||||
 | 
					            //console.log("電梯樓層", matchDevice.device_number, data.value)
 | 
				
			||||||
            $(`#${matchDevice.device_number}_card [name=curFloor]`).text(data.value);
 | 
					            $(`#${matchDevice.device_number}_card [name=curFloor]`).text(data.value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1897,10 +1898,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            /*console.log(floChart)*/
 | 
					            /*console.log(floChart)*/
 | 
				
			||||||
            floChart.getZr().on('click', function (params) {
 | 
					            floChart.getZr().on('click', function (params) {
 | 
				
			||||||
                console.log("click", params);
 | 
					                // console.log("click", params);
 | 
				
			||||||
                var pixelPoint = [params.offsetX, params.offsetY];
 | 
					                var pixelPoint = [params.offsetX, params.offsetY];
 | 
				
			||||||
                var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint);
 | 
					                var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint);
 | 
				
			||||||
                console.log(dataPoint);
 | 
					                // console.log(dataPoint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                temp_device_on_floor_map = [{
 | 
					                temp_device_on_floor_map = [{
 | 
				
			||||||
                    device_guid: selected_temp_device.device_guid,
 | 
					                    device_guid: selected_temp_device.device_guid,
 | 
				
			||||||
@ -2412,7 +2413,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // 設置 模型隱藏或透明
 | 
					    // 設置 模型隱藏或透明
 | 
				
			||||||
    function setInviForge(type, devDbIds) {
 | 
					    function setInviForge(type, devDbIds) {
 | 
				
			||||||
        console.log("devDbIds", devDbIds)
 | 
					        // console.log("devDbIds", devDbIds)
 | 
				
			||||||
        if (type == "Hide") {
 | 
					        if (type == "Hide") {
 | 
				
			||||||
            hideAllObjects(devDbIds);
 | 
					            hideAllObjects(devDbIds);
 | 
				
			||||||
        } else if (type == "Opacity") {
 | 
					        } else if (type == "Opacity") {
 | 
				
			||||||
 | 
				
			|||||||
@ -397,7 +397,7 @@
 | 
				
			|||||||
            allDevList.forEach(({ device_nodes }) => {
 | 
					            allDevList.forEach(({ device_nodes }) => {
 | 
				
			||||||
                subDevDbId = [...subDevDbId, ...device_nodes.map(n => n.forge_dbid)]
 | 
					                subDevDbId = [...subDevDbId, ...device_nodes.map(n => n.forge_dbid)]
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
 | 
					            //console.log(devDbIds, subDevDbId)
 | 
				
			||||||
            // 從資料庫設定不可視模型的類型,若沒有取道該小類不可視類型,則套用資料庫設定預設類型
 | 
					            // 從資料庫設定不可視模型的類型,若沒有取道該小類不可視類型,則套用資料庫設定預設類型
 | 
				
			||||||
            if (forgeInvType) {
 | 
					            if (forgeInvType) {
 | 
				
			||||||
                setInviForge(forgeInvType, [...devDbIds, ...subDevDbId]);
 | 
					                setInviForge(forgeInvType, [...devDbIds, ...subDevDbId]);
 | 
				
			||||||
@ -499,6 +499,8 @@
 | 
				
			|||||||
            if (pageAct.sysSubTag == "W2") {
 | 
					            if (pageAct.sysSubTag == "W2") {
 | 
				
			||||||
                // console.log("@@",pageAct, pageAct.sub_system_tag)
 | 
					                // console.log("@@",pageAct, pageAct.sub_system_tag)
 | 
				
			||||||
                getWaterNodeId(viewer);
 | 
					                getWaterNodeId(viewer);
 | 
				
			||||||
 | 
					            } else if (pageAct.sysSubTag == "E1") {
 | 
				
			||||||
 | 
					                getE1NodeId(viewer)
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }, () => {
 | 
					        }, () => {
 | 
				
			||||||
@ -531,6 +533,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 高壓配電盤染色
 | 
				
			||||||
 | 
					    function getE1NodeId() {
 | 
				
			||||||
 | 
					        viewer.model.search("高壓電力", (nodeIds) => {
 | 
				
			||||||
 | 
					            // console.log("2",nodeIds)
 | 
				
			||||||
 | 
					            viewer.show(nodeIds)
 | 
				
			||||||
 | 
					        }, (e) => { console.log(e) })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function getHotspotPoint(callback = null) {
 | 
					    function getHotspotPoint(callback = null) {
 | 
				
			||||||
        let url = baseApiUrl + "/api/GetDevForCor";
 | 
					        let url = baseApiUrl + "/api/GetDevForCor";
 | 
				
			||||||
        let sendData = {
 | 
					        let sendData = {
 | 
				
			||||||
@ -539,6 +550,7 @@
 | 
				
			|||||||
            "device_system_tag": pageAct.sysMainTag,
 | 
					            "device_system_tag": pageAct.sysMainTag,
 | 
				
			||||||
            "device_name_tag": pageAct.sysSubTag,
 | 
					            "device_name_tag": pageAct.sysSubTag,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        //console.log(sendData)
 | 
				
			||||||
        objSendData.Data = sendData;
 | 
					        objSendData.Data = sendData;
 | 
				
			||||||
        ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
 | 
					        ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
 | 
				
			||||||
            if (!res || res.code != "0000" || !res.data) {
 | 
					            if (!res || res.code != "0000" || !res.data) {
 | 
				
			||||||
@ -556,6 +568,7 @@
 | 
				
			|||||||
                    myDataList.push(item);
 | 
					                    myDataList.push(item);
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                //console.log("1", myDataList)
 | 
				
			||||||
                setHotspotPoint(myDataList);
 | 
					                setHotspotPoint(myDataList);
 | 
				
			||||||
                if (pageAct.sysMainTag == "LT") {
 | 
					                if (pageAct.sysMainTag == "LT") {
 | 
				
			||||||
                    setLightPoint(myDataList);
 | 
					                    setLightPoint(myDataList);
 | 
				
			||||||
@ -567,7 +580,7 @@
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function setHotspotPoint(myDataList = []) {
 | 
					    function setHotspotPoint(myDataList = []) {
 | 
				
			||||||
        // console.log(myDataList)
 | 
					         //console.log("2",myDataList)
 | 
				
			||||||
        getHopspotPoint(myDataList);
 | 
					        getHopspotPoint(myDataList);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -603,11 +616,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    var parentEle = "";
 | 
					    var parentEle = "";
 | 
				
			||||||
    onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) {
 | 
					    onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) {
 | 
				
			||||||
        console.log("aaa", obj)
 | 
					 | 
				
			||||||
        forgeUnFocusAll();
 | 
					        forgeUnFocusAll();
 | 
				
			||||||
        let position = [obj.event.target.toolController.lastClickX - 100, obj.event.target.toolController.lastClickY - 100];
 | 
					        let position = [obj.event.target.toolController.lastClickX - 100, obj.event.target.toolController.lastClickY - 100];
 | 
				
			||||||
        let devObj = obj.myData;
 | 
					        let devObj = obj.myData;
 | 
				
			||||||
        let name = allDevList.filter(x => x.device_guid == devObj.device_guid)[0]?.full_name;
 | 
					        let name = allDevList.filter(x => x.device_guid == devObj.device_guid)[0]?.full_name || devObj.full_name;
 | 
				
			||||||
        devObj.full_name = name;
 | 
					        devObj.full_name = name;
 | 
				
			||||||
        parentEle = crePosPopover(position, devObj);
 | 
					        parentEle = crePosPopover(position, devObj);
 | 
				
			||||||
        $(parentEle).click();
 | 
					        $(parentEle).click();
 | 
				
			||||||
 | 
				
			|||||||
@ -300,10 +300,10 @@ class elevator3D {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            fragProxyZ = fragProxy.position.z;
 | 
					            fragProxyZ = fragProxy.position.z;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (nodeId === 13777) {
 | 
					            // 改變感測器熱點位置
 | 
				
			||||||
                // 改變感測器熱點位置
 | 
					            this.sensorObjs && this.sensorObjs[0]?.changePos(nodeId + 2, fragProxyZ)
 | 
				
			||||||
                this.sensorObjs && this.sensorObjs[0]?.changePos(nodeId + 2, fragProxyZ)
 | 
					            // if(nodeId === 15200) {
 | 
				
			||||||
            }
 | 
					            // }
 | 
				
			||||||
            fragProxy.updateAnimTransform()
 | 
					            fragProxy.updateAnimTransform()
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -798,7 +798,7 @@ async function addHotPoint(data) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    const viewableData = new DataVizCore.ViewableData();
 | 
					    const viewableData = new DataVizCore.ViewableData();
 | 
				
			||||||
    viewableData.spriteSize = 24; // Sprites as points of size 24 x 24 pixels
 | 
					    viewableData.spriteSize = 24; // Sprites as points of size 24 x 24 pixels
 | 
				
			||||||
 | 
					    console.log()
 | 
				
			||||||
    myDataList.forEach((myData, index) => {
 | 
					    myDataList.forEach((myData, index) => {
 | 
				
			||||||
        const dbId = 10 + index;
 | 
					        const dbId = 10 + index;
 | 
				
			||||||
        const myPosition = myData.position;
 | 
					        const myPosition = myData.position;
 | 
				
			||||||
 | 
				
			|||||||
@ -751,7 +751,7 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                        @device_name_tag = p.device_name_tag,
 | 
					                        @device_name_tag = p.device_name_tag,
 | 
				
			||||||
                        @device_floor_tag = p.device_floor_tag
 | 
					                        @device_floor_tag = p.device_floor_tag
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                    var d = await backendRepository.GetAllAsync<DevForCor>($@"select device_guid,device_number,device_floor_tag,device_coordinate_3d,forge_dbid
 | 
					                    var d = await backendRepository.GetAllAsync<DevForCor>($@"select device_guid,device_number,device_floor_tag,device_coordinate_3d,forge_dbid, full_name
 | 
				
			||||||
                                                                                from device where deleted = 0 and device_area_tag = @device_area_tag and device_building_tag = @device_building_tag 
 | 
					                                                                                from device where deleted = 0 and device_area_tag = @device_area_tag and device_building_tag = @device_building_tag 
 | 
				
			||||||
                                                                                and device_system_tag = @device_system_tag and device_name_tag = @device_name_tag 
 | 
					                                                                                and device_system_tag = @device_system_tag and device_name_tag = @device_name_tag 
 | 
				
			||||||
                                                                                and device_floor_tag = ifnull(@device_floor_tag, device_floor_tag) ", param);
 | 
					                                                                                and device_floor_tag = ifnull(@device_floor_tag, device_floor_tag) ", param);
 | 
				
			||||||
 | 
				
			|||||||
@ -1025,24 +1025,13 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <param name="ofl"></param>
 | 
					        /// <param name="ofl"></param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns></returns>
 | 
				
			||||||
        public async Task<ApiResult<object>> OpeRecListAllTime([FromBody] OperationFindList ofl)
 | 
					        public async Task<ApiResult<object>> OpeRecListAllTime()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ApiResult<object> apiResult = new ApiResult<object>();
 | 
					            ApiResult<object> apiResult = new ApiResult<object>();
 | 
				
			||||||
            List<Operation_Record> orl = new List<Operation_Record>();
 | 
					        
 | 
				
			||||||
            string sWhere = "";
 | 
					            string sWhere = "";
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (ofl.work_type != 1 && ofl.work_type != 2)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    apiResult.Code = "0001";
 | 
					 | 
				
			||||||
                    apiResult.Msg = "無此項目類別";
 | 
					 | 
				
			||||||
                    return apiResult;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (ofl.serial_number != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    sWhere += $@" and opr.formId like '%{ofl.serial_number}%'";
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                var sqlString = $@"select distinct(error_code) ,opr.status, concat(d.device_floor_tag, ' ', d.full_name) as device_name, ui.full_name as user_full_name
 | 
					                var sqlString = $@"select distinct(error_code) ,opr.status, concat(d.device_floor_tag, ' ', d.full_name) as device_name, ui.full_name as user_full_name
 | 
				
			||||||
                                   from operation_record opr
 | 
					                                   from operation_record opr
 | 
				
			||||||
                                   left join device d on opr.fix_do_code = d.device_number and d.deleted = 0 and d.device_area_tag = SUBSTRING_INDEX(opr.fix_do_code, '_', 1)
 | 
					                                   left join device d on opr.fix_do_code = d.device_number and d.deleted = 0 and d.device_area_tag = SUBSTRING_INDEX(opr.fix_do_code, '_', 1)
 | 
				
			||||||
@ -1052,7 +1041,7 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                                   left join userinfo ui on opr.work_person_id = ui.userinfo_guid  and ui.deleted = 0
 | 
					                                   left join userinfo ui on opr.work_person_id = ui.userinfo_guid  and ui.deleted = 0
 | 
				
			||||||
                                   where opr.deleted = 0 and opr.work_type = 2" + sWhere;
 | 
					                                   where opr.deleted = 0 and opr.work_type = 2" + sWhere;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                orl = await backendRepository.GetAllAsync<Operation_Record>(sqlString);
 | 
					                List<Operation_Record> orl = await backendRepository.GetAllAsync<Operation_Record>(sqlString);
 | 
				
			||||||
                int Finished = orl.Where(x => x.status_name == "完成").Count();
 | 
					                int Finished = orl.Where(x => x.status_name == "完成").Count();
 | 
				
			||||||
                int NotFinished = orl.Where(x => x.status_name == "未完成").Count();
 | 
					                int NotFinished = orl.Where(x => x.status_name == "未完成").Count();
 | 
				
			||||||
                object Status = new {finish= Finished, notfinish= NotFinished };
 | 
					                object Status = new {finish= Finished, notfinish= NotFinished };
 | 
				
			||||||
@ -1064,8 +1053,6 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                apiResult.Code = "9999";
 | 
					                apiResult.Code = "9999";
 | 
				
			||||||
                apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
 | 
					                apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
 | 
				
			||||||
                string json = System.Text.Json.JsonSerializer.Serialize(ofl);
 | 
					 | 
				
			||||||
                Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
 | 
					 | 
				
			||||||
                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
					                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -147,6 +147,7 @@ namespace FrontendWebApi.Models
 | 
				
			|||||||
        public string device_number { get; set; }
 | 
					        public string device_number { get; set; }
 | 
				
			||||||
        public string device_floor_tag { get; set; }
 | 
					        public string device_floor_tag { get; set; }
 | 
				
			||||||
        public string device_coordinate_3d { get; set; }
 | 
					        public string device_coordinate_3d { get; set; }
 | 
				
			||||||
 | 
					        public string full_name { get; set; }
 | 
				
			||||||
        public int? forge_dbid { get; set; }
 | 
					        public int? forge_dbid { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user