buildingManagement.vue 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918
  1. <template>
  2. <div class="buildingManagement">
  3. <div class="max-left-box">
  4. <div class="tree-box scrollbar-box">
  5. <div class="terr-max-box" v-for="(item,index) in treeList" :key="index">
  6. <div class="max-name-box">
  7. <p class="max-name" :class="checkTreeId==item.id?'check-color':''" @click="clickCheckTree(item.id,1)">{{item.name}}</p>
  8. <el-dropdown @command="(command)=>handleCommand(command,item)">
  9. <img src="@/assets/ZDimages/evacuation3_2/icon_bjgl_gd.png" style="cursor:pointer;width:16px;height:4px;margin-top:7px;">
  10. <el-dropdown-menu slot="dropdown">
  11. <el-dropdown-item command="1">编辑</el-dropdown-item>
  12. <el-dropdown-item command="2">删除</el-dropdown-item>
  13. </el-dropdown-menu>
  14. </el-dropdown>
  15. </div>
  16. <div class="terr-big-box" v-for="(itemOne,indexOne) in item.childList" :key="indexOne">
  17. <div class="big-name-box">
  18. <img v-if="!itemOne.type" src="@/assets/ZDimages/evacuation3_2/icon_bjgl_jt.png" @click="terrClick(itemOne)">
  19. <img v-if="itemOne.type" src="@/assets/ZDimages/evacuation3_2/icon_bjgl_xjt.png" @click="terrClick(itemOne)">
  20. <p :class="checkTreeId==itemOne.id?'check-color':''" @click="clickCheckTree(itemOne.id,2)">{{itemOne.name}}</p>
  21. </div>
  22. <div v-if="itemOne.type" class="terr-min-box" v-for="(itemTwo,indexTwo) in itemOne.childList" :key="indexTwo">
  23. <p class="min-name" :class="checkTreeId==itemTwo.id?'check-color':''" @click="clickCheckTree(itemTwo.id,3)">{{itemTwo.name}}</p>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <p class="max-left-big-button" @click="handleCommand(3)">+ 新增校院</p>
  29. </div>
  30. <div class="max-right-box">
  31. <div class="school-box" v-if="checkTreeType == 1">
  32. <div class="max-right-button-box">
  33. <p class="null-p"></p>
  34. <p class="max-right-big-button" @click="handleCommand(4)">+ 新增楼栋</p>
  35. </div>
  36. <div class="right-big-list-box scrollbar-box">
  37. <div class="for-max-box" v-for="(item,index) in buildingList" :key="index"
  38. @dragover.prevent="dragoverPrevent(item)">
  39. <div class="for-big-box">
  40. <div class="for-big-box-left">
  41. <img src="@/assets/ZDimages/evacuation3_2/icon_bjgl_td.png" class="for-img-one"
  42. draggable="true"
  43. @dragstart="dragstartPlay($event)"
  44. @dragend="dragEnterOver($event, item)">
  45. <p class="for-text-one">{{item.name}}</p>
  46. <img src="@/assets/ZDimages/evacuation3_2/icon_bjgl_lcs.png" class="for-img-two">
  47. <div class="for-text-box-one">
  48. <p>6</p>
  49. <p>楼层数</p>
  50. </div>
  51. <img src="@/assets/ZDimages/evacuation3_2/icon_bjgl_fj.png" class="for-img-three">
  52. <div class="for-text-box-two">
  53. <p>160</p>
  54. <p>房间数</p>
  55. </div>
  56. </div>
  57. <div class="for-button-min-box">
  58. <div>
  59. <img src="@/assets/ZDimages/evacuation3_2/icon_znwl_bj.png">
  60. <p @click="handleCommand(8)">编辑</p>
  61. </div>
  62. <div>
  63. <img src="@/assets/ZDimages/evacuation3_2/icon_znwl_sc.png">
  64. <p @click="handleCommand(9)">删除</p>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. <div class="building-box" v-if="checkTreeType == 2">
  72. <div class="max-right-button-box">
  73. <p class="null-p"></p>
  74. <p class="max-right-big-button" style="margin-right:20px;" @click="handleCommand(7)">+ 新增楼层</p>
  75. <p class="max-right-big-button" @click="floorZK(1)">{{floorZkType==1?'一键收起':'一键展开'}}</p>
  76. </div>
  77. <div class="right-big-list-box scrollbar-box">
  78. <div class="for-max-box" v-for="(item,index) in buildingList" :key="index"
  79. @dragover.prevent="dragoverPrevent(item)">
  80. <div class="for-big-box">
  81. <div class="for-big-box-left">
  82. <img src="@/assets/ZDimages/evacuation3_2/icon_bjgl_td.png" class="for-img-one"
  83. draggable="true"
  84. @dragstart="dragstartPlay($event)"
  85. @dragend="dragEnterOver($event, item)">
  86. <p class="for-text-one">{{item.name}}</p>
  87. </div>
  88. <div class="for-button-min-box">
  89. <div>
  90. <img src="@/assets/ZDimages/evacuation3_2/icon_znwl_bj.png">
  91. <p @click="handleCommand(8)">编辑</p>
  92. </div>
  93. <div>
  94. <img src="@/assets/ZDimages/evacuation3_2/icon_znwl_sc.png">
  95. <p @click="handleCommand(9)">删除</p>
  96. </div>
  97. <div>
  98. <img src="@/assets/ZDimages/evacuation3_2/icon_bjgl_zk.png">
  99. <p @click="floorZK(2,index)">{{item.type?'收起':'展开'}}</p>
  100. </div>
  101. </div>
  102. </div>
  103. <p v-if="item.type" style="border:1px solid #000;text-align: center;margin-left:36px;">暂无数据</p>
  104. </div>
  105. </div>
  106. </div>
  107. <div class="floor-box" v-if="checkTreeType == 3">
  108. <div class="map-max-big-box">
  109. <p class="position-button-p">设置布局</p>
  110. </div>
  111. <div class="table-box">
  112. <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
  113. <el-form-item label="关键字" prop="searchValue" style="margin-right:20px;margin-bottom:20px;">
  114. <el-input
  115. v-model="queryParams.searchValue"
  116. placeholder="请输入关键字"
  117. clearable
  118. size="small"
  119. />
  120. </el-form-item>
  121. <el-form-item label="房间类型" prop="searchValue" style="margin-right:20px;margin-bottom:20px;">
  122. <el-input
  123. v-model="queryParams.searchValue"
  124. placeholder="请选择关键字"
  125. clearable
  126. size="small"
  127. />
  128. </el-form-item>
  129. <el-form-item>
  130. <p class="inquire-button-one" @click="handleQuery" style="margin-right:20px;margin-bottom:20px;">查询</p>
  131. <p class="reset-button-one" @click="resetQuery">重置</p>
  132. </el-form-item>
  133. </el-form>
  134. <el-table v-loading="loading" border :data="dataList">
  135. <el-table-column label="房间号" align="left" prop="moldName" width="100"/>
  136. <el-table-column label="房间名称" align="left" prop="createBy"/>
  137. <el-table-column label="房间类型" align="left" prop="createBy" width="200"/>
  138. <el-table-column label="创建人" align="left" prop="createBy" width="200"/>
  139. <el-table-column label="创建时间" align="left" prop="createTime" width="200"/>
  140. <el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="200">
  141. <template slot-scope="scope">
  142. <div class="button-box">
  143. <p class="table-min-button" @click="roomClick(1,item)">编辑</p>
  144. <p class="table-min-button" @click="roomClick(3)">删除</p>
  145. </div>
  146. </template>
  147. </el-table-column>
  148. </el-table>
  149. <pagination
  150. style="margin-top:20px;"
  151. v-show="total>0"
  152. :total="total"
  153. :page.sync="queryParams.pageNum"
  154. :limit.sync="queryParams.pageSize"
  155. @pagination="getList"
  156. />
  157. </div>
  158. </div>
  159. </div>
  160. <!-- 新增/编辑院校 -->
  161. <el-dialog :title="dialogTitle" v-if="dialogOpen" :visible.sync="dialogOpen" width="600px" append-to-body>
  162. <el-form ref="dialogForm" :model="dialogForm" :rules="rules" label-width="110px">
  163. <el-form-item label="院校名称:" prop="nameOne">
  164. <el-input v-model="dialogForm.nameOne" maxlength="10" placeholder="请输入院校名称" :disabled="dialogType==2 || dialogType==3"/>
  165. </el-form-item>
  166. <el-form-item label="楼栋名称:" prop="nameTwo" v-if="dialogType==2 || dialogType==3">
  167. <el-input v-model="dialogForm.nameTwo" maxlength="10" placeholder="请输入楼栋名称" :disabled="dialogType==3"/>
  168. </el-form-item>
  169. <el-form-item label="楼层名称:" prop="nameThree" v-if="dialogType==3">
  170. <el-input v-model="dialogForm.nameThree" maxlength="10" placeholder="请输入楼层名称" />
  171. </el-form-item>
  172. <el-form-item label="排序序号:" prop="key">
  173. <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入排序序号" />
  174. </el-form-item>
  175. </el-form>
  176. <div slot="footer" class="dialog-footer">
  177. <div style="display: flex">
  178. <p style="flex:1;"></p>
  179. <p style="border-radius:6px;width:70px;line-height:30px;font-size:12px;text-align:center;margin-right:17px;color:#999999;background:#E0E0E0;" @click="cancel">取消</p>
  180. <p style="border-radius:6px;width:70px;line-height:30px;font-size:12px;text-align:center;color:#fff;background:#0045AF;" @click="submitForm">确定</p>
  181. <p style="flex:1;"></p>
  182. </div>
  183. </div>
  184. </el-dialog>
  185. <el-dialog title="房间配置" v-if="dialogOpenRoom" :visible.sync="dialogOpenRoom" width="600px" append-to-body>
  186. <el-form ref="dialogForm" :model="dialogForm" :rules="rules" label-width="110px">
  187. <el-form-item label="楼栋名称:" prop="nameTwo">
  188. <el-input v-model="dialogForm.nameTwo" maxlength="10" placeholder="请输入楼栋名称" disabled/>
  189. </el-form-item>
  190. <el-form-item label="楼层名称:" prop="nameThree">
  191. <el-input v-model="dialogForm.nameThree" maxlength="10" placeholder="请输入楼层名称" />
  192. </el-form-item>
  193. <el-form-item label="房间类型:" prop="key">
  194. <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间类型" />
  195. </el-form-item>
  196. <el-form-item label="房间号:" prop="key">
  197. <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间号" />
  198. </el-form-item>
  199. <el-form-item label="房间名称:" prop="key">
  200. <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间名称" />
  201. </el-form-item>
  202. <el-form-item label="房间选择:" prop="key">
  203. <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间选择" />
  204. </el-form-item>
  205. <el-form-item label="房间位置:" prop="key">
  206. <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间位置" />
  207. </el-form-item>
  208. </el-form>
  209. <div slot="footer" class="dialog-footer">
  210. <div style="display: flex">
  211. <p style="flex:1;"></p>
  212. <p style="border-radius:6px;width:70px;line-height:30px;font-size:12px;text-align:center;margin-right:17px;color:#999999;background:#E0E0E0;" @click="cancel">取消</p>
  213. <p style="border-radius:6px;width:70px;line-height:30px;font-size:12px;text-align:center;color:#fff;background:#0045AF;" @click="submitForm">确定</p>
  214. <p style="flex:1;"></p>
  215. </div>
  216. </div>
  217. </el-dialog>
  218. </div>
  219. </template>
  220. <script>
  221. export default {
  222. name: "buildingManagement",
  223. data() {
  224. return {
  225. //拖拽起始Y点(用于计算朝向)
  226. clientY:null,
  227. clientId:null,
  228. treeList:[
  229. {
  230. id:'1',
  231. name:'西安电子科技大学东校区',
  232. childList:[
  233. {
  234. id:'2',
  235. name:'一号实验楼',
  236. type:false,
  237. childList:[
  238. {
  239. id:'3',
  240. name:'二层',
  241. childList:[]
  242. }
  243. ]
  244. },
  245. {
  246. id:'4',
  247. name:'一号实验楼',
  248. type:false,
  249. childList:[
  250. {
  251. id:'5',
  252. name:'二层',
  253. childList:[]
  254. }
  255. ]
  256. },
  257. ]
  258. }
  259. ],
  260. //选中状态
  261. checkTreeId:1,
  262. checkTreeType:1,
  263. buildingList:[
  264. {id:1,name:"名称1",type:false},{id:2,name:"名称2",type:true},{id:3,name:"名称3",type:false},{id:4,name:"名称1",type:false},{id:5,name:"名称2",type:true},{id:6,name:"名称3",type:false},{id:7,name:"名称1",type:false},{id:8,name:"名称2",type:true},{id:9,name:"名称3",type:false},
  265. ],
  266. //楼层展开/关闭状态
  267. floorZkType:null, //1.全部展开 2.全部关闭 3.有关有开
  268. //编辑弹窗开关
  269. dialogOpen:false,
  270. dialogType:null,
  271. dialogTitle:'',
  272. // 表单参数
  273. dialogForm: {},
  274. // 表单校验
  275. rules: {
  276. nameOne: [
  277. { required: true, message: "请输入院校名称", trigger: "blur" },
  278. { required: true, message: "请输入院校名称", validator: this.spaceJudgment, trigger: "blur" }
  279. ],
  280. nameTwo: [
  281. { required: true, message: "请输入楼栋名称", trigger: "blur" },
  282. { required: true, message: "请输入楼栋名称", validator: this.spaceJudgment, trigger: "blur" }
  283. ],
  284. nameThree: [
  285. { required: true, message: "请输入楼层名称", trigger: "blur" },
  286. { required: true, message: "请输入楼层名称", validator: this.spaceJudgment, trigger: "blur" }
  287. ],
  288. key: [
  289. { required: true, message: "请输入排序序号", trigger: "blur" },
  290. { required: true, message: "请输入排序序号", validator: this.spaceJudgment, trigger: "blur" }
  291. ],
  292. },
  293. // 显示搜索条件
  294. showSearch: true,
  295. loading:false,
  296. //楼层查询数据
  297. queryParams:{},
  298. //楼层表单数据
  299. dataList:[],
  300. total:10,
  301. //房间配置相关
  302. dialogOpenRoom:false,
  303. }
  304. },
  305. created() {
  306. },
  307. mounted(){
  308. this.floorZkFor();
  309. },
  310. methods:{
  311. //房间操作按钮
  312. roomClick(type){
  313. if(type == 1){
  314. this.dialogOpenRoom = true;
  315. }else if(type == 2){
  316. this.$confirm('确定要删除该房间吗?', "警告", {
  317. confirmButtonText: "确定",
  318. cancelButtonText: "取消",
  319. type: "warning"
  320. }).then(function() {
  321. console.log('删除院校',item)
  322. }).then(() => {
  323. }).catch(() => {});
  324. }else if(type == 3){
  325. this.dialogOpenRoom = true;
  326. }
  327. },
  328. //楼栋弹出下啦列表选中事件
  329. handleCommand(command,item){
  330. if (command == 1){
  331. //编辑院校
  332. this.$set(this,'dialogTitle','编辑院校');
  333. this.$set(this,'dialogType',1);
  334. this.$set(this,'dialogOpen',true);
  335. }else if(command == 2){
  336. //删除院校
  337. this.$confirm('确定要删除该院校吗?', "警告", {
  338. confirmButtonText: "确定",
  339. cancelButtonText: "取消",
  340. type: "warning"
  341. }).then(function() {
  342. console.log('删除院校',item)
  343. }).then(() => {
  344. }).catch(() => {});
  345. }else if(command == 3){
  346. //新增院校
  347. this.$set(this,'dialogTitle','新增院校');
  348. this.$set(this,'dialogType',1);
  349. this.$set(this,'dialogOpen',true);
  350. }else if(command == 4){
  351. //新增楼栋
  352. this.$set(this,'dialogTitle','新增楼栋');
  353. this.$set(this,'dialogType',2);
  354. this.$set(this,'dialogOpen',true);
  355. }else if(command == 5){
  356. //编辑楼栋
  357. this.$set(this,'dialogTitle','编辑楼栋');
  358. this.$set(this,'dialogType',2);
  359. this.$set(this,'dialogOpen',true);
  360. }else if(command == 6){
  361. //删除楼栋
  362. this.$confirm('确定要删除该楼栋吗?', "警告", {
  363. confirmButtonText: "确定",
  364. cancelButtonText: "取消",
  365. type: "warning"
  366. }).then(function() {
  367. console.log('删除楼栋',item)
  368. }).then(() => {
  369. }).catch(() => {});
  370. }else if(command == 7){
  371. //新增楼层
  372. this.$set(this,'dialogTitle','新增楼层');
  373. this.$set(this,'dialogType',3);
  374. this.$set(this,'dialogOpen',true);
  375. }else if(command == 8){
  376. //编辑楼层
  377. this.$set(this,'dialogTitle','编辑楼层');
  378. this.$set(this,'dialogType',3);
  379. this.$set(this,'dialogOpen',true);
  380. }else if(command == 9){
  381. //删除楼层
  382. this.$confirm('确定要删除该楼层吗?', "警告", {
  383. confirmButtonText: "确定",
  384. cancelButtonText: "取消",
  385. type: "warning"
  386. }).then(function() {
  387. console.log('删除楼层',item)
  388. }).then(() => {
  389. }).catch(() => {});
  390. }
  391. },
  392. //树状结构选中
  393. clickCheckTree(id,type){
  394. this.$set(this,'checkTreeId',id)
  395. this.$set(this,'checkTreeType',type)
  396. },
  397. // 取消按钮
  398. cancel() {
  399. this.$set(this,'dialogOpen',false);
  400. this.$set(this,'dialogForm',{});
  401. this.$set(this,'dialogType',null);
  402. },
  403. //确定按钮
  404. submitForm(){
  405. },
  406. //树状结构展开收回
  407. terrClick(itemOne){
  408. itemOne.type = !itemOne.type;
  409. },
  410. //展开/收起开关
  411. floorZK(type,index){
  412. let self = this;
  413. //type等于1时全部开关功能 等于2时单个开关
  414. if(type == 1){
  415. let list = JSON.parse(JSON.stringify(self.buildingList))
  416. for(let i=0;i<list.length;i++){
  417. if(self.floorZkType == 1){
  418. list[i].type = false;
  419. console.log('self.floorZkType == 1',list[i].type)
  420. }else if(self.floorZkType == 2){
  421. list[i].type = true;
  422. console.log('self.floorZkType == 2',list[i].type)
  423. }else if(self.floorZkType == 3){
  424. list[i].type = true;
  425. console.log('self.floorZkType == 3',list[i].type)
  426. }
  427. }
  428. this.$set(this,'buildingList',list);
  429. this.floorZkFor();
  430. }else if(type == 2){
  431. this.$set(this.buildingList[index],'type',this.buildingList[index].type?false:true)
  432. this.floorZkFor();
  433. }
  434. },
  435. //层展开关闭判断
  436. floorZkFor(){
  437. let self = this;
  438. let numOne = 0;
  439. let numTwo = 0;
  440. for(let i=0;i<self.buildingList.length;i++){
  441. if(self.buildingList[i].type){
  442. numOne++
  443. }else{
  444. numTwo++
  445. }
  446. }
  447. console.log('numOne',numOne)
  448. console.log('numTwo',numTwo)
  449. console.log('self.buildingList.length',self.buildingList.length)
  450. if(numOne == self.buildingList.length){
  451. this.$set(this,'floorZkType',1);
  452. }else if(numTwo == self.buildingList.length){
  453. this.$set(this,'floorZkType',2);
  454. }else{
  455. this.$set(this,'floorZkType',3);
  456. }
  457. console.log('floorZkType',self.floorZkType)
  458. },
  459. //拖拽抓取时触发
  460. dragstartPlay(event) {
  461. this.$set(this,'clientY',event.clientY)
  462. },
  463. //拖拽途径触发
  464. dragoverPrevent(item){
  465. this.$set(this,'clientId',item.id)
  466. },
  467. //拖拽释放触发
  468. dragEnterOver(event,item) {
  469. let self = this;
  470. if(this.clientId && item.id != this.clientId){
  471. let list = [];
  472. let obj = null;
  473. for(let i=0;i<self.buildingList.length;i++){
  474. if(self.buildingList[i].id == item.id){
  475. obj = JSON.parse(JSON.stringify(self.buildingList[i]))
  476. }
  477. }
  478. if(event.clientY>this.clientY){
  479. for(let i=0;i<self.buildingList.length;i++){
  480. if(self.buildingList[i].id != item.id && self.buildingList[i].id != this.clientId){
  481. list.push(self.buildingList[i]);
  482. }else if(self.buildingList[i].id == this.clientId){
  483. list.push(self.buildingList[i]);
  484. list.push(obj);
  485. }
  486. }
  487. }else if(event.clientY<this.clientY){
  488. for(let i=0;i<self.buildingList.length;i++){
  489. if(self.buildingList[i].id == this.clientId){
  490. list.push(obj);
  491. list.push(self.buildingList[i]);
  492. }else if(self.buildingList[i].id != item.id && self.buildingList[i].id != this.clientId){
  493. list.push(self.buildingList[i]);
  494. }
  495. }
  496. }
  497. this.$set(this,'buildingList',list);
  498. this.$set(this,'clientId',null);
  499. }
  500. },
  501. getList(){
  502. },
  503. /** 搜索按钮操作 */
  504. handleQuery() {
  505. this.queryParams.pageNum = 1;
  506. this.getList();
  507. },
  508. /** 重置按钮操作 */
  509. resetQuery() {
  510. // this.resetForm("queryForm");
  511. this.$set(this,'queryParams',{
  512. pageNum: 1,
  513. pageSize:20,
  514. typeName:"",
  515. title: '',
  516. });
  517. this.handleQuery();
  518. },
  519. }
  520. }
  521. </script>
  522. <style scoped lang="scss">
  523. .buildingManagement{
  524. flex:1;
  525. display: flex!important;
  526. overflow: hidden;
  527. padding:22px 28px 22px 32px;
  528. *{
  529. margin:0;
  530. font-weight:100;
  531. }
  532. .max-left-box{
  533. width:281px;
  534. border-right:1px dashed #A2A2A2;
  535. display: flex;
  536. flex-direction: column;
  537. .tree-box{
  538. flex:1;
  539. .terr-max-box{
  540. .max-name-box{
  541. display: flex;
  542. margin-right:20px;
  543. margin-bottom:10px;
  544. color:#D8D8D8;
  545. font-size:20px;
  546. .max-name{
  547. flex:1;
  548. margin-right:19px;
  549. color:#333;
  550. font-size:16px;
  551. line-height:16px;
  552. margin-top:3px;
  553. cursor: pointer;
  554. }
  555. }
  556. .terr-big-box{
  557. margin-left:30px;
  558. .big-name-box{
  559. cursor: pointer;
  560. height:40px;
  561. line-height:40px;
  562. display: flex;
  563. font-size:16px;
  564. color:#333;
  565. img{
  566. width:16px;
  567. height:16px;
  568. margin-top:12px;
  569. margin-right:4px;
  570. }
  571. }
  572. .terr-min-box{
  573. margin-left:30px;
  574. .min-name{
  575. cursor: pointer;
  576. height:40px;
  577. line-height:40px;
  578. display: flex;
  579. font-size:16px;
  580. color:#333;
  581. }
  582. }
  583. }
  584. .check-color{
  585. color:#0183FA!important;
  586. }
  587. }
  588. }
  589. .max-left-big-button{
  590. color:#0183FA;
  591. border:1px dashed #0183FA;
  592. -webkit-border-radius: 6px;
  593. -moz-border-radius: 6px;
  594. border-radius: 6px;
  595. width:180px;
  596. line-height:40px;
  597. margin: 20px 0 20px 40px;
  598. text-align: center;
  599. font-size:14px;
  600. cursor: pointer;
  601. }
  602. .max-left-big-button:hover{
  603. color:#fff;
  604. background: #0183FA;
  605. border:1px solid #0183FA;
  606. }
  607. }
  608. .max-right-box{
  609. flex:1;
  610. display: flex;
  611. flex-direction: column;
  612. overflow: hidden;
  613. .school-box{
  614. flex:1;
  615. display: flex;
  616. flex-direction: column;
  617. overflow: hidden;
  618. .max-right-button-box{
  619. height:40px;
  620. display: flex;
  621. margin-bottom:22px;
  622. .null-p{
  623. flex:1;
  624. }
  625. .max-right-big-button{
  626. color:#fff;
  627. background: #0045AF;
  628. -webkit-border-radius: 6px;
  629. -moz-border-radius: 6px;
  630. border-radius: 6px;
  631. width:130px;
  632. line-height:40px;
  633. text-align: center;
  634. font-size:14px;
  635. cursor: pointer;
  636. }
  637. .max-right-big-button:hover{
  638. color:#fff;
  639. background: #0183FA;
  640. }
  641. }
  642. .right-big-list-box{
  643. flex:1;
  644. .for-max-box{
  645. .for-big-box{
  646. display: flex;
  647. border:1px solid #dedede;
  648. height:100px;
  649. box-shadow: 0px 3px 8px 0px rgba(0,0,0,0.16);
  650. margin-bottom:30px;
  651. margin-left:36px;
  652. border-radius:6px;
  653. .for-big-box-left{
  654. flex:1;
  655. display: flex;
  656. .for-img-one{
  657. cursor: pointer;
  658. height:30px;
  659. width:30px;
  660. margin:35px 0 0 30px;
  661. }
  662. .for-text-one{
  663. font-size:16px;
  664. line-height:100px;
  665. margin-left:95px;
  666. width:230px;
  667. font-weight:500;
  668. }
  669. .for-img-two{
  670. height:48px;
  671. width:48px;
  672. margin:26px 23px 0 30px;
  673. }
  674. .for-text-box-one{
  675. width:88px;
  676. margin-right:73px;
  677. p{
  678. text-align: center;
  679. }
  680. p:nth-child(1){
  681. margin-top:20px;
  682. font-size:24px;
  683. line-height:30px;
  684. color:#0183FA;
  685. }
  686. p:nth-child(2){
  687. margin-top:10px;
  688. font-size:16px;
  689. line-height:16px;
  690. color:#333;
  691. }
  692. }
  693. .for-img-three{
  694. height:48px;
  695. width:48px;
  696. margin:26px 23px 0 0;
  697. }
  698. .for-text-box-two{
  699. width:88px;
  700. p{
  701. text-align: center;
  702. }
  703. p:nth-child(1){
  704. margin-top:20px;
  705. font-size:24px;
  706. line-height:30px;
  707. color:#0183FA;
  708. }
  709. p:nth-child(2){
  710. margin-top:10px;
  711. font-size:16px;
  712. line-height:16px;
  713. color:#333;
  714. }
  715. }
  716. }
  717. .for-button-min-box{
  718. width:220px;
  719. margin-top:9px;
  720. height:82px;
  721. border-left:1px dashed rgba(0,0,0,0.3);
  722. display: flex;
  723. line-height:82px;
  724. div{
  725. margin-left: 34px;
  726. display: flex;
  727. width: 60px;
  728. cursor: pointer;
  729. img{
  730. width:16px;
  731. height:16px;
  732. margin-right:8px;
  733. margin-top:33px;
  734. }
  735. p{
  736. font-size:14px;
  737. color:#333;
  738. }
  739. }
  740. }
  741. }
  742. }
  743. }
  744. }
  745. .building-box{
  746. flex:1;
  747. display: flex;
  748. flex-direction: column;
  749. overflow: hidden;
  750. .max-right-button-box{
  751. height:40px;
  752. display: flex;
  753. margin-bottom:22px;
  754. .null-p{
  755. flex:1;
  756. }
  757. .max-right-big-button{
  758. color:#fff;
  759. background: #0045AF;
  760. -webkit-border-radius: 6px;
  761. -moz-border-radius: 6px;
  762. border-radius: 6px;
  763. width:130px;
  764. line-height:40px;
  765. text-align: center;
  766. font-size:14px;
  767. cursor: pointer;
  768. }
  769. .max-right-big-button:hover{
  770. color:#fff;
  771. background: #0183FA;
  772. }
  773. }
  774. .right-big-list-box{
  775. flex:1;
  776. .for-max-box{
  777. margin-bottom:30px;
  778. .for-big-box{
  779. display: flex;
  780. border:1px solid #dedede;
  781. height:100px;
  782. box-shadow: 0px 3px 8px 0px rgba(0,0,0,0.16);
  783. margin-left:36px;
  784. border-radius:6px;
  785. .for-big-box-left{
  786. flex:1;
  787. display: flex;
  788. .for-img-one{
  789. cursor: pointer;
  790. height:30px;
  791. width:30px;
  792. margin:35px 0 0 30px;
  793. }
  794. .for-text-one{
  795. font-size:16px;
  796. line-height:100px;
  797. margin-left:95px;
  798. width:230px;
  799. font-weight:500;
  800. }
  801. .for-img-two{
  802. height:48px;
  803. width:48px;
  804. margin:26px 23px 0 30px;
  805. }
  806. .for-text-box-one{
  807. width:88px;
  808. margin-right:73px;
  809. p{
  810. text-align: center;
  811. }
  812. p:nth-child(1){
  813. margin-top:20px;
  814. font-size:24px;
  815. line-height:30px;
  816. color:#0183FA;
  817. }
  818. p:nth-child(2){
  819. margin-top:10px;
  820. font-size:16px;
  821. line-height:16px;
  822. color:#333;
  823. }
  824. }
  825. .for-img-three{
  826. height:48px;
  827. width:48px;
  828. margin:26px 23px 0 0;
  829. }
  830. .for-text-box-two{
  831. width:88px;
  832. p{
  833. text-align: center;
  834. }
  835. p:nth-child(1){
  836. margin-top:20px;
  837. font-size:24px;
  838. line-height:30px;
  839. color:#0183FA;
  840. }
  841. p:nth-child(2){
  842. margin-top:10px;
  843. font-size:16px;
  844. line-height:16px;
  845. color:#333;
  846. }
  847. }
  848. }
  849. .for-button-min-box{
  850. width:330px;
  851. margin-top:9px;
  852. height:82px;
  853. border-left:1px dashed rgba(0,0,0,0.3);
  854. display: flex;
  855. line-height:82px;
  856. div{
  857. margin-left: 34px;
  858. display: flex;
  859. width: 60px;
  860. cursor: pointer;
  861. img{
  862. width:16px;
  863. height:16px;
  864. margin-right:8px;
  865. margin-top:33px;
  866. }
  867. p{
  868. font-size:14px;
  869. color:#333;
  870. }
  871. }
  872. }
  873. }
  874. }
  875. }
  876. }
  877. .floor-box{
  878. flex:1;
  879. display: flex;
  880. flex-direction: column;
  881. overflow: hidden;
  882. .map-max-big-box{
  883. height:400px;
  884. position:relative;
  885. border:1px solid #E0E0E0;
  886. margin-bottom:20px;
  887. margin-left:36px;
  888. .position-button-p{
  889. position:absolute;
  890. right:12px;
  891. top:13px;
  892. width:100px;
  893. line-height:40px;
  894. font-size:14px;
  895. color:#fff;
  896. background: #0045AF;
  897. border-radius:6px;
  898. text-align: center;
  899. cursor: pointer;
  900. }
  901. }
  902. .table-box{
  903. margin-left:36px;
  904. flex:1;
  905. display: flex;
  906. flex-direction: column;
  907. overflow: hidden;
  908. }
  909. }
  910. }
  911. }
  912. </style>