index.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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 { countProperty, queryProperty } 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. "projects",
  38. "secret",
  39. "userId"
  40. ])
  41. },
  42. data() {
  43. return {
  44. mess: {
  45. perjectName: "",
  46. name: [
  47. {
  48. key: "资产",
  49. num: 0
  50. },
  51. {
  52. key: "岗位",
  53. num: 0
  54. }
  55. ]
  56. },
  57. param: {
  58. buildId: "",
  59. floorId: "",
  60. deviceId: "",
  61. ProjId: '',
  62. secret: ''
  63. },
  64. list: []
  65. };
  66. },
  67. created() {
  68. this.param.ProjId = this.projectId
  69. this.param.secret = this.secret
  70. this.getProjName()
  71. this.getNumber()
  72. let Family = this.$route.params.Family
  73. if (Family) {
  74. this.$nextTick(() => {
  75. this.$refs.cascader.changeVal([Family])
  76. })
  77. }
  78. },
  79. watch: {
  80. projectId() {
  81. this.param.ProjId = this.projectId
  82. this.param.secret = this.secret
  83. this.getProjName()
  84. this.getNumber()
  85. }
  86. },
  87. methods: {
  88. getProjName() {
  89. this.projects.forEach((item) => {
  90. if(item.id == this.projectId)
  91. this.mess.perjectName = item.name
  92. })
  93. },
  94. getFamilyList() {
  95. let param = {
  96. Distinct: true,
  97. PageNumber: 1,
  98. PageSize: 500,
  99. Projection: [
  100. "Family"
  101. ]
  102. }
  103. queryProperty(param, res => {
  104. if (this.$refs.cascader) {
  105. this.$refs.cascader.pushData(res.Content)
  106. }
  107. })
  108. },
  109. //获取header的list
  110. getNumber() {
  111. countProperty({}, res => {
  112. this.mess.name[0].num = res.Count
  113. })
  114. countProperty({"Filters": "not EquipmentId isNull"}, res => {
  115. this.mess.name[1].num = res.Count
  116. this.getFamilyList()
  117. })
  118. },
  119. //修改楼层
  120. changeFloor(value) {
  121. if (value[0]) {
  122. this.param.buildId = value[0]
  123. }
  124. if (value[1]) {
  125. this.param.floorId = value[1]
  126. } else {
  127. this.param.floorId = null
  128. }
  129. if (!!this.param.deviceId) {
  130. if(this.$refs.tableMain)
  131. this.$refs.tableMain.getHeaderData(this.param);
  132. } else {
  133. return;
  134. }
  135. },
  136. //新建资产后进行刷新
  137. change(val) {
  138. console.log(val)
  139. this.$refs.cascader.setValue([val.code])
  140. this.param.deviceId = val.code
  141. this.getNumber()
  142. if (!!this.param.deviceId) {
  143. if(this.$refs.tableMain)
  144. this.$refs.tableMain.getHeaderData(this.param);
  145. }
  146. },
  147. //修改设备族
  148. changeDevice(value) {
  149. console.log(value)
  150. this.param.deviceId = value.code
  151. if (!!value) {
  152. if(this.$refs.tableMain)
  153. this.$refs.tableMain.getHeaderData(this.param);
  154. } else {
  155. return;
  156. }
  157. }
  158. }
  159. };
  160. </script>
  161. <style lang="scss" scoped>
  162. #deviceList {
  163. overflow: hidden;
  164. height: 100%;
  165. background-color: #fff;
  166. position: relative;
  167. .table-main {
  168. position: absolute;
  169. top: 87px;
  170. bottom: 0;
  171. left: 0;
  172. right: 0;
  173. background-color: #fff;
  174. // border-radius: 5px;
  175. // padding: 10px 0;
  176. }
  177. .search-header {
  178. overflow: hidden;
  179. padding:0 10px 10px 10px;
  180. border-bottom: 1px solid #bcbcbc;
  181. }
  182. }
  183. </style>