123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- <template>
- <div id="deviceList">
- <saga-title :mess="mess"></saga-title>
- <div class="table-main">
- <div class="search-header">
- <floor-cascader @change="changeFloor"></floor-cascader>
- <my-cascader ref="cascader" @change="changeDevice"></my-cascader>
- </div>
- <hanson-table @getJson="change" ref="tableMain"></hanson-table>
- </div>
- <!-- <table-transfers></table-transfers> -->
- </div>
- </template>
- <script>
- import sagaTitle from "@/components/ledger/lib/title";
- import floorCascader from "@/components/ledger/lib/floorCascader";
- import myCascader from "@/components/ledger/lib/assets";
- import hansonTable from "@/components/ledger/handsontables/assets";
- import tableTransfers from "@/components/ledger/tableTransfers";
- import {
- mapGetters,
- mapActions
- } from "vuex";
- import { getNumber, getFamilyList, getSpaceName } from "@/api/scan/request"
- import "./../index.scss"
- export default {
- components: {
- sagaTitle,
- floorCascader,
- myCascader,
- hansonTable,
- tableTransfers
- },
- computed: {
- ...mapGetters("layout", [
- "projectId",
- "secret",
- "userId"
- ])
- },
- data() {
- return {
- mess: {
- perjectName: "",
- name: [
- {
- key: "资产",
- num: 0
- },
- {
- key: "岗位",
- num: 0
- }
- ]
- },
- param: {
- buildId: "",
- floorId: "",
- deviceId: "",
- ProjId: '',
- secret: ''
- },
- list: []
- };
- },
- created() {
- this.param.ProjId = this.projectId
- this.param.secret = this.secret
- this.getProjName()
- },
- watch: {
- projectId() {
- this.param.ProjId = this.projectId
- this.param.secret = this.secret
- this.getProjName()
- }
- },
- methods: {
- getProjName() {
- let param = {
- list: [{ id: this.param.ProjId }],
- perjectId: this.param.ProjId,
- secret: this.param.secret,
- }
- getSpaceName(param).then(res => {
- if (res.data.Result == "success") {
- this.mess.perjectName = res.data.Content[0].infos.ProjLocalName
- this.getNumber()
- } else {
- this.$message.error("请求失败:" + res.data.ResultMsg)
- }
- }).catch(_ => {
- this.$message.error("请求失败")
- })
- },
- getFamilyList() {
- let param = {
- ProjId: this.param.ProjId,
- secret: this.param.secret,
- data: { type: "Pe" }
- }
- getFamilyList(param, res => {
- if (this.$refs.cascader) {
- this.$refs.cascader.pushData(res.Content)
- }
- })
- },
- //获取header的list
- getNumber() {
- let param = {
- ProjId: this.param.ProjId,
- secret: this.param.secret,
- data: { type: "Pe" }
- }
- getNumber(param, res => {
- this.mess.name[0].num = res.content.count
- this.mess.name[1].num = res.content.bindingCount
- this.getFamilyList()
- })
- },
- //修改楼层
- changeFloor(value) {
- if (value[0]) {
- this.param.buildId = value[0]
- }
- if (value[1]) {
- this.param.floorId = value[1]
- } else {
- this.param.floorId = null
- }
- if (!!this.param.deviceId) {
- if(this.$refs.tableMain)
- this.$refs.tableMain.getHeaderData(this.param);
- } else {
- return;
- }
- },
- //新建资产后进行刷新
- change(val) {
- console.log(val)
- this.$refs.cascader.setValue([val.code])
- this.param.deviceId = val.code
- this.getNumber()
- if (!!this.param.deviceId) {
- if(this.$refs.tableMain)
- this.$refs.tableMain.getHeaderData(this.param);
- }
- },
- //修改设备族
- changeDevice(value) {
- console.log(value)
- this.param.deviceId = value.code
- if (!!value) {
- if(this.$refs.tableMain)
- this.$refs.tableMain.getHeaderData(this.param);
- } else {
- return;
- }
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- #deviceList {
- overflow: hidden;
- height: 100%;
- background-color: #fff;
- position: relative;
- .table-main {
- position: absolute;
- top: 87px;
- bottom: 0;
- left: 0;
- right: 0;
- background-color: #fff;
- // border-radius: 5px;
- // padding: 10px 0;
- }
- .search-header {
- overflow: hidden;
- padding:0 10px 10px 10px;
- border-bottom: 1px solid #bcbcbc;
- }
- }
- </style>
|