P11.html 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="renderer" content="webkit">
  6. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  7. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  8. <meta http-equiv="pragma" content="no-cache">
  9. <meta http-equiv="Cache" content="no-cache">
  10. <meta http-equiv="cache-control" content="no-cache, must-revalidate">
  11. <meta http-equiv="expires" content="0">
  12. <meta name="viewport"
  13. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  14. <title>规则管理</title>
  15. <link rel="stylesheet" href="../css/index.css">
  16. <link rel="stylesheet" href="../css/style.css">
  17. <link rel="stylesheet" href="../css/comm.css">
  18. <link rel="stylesheet" href="../css/iconfont.css">
  19. <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
  20. <script src="../js/vue.min.js"></script>
  21. <script src="https://webapi.amap.com/maps?v=1.4.15&key=3705e0f15b2b36d6902e9ebdf24a93d8&plugin=AMap.CircleEditor&plugin=AMap.MouseTool&plugin=AMap.PolyEditor"></script>
  22. <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
  23. <script src="../js/index.js"></script>
  24. <script src="../js/jquery.min.js"></script>
  25. <script type="text/javascript">
  26. document.write('<script src="../assets/init.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  27. </script>
  28. <script>
  29. checkLogin();
  30. </script>
  31. </head>
  32. <style>
  33. .yz_aside{
  34. font-size: 15px;
  35. width: 180px;
  36. }
  37. .yz_aside ul{
  38. padding-left: 20px;
  39. font-size: 14px;
  40. }
  41. .yz_aside ul li{
  42. cursor: pointer;
  43. list-style: none;
  44. padding: 5px 0;
  45. color: #fff;
  46. }
  47. .yz_aside ul li.act{
  48. color: #25a1ff;
  49. }
  50. .el-form-item__label{
  51. color: #fff;
  52. }
  53. input[type=text]{
  54. padding:0 10px;
  55. height: 36px;
  56. color: #ececec;
  57. border-color: transparent;
  58. background-color: rgba(255, 255, 255, 0.2);
  59. }
  60. .el-input.is-disabled .el-input__inner{
  61. background-color: transparent;
  62. }
  63. .el-input-group__append, .el-input-group__prepend{
  64. color: #ececec;
  65. border: none;
  66. background-color: rgba(255, 255, 255, 0);
  67. }
  68. .el-tree{
  69. font-size: 14px;
  70. color: #fff;
  71. background-color: transparent;
  72. }
  73. .el-tree-node:focus>.el-tree-node__content,.el-tree-node__content:hover{
  74. background-color: rgba(255, 255, 255, 0.2);
  75. }
  76. .el-tree .el-tree-node__expand-icon.expanded {
  77. -webkit-transform: rotate(0deg);
  78. transform: rotate(0deg);
  79. }
  80. .el-tree .el-icon-caret-right:before {
  81. content: '\e783';
  82. font-size: 18px;
  83. color: rgb(85, 170, 255);
  84. }
  85. .el-tree .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
  86. content: '\e781';
  87. font-size: 18px;
  88. color: rgb(85, 170, 255);
  89. }
  90. .el-tree .el-tree-node__expand-icon.is-leaf::before {
  91. display: none;
  92. }
  93. .el-tree .iconfont{
  94. vertical-align: middle;
  95. color: rgb(85, 170, 255);
  96. }
  97. </style>
  98. <body>
  99. <div id="app" style="height: 100vh;">
  100. <div class="yz_aside">
  101. <div style="height: calc(100% - 36px);overflow: auto;">
  102. <div class="padding-sm">
  103. <div @click="ruleVis = !ruleVis" class="yz_cursor">
  104. <i :class="ruleVis?'el-icon-folder-remove':'el-icon-folder-add'"></i>
  105. <span>规则管理</span>
  106. </div>
  107. <ul v-if="ruleVis&&ruleLi.length">
  108. <li v-for="(item,index) in ruleLi" :key="index" @click="changTab(index)"
  109. class="padding-tb-xs" :class="tabBar == index?'act':''">
  110. {{item.rule_name}}
  111. </li>
  112. </ul>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="yz_main padding-sm" style="width: calc(100% - 180px);">
  117. <div class="margin-bottom">
  118. <el-button type="primary" size="mini" icon="el-icon-plus" @click="newAdd">新增</el-button>
  119. <el-button type="success" size="mini" icon="el-icon-edit" @click="editVis = false;">编辑</el-button>
  120. <el-button type="danger" size="mini" icon="el-icon-delete" @click="delRule">删除</el-button>
  121. </div>
  122. <el-row>
  123. <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
  124. <div class="grid-content">
  125. <el-form ref="form" :rules="rules" :model="ruleForm" label-width="80px" style="max-width: 400px;">
  126. <el-form-item label="规则名称" prop="rule_name">
  127. <el-input :disabled="editVis" v-model="ruleForm.rule_name" placeholder="规则名称"></el-input>
  128. </el-form-item>
  129. <el-form-item label="规则内容" prop="text">
  130. <el-input :disabled="editVis" v-model="ruleForm.text" placeholder="规则内容"></el-input>
  131. </el-form-item>
  132. <el-form-item label="报警速度" prop="speed">
  133. <el-input :disabled="editVis" v-model="ruleForm.speed" placeholder="报警速度">
  134. <template slot="append">Km/h</template>
  135. </el-input>
  136. </el-form-item>
  137. <el-form-item label="报警间隔" prop="rule_interval">
  138. <el-input :disabled="editVis" v-model="ruleForm.rule_interval" placeholder="报警间隔">
  139. <template slot="append">秒</template>
  140. </el-input>
  141. </el-form-item>
  142. <el-form-item label="开启状态">
  143. <el-switch :disabled="editVis" v-model="ruleForm.statusn">
  144. </el-form-item>
  145. <el-form-item label="规则描述">
  146. <el-input :disabled="editVis" v-model="ruleForm.rule_describe" placeholder="规则描述"></el-input>
  147. </el-form-item>
  148. <el-form-item class="margin-top" v-if="!editVis">
  149. <el-button size="small" @click="editVis = true;">取消</el-button>
  150. <el-button size="small" type="primary" @click="saveRule">提交</el-button>
  151. </el-form-item>
  152. </el-form>
  153. </div>
  154. </el-col>
  155. <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
  156. <div class="grid-content">
  157. <div class="text-white text-lg">区域管理:</div>
  158. <div class="padding-sm">
  159. <el-tree style="width: calc(100% - 94px);" ref="treeRef"
  160. :data="treeLi" :props="defaultProps" @check="changCheck"
  161. :default-expand-all="true" show-checkbox node-key="id"
  162. :default-checked-keys="ruleForm.checkKey">
  163. <span class="custom-tree-node" slot-scope="{node,data}">
  164. <span>
  165. <i class="iconfont text-orange" :class="data.icon"></i>{{ data.group_name }}
  166. </span>
  167. </span>
  168. </el-tree>
  169. </div>
  170. </div>
  171. </el-col>
  172. </el-row>
  173. </div>
  174. </div>
  175. <script type="text/javascript">
  176. document.write('<script src="../assets/ruleManage.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  177. </script>
  178. </body>
  179. </html>