ningshuxia
2024-04-09 03c3b824872e688af2b42f226175fb0f6f907c1a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
using DevExpress.XtraBars;
using System.Data;
 
namespace ISupply.WinFrm.Main.Map
{
    public partial class MapMgr : DocumentPage
    {
        public MapMgr()
        {
            this.PageTitle.Caption = "首页总览";
            this._pageOperateInfo = "首页总览";
            InitializeComponent();
            InitTreeList();
            BindHtml();
            this.webView21.WebMessageReceived += WebMessageReceived;
        }
 
        private List<Model.Building> residentials = new List<Model.Building>();
 
        private void InitTreeList()
        {
            var data = GetData();
            data.Add(new Model.Building()
            {
                ID = 3,
                Name = "宝山",
                Dist = "上海",
                ParentID = -1
            });
            this.residentials = data;
            this.treeList1.Columns.Add(new DevExpress.XtraTreeList.Columns.TreeListColumn { FieldName = "Name", Caption = "所有小区", Width = 170, VisibleIndex = 0 });
            this.treeList1.DataSource = residentials;
            this.treeList1.RefreshDataSource();
            //this.treeList1.ExpandAll();
        }
 
        private void WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            var j = JsonHelper.Json2Object<FixationReceivedViewModel>(e.WebMessageAsJson);
            switch (j.Oper)
            {
                case "loadCompleted":
                    BindData();
                    break;
                case "showModel":
                    var o = JsonHelper.Json2Object<ModelViewModel>(j.Json);
                    if (o.Model == "3d")
                    {
                        new D3ModelDialog().Show();
                    }
                    else if (o.Model == "2d")
                    {
                        /* var ldg = new D2ModelDialog();
                         ldg.Show();
                         ldg.InitData(long.Parse(o.Data.FID), o.Data.Name);*/
 
                        //ldg.InitMap();
                    }
                    break;
            }
        }
 
        private void BindHtml()
        {
            this.webView21.Source = new Uri(AppDomain.CurrentDomain.BaseDirectory + "/web/html/index.html");
        }
 
        private List<Model.Building> GetData()
        {
            return new BLL.Building().GetAll().Where(c => c.Dist == "宝山").ToList();
        }
 
        private void BindData()
        {
            var list = GetData();
            Send(new
            {
                oper = "setData",
                data = JsonHelper.Object2Json(list)
            });
        }
 
        private void Send(object obj)
        {
            webView21.CoreWebView2.PostWebMessageAsJson(JsonHelper.Object2Json(obj));
        }
 
        private void ribbon_ItemClick(object sender, ItemClickEventArgs e)
        {
            var button = e.Item;
            var tagStr = e.Item.Tag == null ? string.Empty : button.Tag.ToString();
            switch (tagStr)
            {
                case "Refresh":
                    BindHtml();
                    this.webView21.Reload();
                    break;
            }
        }
 
        private void treeList1_DoubleClick(object sender, EventArgs e)
        {
            if (this.treeList1.Selection.Count > 0)
            {
                var id = long.Parse(this.treeList1.Selection[0].GetValue("ID").ToString());
                var m = new BLL.Building().GetByID(id);
                //var model = new ResidentialWebViewModel();
                var facility = new BLL.Facilities().GetByBuildingID(id);
                Send(new
                {
                    oper = "setMaker",
                    data = JsonHelper.Object2Json(new { model = m, facility = facility })
                });
            }
        }
    }
}