123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- window.grendCAD = (function grendCAD() {
- let initFloor;
- let initScript;
- let initDOM;
- let point, dire;
- window.cad = {
- setSign: function (p, d) {
- point = p;
- dire = d;
- },
- };
- function loadScript(cb) {
- if (initScript) return cb();
- let $script = document.createElement("script");
- $script.src = "//www.4dmodel.com/CAD/bundle.js";
- $script.onload = function () {
- initScript = true;
- cb();
- };
- document.documentElement.appendChild($script);
- }
- function loadDOM($parent) {
- if (initDOM) return initDOM;
- let $layer = document.createElement("div");
- let $cad = document.createElement("div");
- $layer.className = "cad";
- $cad.id = "cad";
- $layer.appendChild($cad);
- let style = document.createElement("style");
- style.innerHTML = `
- .cad {
- position: absolute;
- right: 0px;
- top:110px;
- width: 140px;
- height: 140px;
- background: rgba(0, 0, 0, .3);
- border-radius: 5px;
- }
- .cad > div {
- width: 100%;
- height: 100%;
- }
- `;
- document.documentElement.appendChild(style);
- $("body").append($layer);
- $parent.appendChild(style);
- $parent.appendChild($layer);
- return $layer;
- }
- function setStyle(signColor, borderColor, borderWidth) {
- cad.setDefaultPointStyle({
- fillColor: "rgba(0,0,0,0)",
- storkeColor: "rgba(0,0,0,0)",
- });
- console.log(borderWidth);
- cad.setDefaultLineStyle({
- width: borderWidth,
- color: borderColor,
- });
- cad.setDefaultSignStyle({
- color: signColor,
- });
- }
- return function (floor, $parent, signColor, borderColor, borderWidth) {
- if (initFloor) {
- console.log("cache");
- return setStyle(signColor, borderColor, borderWidth);
- }
- console.log("load");
- initFloor = floor;
- loadScript(function () {
- let $layer = loadDOM($parent);
- $layer.style.visibility = "hidden";
- window.cad = structureCAD({
- data: {
- block: [],
- column: [],
- door: [],
- hole: [],
- segment: [],
- "vertex-xy": [],
- "vertex-z": [],
- },
- layer: $layer.querySelector("#cad"),
- edit: false,
- });
- setStyle(signColor, borderColor, borderWidth);
- cad.hideDire();
- cad.hideGauge();
- console.log("loadData");
- cad.loadData(initFloor);
- if (point && dire) {
- window.cad.setSign(point, dire);
- }
- $layer.style.visibility = "visible";
- });
- };
- })();
- $.ajax({
- url: g_Prefix + "data/" + window.number + "/someData.json" + "?" + Date.now(),
- method: "GET",
- success(data) {
- if (!data.showCad) return;
- $.ajax({
- url: "//super.4dage.com/data/" + window.number + "/floor.json",
- method: "GET",
- success(res) {
- grendCAD(
- res,
- document.querySelector("body"),
- data.cadSignColor,
- data.cadBorderColor,
- data.cadBorderWidth
- );
- },
- });
- },
- });
|