瀏覽代碼

板块升级

Ming 4 年之前
父節點
當前提交
4a34e35f28
共有 16 個文件被更改,包括 2250 次插入1075 次删除
  1. 8 1
      api/request.js
  2. 17 9
      css/common.css
  3. 605 627
      css/per-manage.css
  4. 二進制
      images/tupianbtn.png
  5. 360 0
      js/plan.js
  6. 109 59
      js/record-inner.js
  7. 16 25
      js/record.js
  8. 190 0
      js/team-inner.js
  9. 361 0
      js/team.js
  10. 7 0
      js/userAccount.js
  11. 2 2
      operate-manage.html
  12. 2 1
      pages/account-manage/userAccount-manage.html
  13. 0 211
      pages/operation/group.html
  14. 196 115
      pages/operation/plan.html
  15. 58 25
      pages/operation/record.html
  16. 319 0
      pages/operation/team.html

+ 8 - 1
api/request.js

@@ -158,7 +158,14 @@ const LOG_EXPORT = 'iot/log/getLogListExecl' //日志导出
 
 const RECORD_LIST = 'iot/spotoperationrecord/getList' //维保记录列表查询
 const RECORD_STATIC_AND_SELECT = 'iot/spotoperationrecord/getList3' //维保记录数据统计  
-const RECORD_AND_POINT = 'iot/spotoperationrecord/getJlPointsList' //维保点位弹框
+const RECORD_EXPORT = 'iot/spotoperationrecord/getSpotOperationRecordListExcel' //维保记录导出
+const RECORD_AND_POINT = 'iot/spotoperationrecord/getJlPointsList' //维保点位弹框   
+const RECORD_POINT_DETAIL = 'iot/inspectionpoints/getList' //维保点位图片详情弹框
+
+
+const TEAM_LIST = 'iot/devopsteam/getDevopsTeamList'; //班组人员列表查询
+const TEAM_PERSON = 'iot/devopsteam/getUserList'; //班组人员责任人下拉
+
 
 
 const MONTH_REPORT = "iot/px/queryPf"; //月报考评导出     

+ 17 - 9
css/common.css

@@ -391,7 +391,8 @@ li.parent_li ul li ul li {
 }
 
 .xcConfirm .popBox .ttBox .clsBtn,
-.xcConfirm .popBox .ttBox .clsBtn2 {
+.xcConfirm .popBox .ttBox .clsBtn2,
+.xcConfirm .popBox .ttBox .clsBtn3 {
     display: block;
     cursor: pointer;
     width: 12px;
@@ -522,7 +523,8 @@ li.parent_li ul li ul li {
 
 .xcConfirm .popBox .sgBtn.ok,
 .xcConfirm .popBox .sgBtn.cancel,
-.xcConfirm .popBox .sgBtn.cancel2 {
+.xcConfirm .popBox .sgBtn.cancel2,
+.xcConfirm .popBox .sgBtn.cancel3 {
     position: relative;
     background-image: -webkit-linear-gradient(top, #2a3142, #252c3b 48%, #13171f 52%, #171b25);
     color: #26c5ff;
@@ -534,7 +536,8 @@ li.parent_li ul li ul li {
 
 /* 分页样式 */
 
-.pager {
+.pager,
+.pager2 {
     padding: 0 0.25rem;
     color: #fff;
     position: absolute;
@@ -642,11 +645,13 @@ li.parent_li ul li ul li {
     height: 22px
 }
 
-.pg-refresh,.pg-refresh2 {
+.pg-refresh,
+.pg-refresh2 {
     background: url(../images/refresh.gif);
 }
 
-.pg-refresh a ,.pg-refresh2 a {
+.pg-refresh a,
+.pg-refresh2 a {
     display: inline-block;
     width: 100%;
     height: 100%
@@ -860,6 +865,7 @@ border: 1px solid #ffffff;
     pointer-events: none
 }
 
+
 /* .queryCompanyList .pure-table-inner tr th:first-child,
 .queryCompanyList .pure-table-inner tr td:first-child {
     width: 24px
@@ -886,7 +892,6 @@ border: 1px solid #ffffff;
 }
 
 
-
 /* .queryPointDetailList .pure-table-inner tr th:first-child,
 .queryPointDetailList .pure-table-inner tr td:first-child {
     width: 24px
@@ -938,10 +943,13 @@ border: 1px solid #ffffff;
 
 /* 占满屏幕 end */
 
+
 /* 日期插件小背景图 */
-#startTime,#endTime{
-    background-image:url(../images/date-trigger.gif);
-    background-repeat:no-repeat;
+
+#startTime,
+#endTime {
+    background-image: url(../images/date-trigger.gif);
+    background-repeat: no-repeat;
     /* background-position: right center; */
     background-position: 174px 0;
 }

+ 605 - 627
css/per-manage.css

@@ -1,638 +1,616 @@
-/* 人员管理 */
-
-.mainbox {
-    min-width: 1024px;
-    max-width: 1920px;
-    /* padding: 0.8125rem 1.1rem 1rem .9rem; */
-    padding: 3.3% 5% 4% 4%;
-    /* display: flex; */
-    height: 100%;
-    /* height: 100vh;
+    /* 人员管理 */
+    
+    .mainbox {
+        min-width: 1024px;
+        max-width: 1920px;
+        /* padding: 0.8125rem 1.1rem 1rem .9rem; */
+        padding: 3.3% 5% 4% 4%;
+        /* display: flex; */
+        height: 100%;
+        /* height: 100vh;
     min-height: 723px */
-    /* min-height: 10rem; */
-}
-
-.per-manage {
-    height: 13.5rem
-}
-
-.column1 {}
-
-.column2 {}
-
-.column3 {
-    overflow: hidden;
-    height: 10.5rem;
-    /* height: calc(100vh - 2.7rem); */
-    /* min-height: 10.5rem; */
-    position: relative;
-}
-
-.title {
-    line-height: 0.6rem;
-    font-size: 0.25rem;
-    margin-top: .12rem;
-    font-size: 0.25rem;
-    margin-left: 0.35rem;
-    /* color:#02DDF2; */
-    background-image: -webkit-linear-gradient(bottom, #00adce, #fff);
-    -webkit-background-clip: text;
-    -webkit-text-fill-color: transparent;
-    background-image: -webkit-linear-gradient(rottom, #00adce, #fff);
-    background-image: linear-gradient(to rottom, #00adce, #fff);
-    -webkit-background-clip: text;
-    -ms-background-clip: text;
-    -o-background-clip: text;
-    -webkit-text-fill-color: transparent;
-}
-
-.column2 .title {
-    margin-left: .6rem;
-}
-
-.column1 ul {
-    padding: 0.6rem 0.625rem 0.375rem 0.4rem;
-}
-
-.column1 li a {
-    color: #0082FF;
-    line-height: 0.65rem;
-    font-size: 0.2rem;
-    padding-left: .4rem;
-    display: block;
-    margin-bottom: 0.25rem;
-    background-image: url(../images/list.png);
-    background-repeat: no-repeat;
-    background-size: 100% 100%;
-    cursor: pointer;
-}
-
-.column1 li.selected a,
-.column1 li:hover a {
-    background-image: url(../images/list-on.png);
-    color: #31E9FF
-}
-
-.departlist-box,
-.memberbox {
-    padding: 0.25rem;
-    /* padding: 20px 10px */
-}
-
-.departlist-box {
-    width: 100%;
-    padding: 0.25rem 0.25rem 0rem 0.1rem;
-    /* padding: 20px 10px 0 10px; */
-}
-
-.departtit,
-.membertit {
-    font-size: 0.25rem;
-    color: #31e9ff;
-    margin-bottom: 0.3rem
-}
-
-.membertit {
-    margin-bottom: 0.125rem
-}
-
-ul.depart-opera {
-    display: flex
-}
-
-.depart-opera a {
-    cursor: pointer;
-}
-
-.depart-opera li {
-    display: inline-block;
-    font-size: 0.15rem;
-    flex: 1;
-}
-
-.depart-opera li a.button {
-    width: 80%;
-    padding: 0
-}
-
-.column2 .depart-opera li:nth-child(3) {
-    margin-right: 0
-}
-
-.member-choose {
-    text-align: right
-}
-
-.member-choose span {
-    color: #0078FF;
-    font-size: 0.2rem;
-    margin-right: 0.0875rem
-}
-
-.member-choose input,
-.member-choose select,
-.member-choose option {
-    display: inline-block;
-    width: 2.0125rem;
-    height: 0.3625rem;
-    line-height: 0.3625rem;
-    border-radius: 5px;
-    text-indent: 0.0625rem;
-    margin-right: 0.2rem;
-    font-size: 0.2rem;
-    border: none;
-    background: #fff;
-    -webkit-appearance: auto;
-}
-
-.member-choose a.button {
-    margin-right: 0.3rem
-}
-
-.member-operate span {
-    color: #0078FF;
-    font-size: 0.2rem;
-    margin-right: 0.0875rem
-}
-
-.member-operate input,
-.member-operate select,
-.member-operate option {
-    display: inline-block;
-    width: 2.0125rem;
-    height: 0.3625rem;
-    line-height: 0.3625rem;
-    border-radius: 5px;
-    text-indent: 0.0625rem;
-    margin-right: 0.5rem;
-    border: none;
-}
-
-.member-operate a.button {
-    margin-right: 0.3rem
-}
-
-.member-operate {
-    text-align: right;
-    padding: 0.4375rem 0;
-    position: relative;
-}
-
-.member-operate a.button {
-    margin-right: 0.3rem;
-    cursor: pointer;
-}
-
-
-/* 表格 */
-
-.pure-table {
-    color: #fff;
-    width: 100%
-}
-
-.pure-table th {
-    background: linear-gradient(to bottom, #525970, #2d323e);
-}
-
-.pure-table td,
-.pure-table th {
-    background-color: #1f2933;
-    /* border-color: #101010; */
-    text-align: center;
-    border: 1px solid black;
-    line-height: 0.3125rem;
-    font-size: 0.2rem;
-    border-collapse: collapse;
-    border-spacing: 0;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    max-width: 5rem;
-    /* width: 0.3375rem */
-}
-
-.pure-table tbody tr:hover td:not(:first-child) {
-    background-color: rgba(14, 112, 203, .3);
-}
-
-.pure-table .selected td:not(:first-child) {
-    background-color: #0e70cb;
-    border-style: dotted;
-}
-
-.pure-table .selected td:not(:first-child) .view-detail {
-    color: #fff
-}
-
-.pure-table .selected td {
-    border-style: dotted;
-}
-
-.pure-table .status {
-    background-image: url(../images/unchecked.gif);
-    background-repeat: no-repeat;
-    background-position: center center;
-}
-
-.pure-table th span {
-    width: 27px;
-    height: 27px;
-    display: block
-}
-
-.pure-table .checked {
-    background-image: url(../images/checked.gif);
-    background-repeat: no-repeat;
-    background-position: center center;
-}
-
-.pure-table tr:nth-child(even) td {
-    background-color: #1a232b
-}
-
-.pure-table tr td:first-child {
-    background-color: #fff;
-    width: 0.3375rem
-}
-
-.pure-table tr td.checked {
-    background-color: orange
-}
-
-
-/* 权限管理 */
-
-
-/* 菜单表部分 */
-
-.menutab {
-    border-bottom: 2px solid #26c5ff;
-    /* line-height: 0.5rem; */
-    background: #4C5465;
-    align-items: center;
-}
-
-.menutab a {
-    display: inline-block;
-    padding: 0.1125rem 0.2rem;
-    background: #616F8C;
-    /* line-height: 0.45rem; */
-    color: #fff;
-    border-top-left-radius: 6px;
-    border-top-right-radius: 6px;
-    font-size: 0.2rem;
-    margin: 0.025rem auto 0.0125rem;
-    cursor: pointer;
-    border: 1px solid #2e3746;
-}
-
-.menutab a.selected,
-.menutab a:hover {
-    background: #26C5FF
-}
-
-
-/* 单位信息 */
-
-.logo-img {
-    width: 0.2rem;
-    height: 0.2rem;
-    margin: 0 auto;
-    display: block;
-    background-image: url(../images/logo-img.png);
-    background-size: 100% 100%;
-}
-
-
-/* 事件中心 */
-
-.memberbox2 .member-choose input,
-.memberbox2 .member-choose select,
-.memberbox2 .member-choose option {
-    width: 1.75rem
-}
-
-.toTime {
-    display: inline-block;
-    margin: 0 0.125rem;
-    color: #fff
-}
-
-.event-count-box {
-    /* width: 100%; */
-    position: absolute;
-    top: 0.2rem;
-    text-align: left;
-}
-
-.event-count-box li {
-    text-align: center;
-    border: 1px solid red;
-    display: inline-block;
-    line-height: 0.775rem;
-    height: 0.775rem;
-    margin-right: 0.25rem;
-    border: 2px solid #0057ac;
-    padding: 0 0.125rem
-}
-
-.event-count-box li span {
-    vertical-align: middle;
-    color: #fff;
-    font-size: 0.2rem;
-}
-
-.event-count-box li img {
-    vertical-align: middle;
-    width: 0.375rem;
-    margin-right: 0.2rem;
-}
-
-.event-count-box li .event-num {
-    font-size: 0.35rem;
-}
-
-.view-detail,
-.interface-doc {
-    cursor: pointer;
-    text-decoration: underline;
-    color: #0078FF
-}
-
-.error-radio .layui-form-item {
-    display: inline-block;
-    margin-bottom: 0
-}
-
-.error-radio .layui-input-block {
-    margin-left: 0
-}
-
-.error-radio .layui-form-radio {
-    margin: 0;
-    width: 80px;
-    line-height: 20px;
-}
-
-.error-radio .layui-form-radioed>i,
-.error-radio .layui-form-radio>i:hover {
-    color: rgb(118, 118, 118)
-}
-
-.error-radio .layui-anim-scaleSpring {
-    -webkit-animation-name: none;
-    animation-name: none;
-}
-
-.error-radio .layui-input-block {
-    min-height: auto;
-}
-
-.error-radio .layui-form-radio>i {
-    font-size: 14px;
-}
-
-
-/* 设备检测弹框样式 */
-
-.layui-input-block {
-    margin-left: 0;
-}
-
-.layui-form-checkbox[lay-skin="primary"] span {
-    color: #fff
-}
-
-.checkallblock {
-    background: #31383F;
-    padding-left: 7px;
-    line-height: 30px
-}
-
-.checkselfblock {
-    background: #44474A;
-    padding: 10px 7px 40px;
-    /* height: 415px; */
-}
-
-.checkselfblock .layui-form-checkbox[lay-skin="primary"] {
-    width: 24%;
-    line-height: 30px
-}
-
-.checkselfblock .layui-form-checkbox {
-    margin-bottom: 10px
-}
-
-.layui-col-md4 {
-    /* padding:0;
+        /* min-height: 10rem; */
+    }
+    
+    .per-manage {
+        height: 13.5rem
+    }
+    
+    .column1 {}
+    
+    .column2 {}
+    
+    .column3 {
+        overflow: hidden;
+        height: 10.5rem;
+        /* height: calc(100vh - 2.7rem); */
+        /* min-height: 10.5rem; */
+        position: relative;
+    }
+    
+    .title {
+        line-height: 0.6rem;
+        font-size: 0.25rem;
+        margin-top: .12rem;
+        font-size: 0.25rem;
+        margin-left: 0.35rem;
+        /* color:#02DDF2; */
+        background-image: -webkit-linear-gradient(bottom, #00adce, #fff);
+        -webkit-background-clip: text;
+        -webkit-text-fill-color: transparent;
+        background-image: -webkit-linear-gradient(rottom, #00adce, #fff);
+        background-image: linear-gradient(to rottom, #00adce, #fff);
+        -webkit-background-clip: text;
+        -ms-background-clip: text;
+        -o-background-clip: text;
+        -webkit-text-fill-color: transparent;
+    }
+    
+    .column2 .title {
+        margin-left: .6rem;
+    }
+    
+    .column1 ul {
+        padding: 0.6rem 0.625rem 0.375rem 0.4rem;
+    }
+    
+    .column1 li a {
+        color: #0082FF;
+        line-height: 0.65rem;
+        font-size: 0.2rem;
+        padding-left: .4rem;
+        display: block;
+        margin-bottom: 0.25rem;
+        background-image: url(../images/list.png);
+        background-repeat: no-repeat;
+        background-size: 100% 100%;
+        cursor: pointer;
+    }
+    
+    .column1 li.selected a,
+    .column1 li:hover a {
+        background-image: url(../images/list-on.png);
+        color: #31E9FF
+    }
+    
+    .departlist-box,
+    .memberbox {
+        padding: 0.25rem;
+        /* padding: 20px 10px */
+    }
+    
+    .departlist-box {
+        width: 100%;
+        padding: 0.25rem 0.25rem 0rem 0.1rem;
+        /* padding: 20px 10px 0 10px; */
+    }
+    
+    .departtit,
+    .membertit {
+        font-size: 0.25rem;
+        color: #31e9ff;
+        margin-bottom: 0.3rem
+    }
+    
+    .membertit {
+        margin-bottom: 0.125rem
+    }
+    
+    ul.depart-opera {
+        display: flex
+    }
+    
+    .depart-opera a {
+        cursor: pointer;
+    }
+    
+    .depart-opera li {
+        display: inline-block;
+        font-size: 0.15rem;
+        flex: 1;
+    }
+    
+    .depart-opera li a.button {
+        width: 80%;
+        padding: 0
+    }
+    
+    .column2 .depart-opera li:nth-child(3) {
+        margin-right: 0
+    }
+    
+    .member-choose {
+        text-align: right
+    }
+    
+    .member-choose span {
+        color: #0078FF;
+        font-size: 0.2rem;
+        margin-right: 0.0875rem
+    }
+    
+    .member-choose input,
+    .member-choose select,
+    .member-choose option {
+        display: inline-block;
+        width: 2.0125rem;
+        height: 0.3625rem;
+        line-height: 0.3625rem;
+        border-radius: 5px;
+        text-indent: 0.0625rem;
+        margin-right: 0.2rem;
+        font-size: 0.2rem;
+        border: none;
+        background: #fff;
+        -webkit-appearance: auto;
+    }
+    
+    .member-choose a.button {
+        margin-right: 0.3rem
+    }
+    
+    .member-operate span {
+        color: #0078FF;
+        font-size: 0.2rem;
+        margin-right: 0.0875rem
+    }
+    
+    .member-operate input,
+    .member-operate select,
+    .member-operate option {
+        display: inline-block;
+        width: 2.0125rem;
+        height: 0.3625rem;
+        line-height: 0.3625rem;
+        border-radius: 5px;
+        text-indent: 0.0625rem;
+        margin-right: 0.5rem;
+        border: none;
+    }
+    
+    .member-operate a.button {
+        margin-right: 0.3rem
+    }
+    
+    .member-operate {
+        text-align: right;
+        padding: 0.4375rem 0;
+        position: relative;
+    }
+    
+    .member-operate a.button {
+        margin-right: 0.3rem;
+        cursor: pointer;
+    }
+    /* 表格 */
+    
+    .pure-table {
+        color: #fff;
+        width: 100%
+    }
+    
+    .pure-table th {
+        background: linear-gradient(to bottom, #525970, #2d323e);
+    }
+    
+    .pure-table td,
+    .pure-table th {
+        background-color: #1f2933;
+        /* border-color: #101010; */
+        text-align: center;
+        border: 1px solid black;
+        line-height: 0.3125rem;
+        font-size: 0.2rem;
+        border-collapse: collapse;
+        border-spacing: 0;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        max-width: 5rem;
+        /* width: 0.3375rem */
+    }
+    
+    .pure-table tbody tr:hover td:not(:first-child) {
+        background-color: rgba(14, 112, 203, .3);
+    }
+    
+    .pure-table .selected td:not(:first-child) {
+        background-color: #0e70cb;
+        border-style: dotted;
+    }
+    
+    .pure-table .selected td:not(:first-child) .view-detail {
+        color: #fff
+    }
+    
+    .pure-table .selected td {
+        border-style: dotted;
+    }
+    
+    .pure-table .status {
+        background-image: url(../images/unchecked.gif);
+        background-repeat: no-repeat;
+        background-position: center center;
+    }
+    
+    .pure-table th span {
+        width: 27px;
+        height: 27px;
+        display: block
+    }
+    
+    .pure-table .checked {
+        background-image: url(../images/checked.gif);
+        background-repeat: no-repeat;
+        background-position: center center;
+    }
+    
+    .pure-table tr:nth-child(even) td {
+        background-color: #1a232b
+    }
+    
+    .pure-table tr td:first-child {
+        background-color: #fff;
+        width: 0.3375rem
+    }
+    
+    .pure-table tr td.checked {
+        background-color: orange
+    }
+    /* 权限管理 */
+    /* 菜单表部分 */
+    
+    .menutab {
+        border-bottom: 2px solid #26c5ff;
+        /* line-height: 0.5rem; */
+        background: #4C5465;
+        align-items: center;
+    }
+    
+    .menutab a {
+        display: inline-block;
+        padding: 0.1125rem 0.2rem;
+        background: #616F8C;
+        /* line-height: 0.45rem; */
+        color: #fff;
+        border-top-left-radius: 6px;
+        border-top-right-radius: 6px;
+        font-size: 0.2rem;
+        margin: 0.025rem auto 0.0125rem;
+        cursor: pointer;
+        border: 1px solid #2e3746;
+    }
+    
+    .menutab a.selected,
+    .menutab a:hover {
+        background: #26C5FF
+    }
+    /* 单位信息 */
+    
+    .logo-img {
+        width: 0.2rem;
+        height: 0.2rem;
+        margin: 0 auto;
+        display: block;
+        background-image: url(../images/logo-img.png);
+        background-size: 100% 100%;
+    }
+    /* 事件中心 */
+    
+    .memberbox2 .member-choose input,
+    .memberbox2 .member-choose select,
+    .memberbox2 .member-choose option {
+        width: 1.75rem
+    }
+    
+    .toTime {
+        display: inline-block;
+        margin: 0 0.125rem;
+        color: #fff
+    }
+    
+    .event-count-box {
+        /* width: 100%; */
+        position: absolute;
+        top: 0.2rem;
+        text-align: left;
+    }
+    
+    .event-count-box li {
+        text-align: center;
+        border: 1px solid red;
+        display: inline-block;
+        line-height: 0.775rem;
+        height: 0.775rem;
+        margin-right: 0.25rem;
+        border: 2px solid #0057ac;
+        padding: 0 0.125rem
+    }
+    
+    .event-count-box li span {
+        vertical-align: middle;
+        color: #fff;
+        font-size: 0.2rem;
+    }
+    
+    .event-count-box li img {
+        vertical-align: middle;
+        width: 0.375rem;
+        margin-right: 0.2rem;
+    }
+    
+    .event-count-box li .event-num {
+        font-size: 0.35rem;
+    }
+    
+    .view-detail,
+    .interface-doc {
+        cursor: pointer;
+        text-decoration: underline;
+        color: #0078FF
+    }
+    
+    .error-radio .layui-form-item {
+        display: inline-block;
+        margin-bottom: 0
+    }
+    
+    .error-radio .layui-input-block {
+        margin-left: 0
+    }
+    
+    .error-radio .layui-form-radio {
+        margin: 0;
+        width: 80px;
+        line-height: 20px;
+    }
+    
+    .error-radio .layui-form-radioed>i,
+    .error-radio .layui-form-radio>i:hover {
+        color: rgb(118, 118, 118)
+    }
+    
+    .error-radio .layui-anim-scaleSpring {
+        -webkit-animation-name: none;
+        animation-name: none;
+    }
+    
+    .error-radio .layui-input-block {
+        min-height: auto;
+    }
+    
+    .error-radio .layui-form-radio>i {
+        font-size: 14px;
+    }
+    /* 设备检测弹框样式 */
+    
+    .layui-input-block {
+        margin-left: 0;
+    }
+    
+    .layui-form-checkbox[lay-skin="primary"] span {
+        color: #fff
+    }
+    
+    .checkallblock {
+        background: #31383F;
+        padding-left: 7px;
+        line-height: 30px
+    }
+    
+    .checkselfblock {
+        background: #44474A;
+        padding: 10px 7px 40px;
+        /* height: 415px; */
+    }
+    
+    .checkselfblock .layui-form-checkbox[lay-skin="primary"] {
+        width: 24%;
+        line-height: 30px
+    }
+    
+    .checkselfblock .layui-form-checkbox {
+        margin-bottom: 10px
+    }
+    
+    .layui-col-md4 {
+        /* padding:0;
     margin:5px;
     background:red; */
-}
-
-
-/* 资产管理弹框样式 */
-
-.layui-col-xs4.choose-item {
-    /* margin-bottom:20px */
-    margin-bottom: 10px
-}
-
-.layui-col-xs4.choose-item span {
-    width: 100px;
-    text-align: right;
-}
-
-
-/* 隐患管理 */
-
-.content-long {
-    width: 200px;
-    padding: 0 10px;
-    display: block;
-    overflow: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-}
-
-
-/* .over_one_line{
+    }
+    /* 资产管理弹框样式 */
+    
+    .layui-col-xs4.choose-item {
+        /* margin-bottom:20px */
+        margin-bottom: 10px
+    }
+    
+    .layui-col-xs4.choose-item span {
+        width: 100px;
+        text-align: right;
+    }
+    /* 隐患管理 */
+    
+    .content-long {
+        width: 200px;
+        padding: 0 10px;
+        display: block;
+        overflow: hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+    }
+    /* .over_one_line{
     display: block;
      */
-
-.systemLogoShow {
-    max-height: 100%;
-    height: 20px;
-}
-
-.layui-laydate td.layui-this {
-    background-color: #0057ac !important;
-    color: #fff !important;
-}
-
-
-/* 三级联动: */
-
-.outer {
-    width: 500px;
-    margin: 20px auto;
-}
-
-
-/* 资产二维码图片放大 */
-
-.enlargeImg {
-    height: 0.28rem;
-}
-
-.enlargeImg_wrapper {
-    display: none;
-    position: absolute;
-    z-index: 999;
-    top: 30%;
-    margin-top: -50px;
-    height: 200px;
-    width: 200px;
-    /* right: 0; */
-    /* bottom: 0; */
-    margin-left: -150px;
-    left: 50%;
-    background-repeat: no-repeat;
-    /* background-attachment: fixed; */
-    background-position: center;
-    background-color: rgba(0, 0, 0, .2);
-    background-size: 50%;
-}
-
-
-/* 账户管理修改多选 */
-
-.userCheckBox {
-    display: inline-block;
-    padding: .125rem
-}
-
-.userCheckBox .checkselfblock .layui-form-checkbox[lay-skin="primary"] {
-    width: auto;
-}
-
-.userCheckBox .layui-form-checkbox[lay-skin="primary"] span {
-    color: #aaa
-}
-
-.userCheckBox .layui-form-checkbox[lay-skin="primary"] i {
-    /* background-color: #aaa */
-}
-
-
-/* 月度考评导出 */
-
-.exportBox {
-    position: absolute;
-    left: 0;
-    right: 0;
-    /* bottom: 1rem; */
-    top: 30px;
-    font-size: 14px;
-    width: 100%;
-    height: 90%;
-    z-index: 10;
-}
-
-.exportBox table,
-.exportBox table tr th,
-.exportBox table tr td {
-    border: 1px solid #eee;
-    margin: 0 auto;
-}
-
-.exportBox td,
-.exportBox th {
-    padding: 3px 0;
-}
-
-.exportBox .exportContainer {
-    z-index: 19000;
-    /* width: 650px; */
-    margin: 0 auto;
-    box-shadow: #888888 0px 0px 4px;
-    display: block;
-    background: #1f2833;
-    color: #fff;
-    height: 100%;
-    overflow: auto;
-    padding: 15px;
-}
-
-.exportBox h3.title {
-    text-align: center;
-    background: #1f2833;
-    font-size: 16px;
-}
-
-.exportBox section {
-    padding-bottom: 30px;
-}
-
-.exportBox section .table-sub {
-    margin-top: 10px;
-    font-size: 13px;
-}
-
-.exportBox section .innerChart {
-    width: 100%;
-    height: 220px;
-    padding: 10px 0;
-}
-
-.exportBox section .summary2 {
-    display: flex;
-    margin: 0 10px;
-    line-height: 1.5;
-}
-
-.exportBox section .summary2>div:first-child {
-    width: 60px;
-}
-
-.exportBox section .summary2>div:last-child {
-    width: calc(100% - 30px);
-}
-
-.exportBox section .big-tit {
-    padding: 10px 0;
-    background: #1f2833;
-}
-
-.exportBox .section1 {
-    background: #1f2833;
-}
-
-
-/* .exportBox .summary {
+    
+    .systemLogoShow {
+        max-height: 100%;
+        height: 20px;
+    }
+    
+    .layui-laydate td.layui-this {
+        background-color: #0057ac !important;
+        color: #fff !important;
+    }
+    /* 三级联动: */
+    
+    .outer {
+        width: 500px;
+        margin: 20px auto;
+    }
+    /* 资产二维码图片放大 */
+    
+    .enlargeImg {
+        height: 0.28rem;
+    }
+    
+    .enlargeImg_wrapper {
+        display: none;
+        position: absolute;
+        z-index: 999;
+        top: 30%;
+        margin-top: -50px;
+        height: 200px;
+        width: 200px;
+        /* right: 0; */
+        /* bottom: 0; */
+        margin-left: -150px;
+        left: 50%;
+        background-repeat: no-repeat;
+        /* background-attachment: fixed; */
+        background-position: center;
+        background-color: rgba(0, 0, 0, .2);
+        background-size: 50%;
+    }
+    /* 账户管理修改多选 */
+    
+    .userCheckBox {
+        display: inline-block;
+        padding: .125rem
+    }
+    
+    .userCheckBox .checkselfblock .layui-form-checkbox[lay-skin="primary"] {
+        width: auto;
+    }
+    
+    .userCheckBox .layui-form-checkbox[lay-skin="primary"] span {
+        color: #aaa
+    }
+    
+    .userCheckBox .layui-form-checkbox[lay-skin="primary"] i {
+        /* background-color: #aaa */
+    }
+    /* 点位图片弹框 */
+    
+    .memberbox.imgOut {
+        height: 300px;
+        text-align: center;
+    }
+    /* 月度考评导出 */
+    
+    .exportBox {
+        position: absolute;
+        left: 0;
+        right: 0;
+        /* bottom: 1rem; */
+        top: 30px;
+        font-size: 14px;
+        width: 100%;
+        height: 90%;
+        z-index: 10;
+    }
+    
+    .exportBox table,
+    .exportBox table tr th,
+    .exportBox table tr td {
+        border: 1px solid #eee;
+        margin: 0 auto;
+    }
+    
+    .exportBox td,
+    .exportBox th {
+        padding: 3px 0;
+    }
+    
+    .exportBox .exportContainer {
+        z-index: 19000;
+        /* width: 650px; */
+        margin: 0 auto;
+        box-shadow: #888888 0px 0px 4px;
+        display: block;
+        background: #1f2833;
+        color: #fff;
+        height: 100%;
+        overflow: auto;
+        padding: 15px;
+    }
+    
+    .exportBox h3.title {
+        text-align: center;
+        background: #1f2833;
+        font-size: 16px;
+    }
+    
+    .exportBox section {
+        padding-bottom: 30px;
+    }
+    
+    .exportBox section .table-sub {
+        margin-top: 10px;
+        font-size: 13px;
+    }
+    
+    .exportBox section .innerChart {
+        width: 100%;
+        height: 220px;
+        padding: 10px 0;
+    }
+    
+    .exportBox section .summary2 {
+        display: flex;
+        margin: 0 10px;
+        line-height: 1.5;
+    }
+    
+    .exportBox section .summary2>div:first-child {
+        width: 60px;
+    }
+    
+    .exportBox section .summary2>div:last-child {
+        width: calc(100% - 30px);
+    }
+    
+    .exportBox section .big-tit {
+        padding: 10px 0;
+        background: #1f2833;
+    }
+    
+    .exportBox .section1 {
+        background: #1f2833;
+    }
+    /* .exportBox .summary {
     padding: 10px 15px;
     text-indent: 20px;
     margin: 10px 10px 30px;
     line-height: 1.5;
     background: rgb(170, 170, 170);
 } */
-
-.layui-layer-title {
-    background: #081A32 !important;
-    color: #fff !important;
-    border-bottom: 1px solid #1E9FFF !important;
-}
-
-.layui-layer {
-    background: #072442 !important;
-    color: #fff;
-}
-
-.layui-layer-ico {
-    border-radius: 50%;
-}
-
-.layui-layer-btn .layui-layer-btn0 {
-    font-size: 0.3rem;
-}
+    
+    .layui-layer-title {
+        background: #081A32 !important;
+        color: #fff !important;
+        border-bottom: 1px solid #1E9FFF !important;
+    }
+    
+    .layui-layer {
+        background: #072442 !important;
+        color: #fff;
+    }
+    
+    .layui-layer-ico {
+        border-radius: 50%;
+    }
+    
+    .layui-layer-btn .layui-layer-btn0 {
+        font-size: 0.3rem;
+    }

二進制
images/tupianbtn.png


+ 360 - 0
js/plan.js

@@ -0,0 +1,360 @@
+var page = 1;
+var totalPages = 0;
+
+var param1 = '';
+var param2 = '';
+var param3 = '';
+var param4 = '';
+var param5 = '';
+
+// 数据统计及责任人下拉 start
+getStaticAndSelectAjax();
+
+function getStaticAndSelectAjax(queryParam = {}) {
+
+    ajaxRequest(RECORD_STATIC_AND_SELECT, "POST", queryParam, function(result) {
+        let data = result.RESULT1;
+        $('#xjrysl').html(result.xjrysl)
+        $('#jrrw').html(result.jrrw)
+        $('#csrw').html(result.csrw)
+        $('#jrwcrw').html(result.jrwcrw)
+
+        let items = '';
+        data.forEach(function(item, key) {
+            items += `<option value="${item.person_liable_id}">${item.name}</option>`
+        })
+        $('#person_liable_id').append(items);
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    })
+}
+// 数据统计及责任人下拉end
+
+//列表渲染
+getListDataAjax();
+
+//获取列表 ajax请求
+function getListDataAjax(queryParam = {}, page = 1) {
+    queryParam.page = page;
+    queryParam.limit = 8; //每页显示条数
+    queryParam.start = (queryParam.page - 1) * queryParam.limit;
+    ajaxRequest(RECORD_LIST, "POST", queryParam, function(result) {
+        let data = result.RESULT;
+        let items = '';
+        if (result.totalCount > 0) {
+            data.forEach(function(item, key) {
+                items += "<tr>" +
+                    "<td class='status'></td>" +
+                    "<td>" + item.xh + "</td>" +
+                    "<td>" + item.plan_name + "</td>" +
+                    "<td>" + item.id + "</td>" +
+                    "<td>" + item.ywcsj + "</td>" +
+                    "<td>" + item.zt + "</td>" +
+                    "<td>" + item.completion + "</td>" +
+                    "</tr>"
+            })
+            $('#dataList').html(items);
+        } else {
+            $('#dataList').html('');
+        }
+        console.log(result)
+        totalPages = result.totalCount / result.limit;
+        totalPages = Math.ceil(totalPages);
+        $('#totalPage').html(totalPages); //总共多少页
+        $('#dataTotal').html(result.totalCount); //总共多少条数据
+        $('#currentPage').val(page); //当前页面
+        let pageFrom = (page - 1) * result.limit + 1; //开始
+        let pageTo = result.page * result.limit; //结束
+        pageTo = pageTo > result.totalCount ? result.totalCount : pageTo;
+        $('#pageFrom').html(pageFrom);
+        $('#pageTo').html(pageTo);
+
+        // 无数据时
+        if (!result.totalCount) {
+            $('.pager.has-data').hide()
+            $('.pager.no-data').show()
+        } else {
+            $('.pager.has-data').show()
+            $('.pager.no-data').hide()
+        }
+        if (page < totalPages) {
+            $('#nextPageButton,#lastPageButton').removeClass('disabled');
+        } else {
+            $('#nextPageButton,#lastPageButton').addClass('disabled');
+        }
+        if (page === 1) {
+            $('#firstPageButton,#prevPageButton').addClass('disabled');
+        } else {
+            $('#firstPageButton,#prevPageButton').removeClass('disabled');
+        }
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    }, 3)
+}
+
+//按钮搜索
+$('#buttonSearch').on('click', function() {
+    page = 1;
+    getListDataAjax(getSearchParamObj());
+
+    param1 = $('#data3a').val()
+    param2 = $('#data3b').val()
+    param3 = $('#zt').val()
+    param4 = $('#plan_name').val()
+    param5 = $('#person_liable_id').val()
+})
+
+//拼接搜索条件
+function getSearchParamObj() {
+    let queryParam = {};
+    let data3a = $('#data3a').val();
+    let data3b = $('#data3b').val();
+    let zt = $('#zt').val();
+    let plan_name = $('#plan_name').val()
+    let person_liable_id = $('#person_liable_id').val();
+
+    queryParam.data3a = data3a;
+    queryParam.data3b = data3b;
+    queryParam.zt = zt;
+    queryParam.plan_name = plan_name;
+    queryParam.person_liable_id = person_liable_id;
+    return queryParam;
+}
+
+//重置表单
+$('.reset').click(resetForm);
+//分页刷新按钮
+$('.pg-refresh').click(resetForm);
+
+//重置表单
+function resetForm() {
+    page = 1;
+
+    $("#data3a").val("");
+    $("#data3b").val("");
+    $("#zt").val("4");
+    $("#plan_name").val("");
+    $("#person_liable_id").val("");
+    getListDataAjax(getSearchParamObj());
+
+    param1 = $('#data3a').val()
+    param2 = $('#data3b').val()
+    param3 = $('#zt').val()
+    param4 = $('#plan_name').val()
+    param5 = $('#person_liable_id').val()
+}
+
+//分页操作
+$('#firstPageButton').on('click', function() {
+    page = 1;
+    getListDataAjax(getSearchParamObj(), 1);
+})
+
+$('#lastPageButton').on('click', function() {
+    page = totalPages;
+    getListDataAjax({}, page);
+})
+
+$('#prevPageButton').on('click', function() {
+    page -= 1;
+    getListDataAjax(getSearchParamObj(), page);
+})
+
+$('#nextPageButton').on('click', function() {
+    page += 1;
+    getListDataAjax(getSearchParamObj(), page);
+})
+
+
+
+/*新增 修改 关闭 弹框*/
+var layer = layui.layer;
+var layerCreateIndex = '';
+var layerUpdateIndex = ''
+layui.use('layer', function() {
+
+    //新增弹框
+    $('.add').click(function() {
+            layerCreateIndex = layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                skin: 'yourclass',
+                area: ['450px', '500px'],
+                content: $(".addDeviceTypeOut"),
+                success: function() {
+                    $('.clsBtn,.cancel').click(function() {
+                        layer.close(layerCreateIndex);
+                    })
+                }
+            })
+        }),
+        //修改弹框信息 
+        $('.edit').click(function() {
+
+            if (!$('.pure-table tr').has('.checked').length) {
+                layer.msg('请选择一条需要修改的信息!', { icon: 5 });
+            } else {
+                let userInfo = $('.pure-table tr').find('.checked').data('user');
+
+                $('.editDeviceTypeOut input[name=type_name]').val(userInfo.type_name)
+                $('.editDeviceTypeOut input[name=type_value]').val(userInfo.type_value)
+                $('.editDeviceTypeOut select[name=transmission_model]').val(userInfo.transmission_model)
+                $('.editDeviceTypeOut input[name=business').val(userInfo.business)
+                $('.editDeviceTypeOut select[name=company_code]').val(userInfo.company_code)
+                $('.editDeviceTypeOut input[name=id').val(userInfo.id)
+
+                layerUpdateIndex = layer.open({
+                    type: 1,
+                    title: false,
+                    closeBtn: 0,
+                    shadeClose: true,
+                    skin: 'yourclass',
+                    area: ['410px', '400px'],
+                    content: $(".editDeviceTypeOut"),
+                    success: function() {
+                        $('.clsBtn,.cancel').click(function() {
+                            layer.close(layerUpdateIndex);
+                        })
+                    }
+                });
+            }
+        })
+
+    //删除信息
+    $('.delete').click(function() {
+        if (!$('.pure-table tr').has('.checked').length) {
+            //layer.msg('请选择一条需要修改的信息');
+            layer.msg('请选择一条需要删除的信息!', { icon: 5 });
+        } else {
+            let dataId = $('.pure-table tr').find('.checked').data('id');
+            ajaxRequest(DEVICE_TYPE_DELETE, "POST", { "ID_LIST": [{ "id": dataId }] }, function(result) {
+                $(".pure-table tbody tr.selected").remove()
+                let data = result
+                layer.close(layer.layerCreateIndex);
+                layer.msg('删除成功!', { icon: 6 });
+                getListDataAjax()
+
+            }, function(errorMsg) {
+                alert("用户删除失败!");
+            }, 2)
+        }
+    })
+})
+
+/* 新增发送请求 */
+$('#addMenu').click(function() {
+
+    //获取表单的值 并转换成对象
+    let allParam = serializeArrayToObj($("#addMenuForm").serializeArray());
+
+    //验证数据是否为空
+    let res = validParamIsEmpty(allParam, {
+        "type_name": "请输入类型名称",
+        "type_value": "请输入类型参数",
+        "transmission_model": "请选择传输类型",
+        "business": "请输入厂家名称",
+        "company_code": "请选择所属单位",
+    });
+
+    if (res.code == -1) {
+        alert(res.msg);
+        return;
+    }
+
+    //验证通过 请求ajax
+    ajaxRequest(DEVICE_TYPE_ADD, "POST", allParam, function(result) {
+        layer.close(layerCreateIndex);
+        layer.msg('添加成功!', { icon: 6 });
+        getListDataAjax();
+        $('#addMenuForm')[0].reset();
+    }, function(errorMsg) {
+        alert("异常错误!");
+    })
+})
+
+/* 修改发送请求 */
+$('#dataUpdate').click(function() {
+
+    //获取表单的值 并转换成对象
+    let allParam = serializeArrayToObj($("#updateMenuForm").serializeArray());
+
+    //验证数据是否为空
+    let res = validParamIsEmpty(allParam, {
+        "type_name": "请输入类型名称",
+        "type_value": "请输入类型参数",
+        "transmission_model": "请选择传输方式",
+        "business": "请输入厂家名称",
+    });
+
+    if (res.code == -1) {
+        alert(res.msg);
+        return;
+    }
+
+    ajaxRequest(DEVICE_TYPE_UPDATE, "POST", allParam, function(result) {
+        layer.close(layerUpdateIndex);
+        layer.msg('修改成功!', { icon: 6 });
+        getListDataAjax();
+    }, function(errorMsg) {
+        alert("数据修改失败!");
+    })
+})
+
+
+
+// 导出 start
+$('.export').click(function() {
+    getDataExport({ "data3a": param1, "data3b": param2, "zt": param3, "plan_name": param4, "person_liable_id": param5 })
+})
+
+function getDataExport(queryParam = {}) {
+    // 输出base64编码
+    const base64 = s => window.btoa(unescape(encodeURIComponent(s)));
+    ajaxRequest(RECORD_EXPORT, "POST", queryParam, function(result) {
+        console.log('result.RESULT')
+        console.log(result.RESULT)
+        let data = result.RESULT;
+        let newData = [];
+        if (data) {
+            data.forEach(function(item, index) {
+                newData.push({ xh: item.xh, plan_name: item.plan_name, ywcsj: item.ywcsj, zt: item.zt, completion: item.completion, name: item.name, phone: item.phone })
+            });
+        }
+        let str = '<tr style="text-align:center"><th>序号</th><th>任务名称</th><th>应完成时间</th><th>当前状态</th><th>完成情况%</th><th>相关责任人</th><th>联系电话</th></tr>';
+        // 循环遍历,每行加入tr标签,每个单元格加td标签
+        for (let i = 0; i < newData.length; i++) {
+            str += '<tr style="text-align:center">';
+            for (const key in newData[i]) {
+                // 增加\t为了不让表格显示科学计数法或者其他格式
+                str += `<td x:str>${ newData[i][key] + '\t'}</td>`;
+            }
+            str += '</tr>';
+        }
+        // Worksheet名
+        const worksheet = 'Sheet1'
+        const uri = 'data:application/vnd.ms-excel;base64,';
+
+        // 下载的表格模板数据
+        const template = `<html xmlns:o="urn:schemas-microsoft-com:office:office" 
+        xmlns:x="urn:schemas-microsoft-com:office:excel" 
+        xmlns="http://www.w3.org/TR/REC-html40">
+        <head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
+        <x:Name>${worksheet}</x:Name>
+        <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
+        </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
+        </head><body><table>${str}</table></body></html>`;
+
+        // 通过创建a标签实现
+        const link = document.createElement("a");
+        link.href = uri + base64(template);
+        // 对下载的文件命名
+        link.download = "维保记录数据表.xls";
+        link.click();
+
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    }, 3)
+}
+// 导出  end

+ 109 - 59
js/record-inner.js

@@ -1,15 +1,12 @@
 // 详情弹框js start
-var aa = '';
-
+var pointId = '';
+var innerPage = 1;
 
 // 详情弹框
 $(document).on('click', 'a.view-detail', function() {
-
     let dataId = $(this).data('id'); // 单位ID
-    alert(dataId)
-    companyId = dataId;
-
-    layerDepartmentIndex = layer.open({
+    pointId = dataId;
+    queryPointDetailList = layer.open({
         type: 1,
         title: false,
         closeBtn: 0,
@@ -23,47 +20,16 @@ $(document).on('click', 'a.view-detail', function() {
             getPointDetailAjax({ "id": dataId })
                 // 获取部门列表 ajax请求
             $('.clsBtn,.cancel').click(function() {
-                layer.close(layerDepartmentIndex);
+                innerPage = 1;
+                layer.close(queryPointDetailList);
             })
         }
     })
-
-
-    // 按钮搜索
-    $('#buttonSearch2').on('click', function() {
-        page = 1;
-        getPointDetailAjax(getSearchParamObj2());
-    })
-
-    // 拼接搜索条件
-    function getSearchParamObj2() {
-        let queryParam = {};
-        let weibao = $('#weibao').val();
-
-        queryParam.data3 = weibao;
-        queryParam.id = dataId;
-
-        return queryParam;
-    }
-
-    // 分页刷新按钮
-    $('.pg-refresh2').click(resetForm);
-
-    // 重置表单
-    function resetForm() {
-        page = 1;
-        $("#weibao").val("0");
-        getPointDetailAjax(getSearchParamObj2());
-
-    }
-
-
 })
 
-
 // 获取列表 ajax请求
-function getPointDetailAjax(queryParam = {}, page = 1) {
-    queryParam.page = page;
+function getPointDetailAjax(queryParam = {}, innerPage = 1) {
+    queryParam.page = innerPage;
     queryParam.limit = 1; // 每页显示条数
     queryParam.start = (queryParam.page - 1) * queryParam.limit;
     ajaxRequest(RECORD_AND_POINT, "POST", queryParam, function(result) {
@@ -71,7 +37,9 @@ function getPointDetailAjax(queryParam = {}, page = 1) {
         let items = '';
         if (result.totalCount > 0) {
             data.forEach(function(item, key) {
-                items += "<tr>" + "<td class='status'></td>" + "<td>" + item.spot_name + "</td>" + "<td>" + item.spot_address + "</td>" + "<td>" + item.wcqk + "</td>" + "<td>" + item.wcqk + "</td>" + "<td>" + item.wcqk + "</td>" + "<td ><a class='view-detail' data-id=" + item.phone + ">查看</a></td>" + "<td ><a class='view-detail' data-id=" + item.phone + ">查看</a></td>" + "</tr>"
+                items += "<tr>" + "<td class='status'></td>" + "<td>" + item.spot_name + "</td>" + "<td>" + item.spot_address + "</td>" + "<td>" + item.wcqk +
+                    "</td>" + "<td>" + item.wcqk + "</td>" + "<td>" + item.wcqk + "</td>" +
+                    "<td ><a class='pointDetail' data-id=" + item.dwid + "><img src='../../images/tupianbtn.png'></a></td>" + "<td ><a class='weibaoReport' data-id=" + item.jlid + "><img src='../../images/tupianbtn.png'></a></td>" + "</tr>"
             })
             $('#dataList2').html(items);
         } else {
@@ -82,8 +50,8 @@ function getPointDetailAjax(queryParam = {}, page = 1) {
         totalPages = Math.ceil(totalPages);
         $('#totalPage2').html(totalPages); // 总共多少页
         $('#dataTotal2').html(result.totalCount); // 总共多少条数据
-        $('#currentPage2').val(page); // 当前页面
-        let pageFrom = (page - 1) * result.limit + 1; // 开始
+        $('#currentPage2').val(innerPage); // 当前页面
+        let pageFrom = (innerPage - 1) * result.limit + 1; // 开始
         let pageTo = result.page * result.limit; // 结束
         pageTo = pageTo > result.totalCount ? result.totalCount : pageTo;
         $('#pageFrom2').html(pageFrom);
@@ -97,12 +65,12 @@ function getPointDetailAjax(queryParam = {}, page = 1) {
             $('.pager2.has-data').show()
             $('.pager2.no-data').hide()
         }
-        if (page < totalPages) {
+        if (innerPage < totalPages) {
             $('#nextPageButton2,#lastPageButton2').removeClass('disabled');
         } else {
             $('#nextPageButton2,#lastPageButton2').addClass('disabled');
         }
-        if (page === 1) {
+        if (innerPage === 1) {
             $('#firstPageButton2,#prevPageButton2').addClass('disabled');
         } else {
             $('#firstPageButton2,#prevPageButton2').removeClass('disabled');
@@ -115,25 +83,107 @@ function getPointDetailAjax(queryParam = {}, page = 1) {
 
 // 分页操作
 $('#firstPageButton2').on('click', function() {
-    page = 1;
-    getPointDetailAjax({}, 1)
-        // getListDataAjax(getSearchParamObj(), 1);
+    innerPage = 1;
+    getPointDetailAjax(getSearchParamObj2(), 1);
 });
 
 $('#lastPageButton2').on('click', function() {
-    page = totalPages;
-    // getListDataAjax({}, page);
-    getPointDetailAjax({}, page)
+    innerPage = totalPages;
+    getPointDetailAjax(getSearchParamObj2(), innerPage);
 });
 
 $('#prevPageButton2').on('click', function() {
-    page -= 1;
-    // getListDataAjax(getSearchParamObj(), page);
-    getPointDetailAjax({}, page)
+    innerPage -= 1;
+    getPointDetailAjax(getSearchParamObj2(), innerPage);
 });
 
 $('#nextPageButton2').on('click', function() {
-    page += 1;
-    // getListDataAjax(getSearchParamObj(), page);
-    getPointDetailAjax(getSearchParamObj2(), page)
+    innerPage += 1;
+    getPointDetailAjax(getSearchParamObj2(), innerPage);
+})
+
+
+// 按钮搜索
+$('#buttonSearch2').on('click', function() {
+    innerPage = 1;
+    getPointDetailAjax(getSearchParamObj2());
+})
+
+// 拼接搜索条件
+function getSearchParamObj2() {
+    let queryParam = {};
+    let weibao = $('#weibao').val();
+    queryParam.data3 = weibao;
+    queryParam.id = pointId;
+    return queryParam;
+}
+// 分页刷新按钮
+$('.pg-refresh2').click(resetForm);
+
+// 重置表单
+function resetForm() {
+    innerPage = 1;
+    $("#weibao").val("0");
+    getPointDetailAjax(getSearchParamObj2());
+}
+
+
+//点位详情弹框
+$(document).on('click', 'a.pointDetail', function() {
+    let dwId = $(this).data('id');
+    layerDepartmentIndex = layer.open({
+        type: 1,
+        title: false,
+        closeBtn: 0,
+        shadeClose: true,
+        skin: 'yourclass',
+        area: [
+            '400px', '400px'
+        ],
+        content: $(".pointDetailOut"),
+        success: function() {
+            ajaxRequest(RECORD_POINT_DETAIL, "POST", { "id": dwId }, function(result) {
+                console.log(result.RESULT[0])
+                var data = result.RESULT[0];
+                $('#pointDetailUrl').attr('src', data.picture_route);
+            }, function(errorMsg) {
+                alert("请求数据失败!");
+            }, 3);
+
+            $('.clsBtn2,.cancel2').click(function() {
+                innerPage = 1;
+                layer.close(layerDepartmentIndex);
+            })
+        }
+    })
+})
+
+//维保报告点击
+$(document).on('click', 'a.weibaoReport', function() {
+    let jlId = $(this).data('id'); //单位ID
+    layerReportIndex = layer.open({
+        type: 1,
+        title: false,
+        closeBtn: 0,
+        shadeClose: true,
+        skin: 'yourclass',
+        area: [
+            '400px', '400px'
+        ],
+        content: $(".weibaoReportOut"),
+        success: function() {
+            ajaxRequest(RECORD_AND_POINT, "POST", { "jlid": jlId }, function(result) {
+                console.log(result.RESULT[0])
+                var data = result.RESULT[0];
+                $('#weibaoReportUrl').attr('src', data.report_photos);
+            }, function(errorMsg) {
+                alert("请求数据失败!");
+            }, 3);
+
+            $('.clsBtn3,.cancel3').click(function() {
+                innerPage = 1;
+                layer.close(layerReportIndex);
+            })
+        }
+    })
 })

+ 16 - 25
js/record.js

@@ -7,9 +7,9 @@ var param3 = '';
 var param4 = '';
 var param5 = '';
 
-
 // 数据统计及责任人下拉 start
 getStaticAndSelectAjax();
+
 function getStaticAndSelectAjax(queryParam = {}) {
 
     ajaxRequest(RECORD_STATIC_AND_SELECT, "POST", queryParam, function(result) {
@@ -56,12 +56,12 @@ function getListDataAjax(queryParam = {}, page = 1) {
                     "</tr>"
             })
             $('#dataList').html(items);
-        }else{
+        } else {
             $('#dataList').html('');
         }
         console.log(result)
         totalPages = result.totalCount / result.limit;
-        totalPages= Math.ceil(totalPages);
+        totalPages = Math.ceil(totalPages);
         $('#totalPage').html(totalPages); //总共多少页
         $('#dataTotal').html(result.totalCount); //总共多少条数据
         $('#currentPage').val(page); //当前页面
@@ -91,11 +91,9 @@ function getListDataAjax(queryParam = {}, page = 1) {
         }
     }, function(errorMsg) {
         alert("请求数据失败!");
-    },3)
+    }, 3)
 }
 
-
-
 //按钮搜索
 $('#buttonSearch').on('click', function() {
     page = 1;
@@ -115,13 +113,13 @@ function getSearchParamObj() {
     let data3b = $('#data3b').val();
     let zt = $('#zt').val();
     let plan_name = $('#plan_name').val()
-    let person_liable_id=$('#person_liable_id').val();
+    let person_liable_id = $('#person_liable_id').val();
 
     queryParam.data3a = data3a;
     queryParam.data3b = data3b;
     queryParam.zt = zt;
-    queryParam.plan_name =  plan_name;
-    queryParam.person_liable_id =  person_liable_id;
+    queryParam.plan_name = plan_name;
+    queryParam.person_liable_id = person_liable_id;
     return queryParam;
 }
 
@@ -133,7 +131,7 @@ $('.pg-refresh').click(resetForm);
 //重置表单
 function resetForm() {
     page = 1;
-    
+
     $("#data3a").val("");
     $("#data3b").val("");
     $("#zt").val("4");
@@ -148,7 +146,6 @@ function resetForm() {
     param5 = $('#person_liable_id').val()
 }
 
-
 //分页操作
 $('#firstPageButton').on('click', function() {
     page = 1;
@@ -170,31 +167,25 @@ $('#nextPageButton').on('click', function() {
     getListDataAjax(getSearchParamObj(), page);
 })
 
-
-
 // 导出 start
-// $('.export').click(function() {
-//     getDataExport({ "data3a": param1, "data3b": param2, "zt": param3, "plan_name": param4, "person_liable_id": param5 })
-// })
+$('.export').click(function() {
+    getDataExport({ "data3a": param1, "data3b": param2, "zt": param3, "plan_name": param4, "person_liable_id": param5 })
+})
 
 function getDataExport(queryParam = {}) {
     // 输出base64编码
     const base64 = s => window.btoa(unescape(encodeURIComponent(s)));
-
-    ajaxRequest(EVENT_DANGER_MANAGE_EXPORT, "POST", queryParam, function(result) {
+    ajaxRequest(RECORD_EXPORT, "POST", queryParam, function(result) {
+        console.log('result.RESULT')
         console.log(result.RESULT)
         let data = result.RESULT;
         let newData = [];
         if (data) {
             data.forEach(function(item, index) {
-                var time = item.time.time ? getFormatDate(item.time.time) : '';
-                var clsj = item.clsj.time ? getFormatDate(item.clsj.time) : '';
-
-                newData.push({ orderIdx: item.orderIdx, company_name: item.company_name, time: time, data: item.data, data4: item.data4, fullname: item.fullname, zt: item.zt, clr: item.clr, clsj: clsj })
+                newData.push({ xh: item.xh, plan_name: item.plan_name, ywcsj: item.ywcsj, zt: item.zt, completion: item.completion, name: item.name, phone: item.phone })
             });
         }
-
-        let str = '<tr style="text-align:center"><th>序号</th><th>任务名称</th><th>维保点位</th><th>应完成时间</th><th>当前状态</th><th>完成情况%</th><th>相关责任人</th><th>联系电话</th></tr>';
+        let str = '<tr style="text-align:center"><th>序号</th><th>任务名称</th><th>应完成时间</th><th>当前状态</th><th>完成情况%</th><th>相关责任人</th><th>联系电话</th></tr>';
         // 循环遍历,每行加入tr标签,每个单元格加td标签
         for (let i = 0; i < newData.length; i++) {
             str += '<tr style="text-align:center">';
@@ -227,6 +218,6 @@ function getDataExport(queryParam = {}) {
 
     }, function(errorMsg) {
         alert("请求数据失败!");
-    })
+    }, 3)
 }
 // 导出  end

+ 190 - 0
js/team-inner.js

@@ -0,0 +1,190 @@
+// 详情弹框js start
+var pointId = '';
+var innerPage = 1;
+
+// 详情弹框
+$(document).on('click', 'a.view-detail', function() {
+    let dataId = $(this).data('id'); // 单位ID
+    pointId = dataId;
+    queryPointDetailList = layer.open({
+        type: 1,
+        title: false,
+        closeBtn: 0,
+        shadeClose: true,
+        skin: 'yourclass',
+        area: [
+            '700px', '500px'
+        ],
+        content: $(".queryPointDetailList"),
+        success: function() {
+            getPointDetailAjax({ "id": dataId })
+                // 获取部门列表 ajax请求
+            $('.clsBtn,.cancel').click(function() {
+                alert(1)
+                innerPage = 1;
+                layer.close(queryPointDetailList);
+            })
+        }
+    })
+})
+
+// 获取列表 ajax请求
+function getPointDetailAjax(queryParam = {}, innerPage = 1) {
+    queryParam.page = innerPage;
+    queryParam.limit = 1; // 每页显示条数
+    queryParam.start = (queryParam.page - 1) * queryParam.limit;
+    ajaxRequest(RECORD_AND_POINT, "POST", queryParam, function(result) {
+        let data = result.RESULT;
+        let items = '';
+        if (result.totalCount > 0) {
+            data.forEach(function(item, key) {
+                items += "<tr>" + "<td class='status'></td>" + "<td>" + item.spot_name + "</td>" + "<td>" + item.spot_address + "</td>" + "<td>" + item.wcqk +
+                    "</td>" + "<td>" + item.wcqk + "</td>" + "<td>" + item.wcqk + "</td>" +
+                    "<td ><a class='pointDetail' data-id=" + item.dwid + "><img src='../../images/tupianbtn.png'></a></td>" + "<td ><a class='weibaoReport' data-id=" + item.jlid + "><img src='../../images/tupianbtn.png'></a></td>" + "</tr>"
+            })
+            $('#dataList2').html(items);
+        } else {
+            $('#dataList2').html('');
+        }
+        // console.log(result)
+        totalPages = result.totalCount / result.limit;
+        totalPages = Math.ceil(totalPages);
+        $('#totalPage2').html(totalPages); // 总共多少页
+        $('#dataTotal2').html(result.totalCount); // 总共多少条数据
+        $('#currentPage2').val(innerPage); // 当前页面
+        let pageFrom = (innerPage - 1) * result.limit + 1; // 开始
+        let pageTo = result.page * result.limit; // 结束
+        pageTo = pageTo > result.totalCount ? result.totalCount : pageTo;
+        $('#pageFrom2').html(pageFrom);
+        $('#pageTo2').html(pageTo);
+
+        // 无数据时
+        if (!result.totalCount) {
+            $('.pager2.has-data').hide()
+            $('.pager2.no-data').show()
+        } else {
+            $('.pager2.has-data').show()
+            $('.pager2.no-data').hide()
+        }
+        if (innerPage < totalPages) {
+            $('#nextPageButton2,#lastPageButton2').removeClass('disabled');
+        } else {
+            $('#nextPageButton2,#lastPageButton2').addClass('disabled');
+        }
+        if (innerPage === 1) {
+            $('#firstPageButton2,#prevPageButton2').addClass('disabled');
+        } else {
+            $('#firstPageButton2,#prevPageButton2').removeClass('disabled');
+        }
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    }, 3)
+};
+
+
+// 分页操作
+$('#firstPageButton2').on('click', function() {
+    innerPage = 1;
+    getPointDetailAjax(getSearchParamObj2(), 1);
+});
+
+$('#lastPageButton2').on('click', function() {
+    innerPage = totalPages;
+    getPointDetailAjax(getSearchParamObj2(), innerPage);
+});
+
+$('#prevPageButton2').on('click', function() {
+    innerPage -= 1;
+    getPointDetailAjax(getSearchParamObj2(), innerPage);
+});
+
+$('#nextPageButton2').on('click', function() {
+    innerPage += 1;
+    getPointDetailAjax(getSearchParamObj2(), innerPage);
+})
+
+
+// 按钮搜索
+$('#buttonSearch2').on('click', function() {
+    innerPage = 1;
+    getPointDetailAjax(getSearchParamObj2());
+})
+
+// 拼接搜索条件
+function getSearchParamObj2() {
+    let queryParam = {};
+    let weibao = $('#weibao').val();
+    queryParam.data3 = weibao;
+    queryParam.id = pointId;
+    return queryParam;
+}
+// 分页刷新按钮
+$('.pg-refresh2').click(resetForm);
+
+// 重置表单
+function resetForm() {
+    innerPage = 1;
+    $("#weibao").val("0");
+    getPointDetailAjax(getSearchParamObj2());
+}
+
+
+//点位详情弹框
+$(document).on('click', 'a.pointDetail', function() {
+    let dwId = $(this).data('id');
+    layerDepartmentIndex = layer.open({
+        type: 1,
+        title: false,
+        closeBtn: 0,
+        shadeClose: true,
+        skin: 'yourclass',
+        area: [
+            '400px', '400px'
+        ],
+        content: $(".pointDetailOut"),
+        success: function() {
+            ajaxRequest(RECORD_POINT_DETAIL, "POST", { "id": dwId }, function(result) {
+                console.log(result.RESULT[0])
+                var data = result.RESULT[0];
+                $('#pointDetailUrl').attr('src', data.picture_route);
+            }, function(errorMsg) {
+                alert("请求数据失败!");
+            }, 3);
+
+            $('.clsBtn2,.cancel2').click(function() {
+                innerPage = 1;
+                layer.close(layerDepartmentIndex);
+            })
+        }
+    })
+})
+
+//维保报告点击
+$(document).on('click', 'a.weibaoReport', function() {
+    let jlId = $(this).data('id'); //单位ID
+    layerReportIndex = layer.open({
+        type: 1,
+        title: false,
+        closeBtn: 0,
+        shadeClose: true,
+        skin: 'yourclass',
+        area: [
+            '400px', '400px'
+        ],
+        content: $(".weibaoReportOut"),
+        success: function() {
+            ajaxRequest(RECORD_AND_POINT, "POST", { "jlid": jlId }, function(result) {
+                console.log(result.RESULT[0])
+                var data = result.RESULT[0];
+                $('#weibaoReportUrl').attr('src', data.report_photos);
+            }, function(errorMsg) {
+                alert("请求数据失败!");
+            }, 3);
+
+            $('.clsBtn3,.cancel3').click(function() {
+                innerPage = 1;
+                layer.close(layerReportIndex);
+            })
+        }
+    })
+})

+ 361 - 0
js/team.js

@@ -0,0 +1,361 @@
+var page = 1;
+var totalPages = 0;
+
+var param1 = '';
+var param2 = '';
+
+
+// 数据统计及责任人下拉 start
+getStaticAndSelectAjax({ "pd": "no" });
+
+function getStaticAndSelectAjax(queryParam = {}) {
+
+    ajaxRequest(TEAM_PERSON, "POST", queryParam, function(result) {
+        queryParam.pd = 'no';
+        console.log('result')
+        console.log(result)
+        let data = result.RESULT;
+
+        let items = '';
+        data.forEach(function(item, key) {
+            items += `<option value="${item.id}">${item.username}</option>`
+        })
+        $('#add_people').append(items);
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    }, 3)
+}
+// 数据统计及责任人下拉end
+
+//列表渲染
+getListDataAjax();
+
+//获取列表 ajax请求
+function getListDataAjax(queryParam = {}, page = 1) {
+    queryParam.page = page;
+    queryParam.limit = 8; //每页显示条数
+    queryParam.start = (queryParam.page - 1) * queryParam.limit;
+    ajaxRequest(TEAM_LIST, "POST", queryParam, function(result) {
+        let data = result.RESULT;
+        let items = '';
+        if (result.totalCount > 0) {
+            data.forEach(function(item, key) {
+                items += "<tr>" +
+                    "<td class='status'></td>" +
+                    "<td>" + item.xh + "</td>" +
+                    "<td>" + item.team_name + "</td>" +
+                    "<td>" + item.company_name + "</td>" +
+                    "<td>" + item.name + "</td>" +
+                    "<td>" + item.phone + "</td>" +
+                    "<td>" + item.add_people + "</td>" +
+                    "<td>" + item.add_time + "</td>" +
+                    "</tr>"
+            })
+            $('#dataList').html(items);
+        } else {
+            $('#dataList').html('');
+        }
+        console.log(result)
+        totalPages = result.totalCount / result.limit;
+        totalPages = Math.ceil(totalPages);
+        $('#totalPage').html(totalPages); //总共多少页
+        $('#dataTotal').html(result.totalCount); //总共多少条数据
+        $('#currentPage').val(page); //当前页面
+        let pageFrom = (page - 1) * result.limit + 1; //开始
+        let pageTo = result.page * result.limit; //结束
+        pageTo = pageTo > result.totalCount ? result.totalCount : pageTo;
+        $('#pageFrom').html(pageFrom);
+        $('#pageTo').html(pageTo);
+
+        // 无数据时
+        if (!result.totalCount) {
+            $('.pager.has-data').hide()
+            $('.pager.no-data').show()
+        } else {
+            $('.pager.has-data').show()
+            $('.pager.no-data').hide()
+        }
+        if (page < totalPages) {
+            $('#nextPageButton,#lastPageButton').removeClass('disabled');
+        } else {
+            $('#nextPageButton,#lastPageButton').addClass('disabled');
+        }
+        if (page === 1) {
+            $('#firstPageButton,#prevPageButton').addClass('disabled');
+        } else {
+            $('#firstPageButton,#prevPageButton').removeClass('disabled');
+        }
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    }, 3)
+}
+
+//按钮搜索
+$('#buttonSearch').on('click', function() {
+    page = 1;
+    getListDataAjax(getSearchParamObj());
+
+    param1 = $('#team_name').val()
+    param2 = $('#add_people').val()
+})
+
+//拼接搜索条件
+function getSearchParamObj() {
+    let queryParam = {};
+    let team_name = $('#team_name').val();
+    let add_people = $('#add_people').val();
+    queryParam.team_name = team_name;
+    queryParam.add_people = add_people;
+    return queryParam;
+}
+
+//重置表单
+$('.reset').click(resetForm);
+//分页刷新按钮
+$('.pg-refresh').click(resetForm);
+
+//重置表单
+function resetForm() {
+    page = 1;
+
+    $("#team_name").val("");
+    $("#add_people").val("");
+    getListDataAjax(getSearchParamObj());
+
+    param1 = $('#team_name').val()
+    param5 = $('#add_people').val()
+}
+
+//分页操作
+$('#firstPageButton').on('click', function() {
+    page = 1;
+    getListDataAjax(getSearchParamObj(), 1);
+})
+
+$('#lastPageButton').on('click', function() {
+    page = totalPages;
+    getListDataAjax({}, page);
+})
+
+$('#prevPageButton').on('click', function() {
+    page -= 1;
+    getListDataAjax(getSearchParamObj(), page);
+})
+
+$('#nextPageButton').on('click', function() {
+    page += 1;
+    getListDataAjax(getSearchParamObj(), page);
+})
+
+//单位下拉
+getNameList()
+
+//单位下拉 ajax请求
+function getNameList() {
+    ajaxRequest(DEVICE_TYPE_COMPANYLIST, "POST", {}, function(result) {
+        let data = result.RESULT;
+        let items = '';
+
+        data.forEach(function(item, key) {
+            items += `<option value="${item.owner_id}">${item.owner_name}</option>`
+        })
+        $('#getNameList').append(items);
+        // $('#getNameList2').append(items);
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    })
+}
+
+
+
+/*新增 修改 关闭 弹框*/
+var layer = layui.layer;
+var layerCreateIndex = '';
+var layerUpdateIndex = ''
+layui.use('layer', function() {
+
+    //新增弹框
+    $('.add').click(function() {
+            layerCreateIndex = layer.open({
+                type: 1,
+                title: false,
+                closeBtn: 0,
+                shadeClose: true,
+                skin: 'yourclass',
+                area: ['450px', '500px'],
+                content: $(".addDeviceTypeOut"),
+                success: function() {
+                    $('.clsBtn,.cancel').click(function() {
+                        layer.close(layerCreateIndex);
+                    })
+                }
+            })
+        }),
+        //修改弹框信息 
+        $('.edit').click(function() {
+
+            if (!$('.pure-table tr').has('.checked').length) {
+                layer.msg('请选择一条需要修改的信息!', { icon: 5 });
+            } else {
+                let userInfo = $('.pure-table tr').find('.checked').data('user');
+
+                $('.editDeviceTypeOut input[name=type_name]').val(userInfo.type_name)
+                $('.editDeviceTypeOut input[name=type_value]').val(userInfo.type_value)
+                $('.editDeviceTypeOut select[name=transmission_model]').val(userInfo.transmission_model)
+                $('.editDeviceTypeOut input[name=business').val(userInfo.business)
+                $('.editDeviceTypeOut select[name=company_code]').val(userInfo.company_code)
+                $('.editDeviceTypeOut input[name=id').val(userInfo.id)
+
+                layerUpdateIndex = layer.open({
+                    type: 1,
+                    title: false,
+                    closeBtn: 0,
+                    shadeClose: true,
+                    skin: 'yourclass',
+                    area: ['410px', '400px'],
+                    content: $(".editDeviceTypeOut"),
+                    success: function() {
+                        $('.clsBtn,.cancel').click(function() {
+                            layer.close(layerUpdateIndex);
+                        })
+                    }
+                });
+            }
+        })
+
+    //删除信息
+    $('.delete').click(function() {
+        if (!$('.pure-table tr').has('.checked').length) {
+            //layer.msg('请选择一条需要修改的信息');
+            layer.msg('请选择一条需要删除的信息!', { icon: 5 });
+        } else {
+            let dataId = $('.pure-table tr').find('.checked').data('id');
+            ajaxRequest(DEVICE_TYPE_DELETE, "POST", { "ID_LIST": [{ "id": dataId }] }, function(result) {
+                $(".pure-table tbody tr.selected").remove()
+                let data = result
+                layer.close(layer.layerCreateIndex);
+                layer.msg('删除成功!', { icon: 6 });
+                getListDataAjax()
+
+            }, function(errorMsg) {
+                alert("用户删除失败!");
+            }, 2)
+        }
+    })
+})
+
+/* 新增发送请求 */
+$('#addMenu').click(function() {
+
+    //获取表单的值 并转换成对象
+    let allParam = serializeArrayToObj($("#addMenuForm").serializeArray());
+
+    //验证数据是否为空
+    let res = validParamIsEmpty(allParam, {
+        "type_name": "请输入类型名称",
+        "type_value": "请输入类型参数",
+        "transmission_model": "请选择传输类型",
+        "business": "请输入厂家名称",
+        "company_code": "请选择所属单位",
+    });
+
+    if (res.code == -1) {
+        alert(res.msg);
+        return;
+    }
+
+    //验证通过 请求ajax
+    ajaxRequest(DEVICE_TYPE_ADD, "POST", allParam, function(result) {
+        layer.close(layerCreateIndex);
+        layer.msg('添加成功!', { icon: 6 });
+        getListDataAjax();
+        $('#addMenuForm')[0].reset();
+    }, function(errorMsg) {
+        alert("异常错误!");
+    })
+})
+
+/* 修改发送请求 */
+$('#dataUpdate').click(function() {
+
+    //获取表单的值 并转换成对象
+    let allParam = serializeArrayToObj($("#updateMenuForm").serializeArray());
+
+    //验证数据是否为空
+    let res = validParamIsEmpty(allParam, {
+        "type_name": "请输入类型名称",
+        "type_value": "请输入类型参数",
+        "transmission_model": "请选择传输方式",
+        "business": "请输入厂家名称",
+    });
+
+    if (res.code == -1) {
+        alert(res.msg);
+        return;
+    }
+
+    ajaxRequest(DEVICE_TYPE_UPDATE, "POST", allParam, function(result) {
+        layer.close(layerUpdateIndex);
+        layer.msg('修改成功!', { icon: 6 });
+        getListDataAjax();
+    }, function(errorMsg) {
+        alert("数据修改失败!");
+    })
+})
+
+
+
+// 导出 start
+$('.export').click(function() {
+    getDataExport({ "team_name": param1, "add_people": param2 })
+})
+
+function getDataExport(queryParam = {}) {
+    // 输出base64编码
+    const base64 = s => window.btoa(unescape(encodeURIComponent(s)));
+    ajaxRequest(RECORD_EXPORT, "POST", queryParam, function(result) {
+        console.log('result.RESULT')
+        console.log(result.RESULT)
+        let data = result.RESULT;
+        let newData = [];
+        if (data) {
+            data.forEach(function(item, index) {
+                newData.push({ xh: item.xh, plan_name: item.plan_name, ywcsj: item.ywcsj, zt: item.zt, completion: item.completion, name: item.name, phone: item.phone })
+            });
+        }
+        let str = '<tr style="text-align:center"><th>序号</th><th>任务名称</th><th>应完成时间</th><th>当前状态</th><th>完成情况%</th><th>相关责任人</th><th>联系电话</th></tr>';
+        // 循环遍历,每行加入tr标签,每个单元格加td标签
+        for (let i = 0; i < newData.length; i++) {
+            str += '<tr style="text-align:center">';
+            for (const key in newData[i]) {
+                // 增加\t为了不让表格显示科学计数法或者其他格式
+                str += `<td x:str>${ newData[i][key] + '\t'}</td>`;
+            }
+            str += '</tr>';
+        }
+        // Worksheet名
+        const worksheet = 'Sheet1'
+        const uri = 'data:application/vnd.ms-excel;base64,';
+
+        // 下载的表格模板数据
+        const template = `<html xmlns:o="urn:schemas-microsoft-com:office:office" 
+        xmlns:x="urn:schemas-microsoft-com:office:excel" 
+        xmlns="http://www.w3.org/TR/REC-html40">
+        <head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
+        <x:Name>${worksheet}</x:Name>
+        <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
+        </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
+        </head><body><table>${str}</table></body></html>`;
+
+        // 通过创建a标签实现
+        const link = document.createElement("a");
+        link.href = uri + base64(template);
+        // 对下载的文件命名
+        link.download = "维保记录数据表.xls";
+        link.click();
+
+    }, function(errorMsg) {
+        alert("请求数据失败!");
+    }, 3)
+}
+// 导出  end

+ 7 - 0
js/userAccount.js

@@ -424,8 +424,10 @@ $('#addUser').click(function() {
 })
 
 
+
 /* 修改用户发送请求 */
 $('#editUser').click(function() {
+    $("#companyId2").removeAttr("disabled");
 
     //获取表单的值
     let userEditObj = $("#editUserForm").serializeArray();
@@ -489,8 +491,13 @@ $('#editUser').click(function() {
         }
     }
 
+
+
     //验证通过 请求ajax
     ajaxRequest(USER_UPDATE, "POST", userEditParam, function(result) {
+
+        $("#companyId2").attr("disabled", "disabled");
+
         let data = result.data;
         layer.close(layerUpdateIndex);
         layer.msg('修改成功!', { icon: 6 });

+ 2 - 2
operate-manage.html

@@ -25,12 +25,12 @@
                 <ul>
                     <li class="selected"><a href="pages/operation/record.html" target="iframe">维保记录</a></li>
                     <li><a href="pages/operation/plan.html" target="iframe">维保计划</a></li>
-                    <li><a href="pages/operation/group.html" target="iframe">班组人员</a></li>
+                    <li><a href="pages/operation/team.html" target="iframe">班组人员</a></li>
                     <li><a href="pages/operation/point.html" target="iframe">维保点位</a></li>
                 </ul>
             </div>
             <div class="column3 flex10">
-                <iframe name="iframe" width="100%" height="100%" frameborder="0" src="pages/operation/record.html"></iframe>
+                <iframe name="iframe" width="100%" height="100%" frameborder="0" src="pages/operation/team.html"></iframe>
             </div>
         </div>
     </section>

+ 2 - 1
pages/account-manage/userAccount-manage.html

@@ -196,10 +196,11 @@
                     </div>
                     <div>
                         <span>单位名称:<i class="necessary">*</i></span>
-                        <select name="bian" id="companyId2" class="companyList">
+                        <select name="bian" id="companyId2" class="companyList" disabled="disabled">
                             <option value="">单位1</option>
                             <option value="">单位2</option>
                         </select>
+                        <!-- <input name="bian" type="text"> -->
 
                         <!-- <div class="layui-row  layui-form userCheckBox">
                             <div class="layui-col-md12">

+ 0 - 211
pages/operation/group.html

@@ -1,211 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh">
-
-<head>
-    <meta charset="UTF-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>运维管理(班组人员)</title>
-    <link rel="shortcut icon" href="../../favicon.ico">
-    <link rel="stylesheet" href="../../layui/css/layui.css">
-    <link rel="stylesheet" href="../../css/common.css" />
-    <link rel="stylesheet" href="../../css/per-manage.css" />
-    <script src="../../js/flexible-inner.js"></script>
-
-</head>
-
-<body style="background:rgba(0,0,0,0)">
-    <div class="memberbox memberbox2">
-        <div class="membertit">班组人员</div>
-        <div class="member-choose">
-            <span>事件名称</span>
-            <input type="text" id="event_name">
-            <span>事件类型</span>
-            <select name="" id="event_type">>
-                <option value="">所有</option>
-                <option value="1">消防隐患</option>
-                <option value="2">消防告警</option>
-                <option value="3">设备设施</option>
-            </select>
-            <a class="button" id="buttonSearch">确定</a>
-            <a class="button reset">重置</a>
-        </div>
-        <div class="operatebox"></div>
-        <ul class="member-operate">
-            <div class="event-count-box">
-                <ul>
-                    <li class="color-blue">
-                        <img src="../../images/event-icon1.png" alt="">
-                        <span>事件总数</span>
-                        <span class="event-num color-blue" id="totalCount">0</span>
-                    </li>
-                    <li class="color-orange">
-                        <img src="../../images/event-icon2.png" alt="">
-                        <span>已处置数</span>
-                        <span class="event-num color-orange" id="handled">0</span>
-                    </li>
-                    <li class="color-red">
-                        <img src="../../images/event-icon3.png" alt="">
-                        <span>未处置数</span>
-                        <span class="event-num color-red" id="unhandle">0</span>
-                    </li>
-                    <li class="color-green">
-                        <img src="../../images/event-icon4.png" alt="">
-                        <span>处置率</span>
-                        <span class="event-num color-green" id="handleRate">0%</span>
-                    </li>
-                </ul>
-            </div>
-            <a class="button add">新增</a>
-            <a class="button handle">处置</a>
-            <a class="button export">导出</a>
-        </ul>
-        <table class="pure-table" cellspacing="0px">
-            <thead>
-                <tr>
-                    <th style="width:24px">
-                    </th>
-                    <th>序号</th>
-                    <th>单位名称</th>
-                    <th>上报时间</th>
-                    <th>事件名称</th>
-                    <th>事件类型</th>
-                    <th>处理状态</th>
-                    <th>处理人</th>
-                    <th>处理时间</th>
-                </tr>
-            </thead>
-            <tbody id="dataList">
-            </tbody>
-        </table>
-    </div>
-
-    <div class="pager has-data flex">
-        <div class="pager-left flex1 align-left">
-            <ul>
-                <li id="firstPageButton" class="pg-first disabled"></li>
-                <li id="prevPageButton" class="pg-prev disabled"></li>
-                <li class="pg-des">
-                    第 <input id="currentPage" type="text" size="1" value="1"> 页,共 <span id="totalPage">1</span> 页
-                </li>
-                <li id="nextPageButton" class="pg-next"></li>
-                <li id="lastPageButton" class="pg-last"></li>
-                <li class="pg-refresh">
-                    <a href="javascript:location.reload();"></a>
-                </li>
-            </ul>
-        </div>
-        <div class="pager-right  flex1 align-right">显示第 <span id="pageFrom"> 1 </span> 条到 <span id="pageTo">
-                1 </span>条记录,总共 <span id="dataTotal">
-                1 </span>条
-        </div>
-    </div>
-    <div class="pager no-data" style="display:none;text-align:right">
-        暂无数据
-    </div>
-
-    <!-- 新增弹框 -->
-    <div class="xcConfirm  addDataOut" style="display:none">
-        <div class="popBox">
-            <div class="ttBox">
-                <a class="clsBtn"></a>
-                <span class="tt">新增</span>
-            </div>
-            <form action="" id="addDataForm">
-                <div class="txtBox">
-                    <div>
-                        <span>事件名称:<i class="necessary">*</i></span>
-                        <input type="text" name="event_name">
-                    </div>
-                    <div>
-                        <span>事件内容:<i class="necessary">*</i></span>
-                        <input type="text" name="event_content">
-                    </div>
-                    <div>
-                        <span>事件类型:<i class="necessary">*</i></span>
-                        <select name="event_type" id="">
-                            <option value="1">消防隐患</option>
-                            <option value="2">消防告警</option>
-                            <option value="3">设备设施</option>
-                        </select>
-                    </div>
-                    <div>
-                        <span>所属单位:<i class="necessary">*</i></span>
-                        <select name="company_code" id="getNameList">
-                            <option value="">所有</option>
-                        </select>
-                    </div>
-                </div>
-            </form>
-            <div class="btnArea">
-                <div class="btnGroup">
-                    <a class="sgBtn ok" id="addData"><img src="../../images/accept.png" alt=""> 提交</a>
-                    <a class="sgBtn cancel"><img src="../../images/cancel.png" alt="">关闭</a>
-                </div>
-            </div>
-        </div>
-    </div>
-    </div>
-    <div class="xcConfirm  handleDataOut" style="display:none">
-        <!-- 处置弹框 -->
-        <div class="popBox">
-            <div class="ttBox">
-                <a class="clsBtn"></a>
-                <span class="tt">处置</span>
-            </div>
-            <form action="" id="handleDataForm">
-                <div class="txtBox ">
-                    <div>
-                        <span>单位名称:</span>
-                        <input type="text" name="company_name" readonly>
-                    </div>
-                    <div>
-                        <span>事件类型:</span>
-                        <input type="text" name="event_type" readonly>
-                    </div>
-                    <div>
-                        <span>事件名称:</span>
-                        <input type="text" name="event_name" readonly>
-                    </div>
-                    <div>
-                        <span>事件内容:</span>
-                        <input type="text" name="event_content" readonly>
-                    </div>
-                    <div>
-                        <span>处置内容:</span>
-                        <textarea name="cl_content" id="" cols="30" rows="6"></textarea>
-                    </div>
-                    <div style="opacity:0">
-                        <span>数据id:</span>
-                        <input type="text" name="id">
-                    </div>
-                </div>
-            </form>
-            <div class="btnArea">
-                <div class="btnGroup">
-                    <a class="sgBtn ok" id="handleUpdate"><img src="../../images/accept.png" alt=""> 提交</a>
-                    <a class="sgBtn cancel"><img src="../../images/cancel.png" alt="">关闭</a>
-                </div>
-            </div>
-        </div>
-    </div>
-    <div id="view"></div>
-
-    <script src="../../js/jquery.js"></script>
-    <script src="../../js/util.js"></script>
-    <script src="../../api/request.js"></script>
-    <script src="../../js/main.js"></script>
-    <script src="../../layui/layui.js"></script>
-    <script src="../../js/valid.js"></script>
-    <script src="../../js/event-manage.js"></script>
-    <script>
-        layui.use(['form', 'layedit', 'laydate'], function() {
-            var form = layui.form,
-                layer = layui.layer,
-                layedit = layui.layedit,
-                laydate = layui.laydate;
-        });
-    </script>
-
-</body>
-
-</html>

+ 196 - 115
pages/operation/plan.html

@@ -6,11 +6,9 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>运维管理(维保计划)</title>
     <link rel="shortcut icon" href="../../favicon.ico">
-
     <link rel="stylesheet" href="../../layui/css/layui.css">
     <link rel="stylesheet" href="../../css/common.css" />
     <link rel="stylesheet" href="../../css/per-manage.css" />
-
     <script src="../../js/flexible-inner.js"></script>
 
 </head>
@@ -19,79 +17,43 @@
     <div class="memberbox ">
         <div class="membertit">维保计划</div>
         <div class="member-choose">
-            <span>开始时间</span>
-            <div class="layui-inline">
-                <input type="text" id="time_start" class="layui-input test-item" placeholder="所有">
-            </div>
-
-            <span>结束时间</span>
+            <span>任务名称</span>
+            <input type="text" id="plan_name">
 
-            <div class="layui-inline">
-                <input type="text" id="time_end" class="layui-input test-item" placeholder="所有">
-            </div>
-
-            <span>处理状态</span>
-            <select name="" id="clzt">
+            <span>责任人</span>
+            <select name="" id="person_liable_id">
                 <option value="">所有</option>
-                <option value="1">已处理</option>
-                <option value="0">未处理</option>
             </select>
 
+
             <a class="button" id="buttonSearch">确定</a>
             <a class="button reset">重置</a>
         </div>
         <div class="operatebox"></div>
         <ul class="member-operate">
-            <div class="event-count-box">
-                <ul>
-                    <li class="color-blue">
-                        <img src="../../images/event-icon1.png" alt="">
-                        <span>事件总数</span>
-                        <span class="event-num color-blue" id="totalCount">0</span>
-                    </li>
-                    <li class="color-orange">
-                        <img src="../../images/event-icon2.png" alt="">
-                        <span>已处置数</span>
-                        <span class="event-num color-orange" id="handled">0</span>
-                    </li>
-                    <li class="color-red">
-                        <img src="../../images/event-icon3.png" alt="">
-                        <span>未处置数</span>
-                        <span class="event-num color-red" id="unhandle">0</span>
-                    </li>
-                    <li class="color-green">
-                        <img src="../../images/event-icon4.png" alt="">
-                        <span>处置率</span>
-                        <span class="event-num color-green" id="handleRate">0%</span>
-                    </li>
-                </ul>
-            </div>
-            <a class="button handle">处置</a>
+            <a class="button add">+ 新增</a>
+            <a class="button edit">修改</a>
+            <a class="button delete">- 删除</a>
             <a class="button export">导出</a>
-
         </ul>
-
-
         <table class="pure-table" cellspacing="0px">
             <thead>
                 <tr>
                     <th style="width:24px">
                     </th>
                     <th>序号</th>
-                    <th>单位名称</th>
-                    <th>上报时间</th>
-                    <th>报告数据</th>
-                    <th>报告内容</th>
-                    <th>处理状态</th>
-                    <th>处理人</th>
-                    <th>处理时间</th>
+                    <th>任务名称</th>
+                    <th>周期</th>
+                    <th>执行日期</th>
+                    <th>执行团队</th>
+                    <th>责任人</th>
                 </tr>
             </thead>
-
             <tbody id="dataList">
             </tbody>
         </table>
     </div>
+
     <div class="pager has-data flex">
         <div class="pager-left flex1 align-left">
             <ul>
@@ -108,96 +70,214 @@
             </ul>
         </div>
         <div class="pager-right  flex1 align-right">显示第 <span id="pageFrom"> 1 </span> 条到 <span id="pageTo">
-                1 </span>条记录,总共 <span id="dataTotal">
-                1 </span>条
+                            1 </span>条记录,总共 <span id="dataTotal">
+                            1 </span>条
         </div>
     </div>
     <div class="pager no-data" style="display:none;text-align:right">
         暂无数据
     </div>
 
-    <div class="xcConfirm handleDataOut" style="display:none">
-        <!-- 处置弹框 -->
+
+    <!-- 新增弹框 -->
+    <div class="xcConfirm addDeviceTypeOut" style="display:none">
+        <div class="xc_layer"></div>
         <div class="popBox">
             <div class="ttBox">
                 <a class="clsBtn"></a>
-                <span class="tt">处置详情</span>
+                <span class="tt">新增</span>
             </div>
-            <form action="" id="handleDataForm">
-                <div class="txtBox ">
+            <form id="addMenuForm">
+                <div class="txtBox">
                     <div>
-                        <span>单位名称:</span>
-                        <input type="text" name="company_name" readonly>
+                        <span>团队名称<i class="necessary">*</i>
+                        </span>
+                        <input type="text" name="type_name">
                     </div>
                     <div>
-                        <span>设备名称:</span>
-                        <input type="text" name="name" readonly>
+                        <span>责任人<i class="necessary">*</i>
+                        </span>
+                        <input type="text" name="type_value">
                     </div>
                     <div>
-                        <span>报告数据:</span>
-                        <input type="text" name="data" readonly>
-                    </div>
-                    <div class="error-radio layui-form">
-                        <span>误报:</span>
-                        <div class="layui-form-item">
-                            <div class="layui-input-block">
-
-                                <input id="yes" type="radio" name="clwb" value="" title="是" checked>
-                                <input id="no" type="radio" name="clwb" value="" title="否">
-                            </div>
-                        </div>
-                    </div>
-                    <div class="error-radio layui-form handle-range">
-                        <span>处理范围:</span>
-                        <div class="layui-form-item">
-                            <div class="layui-input-block">
-                                <input type="radio" name="clwb1" value="" title="批量" checked>
-                                <input type="radio" name="clwb1" value="" title="单一">
-                            </div>
-                        </div>
+                        <span>所属单位<i class="necessary">*</i>
+                        </span>
+                        <select name="transmission_model">
+                            <option value="">所有</option>
+                            <option value="1">NB-IOT</option>
+                            <option value="2">Lora-IOT</option>
+                            <option value="3">2G/4G/5G</option>
+                        </select>
                     </div>
-                    <div>
-                        <span>处理内容:</span>
-                        <textarea name="clnr" id="" cols="10" rows="5"></textarea>
-                    </div>
-                    <div style="opacity:0">
-                        <span>数据id:</span>
-                        <input type="text" name="id">
-                    </div>
-                    <div style="opacity:0">
-                        <span>设备类型:</span>
-                        <input type="text" name="dwtype">
+
+
+
+                </div>
+                <div class="btnArea">
+                    <div class="btnGroup">
+                        <a class="sgBtn ok" id="addMenu"><img src="../../images/accept.png" alt=""> 提交
+                        </a>
+                        <a class="sgBtn cancel"><img src="../../images/cancel.png" alt="">关闭</a>
                     </div>
-                    <div style="opacity:0">
-                        <span>数据上报状态:</span>
-                        <input type="text" name="status">
+                </div>
+            </form>
+        </div>
+        <div class="memberbox">
+            <div>组织人员</div>
+            <br>
+            <table class="pure-table pure-table-inner" cellspacing="0px">
+                <thead>
+                    <tr>
+                        <th style="width:24px">
+                        </th>
+                        <th>姓名</th>
+                        <th>联系方式</th>
+                    </tr>
+                </thead>
+                <tbody id="dataList2">
+                </tbody>
+            </table>
+            <div class="pager2 has-data flex">
+                <div class="pager-left flex1 align-left">
+                    <ul>
+                        <li id="firstPageButton2" class="pg-first disabled"></li>
+                        <li id="prevPageButton2" class="pg-prev disabled"></li>
+                        <li class="pg-des">
+                            第 <input id="currentPage2" type="text" size="1" value="1"> 页,共 <span id="totalPage2">1</span> 页
+                        </li>
+                        <li id="nextPageButton2" class="pg-next"></li>
+                        <li id="lastPageButton2" class="pg-last"></li>
+                        <li class="pg-refresh2">
+                            <a href="javascript:location.reload();"></a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="pager2 no-data" style="display:none;text-align:right">
+                暂无数据
+            </div>
+        </div>
+
+    </div>
+
+
+
+    <!-- 维保点位弹框 -->
+    <div class="xcConfirm queryPointDetailList" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn"></a>
+                <span class="tt">维保点位</span>
+            </div>
+            <div class="memberbox" style="height:400px">
+                <div class="member-choose" style="margin:0.4375rem 0">
+                    <span>维保状态</span>
+                    <select name="" id="weibao">
+                        <option value="0">所有</option>
+                        <option value="1">未完成</option>
+                        <option value="2">已完成</option>
+                    </select>
+                    <a class="button" id="buttonSearch2">确定</a>
+                </div>
+                <table class="pure-table pure-table-inner" cellspacing="0px">
+                    <thead>
+                        <tr>
+                            <th style="width:24px">
+                            </th>
+                            <th>点位名称</th>
+                            <th>点位地址</th>
+                            <th>维保状态</th>
+                            <th>维保人</th>
+                            <th>维保时间</th>
+                            <th>点位详情</th>
+                            <th>维保报告</th>
+                        </tr>
+                    </thead>
+                    <tbody id="dataList2">
+                    </tbody>
+                </table>
+                <div class="pager2 has-data flex">
+                    <div class="pager-left flex1 align-left">
+                        <ul>
+                            <li id="firstPageButton2" class="pg-first disabled"></li>
+                            <li id="prevPageButton2" class="pg-prev disabled"></li>
+                            <li class="pg-des">
+                                第 <input id="currentPage2" type="text" size="1" value="1"> 页,共 <span id="totalPage2">1</span> 页
+                            </li>
+                            <li id="nextPageButton2" class="pg-next"></li>
+                            <li id="lastPageButton2" class="pg-last"></li>
+                            <li class="pg-refresh2">
+                                <a href="javascript:location.reload();"></a>
+                            </li>
+                        </ul>
                     </div>
-                    <div style="opacity:0">
-                        <span>设备编号:</span>
-                        <input type="text" name="device_code">
+                    <div class="pager-right  flex1 align-right">显示第 <span id="pageFrom2"> 1 </span> 条到 <span id="pageTo2">
+                                        1 </span>条记录,总共 <span id="dataTotal2">
+                                        1 </span>条
                     </div>
                 </div>
-            </form>
+                <div class="pager2 no-data" style="display:none;text-align:right">
+                    暂无数据
+                </div>
+            </div>
+
+        </div>
+    </div>
 
-            <div class="btnArea">
-                <div class="btnGroup">
-                    <a class="sgBtn ok" id="handleUpdate"><img src="../../images/accept.png" alt=""> 提交</a>
-                    <a class="sgBtn cancel"><img src="../../images/cancel.png" alt="">关闭</a>
+
+    <!-- 点位详情弹框 -->
+    <div class="xcConfirm pointDetailOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn2"></a>
+                <span class="tt">点位详情</span>
+            </div>
+            <div class="memberbox imgOut ">
+                <!-- <div></div> -->
+
+                <img id="pointDetailUrl" src="../../images/bg.jpg" alt="" width="300px" height="270px">
+                <br>
+                <p style="margin-top:20px">测试点位</p>
+            </div>
+            <div class="btnArea ">
+                <div class="btnGroup ">
+                    <a class="sgBtn cancel2 "><img src="../../images/cancel.png " alt=" ">关闭</a>
                 </div>
             </div>
         </div>
     </div>
 
+    <!-- 维保报告弹框 -->
+    <div class="xcConfirm weibaoReportOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn3"></a>
+                <span class="tt">点位详情</span>
+            </div>
+            <div class="memberbox imgOut ">
+                <!-- <div></div> -->
 
+                <img id="weibaoReportUrl" src="../../images/bg.jpg" alt="" width="250px" height="250px">
+            </div>
+            <div class="btnArea ">
+                <div class="btnGroup ">
+                    <a class="sgBtn cancel3 "><img src="../../images/cancel.png " alt=" ">关闭</a>
+                </div>
+            </div>
+        </div>
+    </div>
 
+    <script src="../../js/jquery.js "></script>
+    <script src="../../js/util.js "></script>
+    <script src="../../api/request.js "></script>
+    <script src="../../js/main.js "></script>
+    <script src="../../layui/layui.js "></script>
+    <script src="../../js/valid.js "></script>
+    <script src="../../js/plan.js "></script>
 
-    <script src="../../js/jquery.js"></script>
-    <script src="../../js/util.js"></script>
-    <script src="../../api/request.js"></script>
-    <script src="../../js/main.js"></script>
-    <script src="../../layui/layui.js"></script>
-    <script src="../../js/valid.js"></script>
-    <script src="../../js/eventWarning-manage.js"></script>
     <script>
         layui.use(['form', 'layedit', 'laydate'], function() {
             var form = layui.form,
@@ -210,7 +290,7 @@
             var laydate = layui.laydate;
             //开始日期
             var insStart = laydate.render({
-                elem: '#time_start',
+                elem: '#data3a',
                 trigger: 'click',
                 done: function(value, date) {
                     //更新结束日期的最小日期
@@ -224,7 +304,7 @@
 
             //结束日期
             var insEnd = laydate.render({
-                elem: '#time_end',
+                elem: '#data3b',
                 trigger: 'click',
                 done: function(value, date) {
                     //更新开始日期的最大日期
@@ -233,6 +313,7 @@
                     });
                 }
             });
+
         });
     </script>
 </body>

+ 58 - 25
pages/operation/record.html

@@ -125,8 +125,8 @@
                 <a class="clsBtn"></a>
                 <span class="tt">维保点位</span>
             </div>
-            <div class="memberbox">
-                <div class="member-choose"  style="margin:0.4375rem 0">
+            <div class="memberbox" style="height:400px">
+                <div class="member-choose" style="margin:0.4375rem 0">
                     <span>维保状态</span>
                     <select name="" id="weibao">
                         <option value="0">所有</option>
@@ -149,14 +149,9 @@
                             <th>维保报告</th>
                         </tr>
                     </thead>
+                    <tbody id="dataList2">
+                    </tbody>
                 </table>
-                <div class="scroll" style="height:270px;overflow-y:auto;">
-                    <table class="pure-table pure-table-inner result" cellspacing="0px">
-                        <tbody id="dataList2">
-                        </tbody>
-                    </table>
-                </div>
-
                 <div class="pager2 has-data flex">
                     <div class="pager-left flex1 align-left">
                         <ul>
@@ -181,18 +176,63 @@
                     暂无数据
                 </div>
             </div>
-            
+
         </div>
     </div>
 
-    <script src="../../js/jquery.js"></script>
-    <script src="../../js/util.js"></script>
-    <script src="../../api/request.js"></script>
-    <script src="../../js/main.js"></script>
-    <script src="../../layui/layui.js"></script>
-    <script src="../../js/valid.js"></script>
-    <script src="../../js/record.js"></script>
-    <script src="../../js/record-inner.js"></script>
+
+    <!-- 点位详情弹框 -->
+    <div class="xcConfirm pointDetailOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn2"></a>
+                <span class="tt">点位详情</span>
+            </div>
+            <div class="memberbox imgOut ">
+                <!-- <div></div> -->
+
+                <img id="pointDetailUrl" src="../../images/bg.jpg" alt="" width="300px" height="270px">
+                <br>
+                <p style="margin-top:20px">测试点位</p>
+            </div>
+            <div class="btnArea ">
+                <div class="btnGroup ">
+                    <a class="sgBtn cancel2 "><img src="../../images/cancel.png " alt=" ">关闭</a>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <!-- 维保报告弹框 -->
+    <div class="xcConfirm weibaoReportOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn3"></a>
+                <span class="tt">点位详情</span>
+            </div>
+            <div class="memberbox imgOut ">
+                <!-- <div></div> -->
+
+                <img id="weibaoReportUrl" src="../../images/bg.jpg" alt="" width="250px" height="250px">
+            </div>
+            <div class="btnArea ">
+                <div class="btnGroup ">
+                    <a class="sgBtn cancel3 "><img src="../../images/cancel.png " alt=" ">关闭</a>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="../../js/jquery.js "></script>
+    <script src="../../js/util.js "></script>
+    <script src="../../api/request.js "></script>
+    <script src="../../js/main.js "></script>
+    <script src="../../layui/layui.js "></script>
+    <script src="../../js/valid.js "></script>
+    <script src="../../js/record.js "></script>
+    <script src="../../js/record-inner.js "></script>
 
     <script>
         layui.use(['form', 'layedit', 'laydate'], function() {
@@ -231,13 +271,6 @@
             });
 
         });
-
-
-
-
-
-
-
     </script>
 </body>
 

+ 319 - 0
pages/operation/team.html

@@ -0,0 +1,319 @@
+<!DOCTYPE html>
+<html lang="zh">
+
+<head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>运维管理(班组管理)</title>
+    <link rel="shortcut icon" href="../../favicon.ico">
+    <link rel="stylesheet" href="../../layui/css/layui.css">
+    <link rel="stylesheet" href="../../css/common.css" />
+    <link rel="stylesheet" href="../../css/per-manage.css" />
+    <script src="../../js/flexible-inner.js"></script>
+
+</head>
+
+<body style="background:rgba(0,0,0,0)">
+    <div class="memberbox ">
+        <div class="membertit">团队班组管理</div>
+        <div class="member-choose">
+            <span>团队名称</span>
+            <input type="text" id="team_name">
+
+            <span>责任人</span>
+            <select name="" id="add_people">
+                <option value="">所有</option>
+            </select>
+
+            <a class="button" id="buttonSearch">确定</a>
+            <a class="button reset">重置</a>
+        </div>
+        <div class="operatebox"></div>
+        <ul class="member-operate">
+            <a class="button add">+ 新增</a>
+            <a class="button edit">修改</a>
+            <a class="button delete">- 删除</a>
+            <a class="button export">导出</a>
+        </ul>
+        <table class="pure-table" cellspacing="0px">
+            <thead>
+                <tr>
+                    <th style="width:24px">
+                    </th>
+                    <th>序号</th>
+                    <th>团队名称</th>
+                    <th>所属单位</th>
+                    <th>责任人</th>
+                    <th>联系方式</th>
+                    <th>创建人</th>
+                    <th>创建时间</th>
+                </tr>
+            </thead>
+            <tbody id="dataList">
+            </tbody>
+        </table>
+    </div>
+
+    <div class="pager has-data flex">
+        <div class="pager-left flex1 align-left">
+            <ul>
+                <li id="firstPageButton" class="pg-first disabled"></li>
+                <li id="prevPageButton" class="pg-prev disabled"></li>
+                <li class="pg-des">
+                    第 <input id="currentPage" type="text" size="1" value="1"> 页,共 <span id="totalPage">1</span> 页
+                </li>
+                <li id="nextPageButton" class="pg-next"></li>
+                <li id="lastPageButton" class="pg-last"></li>
+                <li class="pg-refresh">
+                    <a href="javascript:location.reload();"></a>
+                </li>
+            </ul>
+        </div>
+        <div class="pager-right  flex1 align-right">显示第 <span id="pageFrom"> 1 </span> 条到 <span id="pageTo">
+                            1 </span>条记录,总共 <span id="dataTotal">
+                            1 </span>条
+        </div>
+    </div>
+    <div class="pager no-data" style="display:none;text-align:right">
+        暂无数据
+    </div>
+
+
+    <!-- 新增弹框 -->
+    <div class="xcConfirm addDeviceTypeOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn"></a>
+                <span class="tt">新增</span>
+            </div>
+            <form id="addMenuForm">
+                <div class="txtBox">
+                    <div>
+                        <span>团队名称<i class="necessary">*</i>
+                        </span>
+                        <input type="text" name="team_name">
+                    </div>
+                    <div>
+                        <span>责任人<i class="necessary">*</i>
+                        </span>
+                        <input type="text" name="name">
+                    </div>
+                    <div>
+                        <span>所属单位<i class="necessary">*</i>
+                        </span>
+                        <select name="getNameList">
+                            <option value="">所有</option>
+                            <!-- <option value="1">NB-IOT</option>
+                            <option value="2">Lora-IOT</option>
+                            <option value="3">2G/4G/5G</option> -->
+                        </select>
+                    </div>
+                </div>
+                <div class="btnArea">
+                    <div class="btnGroup">
+                        <a class="sgBtn ok" id="addMenu"><img src="../../images/accept.png" alt=""> 提交
+                        </a>
+                        <a class="sgBtn cancel"><img src="../../images/cancel.png" alt="">关闭</a>
+                    </div>
+                </div>
+            </form>
+        </div>
+        <div class="memberbox">
+            <div>组织人员</div>
+            <br>
+            <table class="pure-table pure-table-inner" cellspacing="0px">
+                <thead>
+                    <tr>
+                        <th style="width:24px">
+                        </th>
+                        <th>姓名</th>
+                        <th>联系方式</th>
+                    </tr>
+                </thead>
+                <tbody id="dataList2">
+                </tbody>
+            </table>
+            <div class="pager2 has-data flex">
+                <div class="pager-left flex1 align-left">
+                    <ul>
+                        <li id="firstPageButton2" class="pg-first disabled"></li>
+                        <li id="prevPageButton2" class="pg-prev disabled"></li>
+                        <li class="pg-des">
+                            第 <input id="currentPage2" type="text" size="1" value="1"> 页,共 <span id="totalPage2">1</span> 页
+                        </li>
+                        <li id="nextPageButton2" class="pg-next"></li>
+                        <li id="lastPageButton2" class="pg-last"></li>
+                        <li class="pg-refresh2">
+                            <a href="javascript:location.reload();"></a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="pager2 no-data" style="display:none;text-align:right">
+                暂无数据
+            </div>
+        </div>
+
+    </div>
+
+
+
+    <!-- 维保点位弹框 -->
+    <div class="xcConfirm queryPointDetailList" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn"></a>
+                <span class="tt">维保点位</span>
+            </div>
+            <div class="memberbox" style="height:400px">
+                <div class="member-choose" style="margin:0.4375rem 0">
+                    <span>维保状态</span>
+                    <select name="" id="weibao">
+                        <option value="0">所有</option>
+                        <option value="1">未完成</option>
+                        <option value="2">已完成</option>
+                    </select>
+                    <a class="button" id="buttonSearch2">确定</a>
+                </div>
+                <table class="pure-table pure-table-inner" cellspacing="0px">
+                    <thead>
+                        <tr>
+                            <th style="width:24px">
+                            </th>
+                            <th>点位名称</th>
+                            <th>点位地址</th>
+                            <th>维保状态</th>
+                            <th>维保人</th>
+                            <th>维保时间</th>
+                            <th>点位详情</th>
+                            <th>维保报告</th>
+                        </tr>
+                    </thead>
+                    <tbody id="dataList2">
+                    </tbody>
+                </table>
+                <div class="pager2 has-data flex">
+                    <div class="pager-left flex1 align-left">
+                        <ul>
+                            <li id="firstPageButton2" class="pg-first disabled"></li>
+                            <li id="prevPageButton2" class="pg-prev disabled"></li>
+                            <li class="pg-des">
+                                第 <input id="currentPage2" type="text" size="1" value="1"> 页,共 <span id="totalPage2">1</span> 页
+                            </li>
+                            <li id="nextPageButton2" class="pg-next"></li>
+                            <li id="lastPageButton2" class="pg-last"></li>
+                            <li class="pg-refresh2">
+                                <a href="javascript:location.reload();"></a>
+                            </li>
+                        </ul>
+                    </div>
+                    <div class="pager-right  flex1 align-right">显示第 <span id="pageFrom2"> 1 </span> 条到 <span id="pageTo2">
+                                        1 </span>条记录,总共 <span id="dataTotal2">
+                                        1 </span>条
+                    </div>
+                </div>
+                <div class="pager2 no-data" style="display:none;text-align:right">
+                    暂无数据
+                </div>
+            </div>
+
+        </div>
+    </div>
+
+
+    <!-- 点位详情弹框 -->
+    <div class="xcConfirm pointDetailOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn2"></a>
+                <span class="tt">点位详情</span>
+            </div>
+            <div class="memberbox imgOut ">
+                <!-- <div></div> -->
+
+                <img id="pointDetailUrl" src="../../images/bg.jpg" alt="" width="300px" height="270px">
+                <br>
+                <p style="margin-top:20px">测试点位</p>
+            </div>
+            <div class="btnArea ">
+                <div class="btnGroup ">
+                    <a class="sgBtn cancel2 "><img src="../../images/cancel.png " alt=" ">关闭</a>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <!-- 维保报告弹框 -->
+    <div class="xcConfirm weibaoReportOut" style="display:none">
+        <div class="xc_layer"></div>
+        <div class="popBox">
+            <div class="ttBox">
+                <a class="clsBtn3"></a>
+                <span class="tt">点位详情</span>
+            </div>
+            <div class="memberbox imgOut ">
+                <!-- <div></div> -->
+
+                <img id="weibaoReportUrl" src="../../images/bg.jpg" alt="" width="250px" height="250px">
+            </div>
+            <div class="btnArea ">
+                <div class="btnGroup ">
+                    <a class="sgBtn cancel3 "><img src="../../images/cancel.png " alt=" ">关闭</a>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="../../js/jquery.js "></script>
+    <script src="../../js/util.js "></script>
+    <script src="../../api/request.js "></script>
+    <script src="../../js/main.js "></script>
+    <script src="../../layui/layui.js "></script>
+    <script src="../../js/valid.js "></script>
+    <script src="../../js/team.js "></script>
+    <script src="../../js/team-inner.js "></script>
+
+    <script>
+        layui.use(['form', 'layedit', 'laydate'], function() {
+            var form = layui.form,
+                layer = layui.layer,
+                layedit = layui.layedit,
+                laydate = layui.laydate;
+        });
+
+        layui.use('laydate', function() {
+            var laydate = layui.laydate;
+            //开始日期
+            var insStart = laydate.render({
+                elem: '#data3a',
+                trigger: 'click',
+                done: function(value, date) {
+                    //更新结束日期的最小日期
+                    insEnd.config.min = lay.extend({}, date, {
+                        month: date.month - 1
+                    });
+                    //自动弹出结束日期的选择器
+                    insEnd.config.elem[0].focus();
+                }
+            });
+
+            //结束日期
+            var insEnd = laydate.render({
+                elem: '#data3b',
+                trigger: 'click',
+                done: function(value, date) {
+                    //更新开始日期的最大日期
+                    insStart.config.max = lay.extend({}, date, {
+                        month: date.month - 1
+                    });
+                }
+            });
+
+        });
+    </script>
+</body>
+
+</html>