pengjing před 1 rokem
rodič
revize
4c0896a6fd
32 změnil soubory, kde provedl 1011 přidání a 1551 odebrání
  1. 2 0
      YLShipBuildLandMap.Entity/BdBuilding.cs
  2. 17 0
      YLShipBuildLandMap.Entity/BdBuildingXyAxis.cs
  3. 43 0
      YLShipBuildLandMap.Entity/ViewModel/Build/BuildingView.cs
  4. 60 0
      YLShipBuildLandMap.Entity/YLShipBuildLandMapContext.cs
  5. 25 0
      YLShipBuildLandMap.Entity/数据导入.cs
  6. 5 0
      YLShipBuildLandMap.IServices/Build/IBuildingService.cs
  7. 45 0
      YLShipBuildLandMap.Services/Build/BuildingService.cs
  8. 14 0
      YLShipBuildLandMap.Web/Controllers/Build/BuildingController.cs
  9. 23 5
      YLShipBuildLandMap.Web/wwwroot/app/main/app.js
  10. 1 1
      YLShipBuildLandMap.Web/wwwroot/app/main/home-tabs.html
  11. 0 39
      YLShipBuildLandMap.Web/wwwroot/app/main/home/employee_find.css
  12. 0 62
      YLShipBuildLandMap.Web/wwwroot/app/main/home/employee_find.html
  13. 0 382
      YLShipBuildLandMap.Web/wwwroot/app/main/home/employee_find.js
  14. 0 34
      YLShipBuildLandMap.Web/wwwroot/app/main/home/m_department.html
  15. 0 17
      YLShipBuildLandMap.Web/wwwroot/app/main/home/m_employee.html
  16. 0 34
      YLShipBuildLandMap.Web/wwwroot/app/main/home/m_salaryslipcolumn.html
  17. 0 125
      YLShipBuildLandMap.Web/wwwroot/app/main/home/m_salaryslipcolumn.js
  18. 2 2
      YLShipBuildLandMap.Web/wwwroot/app/main/home/mainindex.html
  19. 1 269
      YLShipBuildLandMap.Web/wwwroot/app/main/home/mainindex.js
  20. 0 18
      YLShipBuildLandMap.Web/wwwroot/app/main/home/mainindex.js.bak
  21. 0 94
      YLShipBuildLandMap.Web/wwwroot/app/main/home/mynotice.html
  22. 0 70
      YLShipBuildLandMap.Web/wwwroot/app/main/home/mynotice.js
  23. 0 10
      YLShipBuildLandMap.Web/wwwroot/app/main/home/reportViewer.html
  24. binární
      YLShipBuildLandMap.Web/wwwroot/app/main/images/coordinate.png
  25. binární
      YLShipBuildLandMap.Web/wwwroot/app/main/images/map_index.png
  26. binární
      YLShipBuildLandMap.Web/wwwroot/app/main/images/map_main.jpg
  27. binární
      YLShipBuildLandMap.Web/wwwroot/app/main/images/search3.png
  28. 79 0
      YLShipBuildLandMap.Web/wwwroot/app/main/map-index.html
  29. 131 0
      YLShipBuildLandMap.Web/wwwroot/app/main/map-index.js
  30. 3 0
      YLShipBuildLandMap.Web/wwwroot/app/main/map.html
  31. 16 0
      YLShipBuildLandMap.Web/wwwroot/app/main/map.js
  32. 544 389
      数据库设计/友联船厂基地分布图管理系统.pdm

+ 2 - 0
YLShipBuildLandMap.Entity/BdBuilding.cs

@@ -10,6 +10,7 @@ namespace YLShipBuildLandMap.Entity
         public BdBuilding()
         {
             BdBuildingFloor = new HashSet<BdBuildingFloor>();
+            BdBuildingXyAxis = new HashSet<BdBuildingXyAxis>();
         }
 
         public Guid BuildingId { get; set; }
@@ -21,5 +22,6 @@ namespace YLShipBuildLandMap.Entity
         public DateTime? ModifyTime { get; set; }
 
         public virtual ICollection<BdBuildingFloor> BdBuildingFloor { get; set; }
+        public virtual ICollection<BdBuildingXyAxis> BdBuildingXyAxis { get; set; }
     }
 }

+ 17 - 0
YLShipBuildLandMap.Entity/BdBuildingXyAxis.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+
+#nullable disable
+
+namespace YLShipBuildLandMap.Entity
+{
+    public partial class BdBuildingXyAxis
+    {
+        public Guid XyaxisId { get; set; }
+        public Guid? BuildingId { get; set; }
+        public int? Xaxis { get; set; }
+        public int? Yaxis { get; set; }
+
+        public virtual BdBuilding Building { get; set; }
+    }
+}

+ 43 - 0
YLShipBuildLandMap.Entity/ViewModel/Build/BuildingView.cs

@@ -10,4 +10,47 @@ namespace YLShipBuildLandMap.Entity.ViewModel.Build
         public string FloorList { get; set; }
 
     }
+
+    public class BuildingXyAxisView : BdBuildingXyAxis 
+    {
+        public string BuildingName { get; set; }
+    }
+
+    public class BuildingXyAxisGroupView
+    {
+        public Guid? BuildingId { get; set; }
+        public string BuildingName { get; set; }
+        public int? MinXAxis { get; set; }
+        public int? MaxXAxis { get; set; }
+        public int? MinYAxis { get; set; }
+        public int? MaxYAxis { get; set; }
+        public int? XCenter 
+        {
+            get
+            {
+                if (MinXAxis.HasValue && MaxXAxis.HasValue)
+                {
+                    return (MinXAxis.Value + MaxXAxis.Value) / 2;
+                }
+                else 
+                {
+                    return 0;
+                }
+            }
+        }
+        public int? YCenter
+        {
+            get
+            {
+                if (MinYAxis.HasValue && MaxYAxis.HasValue)
+                {
+                    return (MinYAxis.Value + MaxYAxis.Value) / 2;
+                }
+                else
+                {
+                    return 0;
+                }
+            }
+        }
+    }
 }

+ 60 - 0
YLShipBuildLandMap.Entity/YLShipBuildLandMapContext.cs

@@ -20,6 +20,7 @@ namespace YLShipBuildLandMap.Entity
         public virtual DbSet<BdBuilding> BdBuilding { get; set; }
         public virtual DbSet<BdBuildingFloor> BdBuildingFloor { get; set; }
         public virtual DbSet<BdBuildingFloorRoom> BdBuildingFloorRoom { get; set; }
+        public virtual DbSet<BdBuildingXyAxis> BdBuildingXyAxis { get; set; }
         public virtual DbSet<BdDepartmentOrServicePoint> BdDepartmentOrServicePoint { get; set; }
         public virtual DbSet<BdDepartmentOrServicePointBmBuildingFloorRoom> BdDepartmentOrServicePointBmBuildingFloorRoom { get; set; }
         public virtual DbSet<SysAnnouncement> SysAnnouncement { get; set; }
@@ -41,6 +42,7 @@ namespace YLShipBuildLandMap.Entity
         public virtual DbSet<SysSystemSysApiScope> SysSystemSysApiScope { get; set; }
         public virtual DbSet<SysUser> SysUser { get; set; }
         public virtual DbSet<SysUserSysRole> SysUserSysRole { get; set; }
+        public virtual DbSet<数据导入> 数据导入 { get; set; }
 
         protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
         {
@@ -135,6 +137,29 @@ namespace YLShipBuildLandMap.Entity
                     .HasConstraintName("FK_BM_Build_Floor_Room_REFERENCE_BM_Build_Floor");
             });
 
+            modelBuilder.Entity<BdBuildingXyAxis>(entity =>
+            {
+                entity.HasKey(e => e.XyaxisId)
+                    .HasName("PK_BD_BUILDING_XY_AXIS");
+
+                entity.ToTable("BD_Building_XY_Axis");
+
+                entity.Property(e => e.XyaxisId)
+                    .ValueGeneratedNever()
+                    .HasColumnName("XYAxisID");
+
+                entity.Property(e => e.BuildingId).HasColumnName("BuildingID");
+
+                entity.Property(e => e.Xaxis).HasColumnName("XAxis");
+
+                entity.Property(e => e.Yaxis).HasColumnName("YAxis");
+
+                entity.HasOne(d => d.Building)
+                    .WithMany(p => p.BdBuildingXyAxis)
+                    .HasForeignKey(d => d.BuildingId)
+                    .HasConstraintName("FK_BD_Building_XY_Axis_REFERENCE_BD_BUILD");
+            });
+
             modelBuilder.Entity<BdDepartmentOrServicePoint>(entity =>
             {
                 entity.HasKey(e => e.DepartmentOrServicePointId)
@@ -659,6 +684,41 @@ namespace YLShipBuildLandMap.Entity
                     .HasConstraintName("FK_Sys_User_Sys_Role_REFERENCE_SYS_USER");
             });
 
+            modelBuilder.Entity<数据导入>(entity =>
+            {
+                entity.HasNoKey();
+
+                entity.Property(e => e.F9).HasMaxLength(255);
+
+                entity.Property(e => e.为必填项)
+                    .HasMaxLength(255)
+                    .HasColumnName("*为必填项");
+
+                entity.Property(e => e.图片).HasMaxLength(255);
+
+                entity.Property(e => e.大楼名)
+                    .HasMaxLength(255)
+                    .HasColumnName("大楼名*");
+
+                entity.Property(e => e.开放时间).HasMaxLength(255);
+
+                entity.Property(e => e.房间号)
+                    .HasMaxLength(255)
+                    .HasColumnName("房间号*");
+
+                entity.Property(e => e.楼层)
+                    .HasMaxLength(255)
+                    .HasColumnName("楼层*");
+
+                entity.Property(e => e.简介).HasMaxLength(255);
+
+                entity.Property(e => e.联系方式).HasMaxLength(255);
+
+                entity.Property(e => e.部门服务点)
+                    .HasMaxLength(255)
+                    .HasColumnName("部门/服务点*");
+            });
+
             OnModelCreatingPartial(modelBuilder);
         }
 

+ 25 - 0
YLShipBuildLandMap.Entity/数据导入.cs

@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+
+#nullable disable
+
+namespace YLShipBuildLandMap.Entity
+{
+    public partial class 数据导入
+    {
+        public string 大楼名 { get; set; }
+        public string 楼层 { get; set; }
+        public string 房间号 { get; set; }
+        public string 部门服务点 { get; set; }
+        public string 开放时间 { get; set; }
+        public string 联系方式 { get; set; }
+        public string 简介 { get; set; }
+        public string 图片 { get; set; }
+        public string F9 { get; set; }
+        public string 为必填项 { get; set; }
+        public Guid? BuildingId { get; set; }
+        public Guid? FloorId { get; set; }
+        public Guid? RoomId { get; set; }
+        public Guid? DepserviceId { get; set; }
+    }
+}

+ 5 - 0
YLShipBuildLandMap.IServices/Build/IBuildingService.cs

@@ -3,6 +3,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Threading.Tasks;
+using YLShipBuildLandMap.Entity;
 using YLShipBuildLandMap.Entity.ViewModel.Build;
 
 namespace YLShipBuildLandMap.Services.Build
@@ -20,5 +21,9 @@ namespace YLShipBuildLandMap.Services.Build
         Task<int> DeleteFloor(Guid buildingFloorId);
 
         Task<int> SaveBuilding(BuildingView data, List<FloorView> floorList, Guid? userId);
+
+        Task<List<BuildingXyAxisView>> GetBuildingXYAxisList(Guid? buildingId);
+
+        Task<List<BuildingXyAxisGroupView>> GetBuildingXyAxisGroupList(Guid? buildingId);
     }
 }

+ 45 - 0
YLShipBuildLandMap.Services/Build/BuildingService.cs

@@ -10,6 +10,8 @@ using System.Linq.Expressions;
 using System.Text;
 using System.Threading.Tasks;
 using Z.EntityFramework.Plus;
+using YLShipBuildLandMap.Entity.ViewModel;
+using YLShipBuildLandMap.Entity.Extensions;
 
 namespace YLShipBuildLandMap.Services.Build
 {
@@ -96,6 +98,7 @@ namespace YLShipBuildLandMap.Services.Build
             await DbContext.BdBuildingFloorRoom.Where(e => roomIdList.Contains(e.BuildingFloorRoomId)).DeleteAsync();
             await DbContext.BdBuildingFloor.Where(e => floorIdList.Contains(e.BuildingFloorId)).DeleteAsync();
             await DbContext.BdBuilding.Where(e => buildingIdList.Contains(e.BuildingId)).DeleteAsync();
+            await DbContext.BdBuildingXyAxis.Where(e => buildingIdList.Contains((Guid)e.BuildingId)).DeleteAsync();
 
             return await this.DbContext.SaveChangesAsync();
         }
@@ -167,5 +170,47 @@ namespace YLShipBuildLandMap.Services.Build
 
             return await this.DbContext.SaveChangesAsync();
         }
+
+        public Task<List<BuildingXyAxisView>> GetBuildingXYAxisList(Guid? buildingId)
+        {
+            Expression<Func<BdBuilding, bool>> exp = e => true;
+
+            exp = exp.AndIf(buildingId.HasValue, e => e.BuildingId == buildingId);
+
+            var query = from b in DbContext.BdBuilding.Where(exp)
+                        join xy in DbContext.BdBuildingXyAxis on b.BuildingId equals xy.BuildingId
+                        select new BuildingXyAxisView 
+                        {
+                            BuildingId = b.BuildingId,
+                            XyaxisId = xy.XyaxisId,
+                            BuildingName = b.Name,
+                            Xaxis = xy.Xaxis,
+                            Yaxis = xy.Yaxis
+                        };
+
+            return Task.FromResult(query.OrderBy(e => e.BuildingName).ThenBy(e => e.Xaxis).ThenBy(e => e.Yaxis).ToList());
+        }
+
+        public Task<List<BuildingXyAxisGroupView>> GetBuildingXyAxisGroupList(Guid? buildingId)
+        {
+            Expression<Func<BdBuilding, bool>> exp = e => true;
+
+            exp = exp.AndIf(buildingId.HasValue, e => e.BuildingId == buildingId);
+
+            var query = from b in DbContext.BdBuilding.Where(exp)
+                        join xy in DbContext.BdBuildingXyAxis on b.BuildingId equals xy.BuildingId
+                        group new { xy } by new { b.BuildingId, b.Name } into g
+                        select new BuildingXyAxisGroupView
+                        {
+                            BuildingId = g.Key.BuildingId,
+                            BuildingName = g.Key.Name,
+                            MinXAxis = g.Min(e => e.xy.Xaxis),
+                            MaxXAxis = g.Max(e => e.xy.Xaxis),
+                            MinYAxis = g.Min(e => e.xy.Yaxis),
+                            MaxYAxis = g.Max(e => e.xy.Yaxis),
+                        };
+
+            return Task.FromResult(query.OrderBy(e => e.BuildingName).ThenBy(e => e.MinXAxis).ThenBy(e => e.MinYAxis).ToList());
+        }
     }
 }

+ 14 - 0
YLShipBuildLandMap.Web/Controllers/Build/BuildingController.cs

@@ -66,5 +66,19 @@ namespace YLShipBuildLandMap.Web.Controllers.Build
             return ResultMessage.Success(await BuildingService.SaveBuilding(data, floorList, LoginUser.Current.UserID));
         }
 
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task<ResultMessage> GetBuildingXYAxisList(Guid? buildingId)
+        {
+            return ResultMessage.Success(await BuildingService.GetBuildingXYAxisList(buildingId));
+        }
+
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task<ResultMessage> GetBuildingXyAxisGroupList(Guid? buildingId)
+        {
+            return ResultMessage.Success(await BuildingService.GetBuildingXyAxisGroupList(buildingId));
+        }
+
     }
 }

+ 23 - 5
YLShipBuildLandMap.Web/wwwroot/app/main/app.js

@@ -69,9 +69,7 @@
                     load: ['$ocLazyLoad', function ($ocLazyLoad) {
                         $ocLazyLoad.load(['css/theme1.css?' + window.sysVersion, 'home-tabs.css?' + window.sysVersion, 'css/gt_style.css?' + window.sysVersion]);
                         return $ocLazyLoad.load(['controllers.js?' + window.sysVersion,
-                        'home-tabs.js?' + window.sysVersion,
-                        'home/employee_find.js?' + window.sysVersion,
-                        'home/m_salaryslipcolumn.js?' + window.sysVersion
+                        'home-tabs.js?' + window.sysVersion
                         ]);
                     }]
                 }
@@ -178,6 +176,26 @@
                         return $ocLazyLoad.load('depOrService/list.js?' + window.sysVersion);
                     }]
                 }
+            }).state("map", {
+                url: "/map",
+                templateUrl: "map.html?" + window.sysVersion,
+                controller: "mapCtrl",
+                resolve: {
+                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
+             
+                        return $ocLazyLoad.load('map.js?' + window.sysVersion);
+                    }]
+                }
+            }).state("map-index", {
+                url: "/map-index",
+                templateUrl: "map-index.html?" + window.sysVersion,
+                controller: "mapIndexCtrl",
+                resolve: {
+                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
+
+                        return $ocLazyLoad.load('map-index.js?' + window.sysVersion);
+                    }]
+                }
             });
 
             if (customerState) {
@@ -201,12 +219,12 @@
             //    connection.start();
             //    $rootScope.istkcon = 1;
             //}
-            $http.get('/api/resource/GetResources').then(
+            /*$http.get('/api/resource/GetResources').then(
                 function (res) {
                     $rootScope.htmlResource = res.data.Data;
                     document.title = $rootScope.htmlResource.Title;
                 }
-            );
+            );*/
             $rootScope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) {
                 if (toState.name == 'homeTabs') {
                     angular.element('.theme-red').css('overflow-y', 'hidden');

+ 1 - 1
YLShipBuildLandMap.Web/wwwroot/app/main/home-tabs.html

@@ -3,7 +3,7 @@
     <div class="flex-header">
         <div class="nav-title">
             <div style=" margin-left:20px;">
-                <img style="width:60px;height:62px;" src="/api/resource/Logo"/>
+                <!--<img style="width:60px;height:62px;" src="/api/resource/Logo"/>-->
             </div>
             <div>
                 <div style=" margin-left: -25px; margin-top: 20px;">

+ 0 - 39
YLShipBuildLandMap.Web/wwwroot/app/main/home/employee_find.css

@@ -1,39 +0,0 @@
-.ef_card {
-    flex:1;
-}
-
-.ef_list {
-    flex-direction:column;
-}
-
-.ef_card .check-text {
-    margin:0 4px;
-}
-
-.ef_panel {
-    border: 1px solid #EDEDED;
-    display: flex;
-    text-align: left;
-    padding: 5px 15px;
-    flex: 1;
-    flex-wrap: wrap;
-}
-.ef_panel  .ef_ch {
-    display: flex;
-    width: 100px;
-    margin-top: 4px;
-    margin-bottom: 4px;
-}
-
-.ef_panel label {
-    min-height: 20px;
-    padding-left: 20px;
-    margin-bottom: 0;
-    font-weight: normal;
-    cursor: pointer;
-}
-
-.ef_employees {
-    height: 120px;
-    overflow-y: auto;
-}

+ 0 - 62
YLShipBuildLandMap.Web/wwwroot/app/main/home/employee_find.html

@@ -1,62 +0,0 @@
-<div class="dj-card ef_list">
-    <div class="ef_card" ng-click="loadData()">
-        <div panel-title data-title="'员工类型'">
-            <div class="table-tool">
-                <span>
-                    <input type="checkbox" ng-click="selectAll(employeeTypeList,$event)"><span class="check-text">全选</span>
-                </span>
-            </div>
-        </div>
-        <div class="ef_panel">
-            <div class="ef_ch" ng-repeat="e in employeeTypeList">
-                <label>
-                    <input ng-model="e.checked" type="checkbox">{{e.Name}}
-                </label>
-            </div>
-        </div>
-    </div>
-    <div class="ef_card" ng-click="loadData()">
-        <div panel-title data-title="'部门选择'">
-            <div class="table-tool">
-                <span ng-repeat="dt in departmentTypeList"><input type="checkbox" ng-click="selectDepartment(dt,$event)"><span class="check-text">所有-{{dt.Name}}</span></span>
-                <span><input type="checkbox" ng-click="selectAll(departmentList,$event)"><span class="check-text">全选</span></span>
-            </div>
-        </div>
-        <div class="ef_panel">
-            <div class="ef_ch" ng-repeat="d in departmentList">
-                <label>
-                    <input ng-model="d.checked" type="checkbox">{{d.DepartmentName}}
-                </label>
-            </div>
-        </div>
-    </div>
-
-    <div class="ef_card" ng-click="loadData()">
-        <div panel-title data-title="'职务'">
-            <div class="table-tool">
-                <input type="checkbox" ng-click="selectAll(employeeTitleList,$event)"><span class="check-text">全选</span>
-            </div>
-        </div>
-        <div class="ef_panel ef_employees">
-            <div class="ef_ch" ng-repeat="t in employeeTitleList">
-                <label>
-                    <input ng-model="t.checked" type="checkbox">{{t.Name}}
-                </label>
-            </div>
-        </div>
-    </div>
-    <div class="ef_card">
-        <div panel-title data-title="'人员选择'">
-            <div class="table-tool">
-                <input type="checkbox" ng-click="selectAll(employees,$event)"><span class="check-text">全选</span>
-            </div>
-        </div>
-        <div class="ef_panel ef_employees">
-            <div class="ef_ch" ng-repeat="eu in employees">
-                <label>
-                    <input ng-model="eu.checked" type="checkbox">{{eu.Name}}
-                </label>
-            </div>
-        </div>
-    </div>
-</div>

+ 0 - 382
YLShipBuildLandMap.Web/wwwroot/app/main/home/employee_find.js

@@ -1,382 +0,0 @@
-(function ($app) {
-    $app.module('ylmis').provider('$employeeFind', function () {
-        this.$get = function ($http, $filter, $q) {
-            var empData = {
-                departmentList: [],
-                departmentTypeList: [],
-                employeeTypeList: [],
-                employeeTitleList: [],
-                getDepartmentList: function () {
-                    $http({
-                        method: 'post',
-                        url: '../../api/salary/department/GetList'
-                    }).then(function (result) {
-                        empData.departmentList.length = 0;
-                        $app.forEach(result.data.Data, function (val) {
-                            empData.departmentList.push(val);
-                            });
-                        
-                    });
-                },
-                getDepartmentType: function () {
-
-                    $http({
-                        method: 'post', url: '../../api/systemsetting/dictionary/GetDicList', data: { code: 'DepartmentType' }
-                    }).then(function (result) {
-                        empData.departmentTypeList.length = 0;
-                        $app.forEach(result.data.Data, function (val) {
-                            empData.departmentTypeList.push(val);
-                        });
-                    });
-                },
-                getEmployeeType: function () {
-
-                    $http({
-                        method: 'post', url: '../../api/systemsetting/dictionary/GetDicList', data: { code: 'EmployeeType' }
-                    }).then(function (result) {
-                        empData.employeeTypeList.length = 0;
-                        $app.forEach(result.data.Data, function (val) {
-                            empData.employeeTypeList.push(val);
-                        });
-                    });
-                },
-                getEmployeeTitle: function () {
-
-                    $http({
-                        method: 'post', url: '../../api/systemsetting/dictionary/GetDicList', data: { code: 'Title' }
-                    }).then(function (result) {
-                        empData.employeeTitleList.length = 0;
-                        $app.forEach(result.data.Data, function (val) {
-                            empData.employeeTitleList.push(val);
-                        });
-                    });
-                },
-                setDataEmployeeDepartment: function (emp) {
-                    var list = $filter('filter')(empData.departmentList, function (x) {
-                        return x.DepartmentId == emp.DepartmentId;
-                    });
-                    if (list.length > 0) {
-                        emp.DataDepartment = list[0];
-                    } else {
-                        emp.DataDepartment = {};
-                    }
-                }, setDataEmployeeTitle: function (emp) {
-                    var list = $filter('filter')(empData.employeeTitleList, function (x) {
-                        return x.Value == emp.Title;
-                    });
-                    if (list.length > 0) {
-                        emp.DataEmployeeTitle = list[0];
-                    } else {
-                        emp.DataEmployeeTitle = {};
-                    }
-                },
-                setDataEmployeeType: function (emp) {
-                    var list = $filter('filter')(empData.employeeTypeList, function (x) {
-                        return x.Value == emp.EmployeeTypeId;
-                    });
-                    if (list.length > 0) {
-                        emp.DataEmployeeType = list[0];
-                    } else {
-                        emp.DataEmployeeType = {};
-                    }
-                },
-                dataInit: function () {
-
-                    this.getDepartmentList();
-                    this.getDepartmentType();
-                    this.getEmployeeType();
-                    this.getEmployeeTitle();
-
-                },
-                loadEmployee: function (params) {
-                    /* 参数实体
-                        {employeeTypeIds: ''
-                         employeeTitleIds: '',
-                         departmentIds: '',
-                         empId:''
-                         } 
-                     */
-                    return $http({
-                        method: 'post', url: '../../api/administrasalary/Allowance/findEmployees',
-                        data: params
-                    });
-                }
-
-            };
-
-            return empData;
-        };
-
-    }).directive('employeeFind', function ($http, $q, $filter, $ocLazyLoad, $employeeFind) {
-
-        $ocLazyLoad.load(['home/employee_find.css?' + window.sysVersion]);
-
-        var directiveObject = {
-            restrict: 'ECA',
-            templateUrl: 'home/employee_find.html',
-            scope: {
-                employees: '='
-            },
-            link: function (scope, element, attr, controller) {
-
-                scope.departmentList = $employeeFind.departmentList;
-                scope.departmentTypeList = $employeeFind.departmentTypeList;
-                scope.employeeTypeList = $employeeFind.employeeTypeList;
-                scope.employeeTitleList = $employeeFind.employeeTitleList;
-               
-
-                scope.selectAll = function (list, $event) {
-                    angular.forEach(list, function (val) {
-                        val.checked = $event.target.checked;
-                    });
-                }
-
-                scope.selectDepartment = function (dt, $event) {
-
-                    var dts = $filter('filter')(scope.$employeeFind.departmentList, { DepartmentTypeId: dt.Value });
-
-                    angular.forEach(dts, function (val) {
-                        val.checked = $event.target.checked;
-                    });
-                }
-
-                scope.loadData = function () {
-
-                    var typeIds = $.map($filter('filter')(scope.employeeTypeList, { checked: true }), function (x) { return x.Value; });
-                    var titleIds = $.map($filter('filter')(scope.employeeTitleList, { checked: true }), function (x) { return x.Value; });
-                    var depareIds = $.map($filter('filter')(scope.departmentList, { checked: true }), function (x) { return x.DepartmentId; });
-
-                    var params = {
-                        employeeTypeIds: typeIds.join(','),
-                        employeeTitleIds: titleIds.join(','),
-                        departmentIds: depareIds.join(',')
-                    };
-                    $employeeFind.loadEmployee(params).then(function (result) {
-
-                        scope.employees.splice(0, scope.employees.length);
-                        angular.forEach(result.data.Data, function (val) {
-
-                            scope.employees.push(val);
-                        });
-
-                    });
-
-                }
-
-                $employeeFind.dataInit();
-                
-            }
-        };
-
-        return directiveObject;
-    }).provider('$department', function () {
-
-        this.$get = function ($modal, $http, $filter, $employeeFind) {
-
-
-
-            var $depart = {
-                selectDeparts: [],
-                show: function (selectDatas) {
-                    $app.forEach(this.departmentList, function (x) {
-                        x.checked = false;
-                    });
-                    this.selectDeparts = selectDatas;
-                    modal.$promise.then(modal.show);
-                },
-                departmentList: [],
-                departmentTypeList: [],
-                getDepartment: function (id) {
-                    var dep = $filter('filter')(this.departmentList, { DepartmentId: id });
-                    if (dep.length > 0) {
-                        return dep[0];
-                    }
-
-                    return null;
-                }
-            };
-
-            var getDepartmentList = function () {
-                $http({
-                    method: 'post',
-                    url: '../../api/salary/department/GetList'
-                }).then(function (result) {
-                    $depart.departmentList = result.data.Data;
-                }, function (resp) {
-
-                });
-            };
-
-            var getDepartmentType = function () {
-
-                $http({
-                    method: 'post', url: '../../api/systemsetting/dictionary/GetDicList', data: { code: 'DepartmentType' }
-                }).then(function (result) {
-                    $depart.departmentTypeList = result.data.Data;
-                });
-            }
-
-            getDepartmentList();
-            getDepartmentType();
-
-            var ctrl = function ($scope) {
-
-                $scope.title = '部门选择';
-                $scope.departmentList = $depart.departmentList;
-                $scope.departmentTypeList = $depart.departmentTypeList;
-
-                $scope.selectAll = function (list, $event) {
-                    angular.forEach(list, function (val) {
-                        val.checked = $event.target.checked;
-                    });
-                }
-
-                $scope.selectDepartment = function (dt, $event) {
-
-                    var dts = $filter('filter')($scope.departmentList, function (x) {
-
-                        return x.DepartmentTypeId == dt.Value;
-                    });
-
-                    angular.forEach(dts, function (val) {
-                        val.checked = $event.target.checked;
-                    });
-                }
-
-                $app.forEach($depart.selectDeparts, function (val) {
-                    var departs = $filter('filter')($scope.departmentList, { DepartmentId: val.DepartmentId });
-                    if (departs.length > 0) {
-                        departs[0].checked = true;
-                    }
-                });
-
-                $scope.depSelected = function () {
-                    $depart.selectDeparts.length = 0;
-                    var dlist = $filter('filter')($scope.departmentList, { checked: true });
-
-                    $app.forEach(dlist, function (val) {
-                        $depart.selectDeparts.push(val);
-                    });
-
-                    $scope.$hide();
-                }
-
-            };
-            ctrl.$inject = ['$scope'];
-
-            var modal = $modal({
-                resolve: {
-                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
-                        $ocLazyLoad.load(['home/employee_find.css?' + window.sysVersion]);
-                    }]
-                },
-                controller: ctrl,
-                templateUrl: 'home/m_department.html',
-                show: false,
-                animation: 'am-fade-and-slide-top'
-            });
-
-
-
-            return $depart;
-        }
-    }).provider('$employee', function () {
-
-        this.$get = function ($modal, $http, $filter, $q, $alert, $employeeFind) {
-            var $empResult = {
-                isMulti: true,
-                $deferred: null,
-                empId:'',
-                selectedEmployee:function() {
-
-                    var deferred = $q.defer();
-                    this.$deferred = deferred;
-                    this.empId = '';
-                    modal.$promise.then(modal.show);
-
-                    return deferred.promise;
-                },
-                getEmployee: function (id) {
-                    if ($employeeFind.departmentList.length == 0) {
-                        $employeeFind.dataInit();
-                    }
-                    var deferred = $q.defer();
-                    var params = {
-                        employeeTypeIds: '',
-                        employeeTitleIds:'',
-                        departmentIds: '',
-                        empId: id
-                    };
-                    $employeeFind.loadEmployee(params).then(function (result) {
-
-                        if (result.data.IsSuccess && result.data.Data.length > 0) {
-                            var empEnt = result.data.Data[0];
-                            $employeeFind.setDataEmployeeDepartment(empEnt);
-                            $employeeFind.setDataEmployeeTitle(empEnt);
-                            $employeeFind.setDataEmployeeType(empEnt);
-                            deferred.resolve(empEnt);
-                        } else {
-                            deferred.reject(null);
-                        }
-                    });
-                    return deferred.promise;
-                }
-            };
-
-            var ctrl = function ($scope) {
-
-                $scope.title = '人员选择';
-                $scope.$own = $empResult;
-                $scope.$deferred = $empResult.$deferred;
-                $scope.employeeIds = [];
-
-                $scope.selectEmployee = function () {
-                   //var a = $scope.employeeIds;
-                    var employees = $filter('filter')($scope.employeeIds, { checked: true });
-
-                    if ((!$empResult.isMulti) && employees.length > 1) {
-                        $alert({
-                            title: '消息:',
-                            content: '只能选择一个员工!',
-                            placement: 'top',
-                            type: 'info',
-                            show: true,
-                            duration: 3,
-                            container:'#m_employee'
-                        });
-                        return;
-                    }
-
-                    $app.forEach(employees, function (val) {
-                        $employeeFind.setDataEmployeeDepartment(val);
-                        $employeeFind.setDataEmployeeTitle(val);
-                        $employeeFind.setDataEmployeeType(val);
-                    });
-
-                    $empResult.$deferred.resolve(employees);
-                    $scope.$hide();
-                };
-
-                if ($empResult.empId != '') {
-
-                }
-
-            };
-            ctrl.$inject = ['$scope'];
-
-            var modal = $modal({
-                resolve: {
-                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
-                        //$ocLazyLoad.load(['home/employee_find.css?' + window.sysVersion]);
-                    }]
-                },
-                controller: ctrl,
-                templateUrl: 'home/m_employee.html',
-                show: false,
-                animation: 'am-fade-and-slide-top'
-            });
-
-            return $empResult;
-        };
-    });
-})(angular);

+ 0 - 34
YLShipBuildLandMap.Web/wwwroot/app/main/home/m_department.html

@@ -1,34 +0,0 @@
-<div class="modal" tabindex="-1" role="dialog">
-    <div class="modal-dialog" style="width: 600px;">
-        <div class="card">
-            <div class="header">
-                <button type="button" class="close" ng-click="$hide()">&times;</button>
-                <h3 class="modal-title">{{title}}</h3>
-            </div>
-            <div activate-input activate-select class="body">
-                <div class="dj-card ef_list">
-                    <div class="ef_card">
-                        <div panel-title data-title="'部门选择'">
-                            <div class="table-tool">
-                                <span ng-repeat="dt in departmentTypeList"><input type="checkbox" ng-click="selectDepartment(dt,$event)"><span class="check-text">所有-{{dt.Name}}</span></span>
-                                <span><input type="checkbox" ng-click="selectAll(departmentList,$event)"><span class="check-text">全选</span></span>
-                            </div>
-                        </div>
-                        <div class="ef_panel">
-                            <div class="ef_ch" ng-repeat="d in departmentList">
-                                <label>
-                                    <input ng-model="d.checked" type="checkbox">{{d.DepartmentName}}
-                                </label>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-
-                <div class="form_foot">
-                    <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
-                    <button type="button" class="btn btn-primary" ng-click="depSelected()">选择</button>
-                </div>
-             </div>
-        </div>
-    </div>
-</div>

+ 0 - 17
YLShipBuildLandMap.Web/wwwroot/app/main/home/m_employee.html

@@ -1,17 +0,0 @@
-<div class="modal" id="m_employee" tabindex="-1" role="dialog">
-    <div class="modal-dialog" style="width: 800px;">
-        <div class="card">
-            <div class="header">
-                <button type="button" class="close" ng-click="$hide()">&times;</button>
-                <h3 class="modal-title">{{title}}</h3>
-            </div>
-            <div activate-input activate-select class="body">
-                <employee-find employees="employeeIds"></employee-find>
-                <div class="form_foot">
-                    <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
-                    <button type="button" class="btn btn-primary" ng-click="selectEmployee()">选择</button>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>

+ 0 - 34
YLShipBuildLandMap.Web/wwwroot/app/main/home/m_salaryslipcolumn.html

@@ -1,34 +0,0 @@
-<div class="modal" tabindex="-1" role="dialog">
-    <div class="modal-dialog" style="width: 600px;">
-        <div class="card">
-            <div class="header">
-                <button type="button" class="close" ng-click="$hide()">&times;</button>
-                <h3 class="modal-title">{{title}}</h3>
-            </div>
-            <div activate-input activate-select class="body">
-                <div class="dj-card ef_list">
-                    <div class="ef_card">
-                        <div panel-title data-title="'薪资项'">
-                            <div class="table-tool">
-                                <span ng-repeat="dt in salaryTypeGroupList"><input type="checkbox" ng-click="selectSalaryType(dt,$event)"><span class="check-text">{{dt.Name}}</span></span>
-                                <span><input type="checkbox" ng-click="selectAll(salaryTypeGroupList,$event)"><span class="check-text">全选</span></span>
-                            </div>
-                        </div>
-                        <div class="ef_panel">
-                            <div class="ef_ch" ng-repeat="d in salarySlipColumnList">
-                                <label>
-                                    <input ng-model="d.checked" type="checkbox">{{d.Name}}
-                                </label>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-
-                <div class="form_foot">
-                    <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
-                    <button type="button" class="btn btn-primary" ng-click="salaryTypeSelected()">选择</button>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>

+ 0 - 125
YLShipBuildLandMap.Web/wwwroot/app/main/home/m_salaryslipcolumn.js

@@ -1,125 +0,0 @@
-(function ($app) {
-    $app.module('ylmis').provider('$salarySlipColumn', function () {
-        this.$get = function ($modal, $http, $filter) {
-            var $salarySlipColumn = {
-                selectedSalarySlipColumn: [],
-                show: function (selectedDatas) {
-                    $app.forEach(this.salarySlipColumnList, function (x) {
-                        x.checked = false;
-                    });
-                    this.selectedSalarySlipColumn = selectedDatas;
-                    modal.$promise.then(modal.show);
-                },
-                salarySlipColumnList: [],
-                salaryTypeGroupList: [],
-                salaryTypeGroupRelationList: [],
-                getSalarySlipColumn: function (id) {
-                    var salarySlipColumn = $filter('filter')(this.salarySlipColumnList, { SalaryTypeId: id });
-                    if (salarySlipColumn.length > 0) {
-                        return salarySlipColumn[0];
-                    }
-
-                    return null;
-                }
-            };
-
-            var getSalarySlipColumnList = function () {
-                $http({
-                    method: 'post',
-                    url: '../../api/administrasalary/Salaryslip/GetSlipColumnOrderList',
-                    data: {}
-                }).then(function (result) {
-                    $salarySlipColumn.salarySlipColumnList = result.data.Data;
-                }, function (resp) {
-
-                });
-            };
-
-            var getSalaryTypeGroup = function () {
-
-                $http({
-                    method: 'post', url: '../../api/systemsetting/dictionary/GetDicList', data: { code: 'SalaryTypeGroup' }
-                }).then(function (result) {
-                    $salarySlipColumn.salaryTypeGroupList = result.data.Data;
-                });
-            }
-
-            var getSalaryTypeGroupRelation = function () {
-                $http({
-                    method: 'post',
-                    url: '../../api/administrasalary/Salaryslip/GetSalaryTypeGroupRelationList',
-                    data: {}
-                }).then(function (result) {
-                    $salarySlipColumn.salaryTypeGroupRelationList = result.data.Data;
-                }, function (resp) {
-
-                });
-            };
-
-            getSalarySlipColumnList();
-            getSalaryTypeGroup();
-            getSalaryTypeGroupRelation();
-
-            var ctrl = function ($scope) {
-
-                $scope.title = '选择薪资项';
-                $scope.salarySlipColumnList = $salarySlipColumn.salarySlipColumnList;
-                $scope.salaryTypeGroupList = $salarySlipColumn.salaryTypeGroupList;
-                $scope.salaryTypeGroupRelationList = $salarySlipColumn.salaryTypeGroupRelationList;
-
-                $scope.selectAll = function (list, $event) {
-                    angular.forEach(list, function (val) {
-                        val.checked = $event.target.checked;
-                    });
-                }
-
-                $scope.selectSalaryType = function (dt, $event) {
-                    var relations = $filter('filter')($scope.salaryTypeGroupRelationList, function (x) { return x.SalaryTypeGroupId == dt.Value });
-                    var slipColumns = $filter('filter')($scope.salarySlipColumnList, function (x) {
-                        return $filter('filter')(relations, function (w) { return x.SalaryTypeId == w.SalaryTypeId; }).length > 0
-                    });
-
-                    angular.forEach(slipColumns, function (val) {
-                        val.checked = $event.target.checked;
-                    });
-                }
-
-                $app.forEach($salarySlipColumn.selectedSalarySlipColumn, function (val) {
-                    var salaryColumns = $filter('filter')($scope.salarySlipColumnList, { SalaryTypeId: val.SalaryTypeId });
-                    if (salaryColumns.length > 0) {
-                        salaryColumns[0].checked = true;
-                    }
-                });
-
-                $scope.salaryTypeSelected = function () {
-                    $salarySlipColumn.selectedSalarySlipColumn.length = 0;
-                    var dlist = $filter('filter')($scope.salarySlipColumnList, { checked: true });
-
-                    $app.forEach(dlist, function (val) {
-                        $salarySlipColumn.selectedSalarySlipColumn.push(val);
-                    });
-
-                    $scope.$hide();
-                }
-
-            };
-            ctrl.$inject = ['$scope'];
-
-            var modal = $modal({
-                resolve: {
-                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
-                        $ocLazyLoad.load(['home/employee_find.css?' + window.sysVersion]);
-                    }]
-                },
-                controller: ctrl,
-                templateUrl: 'home/m_salaryslipcolumn.html',
-                show: false,
-                animation: 'am-fade-and-slide-top'
-            });
-
-
-
-            return $salarySlipColumn;
-        }
-    });
-})(angular);

+ 2 - 2
YLShipBuildLandMap.Web/wwwroot/app/main/home/mainindex.html

@@ -1,6 +1,6 @@
 <div class="card">
     <div class="body" style="display:flex;">
-        <div style="font-size:16px;border: 1px solid #e4eaf1;">
+        <!--<div style="font-size:16px;border: 1px solid #e4eaf1;">
             <div class="home_title"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span><span style="padding-left:10px;">调度日记</span></div>
             <div cd-option="cdOption" gt-calendar></div>
         </div>
@@ -34,7 +34,7 @@
                 </div>
             </div>
             <div style="padding-left:30px;padding-top:20px;" ng-show="announcementList.length==0">&nbsp;暂无待办公告信息</div>
-        </div>
+        </div>-->
     </div>
    <!-- <div class="body">
         <div panel-title data-title="'最近每日调度数量'">

+ 1 - 269
YLShipBuildLandMap.Web/wwwroot/app/main/home/mainindex.js

@@ -2,274 +2,6 @@
     'use strict';
     $app.module('ylmis').controller('mainindexCtrl', function ($scope, $state, $filter, $alert, AuthUser, flowaudit, $http, $ocLazyLoad, $loading, $window, $modal, $bsRouterState, $timeout) {
 
-        $scope.noticeList = [];
-
-
-        $scope.cdOption = {
-            width: 580,
-            height: 250,
-            data: [],
-            onSelected: function (view, date, data) {
-                var d = $filter('date')(date, 'yyyy-MM-dd');
-                $bsRouterState.$closeTab("home.dispatcher_log");
-                $timeout(function () {
-                    $bsRouterState.go('home.dispatcher_log', {
-                        startDate: d + " 00:00",
-                        endDate: d + " 00:00",
-                    },1);
-                }, 100);
-            }
-        };
-        $scope.filterHtml = function (content) {
-            content = content.replace(/<[^>]+>/g, "");
-            content = content.replace(/&nbsp;/ig, "");
-            return content;
-        }
-        $scope.getAnnouncementList = function () {
-            $http
-                ({
-                    method: 'post', url: '../../api/systemsetting/Notice/GetList', data: {
-                        pageIndex: 1,
-                        pageSize:7,
-                        nowDate: new Date()
-                    }
-                }).then(function (result) {
-                    $scope.noticeList = result.data.Data.rows;
-                    if ($scope.noticeList.length > 0) {
-                        $scope.noticeList[0].select = true;
-                    }
-                    angular.forEach($scope.noticeList, function (x) { x.htmlContent = x.Content ? $scope.filterHtml(x.Content) : ""; });
-                });
-        };
-
-        $scope.$on('tabChildReloadData', function (event, data) {
-            if (data.name == 'mainindexCtrl') {
-                $scope.getAnnouncementList();
-            }
-        });
-
-        $scope.openToDo = function (url, pid, fid, kid) {
-            $bsRouterState.$closeTabName(url);
-            $timeout(function () {
-                $bsRouterState.go(url, {
-                    pid: pid,
-                    fid: fid,
-                    kid: kid,
-                    reload: $scope.getAnnouncementList
-                });
-            }, 100);
-        };
-        $scope.selectRow = function (it) {
-            angular.forEach($scope.noticeList, function (item) {
-                item.select = false;
-            })
-            it.select = true;
-        }
-        $scope.moreNotice = function () {
-            $bsRouterState.$closeTabName("home.mynotice");
-            $timeout(function () {
-                $bsRouterState.go('home.mynotice', {
-                });
-            }, 100);
-        };
-        $scope.getDispatcherDailySummary = function () {
-            $http
-                ({
-                    method: 'post', url: '../../api/report/RDispatcher/GetDispatcherDailySummary', data: {
-                    }
-                }).then(function (result) {
-                    $scope.parseOption(result.data.Data.rows);
-                });
-        };
-        $scope.pieOption = {};
-        $scope.parseOption = function (dataList) {
-            var series = new Array();
-            var days = $.map(dataList, function (x) { return x.day; });
-            var numbers = $.map(dataList, function (x) { return x.number; });
-            var colors = ['#FF9801', '#2a579a', '#01BCD4']
-            series.push({
-                type: 'bar', barWidth: 35, itemStyle: {
-                    color: colors[2], normal: {
-                        color: colors[1],
-                        label: {
-                            show: true, //开启显示
-                            position: 'top', //在上方显示
-                        }
-                    }
-                }, data: numbers
-            });
-            $scope.pieOption = {
-                tooltip: {},
-                xAxis: {
-                    type: 'category',
-                    data: days,
-                    axisLabel: {
-                        formatter: function (d) {
-                            return d.substr(0, 6) + "\n" + d.substr(6)
-                        },
-                    }
-                },
-                yAxis: [{
-                    type: 'value',
-                    name: '次数',
-                    axisLabel: {
-                        formatter: '{value}'
-                    }
-                }],
-                grid: { // 控制图的大小,调整下面这些值就可以,
-                    x: 40,
-                    x2: 10,
-                },
-                series: series
-            };
-        }
-
-        $scope.getTugboatReport = function () {
-            $http
-                ({
-                    method: 'post', url: '../../api/dispatcher/tugboat/GetTugboatReport', data: {
-                        curDate: new Date()
-                    }
-                }).then(function (result) {
-                    $scope.parseTugboatOption(result.data);
-                });
-        };
-        $scope.tugboatOption = {};
-        $scope.parseTugboatOption = function (data) {
-            var product = ["product", "去年同期", "本年", "本月", "本周"];
-            var source = new Array();
-            source.push(product);
-            angular.forEach(data, function (item, index) {
-                source.push([item.TugboatName, item.同期数量, item.本年, item.本月, item.本周]);
-            })
-
-            $scope.tugboatOption = {
-                tooltip: {},
-                dataset: {
-                    source: source
-                },
-                legend: {
-                    bottom: 0,
-                    left: 'center',
-                    selected: { '本月': false, '本周': false }
-                },
-                xAxis: { type: 'category' },
-                yAxis: {},
-                grid: {
-                    x: 40,
-                    x2: 10,
-                    y: 20
-                },
-                series: [
-                    {
-                        type: 'bar', barWidth: 15, color: '#4572A7', barGap: 0, label: {
-                            show: true,
-                            position: 'top',
-                        }
-                    },
-                    {
-                        type: 'bar', barWidth: 15, color: '#AA4643', label: {
-                            show: true,
-                            position: 'top',
-                        }
-                    },
-                    {
-                        type: 'bar', barWidth: 15, color: '#89A54E', label: {
-                            show: true,
-                            position: 'top',
-                        }
-                    },
-                    {
-                        type: 'bar', barWidth: 15, color: '#80699B', label: {
-                            show: true, //开启显示
-                            position: 'top', //在上方显示
-                        }
-                    }
-                ]
-            };
-        }
-        $scope.getTugboatUsageReport = function () {
-            $http
-                ({
-                    method: 'post', url: '../../api/dispatcher/tugboat/GetTugboatUsageReport', data: {
-                        curDate: new Date()
-                    }
-                }).then(function (result) {
-                    $scope.parseTugboatUsageOption(result.data);
-                });
-        };
-        $scope.tugboatUsageOption = {};
-        $scope.parseTugboatUsageOption = function (data) {
-            var product = ["product", "本年", "目标值", "去年"];
-            var source = new Array();
-            source.push(product);
-            angular.forEach(data, function (item, index) {
-                source.push([item.number, item.本年, item.目标值, item.去年]);
-            })
-
-            $scope.tugboatUsageOption = {
-                tooltip: {},
-                dataset: {
-                    source: source
-                },
-                legend: {
-                    bottom: 0,
-                    left: 'center',
-                },
-                xAxis: { type: 'category' },
-                yAxis: {},
-                grid: {
-                    x: 40,
-                    x2: 10,
-                    y: 20
-                },
-                series: [
-                    {
-                        type: 'line', barWidth: 15, color: '#4572A7', label: {
-                            show: true,
-                            position: 'top',
-                        }
-                    },
-                    {
-                        type: 'line', barWidth: 15, color: '#AA4643', label: {
-                            show: false,
-                            position: 'top',
-                        }
-                    },
-                    {
-                        type: 'line', barWidth: 15, color: '#89A54E', label: {
-                            show: true,
-                            position: 'bottom',
-                        }
-                    }
-                ]
-            };
-        }
-        //$scope.getTugboatUsageReport();
-        $scope.getTugboatReport();
-        //$scope.getDispatcherDailySummary();
-
-        var selectModal;
-        $scope.showContent = function (it) {
-            selectModal = $modal({
-                resolve: {
-                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
-                    }]
-                },
-                scope: $scope,
-                controller: selectCtrl,
-                templateUrl: 'tmpShow.html',
-                show: false,
-                animation: 'am-fade-and-slide-top'
-            });
-            selectModal.params = it;
-            selectModal.$promise.then(selectModal.show);
-        };
-        var selectCtrl = function ($scope, $http, $filter, $loading) {
-            $scope.params = selectModal.params;
-        };
-        selectCtrl.$inject = ['$scope', '$http', '$filter', '$loading'];
-
-        $scope.getAnnouncementList();
+        
     });
 })(angular);

+ 0 - 18
YLShipBuildLandMap.Web/wwwroot/app/main/home/mainindex.js.bak

@@ -1,18 +0,0 @@
-(function ($app) {
-    'use strict';
-    $app.module('ylmis').controller('mainindexCtrl', function ($scope, $state, $filter, $alert, AuthUser, flowaudit, $http, $ocLazyLoad, $loading, $window, $modal, $bsRouterState, $timeout) {
-
-        $scope.isShow = false;
-        $scope.moreTxt = "����";
-
-        $scope.isShowClick = function () {
-            $scope.isShow = !$scope.isShow;
-            if ($scope.moreTxt == "更多") {
-                $scope.moreTxt = "收起";
-            } else if ($scope.moreTxt == "收起") {
-                $scope.moreTxt = "更多";
-            }
-        };
-
-    });
-})(angular);

+ 0 - 94
YLShipBuildLandMap.Web/wwwroot/app/main/home/mynotice.html

@@ -1,94 +0,0 @@
-
-
- <div class="card">
-    <div class="header">我的待办公告</div>
-    <div activate-input activate-select class="search-header">
-        <div class="search-param-panel">
-            <div class="search-input">
-                <form class="form-horizontal">
-                    <div class="row clearfix form-inline">
-                        <div class="col-lg-2 col-md-2 dj-label">
-                            <label>公告标题</label>
-                        </div>
-                        <div class="col-lg-2 col-md-2">
-                            <div class="form-group">
-                                <div class="form-line">
-                                    <input name="title" class="form-control" type="text"
-                                           ng-model="selectparams.title"
-                                           placeholder="" ng-keypress="($event.which === 13)?search():0" />
-                                </div>
-                            </div>
-                        </div>
-                        <div class="col-lg-2 col-md-2">
-                            <div class="form-group">
-                                <div class="form-line">
-                                    <select boots-select class="form-control show-tick" name="type"
-                                            ng-model="selectparams.type"
-                                            data-live-search="true" option-datas="pilotTypeList"
-                                            ng-options="type.Value as type.Name for type in pilotTypeList"
-                                            ng-change="search()">
-                                        <option value="" selected>--全部--</option>
-                                    </select>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </form>
-            </div>
-            <div class="search-btn">
-                <button class="btn btn-default1"
-                        ng-click="search()">
-                    查询
-                </button>
-            </div>
-        </div> 
-    </div>
-    <div class="body">
-        <div class="table-responsive list-table-panel">
-            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
-                <thead>
-                    <tr>
-                        <th class="th-rownum">序号</th>
-                        <th>类型</th>
-                        <th>标题</th>
-                        <th>发送人</th>
-                        <th>发送时间</th>
-                        <th style="width:60px;">操作</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr ng-repeat="it in dataList">
-                        <td class="text-center" td-rownum index="$index" pageindex="selectparams.pageIndex" pagesize="selectparams.pageSize"></td>
-                        <td>{{it.TypeDesc}}</td>
-                        <td>{{it.Title}}</td>
-                        <td>{{it.CreateUserName}}</td>
-                        <td>{{it.CreateTime | date: 'yyyy-MM-dd'}}</td>
-                        <td style="text-align:center">
-                            <i class="glyphicon glyphicon-list-alt" title="查看" ng-click="showContent(it)"></i>
-                        </td>
-                    </tr>
-                    <tr ng-if="pageInfo.ptotal==0">
-                        <td colspan="10" style="text-align:center">暂无数据</td>
-                    </tr>
-                </tbody>
-            </table>
-        </div>
-        <pagination data-pageindex="selectparams.pageIndex" data-pagesize="selectparams.pageSize"
-                    data-ptotal="pageInfo.ptotal"></pagination>
-    </div>
-</div>
-<script type="text/ng-template" id="tmpShow.html">
-    <div class="modal" tabindex="-1" role="dialog">
-        <div class="modal-dialog">
-            <div class="card">
-                <div class="header">
-                    <button type="button" class="close" ng-click="$hide()">&times;</button>
-                    <h4 class="modal-title">{{params.Title}}</h4>
-                </div>
-                <div activate-input activate-select class="body">
-                    <p ng-bind-html="params.Content|trustAsHtml"></p>
-                </div>
-            </div>
-        </div>
-    </div>
-</script>

+ 0 - 70
YLShipBuildLandMap.Web/wwwroot/app/main/home/mynotice.js

@@ -1,70 +0,0 @@
-(function ($app) {
-    $app.module('ylmis').controller('mynoticeCtrl', function ($scope, $http, $filter, $modal, $ocLazyLoad, $alert, $loading, $state, AuthUser, $bsRouterState) {
-        $scope.dataList = [];
-
-        $state.params = $bsRouterState.$params($scope);
-        $scope.beginDay = $filter('date')(new Date(), 'yyyy-MM') + "-01"; 
-        //初始化查询参数
-        $scope.selectparams = {
-            title: '',
-            pageIndex: 1,
-            pageSize: 10,
-            startDate:null,
-            endDate: null,
-            type: null
-        };
-        $scope.pageInfo = { ptotal: 0 };
-    
-
-        //查询
-        $scope.search = function () {
-            $scope.loadData();
-        };
-        //加载列表数据
-        $scope.loadData = function () {
-            $http
-                ({
-                    method: 'post', url: '../../api/systemsetting/notice/GetList', data: $scope.selectparams
-                }).then(function (result) {
-                    $scope.dataList = result.data.Data.rows;
-                    $scope.pageInfo.ptotal = result.data.Data.total;
-                });
-        };
-        $scope.getPilotTypeList = function () {
-            $http({
-                method: 'post',
-                url: '../../api/systemsetting/dictionary/GetDicList',
-                data: {
-                    code: 'NoticeType'
-                }
-            }).then(function (result) {
-                $scope.pilotTypeList = result.data.Data;
-            }, function (resp) {
-
-            });
-        };
-        var selectModal;
-        $scope.showContent = function (it) {
-            selectModal = $modal({
-                resolve: {
-                    load: ['$ocLazyLoad', function ($ocLazyLoad) {
-                    }]
-                },
-                scope: $scope,
-                controller: selectCtrl,
-                templateUrl: 'tmpShow.html',
-                show: false,
-                animation: 'am-fade-and-slide-top'
-            });
-            selectModal.params = it;
-            selectModal.$promise.then(selectModal.show);
-        };
-        var selectCtrl = function ($scope, $http, $filter, $loading) {
-            $scope.params = selectModal.params;
-        };
-        selectCtrl.$inject = ['$scope', '$http', '$filter', '$loading']; 
-
-        $scope.loadData();
-        $scope.getPilotTypeList();
-    });
-})(angular);

+ 0 - 10
YLShipBuildLandMap.Web/wwwroot/app/main/home/reportViewer.html

@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8" />
-    <title></title>
-</head>
-<body>
-
-</body>
-</html>

binární
YLShipBuildLandMap.Web/wwwroot/app/main/images/coordinate.png


binární
YLShipBuildLandMap.Web/wwwroot/app/main/images/map_index.png


binární
YLShipBuildLandMap.Web/wwwroot/app/main/images/map_main.jpg


binární
YLShipBuildLandMap.Web/wwwroot/app/main/images/search3.png


+ 79 - 0
YLShipBuildLandMap.Web/wwwroot/app/main/map-index.html

@@ -0,0 +1,79 @@
+<div style="display: flex; justify-content: center; width: 100%; background-color: white;">
+    <div>
+        <img id="mapimg" src="images/map_index.png" ng-click="mapImgClick($event)" />
+    </div>
+    <div style="position:absolute;z-index:1000;top:50px;">
+        <div style="border: 1px solid #1692f6; border-radius: 20px; display: flex; justify-content: center; align-items: center; box-shadow: 0 0 10px #1692f6;">
+            <input type="text" style="width: 300px; height: 40px; border: none; margin-left: 20px; font-size: 16px; " ng-model="searchInput" />
+            <img src="images/search3.png" style="margin: 5px 15px;cursor:pointer;" ng-click="searchBuilding()" />
+        </div>
+    </div>
+</div>
+<div ng-if="isShowNow" style="position: absolute; z-index: 1000;border:3px dashed #f00;" ng-style="nowPositionStyle">
+    <div style="background-color:red;opacity:0.3;padding:3px;height:100%;width:100%;"></div>
+</div>
+<div ng-if="isShowNow" class="element" style="position: absolute; z-index: 1001;" ng-style="coordinateStyle">
+    <img src="images/coordinate.png" />
+</div>
+<div ng-show="isShowNow" class="card" style="position: absolute; z-index: 1001; height: 500px; width: 300px; background-color: white; box-shadow: 0 0 10px #1692f6;border-radius:10px; " ng-style="modalStyle">
+    <div class="header" style="height:50px;">
+        <button type="button" class="close" ng-click="$hide()">&times;</button>
+        <div style="white-space: nowrap; width: 250px; overflow: hidden; text-overflow: ellipsis;">
+            <h4 class="modal-title">{{nowBuilding.BuildingName}}</h4>
+        </div>
+    </div>
+    <div class="body card-content" id="card-content" style="height: 440px; overflow-y: auto;">
+        <div style="display:flex;">
+            <div style="position: absolute; left: 15px;font-size:16px;">
+                <p ng-repeat="it in floorList" ng-click="floorClick(it,$index)" ng-class="it.checked?'floorChecked':''">
+                    {{it.FloorName}}
+                </p>
+            </div>
+            <div style="margin-left:60px;">
+                <p ng-repeat="it in roomList" style="height:30px;font-size:14px;">{{it.RoomName}}</p>
+            </div>
+        </div>
+    </div>
+</div>
+<style type="text/css">
+    /* 定义动画 */
+    @keyframes jump {
+        0% {
+            transform: translateX(0);
+        }
+        /* 初始位置为原点 */
+        50% {
+            transform: translateY(-10px);
+        }
+        /* X轴移动-10像素并放大到80% */
+        100% {
+            transform: translateY(0);
+        }
+        /* 返回原点 */
+    }
+
+    /* 应用动画到元素 */
+    .element {
+        animation: jump 2s infinite; /* 无限重复播放动画,持续时间为2秒 */
+    }
+
+
+    .card-content::-webkit-scrollbar, .tab-pane::-webkit-scrollbar, .fht-tbody::-webkit-scrollbar, .zero-source-table-div::-webkit-scrollbar, .dropdown-menu::-webkit-scrollbar, .dropdown-menu > .inner::-webkit-scrollbar { /*滚动条整体样式*/
+        width: 8px; /*高宽分别对应横竖滚动条的尺寸*/
+        height: 8px;
+    }
+
+    .card-content::-webkit-scrollbar-thumb, .tab-pane::-webkit-scrollbar-thumb, .menu::-webkit-scrollbar-thumb, .fht-tbody::-webkit-scrollbar-thumb, .zero-source-table-div::-webkit-scrollbar-thumb, .dropdown-menu::-webkit-scrollbar-thumb, .dropdown-menu > .inner::-webkit-scrollbar-thumb { /*滚动条里面小方块*/
+        border-radius: 5px;
+        background: #8DC7ED;
+    }
+
+    .card-content::-webkit-scrollbar-track, .tab-pane::-webkit-scrollbar-track, .menu::-webkit-scrollbar-track, .fht-tbody::-webkit-scrollbar-track, .zero-source-table-div::-webkit-scrollbar-track, .dropdown-menu::-webkit-scrollbar-track, .dropdown-menu > .inner::-webkit-scrollbar-track { /*滚动条里面轨道*/
+        border-radius: 5px;
+        background: #F1F1F1;
+    }
+
+    .floorChecked {
+        color: #1692f6;
+    }
+</style>

+ 131 - 0
YLShipBuildLandMap.Web/wwwroot/app/main/map-index.js

@@ -0,0 +1,131 @@
+(function ($app) {
+    $app.module('ylmis').controller('mapIndexCtrl', function ($scope, $http, $filter, $modal, $ocLazyLoad, $alert, $loading, $state, excelPopup, $bsRouterState, popupReport) {
+        $scope.buildingXYAxisList = [];
+        $scope.searchInput = "";
+        $scope.nowPositionStyle = { "left": "0", "top": "0", "width": "0", "height": "0" };
+        $scope.coordinateStyle = { "left": "0", "top": "0" };
+        $scope.modalStyle = { "left": "0", "top": "0" };
+        $scope.isShowNow = false;
+        $scope.nowBuilding = {};
+        $scope.floorList = [{ FloorName: "一楼", checked: true }, { FloorName: "二楼", checked: false }, { FloorName: "三楼", checked: false }, { FloorName: "四楼", checked: false }, { FloorName: "五楼", checked: false }];
+        $scope.roomList = [{ FloorName: "一楼", RoomName: "101" }, { FloorName: "一楼", RoomName: "102" }, { FloorName: "一楼", RoomName: "103" }, { FloorName: "一楼", RoomName: "104" }, { FloorName: "一楼", RoomName: "105" },
+        { FloorName: "二楼", RoomName: "201" }, { FloorName: "二楼", RoomName: "202" }, { FloorName: "二楼", RoomName: "203" }, { FloorName: "二楼", RoomName: "204" }, { FloorName: "二楼", RoomName: "205" },
+        { FloorName: "三楼", RoomName: "301" }, { FloorName: "三楼", RoomName: "302" }, { FloorName: "三楼", RoomName: "303" }, { FloorName: "三楼", RoomName: "304" }, { FloorName: "三楼", RoomName: "305" },
+        { FloorName: "四楼", RoomName: "401" }, { FloorName: "四楼", RoomName: "402" }, { FloorName: "四楼", RoomName: "403" }, { FloorName: "四楼", RoomName: "404" }, { FloorName: "四楼", RoomName: "405" },
+        { FloorName: "五楼", RoomName: "501" }, { FloorName: "五楼", RoomName: "502" }, { FloorName: "五楼", RoomName: "503" }, { FloorName: "五楼", RoomName: "504" }, { FloorName: "五楼", RoomName: "505" }];
+
+        $("#mapimg").css("height", $(window).height());
+
+        $scope.mapImgClick = function (e) {
+            $scope.isShowNow = false;
+
+            var buildingList = $scope.buildingXYAxisList.filter(x => e.offsetX >= x.MinXAxis && e.offsetX <= x.MaxXAxis && e.offsetY >= x.MinYAxis && e.offsetY <= x.MaxYAxis);
+            if (buildingList.length > 0) {
+                $scope.goBuilding(buildingList[0]);
+            }
+        };
+
+        $scope.searchBuilding = function () {
+            $scope.isShowNow = false;
+
+            var buildingList = $scope.buildingXYAxisList.filter(x => x.BuildingName.indexOf($scope.searchInput) >= 0);
+            if (buildingList.length > 0) {
+                $scope.goBuilding(buildingList[0]);
+            }
+        };
+
+        $scope.goBuilding = function (building) {
+            $scope.nowBuilding = building;
+            var img = $("#mapimg")[0];
+
+            $scope.nowPositionStyle.left = (img.offsetLeft + building.MinXAxis) + "px";
+            $scope.nowPositionStyle.top = (img.offsetTop + building.MinYAxis) + "px";
+            $scope.nowPositionStyle.width = (building.MaxXAxis - building.MinXAxis) + "px";
+            $scope.nowPositionStyle.height = (building.MaxYAxis - building.MinYAxis) + "px";
+
+            $scope.coordinateStyle.left = (img.offsetLeft + building.XCenter - 22) + "px";
+            $scope.coordinateStyle.top = (img.offsetTop + building.YCenter - 73) + "px";
+
+            $scope.modalStyle.left = (img.offsetLeft + building.MaxXAxis) + "px";
+            $scope.modalStyle.top = (img.offsetTop + building.MinYAxis) > 400 ? (img.offsetTop + building.MinYAxis - 420) : 20 + "px";
+
+            $scope.isShowNow = true;
+
+            $(".card-content").scrollTop(0);
+        }
+
+        $scope.floorClick = function (clickData) {
+            var totalRoom = 0;
+            var index = $scope.floorList.indexOf(clickData);
+
+            $scope.floorList.forEach((f, i) => {
+                f.checked = clickData.FloorName == f.FloorName;
+                if (i <= index) {
+                    totalRoom += $scope.roomList.filter(e => e.FloorName == f.FloorName).length;
+                }
+
+            });
+
+            $(".card-content").scrollTop(index == 0 ? 0 : totalRoom * 30);
+        };
+
+       
+
+        /*$(document).ready(function () {
+            $('#card-content').scroll(function () {
+                var scrollTop = $("#card-content").scrollTop();
+
+                var nowIndex = parseInt(scrollTop / 30);
+                console.log(nowIndex);
+                if (nowIndex < $scope.roomList.length) {
+                    var room = $scope.roomList[nowIndex];
+                    console.log(room);
+                    if (room) {
+                        $scope.floorList.forEach((f, i) => {
+                            f.checked = room.FloorName == f.FloorName;
+
+                        });
+                    }
+                }
+
+            });
+        });*/
+
+        // 定义滚动事件的处理函数
+        var scrollHandler = function () {
+            var scrollTop = $("#card-content").scrollTop();
+
+            var nowIndex = parseInt(scrollTop / 30);
+
+            if (nowIndex < $scope.roomList.length) {
+                var room = $scope.roomList[nowIndex];
+
+                if (room) {
+                    $scope.floorList.forEach((f, i) => {
+                        f.checked = room.FloorName == f.FloorName;
+
+                    });
+                }
+            }
+
+            console.log($scope.floorList);
+        };
+
+        angular.element($("#card-content")).on('scroll', scrollHandler);
+
+        
+
+        //加载列表数据
+        $scope.getBuildingXYAxisList = function () {
+            $http
+                ({
+                    method: 'get', url: '../../api/build/building/GetBuildingXyAxisGroupList', params: {}
+                }).then(function (result) {
+                    $scope.buildingXYAxisList = result.data.Data;
+                }, function (resp) {
+                });
+        };
+
+        $scope.getBuildingXYAxisList();
+    });
+})(angular);

+ 3 - 0
YLShipBuildLandMap.Web/wwwroot/app/main/map.html

@@ -0,0 +1,3 @@
+<div style=" background-color: white; text-align: center;">
+    <img id="mapimg" src="images/map_main.jpg"/>
+</div>

+ 16 - 0
YLShipBuildLandMap.Web/wwwroot/app/main/map.js

@@ -0,0 +1,16 @@
+(function ($ang, win) {
+    'use strict';
+    $ang.module('ylmis').controller("mapCtrl", ['$scope', '$rootScope', '$state', '$http', '$loading', '$alert', '$interval', '$window', '$modal', 'AuthUser',
+        function ($scope, $rootScope, $state, $http, $loading, $alert, $desData, $interval, $window, $modal, AuthUser) {
+
+            $("#mapimg").css("height", $(window).height());
+
+            $("#mapimg").click(function (e) {
+                if (e.offsetX >= 1000 && e.offsetX <= 1178 && e.offsetY >= 394 && e.offsetY <= 500) {
+                    $state.go("map-index");
+                }
+                else {
+                }
+            });
+        }]);
+})(angular, this);

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 544 - 389
数据库设计/友联船厂基地分布图管理系统.pdm