suerprisePlus
2024-07-04 81f92eb9fb83ed5d8ac0b0a5c206315416f10df0
系统更新
已添加12个文件
已修改16个文件
3780 ■■■■■ 文件已修改
public/CimSDK/Workers/layui/css/layui.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/CimSDK/Workers/layui/css/layui.mobile.css 619 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/CimSDK/Workers/layui/css/modules/laydate/default/laydate.css 414 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/CimSDK/Workers/layui/css/modules/layer/default/layer.css 822 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/CimSDK/Workers/layui/lay/modules/theme/default/layer.css 822 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/C130系统..md 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/Report.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/Report.md 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/丹辘级系统.md 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/何塞黎刹级系统.md 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/先锋级系统.md 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/圣安东尼奥级系统.md 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/堤丰.md 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/支奴干系统.md 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/鱼鹰系统.md 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/Data/黑鹰系统.md 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/config/config.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/map/json/wq.json 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/map/mapConfig.js 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/map/mapInfo.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/map/mapJsonLayer.js 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/map/mapView.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/msg/msgData.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Chat/chatList.vue 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chartView/index.vue 372 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mapView/mapView.vue 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/CimSDK/Workers/layui/css/layui.css
@@ -21,9 +21,9 @@
}
.layui-btn, .layui-disabled, .layui-icon, .layui-unselect {
    -moz-user-select: none;
    /* -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none
    -ms-user-select: none */
}
.layui-elip, .layui-form-checkbox span, .layui-form-pane .layui-form-label {
public/CimSDK/Workers/layui/css/layui.mobile.css
@@ -1,2 +1,619 @@
/** layui-v2.5.4 MIT License By https://www.layui.com */
 blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font:12px 'Helvetica Neue','PingFang SC',STHeitiSC-Light,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0)}a{text-decoration:none;background:0 0}a:active,a:hover{outline:0}table{border-collapse:collapse;border-spacing:0}li{list-style:none}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:500}address,cite,dfn,em,var{font-style:normal}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border:0;vertical-align:bottom}.layui-inline,input,label{vertical-align:middle}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;outline:0}button,select{text-transform:none}select{-webkit-appearance:none;border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=1.0.7);src:url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'),url(../font/iconfont.woff?v=1.0.7) format('woff'),url(../font/iconfont.ttf?v=1.0.7) format('truetype'),url(../font/iconfont.svg?v=1.0.7#iconfont) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-box,.layui-box *{-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important}.layui-border-box,.layui-border-box *{-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1}.layui-edge,.layui-upload-iframe{position:absolute;width:0;height:0}.layui-edge{border-style:dashed;border-color:transparent;overflow:hidden}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:active{background-color:#d2d2d2!important;color:#fff!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-upload-iframe{border:0;visibility:hidden}.layui-upload-enter{border:1px solid #009E94;background-color:#009E94;color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}@-webkit-keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-left{-webkit-animation-name:layui-m-anim-left;animation-name:layui-m-anim-left}@-webkit-keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-right{-webkit-animation-name:layui-m-anim-right;animation-name:layui-m-anim-right}@-webkit-keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.layui-m-anim-lout{-webkit-animation-name:layui-m-anim-lout;animation-name:layui-m-anim-lout}@-webkit-keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.layui-m-anim-rout{-webkit-animation-name:layui-m-anim-rout;animation-name:layui-m-anim-rout}.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
blockquote,
body,
button,
dd,
div,
dl,
dt,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
  font: 12px "Helvetica Neue", "PingFang SC", STHeitiSC-Light, Helvetica, Arial,
    sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
a,
button,
input {
  -webkit-tap-highlight-color: rgba(255, 0, 0, 0);
}
a {
  text-decoration: none;
  background: 0 0;
}
a:active,
a:hover {
  outline: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
li {
  list-style: none;
}
b,
strong {
  font-weight: 700;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}
address,
cite,
dfn,
em,
var {
  font-style: normal;
}
dfn {
  font-style: italic;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
img {
  border: 0;
  vertical-align: bottom;
}
.layui-inline,
input,
label {
  vertical-align: middle;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
  outline: 0;
}
button,
select {
  text-transform: none;
}
select {
  -webkit-appearance: none;
  border: none;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
@font-face {
  font-family: layui-icon;
  src: url(../font/iconfont.eot?v=1.0.7);
  src: url(../font/iconfont.eot?v=1.0.7#iefix) format("embedded-opentype"),
    url(../font/iconfont.woff?v=1.0.7) format("woff"),
    url(../font/iconfont.ttf?v=1.0.7) format("truetype"),
    url(../font/iconfont.svg?v=1.0.7#iconfont) format("svg");
}
.layui-icon {
  font-family: layui-icon !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.layui-box,
.layui-box * {
  -webkit-box-sizing: content-box !important;
  -moz-box-sizing: content-box !important;
  box-sizing: content-box !important;
}
.layui-border-box,
.layui-border-box * {
  -webkit-box-sizing: border-box !important;
  -moz-box-sizing: border-box !important;
  box-sizing: border-box !important;
}
.layui-inline {
  position: relative;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.layui-edge,
.layui-upload-iframe {
  position: absolute;
  width: 0;
  height: 0;
}
.layui-edge {
  border-style: dashed;
  border-color: transparent;
  overflow: hidden;
}
.layui-elip {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.layui-unselect {
  /* -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none; */
}
.layui-disabled,
.layui-disabled:active {
  background-color: #d2d2d2 !important;
  color: #fff !important;
  cursor: not-allowed !important;
}
.layui-circle {
  border-radius: 100%;
}
.layui-show {
  display: block !important;
}
.layui-hide {
  display: none !important;
}
.layui-upload-iframe {
  border: 0;
  visibility: hidden;
}
.layui-upload-enter {
  border: 1px solid #009e94;
  background-color: #009e94;
  color: #fff;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
@-webkit-keyframes layui-m-anim-scale {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes layui-m-anim-scale {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.layui-m-anim-scale {
  animation-name: layui-m-anim-scale;
  -webkit-animation-name: layui-m-anim-scale;
}
@-webkit-keyframes layui-m-anim-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(800px);
    transform: translateY(800px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes layui-m-anim-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(800px);
    transform: translateY(800px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.layui-m-anim-up {
  -webkit-animation-name: layui-m-anim-up;
  animation-name: layui-m-anim-up;
}
@-webkit-keyframes layui-m-anim-left {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes layui-m-anim-left {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.layui-m-anim-left {
  -webkit-animation-name: layui-m-anim-left;
  animation-name: layui-m-anim-left;
}
@-webkit-keyframes layui-m-anim-right {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes layui-m-anim-right {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.layui-m-anim-right {
  -webkit-animation-name: layui-m-anim-right;
  animation-name: layui-m-anim-right;
}
@-webkit-keyframes layui-m-anim-lout {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes layui-m-anim-lout {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
.layui-m-anim-lout {
  -webkit-animation-name: layui-m-anim-lout;
  animation-name: layui-m-anim-lout;
}
@-webkit-keyframes layui-m-anim-rout {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@keyframes layui-m-anim-rout {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
.layui-m-anim-rout {
  -webkit-animation-name: layui-m-anim-rout;
  animation-name: layui-m-anim-rout;
}
.layui-m-layer {
  position: relative;
  z-index: 19891014;
}
.layui-m-layer * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.layui-m-layermain,
.layui-m-layershade {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.layui-m-layershade {
  background-color: rgba(0, 0, 0, 0.7);
  pointer-events: auto;
}
.layui-m-layermain {
  display: table;
  font-family: Helvetica, arial, sans-serif;
  pointer-events: none;
}
.layui-m-layermain .layui-m-layersection {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.layui-m-layerchild {
  position: relative;
  display: inline-block;
  text-align: left;
  background-color: #fff;
  font-size: 14px;
  border-radius: 5px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
}
.layui-m-layer0 .layui-m-layerchild {
  width: 90%;
  max-width: 640px;
}
.layui-m-layer1 .layui-m-layerchild {
  border: none;
  border-radius: 0;
}
.layui-m-layer2 .layui-m-layerchild {
  width: auto;
  max-width: 260px;
  min-width: 40px;
  border: none;
  background: 0 0;
  box-shadow: none;
  color: #fff;
}
.layui-m-layerchild h3 {
  padding: 0 10px;
  height: 60px;
  line-height: 60px;
  font-size: 16px;
  font-weight: 400;
  border-radius: 5px 5px 0 0;
  text-align: center;
}
.layui-m-layerbtn span,
.layui-m-layerchild h3 {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.layui-m-layercont {
  padding: 50px 30px;
  line-height: 22px;
  text-align: center;
}
.layui-m-layer1 .layui-m-layercont {
  padding: 0;
  text-align: left;
}
.layui-m-layer2 .layui-m-layercont {
  text-align: center;
  padding: 0;
  line-height: 0;
}
.layui-m-layer2 .layui-m-layercont i {
  width: 25px;
  height: 25px;
  margin-left: 8px;
  display: inline-block;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: layui-m-anim-loading 1.4s infinite ease-in-out;
  animation: layui-m-anim-loading 1.4s infinite ease-in-out;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.layui-m-layerbtn,
.layui-m-layerbtn span {
  position: relative;
  text-align: center;
  border-radius: 0 0 5px 5px;
}
.layui-m-layer2 .layui-m-layercont p {
  margin-top: 20px;
}
@-webkit-keyframes layui-m-anim-loading {
  0%,
  100%,
  80% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
  40% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}
@keyframes layui-m-anim-loading {
  0%,
  100%,
  80% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
  40% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}
.layui-m-layer2 .layui-m-layercont i:first-child {
  margin-left: 0;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.layui-m-layer2 .layui-m-layercont i.layui-m-layerload {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.layui-m-layer2 .layui-m-layercont > div {
  line-height: 22px;
  padding-top: 7px;
  margin-bottom: 20px;
  font-size: 14px;
}
.layui-m-layerbtn {
  display: box;
  display: -moz-box;
  display: -webkit-box;
  width: 100%;
  height: 50px;
  line-height: 50px;
  font-size: 0;
  border-top: 1px solid #d0d0d0;
  background-color: #f2f2f2;
}
.layui-m-layerbtn span {
  display: block;
  -moz-box-flex: 1;
  box-flex: 1;
  -webkit-box-flex: 1;
  font-size: 14px;
  cursor: pointer;
}
.layui-m-layerbtn span[yes] {
  color: #40affe;
}
.layui-m-layerbtn span[no] {
  border-right: 1px solid #d0d0d0;
  border-radius: 0 0 0 5px;
}
.layui-m-layerbtn span:active {
  background-color: #f6f6f6;
}
.layui-m-layerend {
  position: absolute;
  right: 7px;
  top: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  font-weight: 400;
  background: 0 0;
  cursor: pointer;
  -webkit-appearance: none;
  font-size: 30px;
}
.layui-m-layerend::after,
.layui-m-layerend::before {
  position: absolute;
  left: 5px;
  top: 15px;
  content: "";
  width: 18px;
  height: 1px;
  background-color: #999;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  border-radius: 3px;
}
.layui-m-layerend::after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
body .layui-m-layer .layui-m-layer-footer {
  position: fixed;
  width: 95%;
  max-width: 100%;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 10px;
  background: 0 0;
}
.layui-m-layer-footer .layui-m-layercont {
  padding: 20px;
  border-radius: 5px 5px 0 0;
  background-color: rgba(255, 255, 255, 0.8);
}
.layui-m-layer-footer .layui-m-layerbtn {
  display: block;
  height: auto;
  background: 0 0;
  border-top: none;
}
.layui-m-layer-footer .layui-m-layerbtn span {
  background-color: rgba(255, 255, 255, 0.8);
}
.layui-m-layer-footer .layui-m-layerbtn span[no] {
  color: #fd482c;
  border-top: 1px solid #c2c2c2;
  border-radius: 0 0 5px 5px;
}
.layui-m-layer-footer .layui-m-layerbtn span[yes] {
  margin-top: 10px;
  border-radius: 5px;
}
body .layui-m-layer .layui-m-layer-msg {
  width: auto;
  max-width: 90%;
  margin: 0 auto;
  bottom: -150px;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
}
.layui-m-layer-msg .layui-m-layercont {
  padding: 10px 20px;
}
public/CimSDK/Workers/layui/css/modules/laydate/default/laydate.css
@@ -1,2 +1,414 @@
/** layui-v2.5.4 MIT License By https://www.layui.com */
 .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eaeaea;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}
.laydate-set-ym,
.layui-laydate,
.layui-laydate *,
.layui-laydate-list {
  box-sizing: border-box;
}
html #layuicss-laydate {
  display: none;
  position: absolute;
  width: 1989px;
}
.layui-laydate * {
  margin: 0;
  padding: 0;
}
.layui-laydate {
  position: absolute;
  z-index: 66666666;
  margin: 5px 0;
  border-radius: 2px;
  font-size: 14px;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: laydate-upbit;
  animation-name: laydate-upbit;
}
.layui-laydate-main {
  width: 272px;
}
.layui-laydate-content td,
.layui-laydate-header *,
.layui-laydate-list li {
  transition-duration: 0.3s;
  -webkit-transition-duration: 0.3s;
}
@-webkit-keyframes laydate-upbit {
  from {
    -webkit-transform: translate3d(0, 20px, 0);
    opacity: 0.3;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes laydate-upbit {
  from {
    transform: translate3d(0, 20px, 0);
    opacity: 0.3;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.layui-laydate-static {
  position: relative;
  z-index: 0;
  display: inline-block;
  margin: 0;
  -webkit-animation: none;
  animation: none;
}
.laydate-ym-show .laydate-next-m,
.laydate-ym-show .laydate-prev-m {
  display: none !important;
}
.laydate-ym-show .laydate-next-y,
.laydate-ym-show .laydate-prev-y {
  display: inline-block !important;
}
.laydate-time-show .laydate-set-ym span[lay-type="month"],
.laydate-time-show .laydate-set-ym span[lay-type="year"],
.laydate-time-show .layui-laydate-header .layui-icon,
.laydate-ym-show .laydate-set-ym span[lay-type="month"] {
  display: none !important;
}
.layui-laydate-header {
  position: relative;
  line-height: 30px;
  padding: 10px 70px 5px;
}
.laydate-set-ym span,
.layui-laydate-header i {
  padding: 0 5px;
  cursor: pointer;
}
.layui-laydate-header * {
  display: inline-block;
  vertical-align: bottom;
}
.layui-laydate-header i {
  position: absolute;
  top: 10px;
  color: #999;
  font-size: 18px;
}
.layui-laydate-header i.laydate-prev-y {
  left: 15px;
}
.layui-laydate-header i.laydate-prev-m {
  left: 45px;
}
.layui-laydate-header i.laydate-next-y {
  right: 15px;
}
.layui-laydate-header i.laydate-next-m {
  right: 45px;
}
.laydate-set-ym {
  width: 100%;
  text-align: center;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.laydate-time-text {
  cursor: default !important;
}
.layui-laydate-content {
  position: relative;
  padding: 10px;
  /* -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none; */
}
.layui-laydate-content table {
  border-collapse: collapse;
  border-spacing: 0;
}
.layui-laydate-content td,
.layui-laydate-content th {
  width: 36px;
  height: 30px;
  padding: 5px;
  text-align: center;
}
.layui-laydate-content td {
  position: relative;
  cursor: pointer;
}
.laydate-day-mark {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  line-height: 30px;
  font-size: 12px;
  overflow: hidden;
}
.laydate-day-mark::after {
  position: absolute;
  content: "";
  right: 2px;
  top: 2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
.layui-laydate-footer {
  position: relative;
  height: 46px;
  line-height: 26px;
  padding: 10px 20px;
}
.layui-laydate-footer span {
  margin-right: 15px;
  display: inline-block;
  cursor: pointer;
  font-size: 12px;
}
.layui-laydate-footer span:hover {
  color: #5fb878;
}
.laydate-footer-btns {
  position: absolute;
  right: 10px;
  top: 10px;
}
.laydate-footer-btns span {
  height: 26px;
  line-height: 26px;
  margin: 0 0 0 -1px;
  padding: 0 10px;
  border: 1px solid #c9c9c9;
  background-color: #fff;
  white-space: nowrap;
  vertical-align: top;
  border-radius: 2px;
}
.layui-laydate-list > li,
.layui-laydate-range .layui-laydate-main {
  display: inline-block;
  vertical-align: middle;
}
.layui-laydate-list {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
  background-color: #fff;
}
.layui-laydate-list > li {
  position: relative;
  width: 33.3%;
  height: 36px;
  line-height: 36px;
  margin: 3px 0;
  text-align: center;
  cursor: pointer;
}
.laydate-month-list > li {
  width: 25%;
  margin: 17px 0;
}
.laydate-time-list > li {
  height: 100%;
  margin: 0;
  line-height: normal;
  cursor: default;
}
.laydate-time-list p {
  position: relative;
  top: -4px;
  line-height: 29px;
}
.laydate-time-list ol {
  height: 181px;
  overflow: hidden;
}
.laydate-time-list > li:hover ol {
  overflow-y: auto;
}
.laydate-time-list ol li {
  width: 130%;
  padding-left: 33px;
  line-height: 30px;
  text-align: left;
  cursor: pointer;
}
.layui-laydate-hint {
  position: absolute;
  top: 115px;
  left: 50%;
  width: 250px;
  margin-left: -125px;
  line-height: 20px;
  padding: 15px;
  text-align: center;
  font-size: 12px;
}
.layui-laydate-range {
  width: 546px;
}
.layui-laydate-range .laydate-main-list-0 .laydate-next-m,
.layui-laydate-range .laydate-main-list-0 .laydate-next-y,
.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,
.layui-laydate-range .laydate-main-list-1 .laydate-prev-y {
  display: none;
}
.layui-laydate-range .laydate-main-list-1 .layui-laydate-content {
  border-left: 1px solid #e2e2e2;
}
.layui-laydate,
.layui-laydate-hint {
  border: 1px solid #d2d2d2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
  background-color: #fff;
  color: #666;
}
.layui-laydate-header {
  border-bottom: 1px solid #e2e2e2;
}
.layui-laydate-header i:hover,
.layui-laydate-header span:hover {
  color: #5fb878;
}
.layui-laydate-content {
  border-top: none 0;
  border-bottom: none 0;
}
.layui-laydate-content th {
  font-weight: 400;
  color: #333;
}
.layui-laydate-content td {
  color: #666;
}
.layui-laydate-content td.laydate-selected {
  background-color: #00f7de;
}
.laydate-selected:hover {
  background-color: #00f7de !important;
}
.layui-laydate-content td:hover,
.layui-laydate-list li:hover {
  background-color: #eaeaea;
  color: #333;
}
.laydate-time-list li ol {
  margin: 0;
  padding: 0;
  border: 1px solid #e2e2e2;
  border-left-width: 0;
}
.laydate-time-list li:first-child ol {
  border-left-width: 1px;
}
.laydate-time-list > li:hover {
  background: 0 0;
}
.layui-laydate-content .laydate-day-next,
.layui-laydate-content .laydate-day-prev {
  color: #d2d2d2;
}
.laydate-selected.laydate-day-next,
.laydate-selected.laydate-day-prev {
  background-color: #f8f8f8 !important;
}
.layui-laydate-footer {
  border-top: 1px solid #e2e2e2;
}
.layui-laydate-hint {
  color: #ff5722;
}
.laydate-day-mark::after {
  background-color: #5fb878;
}
.layui-laydate-content td.layui-this .laydate-day-mark::after {
  display: none;
}
.layui-laydate-footer span[lay-type="date"] {
  color: #5fb878;
}
.layui-laydate .layui-this {
  background-color: #009688 !important;
  color: #fff !important;
}
.layui-laydate .laydate-disabled,
.layui-laydate .laydate-disabled:hover {
  background: 0 0 !important;
  color: #d2d2d2 !important;
  cursor: not-allowed !important;
  /* -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none; */
}
.laydate-theme-molv {
  border: none;
}
.laydate-theme-molv.layui-laydate-range {
  width: 548px;
}
.laydate-theme-molv .layui-laydate-main {
  width: 274px;
}
.laydate-theme-molv .layui-laydate-header {
  border: none;
  background-color: #009688;
}
.laydate-theme-molv .layui-laydate-header i,
.laydate-theme-molv .layui-laydate-header span {
  color: #f6f6f6;
}
.laydate-theme-molv .layui-laydate-header i:hover,
.laydate-theme-molv .layui-laydate-header span:hover {
  color: #fff;
}
.laydate-theme-molv .layui-laydate-content {
  border: 1px solid #e2e2e2;
  border-top: none;
  border-bottom: none;
}
.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content {
  border-left: none;
}
.laydate-theme-grid .laydate-month-list > li,
.laydate-theme-grid .laydate-year-list > li,
.laydate-theme-grid .layui-laydate-content td,
.laydate-theme-grid .layui-laydate-content thead,
.laydate-theme-molv .layui-laydate-footer {
  border: 1px solid #e2e2e2;
}
.laydate-theme-grid .laydate-selected,
.laydate-theme-grid .laydate-selected:hover {
  background-color: #f2f2f2 !important;
  color: #009688 !important;
}
.laydate-theme-grid .laydate-selected.laydate-day-next,
.laydate-theme-grid .laydate-selected.laydate-day-prev {
  color: #d2d2d2 !important;
}
.laydate-theme-grid .laydate-month-list,
.laydate-theme-grid .laydate-year-list {
  margin: 1px 0 0 1px;
}
.laydate-theme-grid .laydate-month-list > li,
.laydate-theme-grid .laydate-year-list > li {
  margin: 0 -1px -1px 0;
}
.laydate-theme-grid .laydate-year-list > li {
  height: 43px;
  line-height: 43px;
}
.laydate-theme-grid .laydate-month-list > li {
  height: 71px;
  line-height: 71px;
}
public/CimSDK/Workers/layui/css/modules/layer/default/layer.css
@@ -1,2 +1,822 @@
/** layui-v2.5.4 MIT License By https://www.layui.com */
 .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
.layui-layer-imgbar,
.layui-layer-imgtit a,
.layui-layer-tab .layui-layer-title span,
.layui-layer-title {
  text-overflow: ellipsis;
  white-space: nowrap;
}
html #layuicss-layer {
  display: none;
  position: absolute;
  width: 1989px;
}
.layui-layer,
.layui-layer-shade {
  position: fixed;
  _position: absolute;
  pointer-events: auto;
}
.layui-layer-shade {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  _height: expression(document.body.offsetHeight + "px");
}
.layui-layer {
  -webkit-overflow-scrolling: touch;
  top: 150px;
  left: 0;
  margin: 0;
  padding: 0;
  background-color: #fff;
  -webkit-background-clip: content;
  border-radius: 2px;
  box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.3);
}
.layui-layer-close {
  position: absolute;
}
.layui-layer-content {
  position: relative;
}
.layui-layer-border {
  border: 1px solid #b2b2b2;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
.layui-layer-load {
  background: url(loading-1.gif) center center no-repeat #eee;
}
.layui-layer-ico {
  background: url(icon.png) no-repeat;
}
.layui-layer-btn a,
.layui-layer-dialog .layui-layer-ico,
.layui-layer-setwin a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
}
.layui-layer-move {
  display: none;
  position: fixed;
  *position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: move;
  opacity: 0;
  filter: alpha(opacity=0);
  background-color: #fff;
  z-index: 2147483647;
}
.layui-layer-resize {
  position: absolute;
  width: 15px;
  height: 15px;
  right: 0;
  bottom: 0;
  cursor: se-resize;
}
.layer-anim {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}
@-webkit-keyframes layer-bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes layer-bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
.layer-anim-00 {
  -webkit-animation-name: layer-bounceIn;
  animation-name: layer-bounceIn;
}
@-webkit-keyframes layer-zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateY(-2000px);
    transform: scale(0.1) translateY(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateY(60px);
    transform: scale(0.475) translateY(60px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes layer-zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateY(-2000px);
    -ms-transform: scale(0.1) translateY(-2000px);
    transform: scale(0.1) translateY(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateY(60px);
    -ms-transform: scale(0.475) translateY(60px);
    transform: scale(0.475) translateY(60px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
.layer-anim-01 {
  -webkit-animation-name: layer-zoomInDown;
  animation-name: layer-zoomInDown;
}
@-webkit-keyframes layer-fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes layer-fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.layer-anim-02 {
  -webkit-animation-name: layer-fadeInUpBig;
  animation-name: layer-fadeInUpBig;
}
@-webkit-keyframes layer-zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateX(-2000px);
    transform: scale(0.1) translateX(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateX(48px);
    transform: scale(0.475) translateX(48px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes layer-zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateX(-2000px);
    -ms-transform: scale(0.1) translateX(-2000px);
    transform: scale(0.1) translateX(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateX(48px);
    -ms-transform: scale(0.475) translateX(48px);
    transform: scale(0.475) translateX(48px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
.layer-anim-03 {
  -webkit-animation-name: layer-zoomInLeft;
  animation-name: layer-zoomInLeft;
}
@-webkit-keyframes layer-rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }
}
@keyframes layer-rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    -ms-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }
}
.layer-anim-04 {
  -webkit-animation-name: layer-rollIn;
  animation-name: layer-rollIn;
}
@keyframes layer-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.layer-anim-05 {
  -webkit-animation-name: layer-fadeIn;
  animation-name: layer-fadeIn;
}
@-webkit-keyframes layer-shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}
@keyframes layer-shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
}
.layer-anim-06 {
  -webkit-animation-name: layer-shake;
  animation-name: layer-shake;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.layui-layer-title {
  padding: 0 80px 0 20px;
  height: 42px;
  line-height: 42px;
  border-bottom: 1px solid #eee;
  font-size: 14px;
  color: #333;
  overflow: hidden;
  background-color: #f8f8f8;
  border-radius: 2px 2px 0 0;
}
.layui-layer-setwin {
  position: absolute;
  right: 15px;
  *right: 0;
  top: 15px;
  font-size: 0;
  line-height: initial;
}
.layui-layer-setwin a {
  position: relative;
  width: 16px;
  height: 16px;
  margin-left: 10px;
  font-size: 12px;
  _overflow: hidden;
}
.layui-layer-setwin .layui-layer-min cite {
  position: absolute;
  width: 14px;
  height: 2px;
  left: 0;
  top: 50%;
  margin-top: -1px;
  background-color: #2e2d3c;
  cursor: pointer;
  _overflow: hidden;
}
.layui-layer-setwin .layui-layer-min:hover cite {
  background-color: #2d93ca;
}
.layui-layer-setwin .layui-layer-max {
  background-position: -32px -40px;
}
.layui-layer-setwin .layui-layer-max:hover {
  background-position: -16px -40px;
}
.layui-layer-setwin .layui-layer-maxmin {
  background-position: -65px -40px;
}
.layui-layer-setwin .layui-layer-maxmin:hover {
  background-position: -49px -40px;
}
.layui-layer-setwin .layui-layer-close1 {
  background-position: 1px -40px;
  cursor: pointer;
}
.layui-layer-setwin .layui-layer-close1:hover {
  opacity: 0.7;
}
.layui-layer-setwin .layui-layer-close2 {
  position: absolute;
  right: -28px;
  top: -28px;
  width: 30px;
  height: 30px;
  margin-left: 0;
  background-position: -149px -31px;
  *right: -18px;
  _display: none;
}
.layui-layer-setwin .layui-layer-close2:hover {
  background-position: -180px -31px;
}
.layui-layer-btn {
  text-align: right;
  padding: 0 15px 12px;
  pointer-events: auto;
  /* user-select: none;
  -webkit-user-select: none; */
}
.layui-layer-btn a {
  height: 28px;
  line-height: 28px;
  margin: 5px 5px 0;
  padding: 0 15px;
  border: 1px solid #dedede;
  background-color: #fff;
  color: #333;
  border-radius: 2px;
  font-weight: 400;
  cursor: pointer;
  text-decoration: none;
}
.layui-layer-btn a:hover {
  opacity: 0.9;
  text-decoration: none;
}
.layui-layer-btn a:active {
  opacity: 0.8;
}
.layui-layer-btn .layui-layer-btn0 {
  border-color: #1e9fff;
  background-color: #1e9fff;
  color: #fff;
}
.layui-layer-btn-l {
  text-align: left;
}
.layui-layer-btn-c {
  text-align: center;
}
.layui-layer-dialog {
  min-width: 260px;
}
.layui-layer-dialog .layui-layer-content {
  position: relative;
  padding: 20px;
  line-height: 24px;
  word-break: break-all;
  overflow: hidden;
  font-size: 14px;
  overflow-x: hidden;
  overflow-y: auto;
}
.layui-layer-dialog .layui-layer-content .layui-layer-ico {
  position: absolute;
  top: 16px;
  left: 15px;
  _left: -40px;
  width: 30px;
  height: 30px;
}
.layui-layer-ico1 {
  background-position: -30px 0;
}
.layui-layer-ico2 {
  background-position: -60px 0;
}
.layui-layer-ico3 {
  background-position: -90px 0;
}
.layui-layer-ico4 {
  background-position: -120px 0;
}
.layui-layer-ico5 {
  background-position: -150px 0;
}
.layui-layer-ico6 {
  background-position: -180px 0;
}
.layui-layer-rim {
  border: 6px solid #8d8d8d;
  border: 6px solid rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  box-shadow: none;
}
.layui-layer-msg {
  min-width: 180px;
  border: 1px solid #d3d4d3;
  box-shadow: none;
}
.layui-layer-hui {
  min-width: 100px;
  background-color: #000;
  filter: alpha(opacity=60);
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
}
.layui-layer-hui .layui-layer-content {
  padding: 12px 25px;
  text-align: center;
}
.layui-layer-dialog .layui-layer-padding {
  padding: 20px 20px 20px 55px;
  text-align: left;
}
.layui-layer-page .layui-layer-content {
  position: relative;
  overflow: auto;
}
.layui-layer-iframe .layui-layer-btn,
.layui-layer-page .layui-layer-btn {
  padding-top: 10px;
}
.layui-layer-nobg {
  background: 0 0;
}
.layui-layer-iframe iframe {
  display: block;
  width: 100%;
}
.layui-layer-loading {
  border-radius: 100%;
  background: 0 0;
  box-shadow: none;
  border: none;
}
.layui-layer-loading .layui-layer-content {
  width: 60px;
  height: 24px;
  background: url(loading-0.gif) no-repeat;
}
.layui-layer-loading .layui-layer-loading1 {
  width: 37px;
  height: 37px;
  background: url(loading-1.gif) no-repeat;
}
.layui-layer-ico16,
.layui-layer-loading .layui-layer-loading2 {
  width: 32px;
  height: 32px;
  background: url(loading-2.gif) no-repeat;
}
.layui-layer-tips {
  background: 0 0;
  box-shadow: none;
  border: none;
}
.layui-layer-tips .layui-layer-content {
  position: relative;
  line-height: 22px;
  min-width: 12px;
  padding: 8px 15px;
  font-size: 12px;
  _float: left;
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  background-color: #000;
  color: #fff;
}
.layui-layer-tips .layui-layer-close {
  right: -2px;
  top: -1px;
}
.layui-layer-tips i.layui-layer-TipsG {
  position: absolute;
  width: 0;
  height: 0;
  border-width: 8px;
  border-color: transparent;
  border-style: dashed;
  *overflow: hidden;
}
.layui-layer-tips i.layui-layer-TipsB,
.layui-layer-tips i.layui-layer-TipsT {
  left: 5px;
  border-right-style: solid;
  border-right-color: #000;
}
.layui-layer-tips i.layui-layer-TipsT {
  bottom: -8px;
}
.layui-layer-tips i.layui-layer-TipsB {
  top: -8px;
}
.layui-layer-tips i.layui-layer-TipsL,
.layui-layer-tips i.layui-layer-TipsR {
  top: 5px;
  border-bottom-style: solid;
  border-bottom-color: #000;
}
.layui-layer-tips i.layui-layer-TipsR {
  left: -8px;
}
.layui-layer-tips i.layui-layer-TipsL {
  right: -8px;
}
.layui-layer-lan[type="dialog"] {
  min-width: 280px;
}
.layui-layer-lan .layui-layer-title {
  background: #4476a7;
  color: #fff;
  border: none;
}
.layui-layer-lan .layui-layer-btn {
  padding: 5px 10px 10px;
  text-align: right;
  border-top: 1px solid #e9e7e7;
}
.layui-layer-lan .layui-layer-btn a {
  background: #fff;
  border-color: #e9e7e7;
  color: #333;
}
.layui-layer-lan .layui-layer-btn .layui-layer-btn1 {
  background: #c9c5c5;
}
.layui-layer-molv .layui-layer-title {
  background: #009f95;
  color: #fff;
  border: none;
}
.layui-layer-molv .layui-layer-btn a {
  background: #009f95;
  border-color: #009f95;
}
.layui-layer-molv .layui-layer-btn .layui-layer-btn1 {
  background: #92b8b1;
}
.layui-layer-iconext {
  background: url(icon-ext.png) no-repeat;
}
.layui-layer-prompt .layui-layer-input {
  display: block;
  width: 230px;
  height: 36px;
  margin: 0 auto;
  line-height: 30px;
  padding-left: 10px;
  border: 1px solid #e6e6e6;
  color: #333;
}
.layui-layer-prompt textarea.layui-layer-input {
  width: 300px;
  height: 100px;
  line-height: 20px;
  padding: 6px 10px;
}
.layui-layer-prompt .layui-layer-content {
  padding: 20px;
}
.layui-layer-prompt .layui-layer-btn {
  padding-top: 0;
}
.layui-layer-tab {
  box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.4);
}
.layui-layer-tab .layui-layer-title {
  padding-left: 0;
  overflow: visible;
}
.layui-layer-tab .layui-layer-title span {
  position: relative;
  float: left;
  min-width: 80px;
  max-width: 260px;
  padding: 0 20px;
  text-align: center;
  overflow: hidden;
  cursor: pointer;
}
.layui-layer-tab .layui-layer-title span.layui-this {
  height: 43px;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  background-color: #fff;
  z-index: 10;
}
.layui-layer-tab .layui-layer-title span:first-child {
  border-left: none;
}
.layui-layer-tabmain {
  line-height: 24px;
  clear: both;
}
.layui-layer-tabmain .layui-layer-tabli {
  display: none;
}
.layui-layer-tabmain .layui-layer-tabli.layui-this {
  display: block;
}
.layui-layer-photos {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
}
.layui-layer-photos .layui-layer-content {
  overflow: hidden;
  text-align: center;
}
.layui-layer-photos .layui-layer-phimg img {
  position: relative;
  width: 100%;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
}
.layui-layer-imgbar,
.layui-layer-imguide {
  display: none;
}
.layui-layer-imgnext,
.layui-layer-imgprev {
  position: absolute;
  top: 50%;
  width: 27px;
  _width: 44px;
  height: 44px;
  margin-top: -22px;
  outline: 0;
  blr: expression(this.onFocus=this.blur());
}
.layui-layer-imgprev {
  left: 10px;
  background-position: -5px -5px;
  _background-position: -70px -5px;
}
.layui-layer-imgprev:hover {
  background-position: -33px -5px;
  _background-position: -120px -5px;
}
.layui-layer-imgnext {
  right: 10px;
  _right: 8px;
  background-position: -5px -50px;
  _background-position: -70px -50px;
}
.layui-layer-imgnext:hover {
  background-position: -33px -50px;
  _background-position: -120px -50px;
}
.layui-layer-imgbar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 32px;
  line-height: 32px;
  background-color: rgba(0, 0, 0, 0.8);
  background-color: #000\9;
  filter: Alpha(opacity=80);
  color: #fff;
  overflow: hidden;
  font-size: 0;
}
.layui-layer-imgtit * {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
  font-size: 12px;
}
.layui-layer-imgtit a {
  max-width: 65%;
  overflow: hidden;
  color: #fff;
}
.layui-layer-imgtit a:hover {
  color: #fff;
  text-decoration: underline;
}
.layui-layer-imgtit em {
  padding-left: 10px;
  font-style: normal;
}
@-webkit-keyframes layer-bounceOut {
  100% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
  30% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes layer-bounceOut {
  100% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7);
  }
  30% {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
.layer-anim-close {
  -webkit-animation-name: layer-bounceOut;
  animation-name: layer-bounceOut;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
}
@media screen and (max-width: 1100px) {
  .layui-layer-iframe {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
public/CimSDK/Workers/layui/lay/modules/theme/default/layer.css
@@ -1,2 +1,822 @@
/** layui-v2.5.4 MIT License By https://www.layui.com */
 .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
.layui-layer-imgbar,
.layui-layer-imgtit a,
.layui-layer-tab .layui-layer-title span,
.layui-layer-title {
  text-overflow: ellipsis;
  white-space: nowrap;
}
html #layuicss-layer {
  display: none;
  position: absolute;
  width: 1989px;
}
.layui-layer,
.layui-layer-shade {
  position: fixed;
  _position: absolute;
  pointer-events: auto;
}
.layui-layer-shade {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  _height: expression(document.body.offsetHeight + "px");
}
.layui-layer {
  -webkit-overflow-scrolling: touch;
  top: 150px;
  left: 0;
  margin: 0;
  padding: 0;
  background-color: #fff;
  -webkit-background-clip: content;
  border-radius: 2px;
  box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.3);
}
.layui-layer-close {
  position: absolute;
}
.layui-layer-content {
  position: relative;
}
.layui-layer-border {
  border: 1px solid #b2b2b2;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
.layui-layer-load {
  background: url(loading-1.gif) center center no-repeat #eee;
}
.layui-layer-ico {
  background: url(icon.png) no-repeat;
}
.layui-layer-btn a,
.layui-layer-dialog .layui-layer-ico,
.layui-layer-setwin a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
}
.layui-layer-move {
  display: none;
  position: fixed;
  *position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: move;
  opacity: 0;
  filter: alpha(opacity=0);
  background-color: #fff;
  z-index: 2147483647;
}
.layui-layer-resize {
  position: absolute;
  width: 15px;
  height: 15px;
  right: 0;
  bottom: 0;
  cursor: se-resize;
}
.layer-anim {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}
@-webkit-keyframes layer-bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes layer-bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
.layer-anim-00 {
  -webkit-animation-name: layer-bounceIn;
  animation-name: layer-bounceIn;
}
@-webkit-keyframes layer-zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateY(-2000px);
    transform: scale(0.1) translateY(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateY(60px);
    transform: scale(0.475) translateY(60px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes layer-zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateY(-2000px);
    -ms-transform: scale(0.1) translateY(-2000px);
    transform: scale(0.1) translateY(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateY(60px);
    -ms-transform: scale(0.475) translateY(60px);
    transform: scale(0.475) translateY(60px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
.layer-anim-01 {
  -webkit-animation-name: layer-zoomInDown;
  animation-name: layer-zoomInDown;
}
@-webkit-keyframes layer-fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes layer-fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.layer-anim-02 {
  -webkit-animation-name: layer-fadeInUpBig;
  animation-name: layer-fadeInUpBig;
}
@-webkit-keyframes layer-zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateX(-2000px);
    transform: scale(0.1) translateX(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateX(48px);
    transform: scale(0.475) translateX(48px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes layer-zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.1) translateX(-2000px);
    -ms-transform: scale(0.1) translateX(-2000px);
    transform: scale(0.1) translateX(-2000px);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.475) translateX(48px);
    -ms-transform: scale(0.475) translateX(48px);
    transform: scale(0.475) translateX(48px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
.layer-anim-03 {
  -webkit-animation-name: layer-zoomInLeft;
  animation-name: layer-zoomInLeft;
}
@-webkit-keyframes layer-rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }
}
@keyframes layer-rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    -ms-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }
}
.layer-anim-04 {
  -webkit-animation-name: layer-rollIn;
  animation-name: layer-rollIn;
}
@keyframes layer-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.layer-anim-05 {
  -webkit-animation-name: layer-fadeIn;
  animation-name: layer-fadeIn;
}
@-webkit-keyframes layer-shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}
@keyframes layer-shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
}
.layer-anim-06 {
  -webkit-animation-name: layer-shake;
  animation-name: layer-shake;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.layui-layer-title {
  padding: 0 80px 0 20px;
  height: 42px;
  line-height: 42px;
  border-bottom: 1px solid #eee;
  font-size: 14px;
  color: #333;
  overflow: hidden;
  background-color: #f8f8f8;
  border-radius: 2px 2px 0 0;
}
.layui-layer-setwin {
  position: absolute;
  right: 15px;
  *right: 0;
  top: 15px;
  font-size: 0;
  line-height: initial;
}
.layui-layer-setwin a {
  position: relative;
  width: 16px;
  height: 16px;
  margin-left: 10px;
  font-size: 12px;
  _overflow: hidden;
}
.layui-layer-setwin .layui-layer-min cite {
  position: absolute;
  width: 14px;
  height: 2px;
  left: 0;
  top: 50%;
  margin-top: -1px;
  background-color: #2e2d3c;
  cursor: pointer;
  _overflow: hidden;
}
.layui-layer-setwin .layui-layer-min:hover cite {
  background-color: #2d93ca;
}
.layui-layer-setwin .layui-layer-max {
  background-position: -32px -40px;
}
.layui-layer-setwin .layui-layer-max:hover {
  background-position: -16px -40px;
}
.layui-layer-setwin .layui-layer-maxmin {
  background-position: -65px -40px;
}
.layui-layer-setwin .layui-layer-maxmin:hover {
  background-position: -49px -40px;
}
.layui-layer-setwin .layui-layer-close1 {
  background-position: 1px -40px;
  cursor: pointer;
}
.layui-layer-setwin .layui-layer-close1:hover {
  opacity: 0.7;
}
.layui-layer-setwin .layui-layer-close2 {
  position: absolute;
  right: -28px;
  top: -28px;
  width: 30px;
  height: 30px;
  margin-left: 0;
  background-position: -149px -31px;
  *right: -18px;
  _display: none;
}
.layui-layer-setwin .layui-layer-close2:hover {
  background-position: -180px -31px;
}
.layui-layer-btn {
  text-align: right;
  padding: 0 15px 12px;
  pointer-events: auto;
  /* user-select: none;
  -webkit-user-select: none; */
}
.layui-layer-btn a {
  height: 28px;
  line-height: 28px;
  margin: 5px 5px 0;
  padding: 0 15px;
  border: 1px solid #dedede;
  background-color: #fff;
  color: #333;
  border-radius: 2px;
  font-weight: 400;
  cursor: pointer;
  text-decoration: none;
}
.layui-layer-btn a:hover {
  opacity: 0.9;
  text-decoration: none;
}
.layui-layer-btn a:active {
  opacity: 0.8;
}
.layui-layer-btn .layui-layer-btn0 {
  border-color: #1e9fff;
  background-color: #1e9fff;
  color: #fff;
}
.layui-layer-btn-l {
  text-align: left;
}
.layui-layer-btn-c {
  text-align: center;
}
.layui-layer-dialog {
  min-width: 260px;
}
.layui-layer-dialog .layui-layer-content {
  position: relative;
  padding: 20px;
  line-height: 24px;
  word-break: break-all;
  overflow: hidden;
  font-size: 14px;
  overflow-x: hidden;
  overflow-y: auto;
}
.layui-layer-dialog .layui-layer-content .layui-layer-ico {
  position: absolute;
  top: 16px;
  left: 15px;
  _left: -40px;
  width: 30px;
  height: 30px;
}
.layui-layer-ico1 {
  background-position: -30px 0;
}
.layui-layer-ico2 {
  background-position: -60px 0;
}
.layui-layer-ico3 {
  background-position: -90px 0;
}
.layui-layer-ico4 {
  background-position: -120px 0;
}
.layui-layer-ico5 {
  background-position: -150px 0;
}
.layui-layer-ico6 {
  background-position: -180px 0;
}
.layui-layer-rim {
  border: 6px solid #8d8d8d;
  border: 6px solid rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  box-shadow: none;
}
.layui-layer-msg {
  min-width: 180px;
  border: 1px solid #d3d4d3;
  box-shadow: none;
}
.layui-layer-hui {
  min-width: 100px;
  background-color: #000;
  filter: alpha(opacity=60);
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
}
.layui-layer-hui .layui-layer-content {
  padding: 12px 25px;
  text-align: center;
}
.layui-layer-dialog .layui-layer-padding {
  padding: 20px 20px 20px 55px;
  text-align: left;
}
.layui-layer-page .layui-layer-content {
  position: relative;
  overflow: auto;
}
.layui-layer-iframe .layui-layer-btn,
.layui-layer-page .layui-layer-btn {
  padding-top: 10px;
}
.layui-layer-nobg {
  background: 0 0;
}
.layui-layer-iframe iframe {
  display: block;
  width: 100%;
}
.layui-layer-loading {
  border-radius: 100%;
  background: 0 0;
  box-shadow: none;
  border: none;
}
.layui-layer-loading .layui-layer-content {
  width: 60px;
  height: 24px;
  background: url(loading-0.gif) no-repeat;
}
.layui-layer-loading .layui-layer-loading1 {
  width: 37px;
  height: 37px;
  background: url(loading-1.gif) no-repeat;
}
.layui-layer-ico16,
.layui-layer-loading .layui-layer-loading2 {
  width: 32px;
  height: 32px;
  background: url(loading-2.gif) no-repeat;
}
.layui-layer-tips {
  background: 0 0;
  box-shadow: none;
  border: none;
}
.layui-layer-tips .layui-layer-content {
  position: relative;
  line-height: 22px;
  min-width: 12px;
  padding: 8px 15px;
  font-size: 12px;
  _float: left;
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  background-color: #000;
  color: #fff;
}
.layui-layer-tips .layui-layer-close {
  right: -2px;
  top: -1px;
}
.layui-layer-tips i.layui-layer-TipsG {
  position: absolute;
  width: 0;
  height: 0;
  border-width: 8px;
  border-color: transparent;
  border-style: dashed;
  *overflow: hidden;
}
.layui-layer-tips i.layui-layer-TipsB,
.layui-layer-tips i.layui-layer-TipsT {
  left: 5px;
  border-right-style: solid;
  border-right-color: #000;
}
.layui-layer-tips i.layui-layer-TipsT {
  bottom: -8px;
}
.layui-layer-tips i.layui-layer-TipsB {
  top: -8px;
}
.layui-layer-tips i.layui-layer-TipsL,
.layui-layer-tips i.layui-layer-TipsR {
  top: 5px;
  border-bottom-style: solid;
  border-bottom-color: #000;
}
.layui-layer-tips i.layui-layer-TipsR {
  left: -8px;
}
.layui-layer-tips i.layui-layer-TipsL {
  right: -8px;
}
.layui-layer-lan[type="dialog"] {
  min-width: 280px;
}
.layui-layer-lan .layui-layer-title {
  background: #4476a7;
  color: #fff;
  border: none;
}
.layui-layer-lan .layui-layer-btn {
  padding: 5px 10px 10px;
  text-align: right;
  border-top: 1px solid #e9e7e7;
}
.layui-layer-lan .layui-layer-btn a {
  background: #fff;
  border-color: #e9e7e7;
  color: #333;
}
.layui-layer-lan .layui-layer-btn .layui-layer-btn1 {
  background: #c9c5c5;
}
.layui-layer-molv .layui-layer-title {
  background: #009f95;
  color: #fff;
  border: none;
}
.layui-layer-molv .layui-layer-btn a {
  background: #009f95;
  border-color: #009f95;
}
.layui-layer-molv .layui-layer-btn .layui-layer-btn1 {
  background: #92b8b1;
}
.layui-layer-iconext {
  background: url(icon-ext.png) no-repeat;
}
.layui-layer-prompt .layui-layer-input {
  display: block;
  width: 230px;
  height: 36px;
  margin: 0 auto;
  line-height: 30px;
  padding-left: 10px;
  border: 1px solid #e6e6e6;
  color: #333;
}
.layui-layer-prompt textarea.layui-layer-input {
  width: 300px;
  height: 100px;
  line-height: 20px;
  padding: 6px 10px;
}
.layui-layer-prompt .layui-layer-content {
  padding: 20px;
}
.layui-layer-prompt .layui-layer-btn {
  padding-top: 0;
}
.layui-layer-tab {
  box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.4);
}
.layui-layer-tab .layui-layer-title {
  padding-left: 0;
  overflow: visible;
}
.layui-layer-tab .layui-layer-title span {
  position: relative;
  float: left;
  min-width: 80px;
  max-width: 260px;
  padding: 0 20px;
  text-align: center;
  overflow: hidden;
  cursor: pointer;
}
.layui-layer-tab .layui-layer-title span.layui-this {
  height: 43px;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  background-color: #fff;
  z-index: 10;
}
.layui-layer-tab .layui-layer-title span:first-child {
  border-left: none;
}
.layui-layer-tabmain {
  line-height: 24px;
  clear: both;
}
.layui-layer-tabmain .layui-layer-tabli {
  display: none;
}
.layui-layer-tabmain .layui-layer-tabli.layui-this {
  display: block;
}
.layui-layer-photos {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
}
.layui-layer-photos .layui-layer-content {
  overflow: hidden;
  text-align: center;
}
.layui-layer-photos .layui-layer-phimg img {
  position: relative;
  width: 100%;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
}
.layui-layer-imgbar,
.layui-layer-imguide {
  display: none;
}
.layui-layer-imgnext,
.layui-layer-imgprev {
  position: absolute;
  top: 50%;
  width: 27px;
  _width: 44px;
  height: 44px;
  margin-top: -22px;
  outline: 0;
  blr: expression(this.onFocus=this.blur());
}
.layui-layer-imgprev {
  left: 10px;
  background-position: -5px -5px;
  _background-position: -70px -5px;
}
.layui-layer-imgprev:hover {
  background-position: -33px -5px;
  _background-position: -120px -5px;
}
.layui-layer-imgnext {
  right: 10px;
  _right: 8px;
  background-position: -5px -50px;
  _background-position: -70px -50px;
}
.layui-layer-imgnext:hover {
  background-position: -33px -50px;
  _background-position: -120px -50px;
}
.layui-layer-imgbar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 32px;
  line-height: 32px;
  background-color: rgba(0, 0, 0, 0.8);
  background-color: #000\9;
  filter: Alpha(opacity=80);
  color: #fff;
  overflow: hidden;
  font-size: 0;
}
.layui-layer-imgtit * {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
  font-size: 12px;
}
.layui-layer-imgtit a {
  max-width: 65%;
  overflow: hidden;
  color: #fff;
}
.layui-layer-imgtit a:hover {
  color: #fff;
  text-decoration: underline;
}
.layui-layer-imgtit em {
  padding-left: 10px;
  font-style: normal;
}
@-webkit-keyframes layer-bounceOut {
  100% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
  30% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes layer-bounceOut {
  100% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7);
  }
  30% {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
.layer-anim-close {
  -webkit-animation-name: layer-bounceOut;
  animation-name: layer-bounceOut;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
}
@media screen and (max-width: 1100px) {
  .layui-layer-iframe {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
public/Data/C130ϵͳ..md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
### C-130大力神运输机参数
- **乘员**:5人(飞行员、副驾驶、领航员、导航员、装卸长)
- **长度**:29.8ç±³
- **翼展**:40.4ç±³
- **高度**:11.6ç±³
- **机翼面积**:162平方米
- **空重**:34400千克
- **最大起飞重量**:70300千克
- **桨叶直径**:4.1ç±³
- **货舱尺寸**(以C-130J为例):
  - é•¿åº¦ï¼š12.19米(C-130J)、16.76米(C-130J-30)
  - é«˜åº¦ï¼š2.74ç±³
  - å®½åº¦ï¼šæœ€å¤§3.12米、最小3.04ç±³
- **飞行性能**:
  - **最大飞行速度**:592公里每小时(6000米高度)
  - **实用升限**:空载:10060米,载荷:7077ç±³
  - **航程**:3800公里
  - **爬升率**:9.3ç±³/秒
  - **翼载荷**:434千克/平方米
  - **推重比**:0.26
  - **起飞滑跑距离**:空载:428米,载荷:1093ç±³
以上参数来源于 [^11^]。
public/Data/Report.docx
Binary files differ
public/Data/Report.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
## æˆ˜åœºæŠ¥å‘Š
**报告时间:** 2024å¹´7月3日
### ä¸€ã€ç›®æ ‡å‘现
1. **导弹防御系统:**
   - 2024å¹´7月3日1:30AM,XXX卫星在菲律宾苏比克湾区发现疑似堤丰导弹防御系统。
2. **海上舰艇:**
   - è‹æ¯”克湾区发现以下导弹护卫舰:
     - åœ£å®‰ä¸œå°¼å¥¥çº§å¯¼å¼¹æŠ¤å«èˆ°1艘
     - ä½•塞谜·黎刹级导弹护卫舰1艘
     - å…ˆé”‹çº§å¯¼å¼¹æŠ¤å«èˆ°1艘
3. **航空器:**
   - C130运输机2架
   - é±¼é¹°ç›´å‡æœº8架
   - æ”¯å¥´å¹²ç›´å‡æœº4架
   - é»‘鹰直升机14架
4. **美空军指挥中心:**
   - å‘现美空军指挥中心,包含以下设施:
     - 4座弹药库
     - 11座油库
     - 1座机库
   - æ‰€æœ‰è®¾æ–½å‡å·²åœ¨åœ°å›¾ä¸Šæ ‡æ˜Žä½ç½®ã€‚
### äºŒã€ç›®æ ‡ç»Ÿè®¡
- **军事目标:** 187个
- **社会目标:** 88个
- **政治目标:** 4个
- **经济目标:** 179个
- **民宅:** 5961座
### ä¸‰ã€æ”»å‡»é£Žé™©è¯„ä¼°
如果使用洲际弹道导弹攻击美空军指挥中心,在周边一公里半径内有多座民用设施,因此存在误伤平民的风险。
### æ€»ç»“
根据XXX卫星的侦察,菲律宾苏比克湾区内发现了疑似堤丰导弹防御系统和多个重要军事目标,包括导弹护卫舰、各种军用飞机和美空军指挥中心。该区域共有187个军事目标、88个社会目标、4个政治目标、179个经济目标以及5961座民宅。需要特别注意的是,攻击美空军指挥中心存在误伤周边民用设施的风险。
public/Data/µ¤ê¤¼¶ÏµÍ³.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
# ä¸¹è¾˜çº§èˆ¹åžç™»é™†èˆ°å‚æ•°
- **长度**: 210ç±³
- **宽度**: 28ç±³
- **吃水**: 7ç±³
- **排水量**: 20,000吨
- **最高速度**: 20节
- **续航距离**: 8,000海里(15,000公里)
- **人员编制**: 360人
- **运输能力**:
  - **车辆**: çº¦60辆各类车辆
  - **直升机**: å¯æ­è½½2架中型直升机
  - **登陆艇**: å¯å®¹çº³2艘气垫登陆艇(LCAC)或4艘机械登陆艇(LCM)
- **武装**:
  - 2座30毫米机关炮
  - 2座20毫米近迫武器系统(CIWS)
  - 4座12.7毫米重机枪
- **电子设备**:
  - ç›¸æŽ§é˜µé›·è¾¾
  - ä½œæˆ˜æŒ‡æŒ¥ç³»ç»Ÿ
  - é€šä¿¡å’Œç”µå­å¯¹æŠ—系统
public/Data/ºÎÈûÀèɲ¼¶ÏµÍ³.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
# ä½•塞·黎刹级导弹护卫舰参数
## åŸºæœ¬å‚æ•°
- **舰名**:何塞·黎刹级(Jose Rizal class frigate)
- **服役**:首舰“何塞·黎刹”号于2020å¹´7月10日正式入列菲律宾海军[^35^]
- **设计**:基于韩国海军仁川级护卫舰改进而来[^38^]
- **建造商**:韩国现代重工(Hyundai Heavy Industries, HHI)[^35^][^36^]
- **合同价值**:约为3.11亿美元(不包括武器系统)[^35^]
## å°ºå¯¸ä¸Žæ€§èƒ½
- **标准排水量**:约2600吨[^35^]
- **长度**:107ç±³[^35^][^37^]
- **最大航速**:25节[^35^][^37^]
- **续航里程**:可达4500海里[^37^]
- **海上持续巡航能力**:30天[^37^]
- **人员编制**:110人[^37^]
## æ­¦å™¨ç³»ç»Ÿ
- **主炮**:1门76毫米口径舰炮[^35^][^36^]
- **反舰导弹**:4具反舰导弹发射器,可能配备韩国制造的SSM-700K反舰导弹[^35^]
- **防空导弹**:两套法国“西北风”防空导弹系统[^36^]
- **鱼雷发射器**:两具324毫米口径鱼雷发射器[^35^]
- **垂直武器发射系统**:8单元(目前尚未装备导弹)[^35^]
- **其他武器**:SMASH 30毫米自动武器站[^37^]
## èˆªç©ºèƒ½åŠ›
- **直升机搭载**:可搭载一架多用途直升机,如AW-159反潜直升机[^37^]
## å…¶ä»–装备
- **隐身设计**:采用隐身设计[^36^]
- **雷达与声纳**:配备现代化搜索雷达、声呐系统[^37^]
- **指挥系统**:配备现代化指挥系统[^37^]
- **自卫系统**:装备箔条和诱饵对抗导弹攻击的自卫系统[^37^]
## åŽ†å²æ„ä¹‰
- **历史性突破**:结束了菲律宾海军装备二手老旧装备的历史,是菲律宾海军第一艘现代化的王牌战舰[^37^]
public/Data/Ïȷ漶ϵͳ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
# å…ˆé”‹çº§è¿è¾“舰参数
## èˆ°ä½“参数
- **舰长**:103ç±³
- **舰宽**:28.5ç±³
- **舰高**:3.83ç±³
- **标准排水量**:1500吨
- **满载排水量**:2400吨
- **航速**:
  - å·¡èˆªé€Ÿåº¦ï¼š35节
  - æœ€é«˜é€Ÿåº¦ï¼š45节
- **任务仓面积**:1863平方米
- **舰员编制**:42人
## åŠ¨åŠ›ç³»ç»Ÿ
- **发动机**:4台MTU 20V8000 M71L柴油发动机
- **喷水推进器**:4台WLD1400 SR
## ç‰¹ç‚¹
- **设计**:铝合金双体船设计
- **适应性**:海况适应性好,能在吃水较浅的港口和航道工作
- **用途**:快速运输部队、军用车辆和装备,执行军事及人道主义任务
- **滚装登陆设备**:美军的主战坦克可从船直接登陆作战
- **飞行甲板**:设有飞行甲板和辅助降落设备,可供直升机全天候起降
- **通讯导航武器系统**:拥有先进的通讯、导航和武器系统,满足不同任务需求
## å…¶ä»–信息
- **建造**:由澳大利亚英凯特造船公司建造
- **服务部门**:为美国海军、陆军、海军陆战队、特种作战令部以及其他部门服务
public/Data/Ê¥°²¶«Äá°Â¼¶ÏµÍ³.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
# åœ£å®‰ä¸œå°¼å¥¥çº§ä¸¤æ –登陆舰参数
## åŸºæœ¬å‚æ•°
- **舰长**:257.3ç±³ [^90^]^
- **舰宽**:32.3ç±³ [^90^]^
- **标准排水量**:约45722吨 [^90^]^
- **舰员编制**:65名军官,994名船员,1687名海军陆战队 [^90^]^
## å‚考性能
- **航速**:20节以上(41千米/小时以上)[^90^]^
- **续航力**:4000海里/30节,12000海里/20节,连续航行350小时 [^90^]^
- **续航时间**:45天 [^90^]^
## åŠ¨åŠ›è£…ç½®
- **主机**:2具LM-2500燃气涡轮发动机,70000制动马力,另附两具5000马力的辅助推进发动机 [^90^]^
- **传动**:双轴推进,2个可调螺距螺旋桨 [^90^]^
## æ­¦å™¨ç³»ç»Ÿ
- **舰载机**:F-35B“闪电II式”战斗机、MV-22B“鱼鹰式”倾旋翼机、MH-53E海龙重型直升机、AH-1眼镜蛇攻击直升机、MH-60S海鹰搜救直升机 [^90^]^
- **舰炮**:2座20毫米6管MK-15 Block1B“密集阵”近防炮、7挺MZ双联装.50口径重机枪 [^90^]^
- **导弹**:2座21联装RIM-116“拉姆”近程舰空导弹发射器、2座RIM-162“先进型海麻雀”(ESSM)舰空导弹 [^90^]^
## è¿è½½è®¾è®¡
- **车辆甲板总面积**:2230平方米 [^91^]^
- **货舱总容量**:962立方米 [^91^]^
- **JP5航空燃油储存舱容量**:1192立方米 [^91^]^
- **车辆燃油储存舱容量**:37.8立方米 [^91^]^
- **泛水坞舱甲板**:可停放两艘LCAC气垫登陆艇或一艘LCU通用登陆艇 [^91^]^
- **医疗设施**:2个手术室、2个牙医诊疗室与24个病床 [^91^]^
- **搭载士兵数**:720名 [^92^]^
## èˆ¹ç”µè®¾è®¡
- **SSDS MK-2 Mod2船舰自卫作战系统**:整合舰上所有的雷达与电子战系统 [^91^]^
- **CANES**:加固海基网络事业服务,整合舰上原本各种独立的网络运算环境/应用系统 [^91^]^
public/Data/µÌ·á.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
# å ¤ä¸°ç³»ç»Ÿ
## å ¤ä¸°ï¼ˆTyphon)
- **类型**:陆基中程导弹系统
- **背景**:美国退出《中导条约》后的产物,古希腊神话中的堤丰,象征强大火力
- **位置**:预计部署在中国周边地区
- **用途**:负责增强美军远程精确火力打击能力,对抗潜在对手的中程导弹威胁
### åŒ…含子类
#### å®žä½“二:发射器
- **名称**:Mk41+
- **类型**:陆基中程导弹发射器
- **背景**:基于Mk41垂直发射系统改进
- **数量**:4个
- **用途**:负责发射导弹,类型为多种集装箱式导弹
#### å®žä½“三:指挥所
- **名称**:堤丰系统指挥所
- **类型**:指挥所
- **背景**:一般包括电源车、控制车、装填车等
- **数量**:1个
- **用途**:负责目标信息处理和发射指挥
#### å®žä½“四:战斧巡航导弹
- **名称**:战斧巡航导弹(Tactical Tomahawk)
- **类型**:巡航导弹
- **背景**:用于远程精确打击
- **数量**:未提供
- **用途**:负责远程打击
### æ€§èƒ½æŒ‡æ ‡
#### æˆ˜æ–§å·¡èˆªå¯¼å¼¹ï¼ˆTactical Tomahawk)
- **最大射程**:1800公里
- **战斗部**:常规战斗部
#### æ ‡å‡†-6导弹(SM-6)
- **最大射程**:460公里(准弹道模式)
- **设计初衷**:防空导弹,具备对地攻击能力
### æˆ˜ç•¥æ„ä¹‰
弥补火力空缺,增强打击选项
### éƒ¨ç½²è®¡åˆ’
计划部署到中国周边地区
### å‘½åç”±æ¥
古希腊神话中能发射火焰的蛇形巨人
public/Data/Ö§Å«¸Éϵͳ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
### æ”¯å¥´å¹²ç›´å‡æœºå‚æ•°
- **乘员**:3人(飞行员、副驾驶、飞行工程师)
- **长度**:30.1米(含旋翼)
- **旋翼直径**:18.3ç±³
- **高度**:5.7ç±³
- **空重**:11148千克
- **最大起飞重量**:22680千克
- **动力系统**:2台T55-GA-714A涡轴发动机,每台3529千瓦
- **最大飞行速度**:278-315千米/小时
- **实用升限**:6100ç±³
- **航程**:2252千米
- **作战半径**:370千米
- **爬升率**:7.73ç±³/秒
- **翼载荷**:47千克/平方米
- **推重比**:0.31
public/Data/Óãӥϵͳ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
# V-22“鱼鹰”倾转旋翼机参数
## é£žæœºå‡ ä½•数据
- **机长**:17.5米(57英尺4英寸)
- **机高**(尾翼顶部):5.5ç±³(17英尺11英寸)
- **机高**(整体发动机舱垂直时):6.73ç±³(22英尺1英寸)
- **翼展**:14ç±³(45英尺10英寸)
- **机翼加旋翼**:25.8ç±³(84英尺7英寸)
- **旋翼直径**:11.6米(38英尺)
- **旋翼面积**:212平方米(2,268平方英尺)
- **机翼面积**(总):28平方米(301.4英尺²)
## é£žæœºæ€§èƒ½æ•°æ®
- **最大平飞速度**:509公里/小时(275海里,316 è‹±é‡Œæ¯å°æ—¶ï¼‰
- **最大平飞速度**(海平面15,000英尺(4,600米)):565公里/小时(305千牛,351英里每小时)
- **巡航速度**(海平面):446公里每小时(241海里,277英里)
- **失速速度**:110海里(126英里每小时)在飞机模式
- **实用升限**:7620米(25,000英尺)
- **航程**:1627公里(879海里,1,011英里)
- **转场航程**:2,230公里(1,940海里,3590公里)副油箱
- **作战半径**:722公里(390海里,426公里)
- **爬升率**:11.8ç±³/秒(2,320 - 4,000 è‹±å°º/分钟)
- **滑翔比**:4.5:1
- **旋翼载荷**:102.23公斤/平方米(20.9磅/英尺²)在47,500磅重时
- **功率质量比**:0.259马力/磅(427瓦/公斤)
## é£žæœºé‡é‡
- **空机重**:15,032公斤(33,140磅)
- **正常起飞重量**:21,500公斤(47,500磅)
- **最大起飞重量**:27,400公斤(60,500磅)
- **载人**:24人(全部座位)/ 32人(地板)
- **载物**:9,070公斤(20,000磅)的内部货物,或6,800公斤(15,000磅)的外部货物(双挂钩)或一辆军车
## åŠ¨åŠ›è£…ç½®
- **发动机型号**:Allison T406/AE 1107C
- **发动机数量**:2台
- **发动机类型**:涡轮轴发动机
- **发动机功率**:4,590千瓦(6,150马力)
- **发动机生产公司**:罗尔斯·罗伊斯公司
## å…¶ä»–
- **飞机组**:正、副飞行员,两名空中工程师
- **首飞时间**:1989å¹´3月19日
- **主要使用国**:美国
- **主要制造商**:贝尔直升机公司 & æ³¢éŸ³æ—‹ç¿¼æœºç³»ç»Ÿ
- **状态**:服役中
- **单价**:6,930万美元
public/Data/ºÚӥϵͳ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
# UH-60“黑鹰”直升机参数
## åŸºæœ¬å‚æ•°
- **制造商**:西科斯基飞机公司(Sikorsky Aircraft)
- **首飞时间**:1974å¹´10月17日
- **服役时间**:1979å¹´
- **主要用户**:美国陆军
## å°ºå¯¸ä¸Žé‡é‡
- **全长**:19.8米(65英尺)
- **旋翼直径**:16.4米(53英尺8英寸)
- **高度**:4.8米(15英尺9英寸)
- **空重**:4,819公斤(10,610磅)
- **最大起飞重量**:9,979公斤(21,000磅)至 11,907公斤(26,250磅),根据型号不同而有所变化
## æ€§èƒ½
- **最大速度**:357公里/小时(200海里/小时)
- **巡航速度**:259公里/小时(140海里/小时)
- **航程**:2,224公里(1,200海里)或更高,取决于燃油配置
- **实用升限**:5,791米(19,000英尺)
- **爬升率**:12.3ç±³/秒(2,500英尺/分钟)
- **航时**:3.3小时(标准燃油)或更长,取决于燃油配置
## åŠ¨åŠ›è£…ç½®
- **发动机**:2台通用电气T700涡轮轴发动机
- **单台发动机功率**:1,160千瓦(1,561轴马力)
## æ­¦å™¨ä¸Žè£…备
- **武器**:根据不同任务配置,可装备机枪、机炮、火箭发射器等
- **乘员**:标准配置为2名飞行员,可搭载11名士兵
- **货舱容积**:根据具体型号和任务配置有所不同
## å…¶ä»–
- **航电设备**:包括先进的导航、通信、雷达和电子战系统
- **衍生型号**:包括多种变体,如夜战型、特种作战型、医疗救护型等
public/config/config.js
@@ -6,9 +6,12 @@
  loadTime: 2000,
  //间隔多久回消息
  retTime: 2000,
  apiUrl: "/api/",
  // apiUrl: "/api/",
  apiUrl: "http://192.168.11.95:7777/api/",
  // apiUrl: "http://106.120.22.26:5367/",
  imgUrl: webHost + "/image/",
  reportMd: "/Data/Report.md",
  reportDocx: "/Data/Report.docx",
  modelBase: {
    url: "http://106.120.22.26:8013",
    account: "/account-service",
src/api/api.js
@@ -3,8 +3,8 @@
  //请求地址
  // return service.get("/v1/chat?message=" + params);
  // return service.get("/intention?message=" + params);
  return service.get("/v1/mix?message=" + params);
  // return service.get("/v1/intent?message=" + params);
  // return service.get("/v1/mix?message=" + params);
  return service.get("/v1/intent?message=" + params);
}
export function getChartMessage(params) {
  //请求地址
src/assets/js/map/json/wq.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
{"type":"FeatureCollection", "features": [
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.27140978843101,14.79630143756134],[120.27144771104304,14.796205824339381],[120.27167328439464,14.796295290695184],[120.27163536088324,14.796390905715782],[120.27140978843101,14.79630143756134]]]},"properties":{"OBJECTID":1,"Id":1,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"支奴干","strikeable":"true","descriptio":"{\n  \"支奴干直升机参数\": {\n    \"乘员\": \"3人(飞行员、副驾驶、飞行工程师)\",\n    \"长度\": \"30.1米(含旋翼)\",\n    \"旋翼直径\": \"18.3ç±³\",\n    \"高度\": \"5.7ç±³\",\n    \"空重\": \"11148千克\",\n    \"最大起飞重量\": \"22","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.27066596815996,14.795998770726726],[120.27070389077198,14.795903155706128],[120.27092946412358,14.79599262386057],[120.27089154061218,14.796088238881168],[120.27066596815996,14.795998770726726]]]},"properties":{"OBJECTID":2,"Id":2,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"支奴干","strikeable":"true","descriptio":"{\n  \"支奴干直升机参数\": {\n    \"乘员\": \"3人(飞行员、副驾驶、飞行工程师)\",\n    \"长度\": \"30.1米(含旋翼)\",\n    \"旋翼直径\": \"18.3ç±³\",\n    \"高度\": \"5.7ç±³\",\n    \"空重\": \"11148千克\",\n    \"最大起飞重量\": \"22","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.27008435321045,14.79576312406897],[120.27012227672174,14.795667509048371],[120.27034784917396,14.795756977202757],[120.27030992566256,14.795852592223412],[120.27008435321045,14.79576312406897]]]},"properties":{"OBJECTID":3,"Id":3,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"支奴干","strikeable":"true","descriptio":"{\n  \"支奴干直升机参数\": {\n    \"乘员\": \"3人(飞行员、副驾驶、飞行工程师)\",\n    \"长度\": \"30.1米(含旋翼)\",\n    \"旋翼直径\": \"18.3ç±³\",\n    \"高度\": \"5.7ç±³\",\n    \"空重\": \"11148千克\",\n    \"最大起飞重量\": \"22","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26934909988108,14.795471640304015],[120.26938702339248,14.795376025283417],[120.2696125958447,14.795465493437803],[120.26957467323268,14.795561107559138],[120.26934909988108,14.795471640304015]]]},"properties":{"OBJECTID":4,"Id":4,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"支奴干","strikeable":"true","descriptio":"{\n  \"支奴干直升机参数\": {\n    \"乘员\": \"3人(飞行员、副驾驶、飞行工程师)\",\n    \"长度\": \"30.1米(含旋翼)\",\n    \"旋翼直径\": \"18.3ç±³\",\n    \"高度\": \"5.7ç±³\",\n    \"空重\": \"11148千克\",\n    \"最大起飞重量\": \"22","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26731642791083,14.794652779702062],[120.26735435142223,14.794557163782144],[120.26757992387445,14.794646632835907],[120.26754200126243,14.794742247856504],[120.26731642791083,14.794652779702062]]]},"properties":{"OBJECTID":5,"Id":5,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.2666382167804,14.794328665835337],[120.26667614029168,14.794233049915363],[120.2669017127439,14.794322518969125],[120.26686379013188,14.794418133989723],[120.2666382167804,14.794328665835337]]]},"properties":{"OBJECTID":6,"Id":6,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26690013083646,14.794464042581524],[120.26693805434775,14.794368427560926],[120.26716362679997,14.794457895715368],[120.26712570418795,14.794553511635286],[120.26690013083646,14.794464042581524]]]},"properties":{"OBJECTID":7,"Id":7,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26633602478773,14.794237057294424],[120.26637394829913,14.79414144137445],[120.26659952075136,14.794230910428212],[120.26656159813933,14.794326525448867],[120.26633602478773,14.794237057294424]]]},"properties":{"OBJECTID":8,"Id":8,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26601660987876,14.79413311994756],[120.26605453339005,14.794037504027642],[120.26628010584227,14.794126973081404],[120.26624218323025,14.794222589001322],[120.26601660987876,14.79413311994756]]]},"properties":{"OBJECTID":9,"Id":9,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.2656966994432,14.793967328129725],[120.26573462205522,14.793871712209807],[120.2659601954067,14.793961181263569],[120.26592227189542,14.794056797183487],[120.2656966994432,14.793967328129725]]]},"properties":{"OBJECTID":10,"Id":10,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26440949620132,14.79343154622893],[120.26444741881335,14.793335930309013],[120.26467299216495,14.793425399362718],[120.26463506865355,14.793521015282693],[120.26440949620132,14.79343154622893]]]},"properties":{"OBJECTID":11,"Id":11,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26471798614625,14.793618277861299],[120.26475590875827,14.793522661941324],[120.26498148210976,14.793612130995086],[120.26494355859836,14.79370774691506],[120.26471798614625,14.793618277861299]]]},"properties":{"OBJECTID":12,"Id":12,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26504882244524,14.79376218917372],[120.26508674595664,14.793666574153121],[120.26531231840886,14.793756042307564],[120.26527439489746,14.793851658227481],[120.26504882244524,14.79376218917372]]]},"properties":{"OBJECTID":13,"Id":13,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26410632124976,14.793313197246277],[120.26414424476116,14.79321758132636],[120.26436981721338,14.793307050380122],[120.26433189370198,14.79340266630004],[120.26410632124976,14.793313197246277]]]},"properties":{"OBJECTID":14,"Id":14,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26386405108519,14.793219396158236],[120.26390197369722,14.793123780238318],[120.2641275470487,14.79321324929208],[120.26408962443668,14.793308865211998],[120.26386405108519,14.793219396158236]]]},"properties":{"OBJECTID":15,"Id":15,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26347125239647,14.793065605793117],[120.2635091750085,14.7929699898732],[120.26373474835998,14.793059458926962],[120.2636968248487,14.79315507484688],[120.26347125239647,14.793065605793117]]]},"properties":{"OBJECTID":16,"Id":16,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26302581728771,14.792894284943372],[120.26306373989974,14.792798669023398],[120.26328931325122,14.79288813807716],[120.26325138973993,14.792983753997078],[120.26302581728771,14.792894284943372]]]},"properties":{"OBJECTID":17,"Id":17,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"UH-60黑鹰直升机参数\": {\n    \"中文名\": \"UH-60通用直升机\",\n    \"外文名\": \"UH-60 Black Hawk\",\n    \"服役时间\": \"1979å¹´\",\n    \"定型时间\": \"1974å¹´10月17日\",\n    \"制造商\": \"美国西科斯基公司(Sikorsky)\",\n    \"乘","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26906210103516,14.791327137137728],[120.26918669311146,14.791024983815987],[120.269585344588,14.791189367295488],[120.26946075341107,14.791491519717908],[120.26906210103516,14.791327137137728]]]},"properties":{"OBJECTID":18,"Id":18,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"C130","strikeable":"true","descriptio":"{\n  \"C-130大力神运输机参数\": {\n    \"乘员\": \"5人(飞行员、副驾驶、领航员、导航员、装卸长)\",\n    \"长度\": \"29.8ç±³\",\n    \"翼展\": \"40.4ç±³\",\n    \"高度\": \"11.6ç±³\",\n    \"机翼面积\": \"162平方米\",\n    \"空重\": \"3440","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26834708874719,14.79037479825837],[120.26843646696943,14.790162845139264],[120.2686231068709,14.790241548408801],[120.26853372864878,14.790453500628587],[120.26834708874719,14.79037479825837]]]},"properties":{"OBJECTID":19,"Id":19,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26847366922448,14.790058857430381],[120.26856304744672,14.789846903411899],[120.2687496873483,14.789925606681436],[120.26866030912606,14.790137559800598],[120.26847366922448,14.790058857430381]]]},"properties":{"OBJECTID":20,"Id":20,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26874534991805,14.789402401799464],[120.26883472814029,14.789190446881662],[120.26902136804176,14.789269151050519],[120.26893198981952,14.789481105069001],[120.26874534991805,14.789402401799464]]]},"properties":{"OBJECTID":21,"Id":21,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26861877034003,14.789718342627452],[120.26870814766289,14.78950638860897],[120.26889478756448,14.789585092777884],[120.2688054102415,14.78979704679631],[120.26861877034003,14.789718342627452]]]},"properties":{"OBJECTID":22,"Id":22,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26668523603485,14.790572330748489],[120.26672316044551,14.790476713929252],[120.26694873199847,14.790566183882333],[120.26691080938645,14.79066180070157],[120.26668523603485,14.790572330748489]]]},"properties":{"OBJECTID":23,"Id":23,"EJFL":"美军空军基地","type":"直升机","targettype":"军事目标","weaponname":"黑鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26813156621881,14.789171658245493],[120.26822094264242,14.788959704227011],[120.26840758344326,14.789038406597228],[120.26831820522102,14.78925036241435],[120.26813156621881,14.789171658245493]]]},"properties":{"OBJECTID":24,"Id":24,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26773330414869,14.790144054704399],[120.26782268237093,14.789932101585293],[120.26800932227252,14.79001080485483],[120.26791994405028,14.790222758873256],[120.26773330414869,14.790144054704399]]]},"properties":{"OBJECTID":25,"Id":25,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26800498574153,14.789487599972801],[120.2680943630645,14.78927564595432],[120.26828100296598,14.789354350123233],[120.26819162474374,14.789566304141658],[120.26800498574153,14.789487599972801]]]},"properties":{"OBJECTID":26,"Id":26,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.26785988372671,14.78982811387641],[120.26794926194896,14.789616159857928],[120.26813590185043,14.789694864026785],[120.26804652362819,14.789906818045267],[120.26785988372671,14.78982811387641]]]},"properties":{"OBJECTID":27,"Id":27,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"鱼鹰","strikeable":"true","descriptio":"{\n  \"V-22鱼鹰倾转旋翼机参数\": {\n    \"飞机几何数据\": {\n      \"机长\": \"17.5米(57英尺4英寸)\",\n      \"机高\": {\n        \"尾翼顶部\": \"5.5ç±³(17英尺11英寸)\",\n        \"整体发动机舱垂直时\": \"6.73ç±³(22英尺1英寸)\"\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.28099176715637,14.796256073958716],[120.28115356958165,14.795858704016041],[120.28147168766827,14.795988236967617],[120.28130988434373,14.796385606910292],[120.28099176715637,14.796256073958716]]]},"properties":{"OBJECTID":28,"Id":28,"EJFL":"美军空军基地","type":"运输机","targettype":"军事目标","weaponname":"C130","strikeable":"true","descriptio":"{\n  \"C-130大力神运输机参数\": {\n    \"乘员\": \"5人(飞行员、副驾驶、领航员、导航员、装卸长)\",\n    \"长度\": \"29.8ç±³\",\n    \"翼展\": \"40.4ç±³\",\n    \"高度\": \"11.6ç±³\",\n    \"机翼面积\": \"162平方米\",\n    \"空重\": \"3440","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.28742009416203,14.812638142336425],[120.28742129295836,14.812325910312552],[120.28940481158281,14.812333524872315],[120.2894036127866,14.812645755996869],[120.28742009416203,14.812638142336425]]]},"properties":{"OBJECTID":29,"Id":29,"EJFL":"美军海军基地","type":"两栖登陆舰","targettype":"军事目标","weaponname":"圣安东尼奥级","strikeable":"true","descriptio":"{\n  \"圣安东尼奥级两栖登陆舰参数\": {\n    \"舰长\": \"208.5ç±³[^100^]\",\n    \"舰宽\": \"31.9ç±³[^100^]\",\n    \"吃水\": \"7ç±³[^100^]\",\n    \"满载排水量\": \"25000吨[^100^]\",\n    \"动力\": \"4台中速涡轮增压柴油机,最高航速22节[^1","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.2892096865778,14.815654108750152],[120.28921254192528,14.815108023316668],[120.28934817228037,14.815108731982434],[120.28934531603352,14.815654818315238],[120.2892096865778,14.815654108750152]]]},"properties":{"OBJECTID":30,"Id":30,"EJFL":"美军海军基地","type":"驱逐舰","targettype":"军事目标","weaponname":"","strikeable":"true","descriptio":"","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.28642012628791,14.817768082131352],[120.28639467367532,14.817067013831661],[120.28654980582894,14.817061382277018],[120.28657525844153,14.817762449677332],[120.28642012628791,14.817768082131352]]]},"properties":{"OBJECTID":31,"Id":31,"EJFL":"美军海军基地","type":"驱逐舰","targettype":"军事目标","weaponname":"","strikeable":"true","descriptio":"","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.28702926768665,14.818249685274793],[120.28748701271547,14.818016777052662],[120.2875468014438,14.818134280672552],[120.28708905641486,14.818367188894683],[120.28702926768665,14.818249685274793]]]},"properties":{"OBJECTID":32,"Id":32,"EJFL":"美军海军基地","type":"驱逐舰","targettype":"军事目标","weaponname":"","strikeable":"true","descriptio":"","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.28636951783903,14.816650359726395],[120.28635492094293,14.816104795000342],[120.28652560956925,14.816100228242988],[120.28654020736474,14.816645792969041],[120.28636951783903,14.816650359726395]]]},"properties":{"OBJECTID":33,"Id":33,"EJFL":"美军海军基地","type":"运输舰","targettype":"军事目标","weaponname":"先锋级","strikeable":"true","descriptio":"{\n  \"先锋级运输舰参数\": {\n    \"舰长\": \"103ç±³\",\n    \"舰宽\": \"28.5ç±³\",\n    \"吃水\": \"3.83ç±³\",\n    \"标准排水量\": \"1500吨\",\n    \"满载排水量\": \"2400吨\",\n    \"航速\": {\n      \"巡航\": \"35节\",\n      \"最高\": \"45节\"\n    },\n    \"","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.2136913903455,14.82345550356871],[120.21337005538385,14.822347644927902],[120.21358669307153,14.822284809296548],[120.21390802803307,14.823392667937298],[120.2136913903455,14.82345550356871]]]},"properties":{"OBJECTID":34,"Id":34,"EJFL":"菲律宾海军基地","type":"两栖登陆舰","targettype":"军事目标","weaponname":"丹鹿级","strikeable":"true","descriptio":"{\n  \"丹辘级船坞登陆舰参数\": {\n    \"长度\": \"210ç±³\",\n    \"宽度\": \"28ç±³\",\n    \"吃水\": \"7ç±³\",\n    \"排水量\": \"20,000吨\",\n    \"最高速度\": \"20节\",\n    \"续航距离\": \"8,000海里(15,000公里)\",\n    \"人员编制\": \"360人\",\n","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.21455574585104,14.826342751816583],[120.21423441088939,14.825234907565005],[120.21445104857708,14.82517207283297],[120.21477238533737,14.826279917084548],[120.21455574585104,14.826342751816583]]]},"properties":{"OBJECTID":35,"Id":35,"EJFL":"菲律宾海军基地","type":"两栖登陆舰","targettype":"军事目标","weaponname":"丹鹿级","strikeable":"true","descriptio":"{\n  \"丹辘级船坞登陆舰参数\": {\n    \"长度\": \"210ç±³\",\n    \"宽度\": \"28ç±³\",\n    \"吃水\": \"7ç±³\",\n    \"排水量\": \"20,000吨\",\n    \"最高速度\": \"20节\",\n    \"续航距离\": \"8,000海里(15,000公里)\",\n    \"人员编制\": \"360人\",\n","time":"20240510_17:00PM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.21411989571664,14.824893711975278],[120.21383673967387,14.823903856078118],[120.21397500144519,14.823864305693178],[120.2142581565887,14.824854160691018],[120.21411989571664,14.824893711975278]]]},"properties":{"OBJECTID":36,"Id":36,"EJFL":"菲律宾海军基地","type":"驱逐舰","targettype":"军事目标","weaponname":"何塞*黎刹级","strikeable":"true","descriptio":"{\n  \"何塞·黎刹级导弹护卫舰\": {\n    \"舰名\": \"何塞·黎刹级(Jose Rizal class frigate)\",\n    \"服役\": \"首舰“何塞·黎刹”号于2020å¹´7月10日正式入列菲律宾海军[^44^]\",\n    \"设计\": \"基于韩国海军仁川级护卫","time":"20240520_11:00AM"}},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.27095374581882,14.79383396316689],[120.27109587197697,14.793501916380364],[120.2712078717459,14.793549854742025],[120.27106574558775,14.793881902427927],[120.27095374581882,14.79383396316689]]]},"properties":{"OBJECTID":37,"Id":37,"EJFL":"美军空军基地","type":"导弹系统","targettype":"军事目标","weaponname":"堤丰系统","strikeable":"true","descriptio":"{\n  \"堤丰系统\": {\n    \"类型\": \"陆基中程导弹系统\",\n    \"背景\": \"美国退出《中导条约》后的产物,古希腊神话中的堤丰,象征强大火力\",\n    \"位置\": \"预计部署在中国周边地区\",\n    \"用途\": \"负责增强","time":"20240702_03:00AM"}}
]}
src/assets/js/map/mapConfig.js
@@ -1,5 +1,5 @@
import * as turf from "@turf/turf";
import wqJosn from "./json/wq.json";
const json2md = require("json2md");
const mapConfig = {
  flyToImageryLayer(res) {
@@ -19,22 +19,40 @@
    buffered.geometry.coordinates[0] = std;
    return buffered;
  },
  setScanList(response, filed) {
  setScanList(response, filed, headers) {
    const obj = [];
    for (var i in response) {
      const item = response[i];
      const std = [];
      if (item[filed]) {
        const count = "count_" + filed;
        obj.push(item[filed] + " : " + item[count]);
        std.push(item[filed]);
        std.push(item[count]);
        const obj = wqJosn.features.filter((res) => {
          if (res.properties.weaponname == item[filed]) {
            return res;
          }
        });
        if (obj.length > 0) {
          std.push(obj[0].properties.time);
        }
      }
    }
    if (filed == "weaponname") {
      return "发现疑似 " + obj.toString().replaceAll(",", "个; ");
    }else if(filed==='targettype'){
      return "发现 " + obj.toString().replaceAll(",", "个; ");
    }
    return "暂无信息";
      obj.push(std);
    }
    console.log(wqJosn);
    // if (filed == "weaponname") {
    //   return "发现疑似 " + obj.toString().replaceAll(",", "个; ");
    // }else if(filed==='targettype'){
    //   return "发现 " + obj.toString().replaceAll(",", "个; ");
    // }
    return [
      {
        type: "table",
        val: [headers, obj]
      }
    ];
  },
  setArrList(list, flag) {
    var result = [];
@@ -42,13 +60,12 @@
    for (var i in item) {
      if (item[i]) {
        if (item[i].indexOf(",") > -1) {
          result.push({
            p: item[i].replaceAll('"','').replaceAll('}','')
            p: item[i].replaceAll('"', "").replaceAll("}", "")
          });
        } else {
          result.push({
            h6: item[i].replaceAll('"','')
            h6: item[i].replaceAll('"', "")
          });
        }
      }
src/assets/js/map/mapInfo.js
@@ -17,7 +17,7 @@
  setFlyToImageryLayer() {
    mapServer.addServer({
      sourceType: "tms",
      url: "http://192.168.11.41:9001/gisserver/tmsserver/SubicBayArea"
      url: "http://103.135.160.14:9038/gisserver/tmsserver/SubicBayArea"
    });
  },
  setAddWeapons() {
src/assets/js/map/mapJsonLayer.js
@@ -21,6 +21,7 @@
  linePath: null,
  richTextPoint1: null,
  wfsLayer: null,
  dataSource: null,
  init(url) {
    this.url = url;
    this.getJsonLayer();
@@ -117,7 +118,7 @@
    });
  },
  setQueryTF2(name) {
    // const obj = "weaponname like '%" + name + "%'" + "";
    //  const obj = "weaponname like '%堤丰系统%'" + "";
    const filed = this.getPublickey(name);
    const layer = modelLayer.layers.filter((item) => {
      if (item.name == "武器点") {
@@ -134,12 +135,12 @@
      dbid: modelLayer.dbid,
      where: filed
    }).then((response) => {
      if (response.code != 200) return;
      const geom = response.data.items[0];
      const position = [geom._x, geom._y, 0];
      const cylinder = {
        radius: 1500, //半径
        radius: 400000, //半径
        angle: 30, //扫描角度(可选)
        speed: 5, //倍速(可选)
        stackPartitions: 80, //横向网格数(可选)
@@ -150,7 +151,7 @@
        position,
        cylinder
      );
      // Viewer.zoomTo(this.rectangularSensor.item);
      Viewer.zoomTo(this.rectangularSensor.item);
    });
  },
  setQueryByFiled(name, color) {
@@ -233,6 +234,10 @@
  },
  setTitleSetRest() {
    this.targetList = [];
    if (this.dataSource) {
      Viewer.dataSources.remove(this.dataSource);
      this.dataSource = null
    }
    if (this.wfsLayer) {
      // this.wfsLayer.removeFromMap();
      this.wfsLayer.destroy();
@@ -318,18 +323,18 @@
  },
  setAddWfsJson() {
    const url = this.getQueryUrl("SubicBayWeapon_wfs", "weapons");
    const that = this;
    Cesium.GeoJsonDataSource.load(url, {
      fill: Cesium.Color.fromCssColorString("#FFFFFF00"),
      stroke: Cesium.Color.fromCssColorString("#FFFFFF00"), //多边形或线的颜色
      strokeWidth: 0 //多边形或线 å®½åº¦
    }).then((dataSource) => {
      const entities = dataSource.entities.values;
      that.dataSource = dataSource;
      const entities = that.dataSource.entities.values;
      entities.map((item) => {
        item.polygon._material.color =
          Cesium.Color.fromCssColorString("#FFFFFF00");
        item.polygon.heightReference =
          Cesium.HeightReference.RELATIVE_TO_GROUND; // è´´åœ°
        item.polygon.height = 0; // è·åœ°é«˜åº¦0ç±³
@@ -343,30 +348,30 @@
          positions: positions,
          clampToGround: true, // è´´åœ°
          width: 5,
          material: Cesium.Color.fromCssColorString("#FF0000")
          material: Cesium.Color.fromCssColorString("#FFA500")
        });
       console.log(item._name);
       const label_name = item.name ?item.name :"";
        const label_name = item.name ? item.name : "";
        item.label = {
          text: label_name,
          font: "500 16x sans-serif",
          style: Cesium.LabelStyle.FILL_AND_OUTLINE, // å­—体样式
          fillColor: new Cesium.Color.fromCssColorString("#FFFFFF"),
          outlineWidth: 1,  // å­—体外圈线宽度(同样也有颜色可设置)
          outlineColor: new Cesium.Color.fromCssColorString("#FFFFFF"),
          verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // åž‚直位置
          fillColor: new Cesium.Color.fromCssColorString("#FFFFFF"),
          outlineWidth: 1, // å­—体外圈线宽度(同样也有颜色可设置)
          outlineColor: new Cesium.Color.fromCssColorString("#FFFFFF"),
          verticalOrigin: Cesium.VerticalOrigin.BASELINE, // åž‚直位置
          pixelOffset: new Cesium.Cartesian2(0, 0), // ä¸­å¿ƒä½ç½®
          disableDepthTestDistance: Number.POSITIVE_INFINITY,
          distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
            500.0,
            3000.0
          ),
          )
          // showBackground:true,
          // backgroundColor: new Cesium.Color(26 / 255, 196 / 255, 228 / 255, 1.0) //背景顔色
        };
      });
      Viewer.dataSources.add(dataSource);
      Viewer.dataSources.add(that.dataSource);
    });
  },
  getTileSet() {
src/assets/js/map/mapView.js
@@ -21,20 +21,22 @@
    Viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString("#A9A9A9"); //设置地球颜色
    // æ¸…空默认底图
    Viewer.imageryLayers.removeAll();
  //   earthCtrl.factory.createTerrainLayer({sourceType: "ctb",
  //     url: 'https://tiles1.geovisearth.com/base/v1/terrain?token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405'
  // });
    Viewer.scene.globe.depthTestAgainstTerrain = false;
    earthCtrl.factory.createTerrainLayer({
      sourceType: "ctb",
      url: "http://103.135.160.14:9038/gisserver/ctsserver/SubicBayDEM"
    });
    mapServer.addServer({
      sourceType: "arcgis",
      url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
    });
    mapServer.addServer({
      sourceType: "tms",
      url: "http://192.168.11.41:9001/gisserver/tmsserver/SubicBayArea"
      url: "http://103.135.160.14:9038/gisserver/tmsserver/SubicBayArea"
    });
    modelLayer.init();
    mapInfo.setEntityQueryInput();
    // const url = layerJson.getQueryUrl("SubicBayAreaVector_wfs", "GeoEntity");
    // layerJson.init(url);
  }
src/assets/js/msg/msgData.js
@@ -24,12 +24,13 @@
      }
    ]);
  },
  getJsonToMdData(res){
  getJsonToMdData(res,link){
    this.mine = true;
    var url = config.imgUrl + aiData.aiRole_img;
   return this.getMsg(url, [
      {
        type: "markdown",
        link:link,
        val: res
      }
    ])
src/components/Chat/chatList.vue
@@ -4,35 +4,24 @@
      <div class="web__main" ref="main">
        <div class="web__main-item" v-for="(item, index) in list" :key="loding(index)"
          :class="{ 'web__main-item--mine': item.mine }">
          <div class="web__main_content">
            <div>
              <img :src="item.img" />
            </div>
            <div class="web__main_Date">
              <div>
                <cite>
                  <div style="display: flex">
                  <div style="float: left;">
                    {{ item.name }}
                    <!-- <div style="margin-left: 10px" v-show="item.file">
                      <el-select
                        @change="(val) => setFileChange(val)"
                        v-model="item.file"
                        size="mini"
                      >
                        <el-option
                          v-for="(res, key) in item.fileList"
                          :key="key"
                          :label="res.name"
                          :value="res.url"
                        >
                        </el-option>
                      </el-select>
                    </div> -->
                  </div>
                  <div>
                  <div v-show="item.sourceValue" class="sourcefrom" style="float: left;margin-left:20px">
                    <el-select size="small" v-model="item.sourceValue"  placeholder="资料来源">
                      <el-option value="1" label="GEDB"></el-option>
                      <el-option value="2" label="GeoAgent"></el-option>
                    </el-select>
                  </div>
                  <div style="float: right;">
                    {{ item.date }}
                  </div>
                </cite>
@@ -47,13 +36,32 @@
                  </div>
                  <div v-else-if="res.type == 'markdown'">
                    <vue-markdown :source="res.val" class="newConcentLeft my-markdown"></vue-markdown>
                    <div v-show="res.link" style="float: right; ">
                      <a @click="setDownLoadFile(res.link)" style="color: white">下载报告</a>
                    </div>
                  </div>
                  <div style="margin-bottom:10px" v-else-if="res.type == 'rag'">
                  <div v-else-if="res.type == 'table'">
                    <table class="contTable">
                      <thead>
                        <th v-for="(item, index) in res.val[0]" :key="index">
                          {{ item }}
                        </th>
                      </thead>
                      <tbody>
                        <tr v-for="(item, index) in res.val[1]" :key="index">
                          <td v-for="(rs, flag) in item" :key="flag">
                            {{ rs }}
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </div>
                  <div style="margin-bottom: 10px" v-else-if="res.type == 'rag'">
                    <div v-show="res.acction">
                      {{ res.acction }}
                    </div>
                    <div> {{ res.question }} </div>
                    <div style="display: flex;">
                    <div>{{ res.question }}</div>
                    <div style="display: flex">
                      æ¥æº: {{ res.source }}
                      <div @click.stop="setRagMoreList(res.msg)" class="setRagMore" v-show="res.more">
                        ...更多
@@ -61,9 +69,7 @@
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
@@ -97,7 +103,7 @@
        width = value - 30 + "px";
      }
      if (width == "100vh") {
        return "99vh"
        return "99vh";
      }
      return width;
    }
@@ -121,7 +127,7 @@
      imgSrc: "",
      videoSrc: "",
      audioSrc: "",
      isDisabled: true,
      isDisabled: true
    };
  },
  watch: {
@@ -135,6 +141,14 @@
    }
  },
  methods: {
    setDownLoadFile(res) {
      const downloadLink = document.createElement('a');
      downloadLink.href = res
      document.body.appendChild(downloadLink);
      downloadLink.click();
      document.body.removeChild(downloadLink);
    },
    setRagMoreList(res) {
      if (this.isDisabled) {
        this.isDisabled = false;
@@ -143,9 +157,8 @@
        }, 500);
        setTimeout(() => {
          this.isDisabled = false;
        }, 3000)
        }, 3000);
      }
    },
    setFileChange(res) {
      if (res == "testUrl") return;
@@ -272,11 +285,47 @@
  vertical-align: bottom;
  display: inline-block;
}
.contTable {
  border: 1px solid white;
  font-family: "Arial", sans-serif !important;
}
.contTable th {
  border: 1px solid white;
  padding: 10px;
  text-align: center;
  font-size: 16px;
}
.contTable td {
  border: 1px solid white;
  padding: 10px;
  text-align: center;
  font-size: 14px;
}
</style>
<style scoped>
.webBody {
  display: flex;
  justify-content: center;
}
/deep/.el-select:hover .el-input__inner {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}
/deep/ .el-input__inner {
  background-color: rgba(255, 255, 255, 0.1) !important;
  padding: 0 10px !important;
  color: #ffffff !important;
}
/deep/.el-input--small .el-input__inner{
  height: 30px;
  font-size: 12px;
}
.webmainBox {
@@ -294,7 +343,6 @@
  /* padding-left: 60px; */
  min-height: 68px;
  text-align: left;
}
.web__main-user,
@@ -308,7 +356,6 @@
  padding: 10px !important;
  border-radius: 10px !important;
  margin-top: 10px;
}
.web__main-user {
@@ -385,8 +432,8 @@
  text-align: left;
  font-style: normal;
  width: 100%;
  display: flex;
  justify-content: space-between;
  /* display: flex; */
  /* justify-content: space-between; */
}
.web__main-arrow {
@@ -486,15 +533,36 @@
.setRagMore {
  margin-left: 10px;
}
.setRagMore:hover {
  color: #409EFF;
  color: #409eff;
}
</style>
<style>
.el-select-dropdown {
  background-color: #555555 !important;
  color: #409eff !important;
}
.el-select-dropdown__item{
  color: #ffffff !important;
  background: transparent !important;
}
.el-select-dropdown__item.selected{
  color: #409eff !important;
  background: transparent !important;
}
.el-select-dropdown__item.selected span{
  color: #409eff !important;
  background: transparent !important;
}
.el-select-dropdown__item:hover{
  /* background-color: #555555 !important; */
  color: #409eff!important;
}
.parentBox {
  height: 100%;
  /* background: rgb(31, 31, 31); */
@@ -568,15 +636,10 @@
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  font-style: normal;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.newConcentLeft img {
@@ -590,35 +653,46 @@
.newConcentLeft pre {
  white-space: normal;
}
</style>
.newConcentLeft li {
  font-size: 15px !important;
  line-height: 15px !important;
}
.newConcentLeft p {
  font-size: 15px !important;
  /*  */
}
</style>
<style>
.web_Main_markDown h1 {
  line-height: 30px !important;
  line-height: 20px !important;
  font-size: 20px !important;
}
.web_Main_markDown h2 {
  line-height: 25px !important;
  line-height: 20px !important;
  font-size: 18px !important;
  margin-left: 10px;
}
.web_Main_markDown h3 {
  line-height: 25px !important;
  line-height: 20px !important;
  font-size: 18px !important;
  margin-left: 10px;
}
.web_Main_markDown li {
  line-height: 20px !important;
  line-height: 15px !important;
  font-size: 16px !important;
  margin-left: 20px;
}
.web_Main_markDown p {
  line-height: 20px !important;
  line-height: 15px !important;
  font-size: 16px !important;
  margin-left: 20px;
}
@@ -628,4 +702,4 @@
  padding: 10px;
  border-radius: 10px;
}
</style>
</style>
src/store/index.js
@@ -10,7 +10,8 @@
    setScreenFlag: false,
    erroInfoMessage: null,
    token: null,
    ragList: []
    ragList: [],
    showLenged:false,
  },
  mutations: {},
  actions: {},
src/views/chartView/index.vue
@@ -71,18 +71,27 @@
      clearInterval(window.timer);
      window.timer = null;
    }
    // this.setLoading();
    setTimeout(() => {
      this.setMsgStart("您好");
      this.getMsg("ai", "您好,我是GeoAgent,请问可以帮您做些什么?");
    }, 1000);
    setTimeout(() => {
      const obj = mapConfig.setJsonToMd([{
        h6: "警告: è²å¾‹å®¾è‹æ¯”克湾区域检测出异常军事目标!"
      }, {
        p: "异常代号:4r5as5s001"
      }]);
      const obj = mapConfig.setJsonToMd([
        {
          h3: "警告: è‹æ¯”克湾区发现异常军事设施!"
        },
        {
          p: "异常代码: 4r5as5s001"
        },
        {
          p: "来源: XXX部"
        },
        {
          p: "发现时间: XXå¹´XX月XX号XX日XX点XX分"
        }
      ]);
      var roleMsg = msgData.getJsonToMdData(obj);
      this.list.push(roleMsg)
      this.list.push(roleMsg);
    }, 3000);
    bus.$on("mapInfo", (res) => {
      if (res) {
@@ -94,7 +103,7 @@
        this.setMarkDownInfo(res);
      }
    });
    bus.$on("setRagMoreListAll", res => {
    bus.$on("setRagMoreListAll", (res) => {
      if (res) {
        this.setRagMoreList(res);
      }
@@ -111,7 +120,7 @@
      const obj = mapConfig.setJsonToMd();
      const length = this.list.length - 1;
      var roleMsg = msgData.getJsonToMdData(obj);
      this.list[length].list = roleMsg.list
      this.list[length].list = roleMsg.list;
      this.loading = false;
    },
    bindEnter() {
@@ -123,10 +132,7 @@
      this.setLoading();
      setTimeout(() => {
        this.setMsgStart(msg);
      }, 200);
    },
    getQueryGroupBy(layer, filed) {
@@ -152,14 +158,25 @@
        statistics: JSON.stringify(obj),
        containCount: true,
        groupby: filed
      }
      };
    },
    async getQueryEentityGroupBy(res, filed) {
    async getQueryEentityGroupBy(res, filed, response, head) {
      const data = await getQueryEentity(res);
      const message = mapConfig.setScanList(data.data, filed)
      const message = mapConfig.setScanList(data.data, filed, head);
      this.getMsg("ai", message);
      if (message) {
        if (this.loading) {
          this.loading = false;
        }
        this.list[this.list.length - 1].sourceValue = "1";
        this.list[this.list.length - 1].list = message;
      } else {
        if (response.content) {
          this.getMsg("ai", response.content);
        } else {
          this.getMsg("ai", "稍后服务。。。");
        }
      }
    },
    async getQueryEentityDescription(res) {
      const std = [];
@@ -170,12 +187,12 @@
        count: 0,
        containCount: true,
        layerid: res.layerid,
        dbid: res.dbid,
        dbid: res.dbid
      });
      const items = data.data.items;
      items.map(rs => {
        var name = rs["weaponname"]
      items.map((rs) => {
        var name = rs["weaponname"];
        if (name) {
          var boolen = true;
          if (str.length == 0) {
@@ -186,46 +203,54 @@
            boolen = true;
          }
          if (boolen) {
            const obj = mapConfig.setArrList(rs["descriptio"])
            const obj = mapConfig.setArrList(rs["descriptio"]);
            for (var i in obj) {
              std.push(obj[i])
              std.push(obj[i]);
            }
            str.push(name)
            str.push(name);
          }
        }
      })
      const jstomd = mapConfig.setJsonToMd(std)
      });
      const jstomd = mapConfig.setJsonToMd(std);
      const length = this.list.length - 1;
      var roleMsg = msgData.getJsonToMdData(jstomd);
      this.list[length].list = roleMsg.list
      this.list[length].list = roleMsg.list;
      this.loading = false;
    },
    async setMsgStart(res) {
      if (res.indexOf("军事目标") > -1 || res.indexOf("民宅") > -1 || res.indexOf("经济目标") > -1 || res.indexOf("海军陆战队") > -1 || res.indexOf("堤丰") > -1) {
        this.$store.state.setScreenFlag = true;
        this.list.splice(-1, 1);
        this.loading = false;
        layerJson.setQyeryData(res);
      } else if (res.indexOf("markDown") > -1) {
        setTimeout(() => {
          this.getMd();
        }, 2000);
      // if (res.indexOf("军事目标") > -1 || res.indexOf("民宅") > -1 || res.indexOf("经济目标") > -1 || res.indexOf("海军陆战队") > -1 || res.indexOf("堤丰") > -1) {
      //   this.$store.state.setScreenFlag = true;
      //   this.list.splice(-1, 1);
      //   this.loading = false;
      //   layerJson.setQyeryData(res);
      // } else
      // if (res.indexOf("markDown") > -1) {
      //   setTimeout(() => {
      //     this.getMd();
      //   }, 2000);
      } else if (res.indexOf("scanWeapon") > -1) {
        this.setQueryMapPlan("scanWeapon")
      // }else
      if (res.indexOf("scanWeapon") > -1) {
        this.setQueryMapPlan("scanWeapon");
      } else if (res.indexOf("weaponParameters") > -1) {
        this.setQueryMapPlan("weaponParameters")
        this.setQueryMapPlan("weaponParameters");
      } else if (res.indexOf("searchTarget") > -1) {
        this.setQueryMapPlan("searchTarget")
      } else if (res.indexOf("searchStrikeableTarget") > -1) {
        this.setQueryMapPlan("searchStrikeableTarget")
      } else if (res.indexOf("USAFCommandCenterQuery") > -1) {
        this.setQueryMapPlan("USAFCommandCenterQuery")
        this.setQueryMapPlan("searchTarget");
      } else if (res.indexOf("attackUSAFCommandCenter") > -1) {
        this.setQueryMapPlan("attackUSAFCommandCenter")
        this.setQueryMapPlan("attackUSAFCommandCenter");
      } else if (res.indexOf("USAFCommandCenterQuery") > -1) {
        this.setQueryMapPlan("USAFCommandCenterQuery");
      } else if (res.indexOf("simulationAttack") > -1) {
        this.setQueryMapPlan("simulationAttack");
      } else if (res.indexOf("defenceRangeTyphoonSystem") > -1) {
        this.setQueryMapPlan("defenceRangeTyphoonSystem")
        this.setQueryMapPlan("defenceRangeTyphoonSystem");
      } else if (res.indexOf("flyToSubicBayArea") > -1) {
        this.setQueryMapPlan("flyToSubicBayArea");
      } else if (res.indexOf("displayWeaponSystem") > -1) {
        this.setQueryMapPlan("displayWeaponSystem");
      } else if (res.indexOf("weaponSystemParameters") > -1) {
        this.setQueryMapPlan("weaponSystemParameters");
      }
      // else if(res.indexOf("苏比克湾") > -1){
      //   this.$store.state.setScreenFlag = true;
@@ -236,147 +261,240 @@
      //           mapInfo.setEntityQueryInput();
      //         }, 1000);
      //       });
      // }
      // }
      else if (res == "生成战场环境报告") {
        this.getUrlMd(config.reportMd, config.reportDocx)
      }
      else if (res == "三维实景") {
        layerJson.setTitleSetRest();
        this.setV1Fastgpt(res)
        this.setV1Fastgpt(res);
      } else {
        const data = await getAIMessage(res);
        if (data.status == 200) {
          if (data.content) {
            this.getMsg("ai", data.content);
          } else {
            this.getMsg("ai", "");
          }
          if (data.name) {
            this.$store.state.setScreenFlag = true;
            this.$nextTick(() => {
              setTimeout(() => {
                this.setQueryMapPlan(data.name)
                this.setQueryMapPlan(data.name, data);
              }, 1000);
            });
          } else {
            if (data.content) {
              this.getMsg("ai", data.content);
              this.list[this.list.length - 1].sourceValue = "2";
            } else {
              this.getMsg("ai", "");
              this.list[this.list.length - 1].sourceValue = "2";
            }
          }
        } else {
          if (data.content) {
            this.getMsg("ai", data.content);
            this.list[this.list.length - 1].sourceValue = "2";
          } else {
            this.getMsg("ai", "稍后服务。。。");
          }
        }
      }
    },
    setQueryMapPlan(res) {
    getUrlMd(res, link) {
      axios.get(res).then(response => {
        if (response.status == 200) {
          var roleMsg = msgData.getJsonToMdData(response.data, link);
          this.list[this.list.length - 1].sourceValue = "1";
          this.list[this.list.length - 1].list = roleMsg.list;
          this.loading = false;
        } else {
          this.getMsg("ai", "稍后服务。。。");
        }
      })
    },
    setQueryMapPlan(res, response) {
      if (this.$store.state.setScreenFlag == false) {
        this.$store.state.setScreenFlag = true;
      }
      layerJson.setTitleSetRest();
      if (this.$store.state.showLenged) {
        this.$store.state.showLenged = false;
      }
      if (res != "weaponSystemParameters") {
        layerJson.setTitleSetRest();
      }
      mapInfo.setEntityQueryInput();
      switch (res) {
        case "scanWeapon":
        case "flyToSubicBayArea":
          this.$store.state.setScreenFlag = true;
          mapInfo.setEntityQueryInput();
          this.getMsg("ai", "地图已显示");
          this.list[this.list.length - 1].sourceValue = "1";
          break;
        case "displayWeaponSystem":
          mapInfo.setFlyTo({
            "longitude": 120.26907736668211,
            "latitude": 14.791708841800627,
            "height": 1371.1909347746105
            longitude: 120.26907736668211,
            latitude: 14.791708841800627,
            height: 1371.1909347746105
          });
          var obj = this.getQueryGroupBy("武器", "weaponname")
          this.getQueryEentityGroupBy(obj, "weaponname")
          layerJson.setAddWfsLayer();
          // layerJson.setAddWfsJson();
          var obj = this.getQueryGroupBy("武器", "weaponname");
          var table_head = ["武器名称", "数量", "出现时间"]
          this.getQueryEentityGroupBy(obj, "weaponname", response, table_head);
          layerJson.setAddWfsJson();
          break;
        case "weaponSystemParameters":
          mapInfo.setFlyTo({
            longitude: 120.26907736668211,
            latitude: 14.791708841800627,
            height: 1371.1909347746105
          });
          if (response.weapons) {
            var name = "";
            if (response.weapons.indexOf("堤丰") > -1) {
              name = "堤丰";
            } else if (response.weapons.indexOf("圣安东尼奥级") > -1) {
              name = "圣安东尼奥级系统";
            } else if (response.weapons.indexOf("丹辘级") > -1) {
              name = "丹辘级系统";
            } else if (response.weapons.indexOf("C130") > -1) {
              name = "C130系统";
            } else if (response.weapons.indexOf("何塞黎刹") > -1) {
              name = "何塞黎刹级系统";
            } else if (response.weapons.indexOf("鱼鹰") > -1) {
              name = "鱼鹰系统";
            } else if (response.weapons.indexOf("先锋级") > -1) {
              name = "先锋级系统";
            } else if (response.weapons.indexOf("支奴干") > -1) {
              name = "支奴干系统";
            } else if (response.weapons.indexOf("黑鹰") > -1) {
              name = "黑鹰系统";
            }
            if (name) {
              const url = "/Data/" + name + ".md";
              this.getUrlMd(url, null)
            } else {
              this.getMsg("ai", response.content);
            }
          } else {
            this.getMsg("ai", response.content);
          }
          break;
        case "weaponParameters":
          var obj = this.getQueryGroupBy("武器", "description")
          this.getQueryEentityDescription(obj)
          var obj = this.getQueryGroupBy("武器", "description", response);
          this.getQueryEentityDescription(obj);
          break;
        case "searchTarget":
          var obj = this.getQueryGroupBy("建筑", "targettype")
          this.getQueryEentityGroupBy(obj, "targettype")
          var list = [{
            name: "军事目标",
            color: "#409EFF"
          }, {
            name: "民宅",
            color: "#808080"
          }, {
            name: "经济目标",
            color: "#FFFF00"
          }
          ]
          layerJson.setQueryByFiledList(list, 0)
          var obj = this.getQueryGroupBy("建筑", "targettype");
          var table_head = ["目标类型", "数量"]
          this.getQueryEentityGroupBy(obj, "targettype", response, table_head);
          var list = [
            {
              name: "军事目标",
              color: "#409EFF"
            },
            {
              name: "政治目标",
              color: "#FFFF00"
            },
            {
              name: "经济目标",
              color: "#FFA500"
            },
            {
              name: "社会目标",
              color: "#000000"
            },
            {
              name: "民宅",
              color: "#808080"
            }
          ];
          layerJson.setQueryByFiledList(list, 0);
          this.$store.state.showLenged = true;
          break;
        case "searchStrikeableTarget":
        case "attackUSAFCommandCenter":
          var obj = "strikeable = 'TRUE'" + "";
          layerJson.setQueryByFiled(obj, "#FF0000", false)
          layerJson.setQueryByFiled(obj, "#FF0000", false);
          this.getMsg("ai", "相关信息已在地图模块展示");
          this.list[this.list.length - 1].sourceValue = "1";
          break;
        case "USAFCommandCenterQuery":
          var obj = "ejfl like '%空军基地%'";
          layerJson.setQueryExtent2(obj, false)
          this.getMsg("ai", "相关信息已在地图模块展示");
          layerJson.setQueryExtent2(obj, false);
          this.getMsg("ai", "美国空军指挥中心,包含4座弹药库,11座油库,1座机库。");
          this.list[this.list.length - 1].sourceValue = "1";
          break;
        case "attackUSAFCommandCenter":
        case "simulationAttack":
          var obj = "ejfl like '%空军基地%'";
          layerJson.setQueryExtent2(obj, true)
          layerJson.setQueryExtent2(obj, true);
          this.getMsg("ai", "相关信息已在地图模块展示");
          this.list[this.list.length - 1].sourceValue = "1";
          break;
        case "defenceRangeTyphoonSystem":
          var obj = "weaponname like '%" + name + "%'" + "";
          layerJson.setQueryTF2(obj)
          const objName = "堤丰系统"
          var obj = "weaponname like '%" + objName + "%'" + "";
          layerJson.setQueryTF2(obj);
          this.getMsg("ai", "相关信息已在地图模块展示");
          this.list[this.list.length - 1].sourceValue = "1";
          break;
        default:
          mapInfo.init(res);
          if (response.content) {
            this.getMsg("ai", response.content);
            this.list[this.list.length - 1].sourceValue = "2";
          } else {
            this.getMsg("ai", "稍后服务。。。");
          }
          break;
      }
    },
    setRagMoreList(res) {
      const obj = this.$store.state.ragList
      const val_data = obj.filter(item => {
      const obj = this.$store.state.ragList;
      const val_data = obj.filter((item) => {
        if (item.quest === res) {
          return item;
        }
      });
      if (val_data.length <= 0) return
      if (val_data.length <= 0) return;
      this.$store.state.ragList = obj;
      const val_obj = val_data[0]
      const val_obj = val_data[0];
      const key = val_obj.index;
      const val = val_obj.val;
      this.list[key].list[0].more = false;
      var flag = 1;
      var intValTime = setInterval(() => {
        if (flag >= val.length) {
          const obj = JSON.parse(JSON.stringify(this.list))
          this.list = obj
          const obj = JSON.parse(JSON.stringify(this.list));
          this.list = obj;
          for (var i in obj) {
            if (obj[i].quest === res) {
              obj.splice(i, 1)
              obj.splice(i, 1);
            }
          }
          clearInterval(intValTime)
          return
          clearInterval(intValTime);
          return;
        }
        const valitem = val[flag];
        const roleMsg = msgData.getRagData(valitem, false, "");
        this.list[key].list.push(roleMsg[0])
        flag++
        this.list[key].list.push(roleMsg[0]);
        flag++;
      }, 1000);
    },
    setRagInterval(flag, index, res) {
      if (flag < res.length) {
        const obj = res[flag]
        this.list[index].list.push(roleMsg[0])
        const obj = res[flag];
        this.list[index].list.push(roleMsg[0]);
        setTimeout(() => {
          flag++;
          this.setRagInterval(flag, index, res)
          this.setRagInterval(flag, index, res);
        }, 1000);
      } else {
        return
        return;
      }
    },
    async setV1Fastgpt(res) {
@@ -384,20 +502,29 @@
      const length = this.list.length - 1;
      const obj = data[0].quoteList
      this.$store.state.ragList.push({
        quest: res,
        index: length,
        val: obj
      })
      var roleMsg = msgData.getRagData(obj[0], true, res);
      this.list[length].list = roleMsg
      const obj = data[0].quoteList;
      var roleMsg = [
        {
          type: "text",
          val: "未查询到相关信息"
        }
      ];
      if (obj.length > 0) {
        this.$store.state.ragList.push({
          quest: res,
          index: length,
          val: obj
        });
        roleMsg = msgData.getRagData(obj[0], true, res);
      }
      this.list[length].list = roleMsg;
      this.loading = false;
    },
    setMarkDownInfo(res) {
      var roleMsg = msgData.getRole("markDown", res);
      this.list.push(roleMsg.msg);
      //
      //
    },
    setMapInfo(res) {
      var msg = "";
@@ -410,11 +537,8 @@
    getMsg(type, msg) {
      var roleMsg = msgData.getRole(type, msg);
      if (this.loading) {
        this.loading = false;
        this.list[this.list.length - 1].list = roleMsg.msg.list;
      } else {
src/views/mapView/mapView.vue
@@ -1,5 +1,13 @@
<template>
  <div id="sdkContainer" class="mapView">
    <div class="mapLenged" v-if="$store.state.showLenged">
      <ul>
        <li v-for="(item, key) in lengedList" :key="key">
          <div class="mapcolor" :style="getBackgroundColor(item)"></div>
          <div class="mapTitle">{{ item.name }}</div>
        </li>
      </ul>
    </div>
    <div class="infoBox" v-show="errInfoFlag">
      <div id="inforMessage"></div>
      <div class="infoBottom">
@@ -19,7 +27,24 @@
  data() {
    return {
      errInfoMessage: null,
      errInfoFlag: false
      errInfoFlag: false,
      lengedList: [{
        name: "军事目标",
        color: "#409EFF"
      }, {
        name: "政治目标",
        color: "#FFFF00"
      }, {
        name: "经济目标",
        color: "#FFA500"
      }, {
        name: "社会目标",
        color: "#000000"
      }, {
        name: "民宅",
        color: "#808080"
      }
      ]
    };
  },
  computed: {
@@ -35,9 +60,12 @@
    }
  },
  methods: {
    getBackgroundColor(res) {
      return `background-color: ${res.color};`
    },
    setMapViewStart() {
      mapView.initMap();
    },
    setErrorMessage(res) {
      this.errInfoMessage = res;
@@ -53,7 +81,7 @@
          type: "erroInfo",
          value: obj.val
        });
      }
      this.$nextTick(() => {
        this.errInfoFlag = false;
@@ -75,6 +103,39 @@
  height: 100%;
  position: absolute;
}
.mapLenged {
  position: absolute;
  z-index: 40;
  border: 1px solid #808080;
  background: rgba(255, 255,255, .7);
  padding: 4px;
  bottom: 20px;
  left: 20px;
  border-radius: 10px;
  /* color: gray; */
}
.mapLenged .mapTitle {
  display: flex;
  align-items: center;
  margin-left: 10px;
  font-size: 16px;
}
.mapLenged li {
  list-style-type: none;
  display: flex;
  line-height: 20px;
  margin: 10px;
}
.mapLenged .mapcolor {
  width: 100px;
  height: 30px;
}
.infoBox {
  left: 50%;
  top: 50%;
@@ -89,13 +150,16 @@
  color: white;
  transform: translate(-50%, -50%);
}
.infoBottom {
  margin-top: 10px;
  float: right;
}
.infoBottom :first-child {
  margin-right: 10px;
}
.infoBottom button {
  width: 50px;
@@ -115,6 +179,7 @@
  font-size: 16px;
  line-height: 30px;
}
.infoCount {
  font-size: 14px;
  line-height: 30px;