index.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <template>
  2. <div id="deviceList">
  3. <saga-title :mess="mess"></saga-title>
  4. <div class="table-main">
  5. <div class="search-header">
  6. <floor-cascader @change="changeFloor"></floor-cascader>
  7. <my-cascader ref="cascader" @change="changeDevice"></my-cascader>
  8. </div>
  9. <hanson-table @getJson="change" ref="tableMain"></hanson-table>
  10. </div>
  11. <!-- <table-transfers></table-transfers> -->
  12. </div>
  13. </template>
  14. <script>
  15. import sagaTitle from "@/components/ledger/lib/title";
  16. import floorCascader from "@/components/ledger/lib/floorCascader";
  17. import myCascader from "@/components/ledger/lib/assets";
  18. import hansonTable from "@/components/ledger/handsontables/assets";
  19. import tableTransfers from "@/components/ledger/tableTransfers";
  20. import {
  21. mapGetters,
  22. mapActions
  23. } from "vuex";
  24. import { getNumber, getFamilyList, getSpaceName } from "@/api/scan/request"
  25. import "./../index.scss"
  26. export default {
  27. components: {
  28. sagaTitle,
  29. floorCascader,
  30. myCascader,
  31. hansonTable,
  32. tableTransfers
  33. },
  34. computed: {
  35. ...mapGetters("layout", [
  36. "projectId",
  37. "secret",
  38. "userId"
  39. ])
  40. },
  41. data() {
  42. return {
  43. mess: {
  44. perjectName: "",
  45. name: [
  46. {
  47. key: "资产",
  48. num: 0
  49. },
  50. {
  51. key: "岗位",
  52. num: 0
  53. }
  54. ]
  55. },
  56. param: {
  57. buildId: "",
  58. floorId: "",
  59. deviceId: "",
  60. ProjId: '',
  61. secret: ''
  62. },
  63. list: []
  64. };
  65. },
  66. created() {
  67. this.param.ProjId = this.projectId
  68. this.param.secret = this.secret
  69. this.getProjName()
  70. },
  71. watch: {
  72. projectId() {
  73. this.param.ProjId = this.projectId
  74. this.param.secret = this.secret
  75. this.getProjName()
  76. }
  77. },
  78. methods: {
  79. getProjName() {
  80. let param = {
  81. list: [{ id: this.param.ProjId }],
  82. perjectId: this.param.ProjId,
  83. secret: this.param.secret,
  84. }
  85. getSpaceName(param).then(res => {
  86. if (res.data.Result == "success") {
  87. this.mess.perjectName = res.data.Content[0].infos.ProjLocalName
  88. this.getNumber()
  89. } else {
  90. this.$message.error("请求失败:" + res.data.ResultMsg)
  91. }
  92. }).catch(_ => {
  93. this.$message.error("请求失败")
  94. })
  95. },
  96. getFamilyList() {
  97. let param = {
  98. ProjId: this.param.ProjId,
  99. secret: this.param.secret,
  100. data: { type: "Pe" }
  101. }
  102. getFamilyList(param, res => {
  103. if (this.$refs.cascader) {
  104. this.$refs.cascader.pushData(res.Content)
  105. }
  106. })
  107. },
  108. //获取header的list
  109. getNumber() {
  110. let param = {
  111. ProjId: this.param.ProjId,
  112. secret: this.param.secret,
  113. data: { type: "Pe" }
  114. }
  115. getNumber(param, res => {
  116. this.mess.name[0].num = res.content.count
  117. this.mess.name[1].num = res.content.bindingCount
  118. this.getFamilyList()
  119. })
  120. },
  121. //修改楼层
  122. changeFloor(value) {
  123. if (value[0]) {
  124. this.param.buildId = value[0]
  125. }
  126. if (value[1]) {
  127. this.param.floorId = value[1]
  128. } else {
  129. this.param.floorId = null
  130. }
  131. if (!!this.param.deviceId) {
  132. if(this.$refs.tableMain)
  133. this.$refs.tableMain.getHeaderData(this.param);
  134. } else {
  135. return;
  136. }
  137. },
  138. //新建资产后进行刷新
  139. change(val) {
  140. console.log(val)
  141. this.$refs.cascader.setValue([val.code])
  142. this.param.deviceId = val.code
  143. this.getNumber()
  144. if (!!this.param.deviceId) {
  145. if(this.$refs.tableMain)
  146. this.$refs.tableMain.getHeaderData(this.param);
  147. }
  148. },
  149. //修改设备族
  150. changeDevice(value) {
  151. console.log(value)
  152. this.param.deviceId = value.code
  153. if (!!value) {
  154. if(this.$refs.tableMain)
  155. this.$refs.tableMain.getHeaderData(this.param);
  156. } else {
  157. return;
  158. }
  159. }
  160. }
  161. };
  162. </script>
  163. <style lang="scss" scoped>
  164. #deviceList {
  165. overflow: hidden;
  166. height: 100%;
  167. background-color: #fff;
  168. position: relative;
  169. .table-main {
  170. position: absolute;
  171. top: 87px;
  172. bottom: 0;
  173. left: 0;
  174. right: 0;
  175. background-color: #fff;
  176. // border-radius: 5px;
  177. // padding: 10px 0;
  178. }
  179. .search-header {
  180. overflow: hidden;
  181. padding:0 10px 10px 10px;
  182. border-bottom: 1px solid #bcbcbc;
  183. }
  184. }
  185. </style>