| | |
| | | append-to-body="true" |
| | | class="right-open" |
| | | > |
| | | <el-divider content-position="left">点击查看详情</el-divider> |
| | | <el-divider></el-divider> |
| | | <div class="r-o-our"> |
| | | <avue-crud |
| | | :option="options" |
| | | :data="datas" |
| | | :table-loading="loadings" |
| | | :page="pages" |
| | | @on-load="onLoads" |
| | | :data="datas" |
| | | :page="pages" |
| | | @search-change="searchChanges" |
| | | @search-reset="searchResets" |
| | | @row-click="rowClicks" |
| | | @current-change="currentChanges" |
| | | @size-change="sizeChanges" |
| | | > |
| | | <template slot="states" slot-scope="scope"> |
| | | <el-tag |
| | | :class="[ |
| | | scope.row.states == '掉线' |
| | | ? 'diaoxianl' |
| | | : scope.row.states == '在线' |
| | | ? 'zaixianl' |
| | | : scope.row.states == '故障' |
| | | ? 'guzhagnl' |
| | | : scope.row.states == '预警' |
| | | ? 'baojinl' |
| | | : '', |
| | | ]" |
| | | >{{ scope.row.states }}</el-tag |
| | | > |
| | | </template> |
| | | </avue-crud> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAll, getListliu } from "@/api/client/client"; |
| | | import { getListliu, getListliuc } from "@/api/client/client"; |
| | | import { |
| | | getList, |
| | | getDetail, |
| | |
| | | datasourceBox: false, |
| | | dialogVisible: false, //右侧弹窗 |
| | | onceData: {}, //数据 |
| | | datas: "", //cc |
| | | datas: [], //cc |
| | | loadings: true, //等待 |
| | | querys: {}, //搜索 |
| | | isEdit:false, |
| | | pages: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | |
| | | height: "auto", |
| | | indexLabel: "序号", |
| | | index: true, |
| | | card: true, |
| | | menu: false, |
| | | header: false, |
| | | searchShow: true, |
| | |
| | | prop: "deviceNumber", |
| | | width: 110, |
| | | }, |
| | | // { |
| | | // label: "使用方", |
| | | // search: true, |
| | | // // searchValue: this.getAnimalType(), |
| | | // prop: "deptId", |
| | | // width: 200, |
| | | // type: "select", |
| | | // dicUrl: "/api/blade-system/dept/trees", |
| | | // dicData: [], //getUser中直接赋值 |
| | | // // [ |
| | | // // { |
| | | // // label: "正常", |
| | | // // value: 0 |
| | | // // }, |
| | | // // { |
| | | // // label: "异常", |
| | | // // value: 1 |
| | | // // } |
| | | // // ], |
| | | // }, |
| | | { |
| | | label: "使用方", |
| | | prop: "deptId", |
| | | width: 200, |
| | | type: "tree", |
| | | dicUrl: "/api/blade-system/dept/trees", |
| | | multiple: true, |
| | | dicData: [], |
| | | checkStrictly:true, |
| | | props: { |
| | | label: "title" |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择使用方", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | }, |
| | | label: "使用方", |
| | | prop: "pid", |
| | | width: 200, |
| | | search: true, |
| | | hide: true, |
| | | type: "select", |
| | | // dicUrl: "/api/blade-system/dept/trees", |
| | | dicData: [], //getUser中直接赋值 |
| | | }, |
| | | { |
| | | label: "使用方", |
| | | prop: "deptName", |
| | | width: 200, |
| | | }, |
| | | { |
| | | label: "布撤防状态", |
| | | prop: "stateSevicestate", |
| | |
| | | label: "设备状态", |
| | | prop: "states", |
| | | width: 90, |
| | | slot: true, |
| | | // className: "cityClass1", |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | labelWidth: "0", |
| | | className: "cityClass3", |
| | | }, |
| | | { |
| | | label: "地址", |
| | | prop: "address", |
| | | span:10, |
| | | // labelWidth: '60', |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: null, |
| | | prop: "map", |
| | | labelWidth: "0", |
| | | searchSpan:0, |
| | | maxlength:0, |
| | | hide: true, |
| | | span: 2, |
| | | // display:false, |
| | | component: "AvueMap" |
| | | }, |
| | | { |
| | | label: "地址", |
| | | prop: "address", |
| | | span: 10, |
| | | // labelWidth: '60', |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: null, |
| | | prop: "map", |
| | | labelWidth: "0", |
| | | searchSpan: 0, |
| | | maxlength: 0, |
| | | hide: true, |
| | | span: 2, |
| | | // display:false, |
| | | component: "AvueMap", |
| | | }, |
| | | { |
| | | label: "纬度", |
| | | hide: true, |
| | | addDisplay: false, |
| | | prop: "wd", |
| | | span:6 |
| | | span: 6, |
| | | }, |
| | | { |
| | | label: "经度", |
| | |
| | | hide: true, |
| | | addDisplay: false, |
| | | prop: "jd", |
| | | span:5 |
| | | span: 5, |
| | | }, |
| | | { |
| | | label: "账号额度", |
| | |
| | | // form是表单或者表格绑定的数据集,v-model='form' |
| | | handler(val) { |
| | | if (val) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }) |
| | | this.form.wd = val.latitude; |
| | | this.form.jd = val.longitude; |
| | | if(that.isEdit){ |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | this.form.wd = val.latitude; |
| | | this.form.jd = val.longitude; |
| | | }); |
| | | } |
| | | //地址截取,从县/区开始截取,并且取从县区第一个出现的位置开始 |
| | | var address = val.formattedAddress.toString(); |
| | | if(address.search("县") != -1){ |
| | | this.form.address = address.substring(address.indexOf("县")+1,address.length); |
| | | if (address.search("县") != -1) { |
| | | this.form.address = address.substring( |
| | | address.indexOf("县") + 1, |
| | | address.length |
| | | ); |
| | | } |
| | | if(address.search("区") != -1){ |
| | | this.form.address = address.substring(address.indexOf("区")+1,address.length); |
| | | if (address.search("区") != -1) { |
| | | this.form.address = address.substring( |
| | | address.indexOf("区") + 1, |
| | | address.length |
| | | ); |
| | | } |
| | | //写入新的省市区 |
| | | that.form.province = val.addressComponent.province; |
| | | that.form.city = val.addressComponent.city; |
| | | if (val.addressComponent.city == "") { |
| | | that.form.city = val.addressComponent.province; |
| | | } else { |
| | | that.form.city = val.addressComponent.city; |
| | | } |
| | | that.form.district = val.addressComponent.district; |
| | | } |
| | | }, |
| | |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit"].includes(type)) { |
| | | that.isEdit=true; |
| | | getDetail(this.form.id).then((res) => { |
| | | if (this.form.type == "1") { |
| | | const data = res.data.data; |
| | |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | if (["edit"].includes(type)) { |
| | | that.isEdit=false; |
| | | } |
| | | done(); |
| | | }, |
| | |
| | | }, |
| | | changeDataOpen(dat) { |
| | | //处理弹出框数据 |
| | | console.log(dat); |
| | | if (dat.length > 0) { |
| | | for (var key in dat) { |
| | | let states; |
| | |
| | | } |
| | | } |
| | | }, |
| | | getMout(fid) { |
| | | getListliuc(fid).then((res) => { |
| | | // console.log(res.data.data); |
| | | this.getUser(res.data.data); |
| | | }); |
| | | }, |
| | | getUser(dat) { |
| | | //建立使用方搜索关键词 |
| | | // console.log(dat); |
| | | if (dat.length > 0) { |
| | | this.users = []; |
| | | var a = null; |
| | | for (var key in dat) { |
| | | if (a != dat[key].ownership) { |
| | | this.users.push({ |
| | | label: dat[key].ownership, |
| | | value: dat[key].ownership, |
| | | }); |
| | | } |
| | | a = dat[key].ownership; |
| | | this.users.push({ |
| | | label: dat[key].title, |
| | | value: dat[key].id, |
| | | }); |
| | | } |
| | | } |
| | | // this.users.push([ |
| | | // { |
| | | |
| | | // } |
| | | // ]) |
| | | this.options.column[2].dicData = this.users; |
| | | }, |
| | | searchResets() { |
| | |
| | | onLoads(pages, params = {}) { |
| | | // this.$message.success("分页信息:" + JSON.stringify(pages)); |
| | | // this.pages.total = 40; |
| | | // console.log(1) |
| | | this.loadings = true; |
| | | // console.log(2) |
| | | let values = { |
| | | ...params, |
| | | }; |
| | | // console.log(3) |
| | | // getListliu(1, 10, {}, val.id).then((res) => { |
| | | var useId = this.onceData.deptId; |
| | | // console.log(4) |
| | | getListliu(pages.currentPage, pages.pageSize, values, useId).then( |
| | | (res) => { |
| | | // console.log(5) |
| | | // console.log(pages.currentPage, pages.pageSize, values, useId,332332) |
| | | // console.log(this.datas); |
| | | // getListliu('1', '10', {}, '1353972967828533249').then((res) => { |
| | | //拿到数据 |
| | | this.datas = res.data.data.records; |
| | | console.log(res); |
| | | console.log(pages.currentPage); |
| | | console.log(pages.pageSize); |
| | | console.log(values); |
| | | console.log(this.onceData); |
| | | // console.log(this.datas); |
| | | // console.log(pages.currentPage); |
| | | // console.log(pages.pageSize); |
| | | // console.log(this.onceData); |
| | | const data = res.data.data; |
| | | this.pages.total = data.total; |
| | | this.changeDataOpen(this.datas); |
| | | this.getUser(this.datas); |
| | | this.getMout(this.onceData.deptId); |
| | | this.loadings = false; |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // getAll().then((res) => { |
| | | // //测试数据 |
| | | // this.datas = res.data.data; |
| | | // this.changeDataOpen(this.datas); |
| | | // this.getUser(this.datas) |
| | | // console.log(this.datas); |
| | | // }); |
| | | }, |
| | | mounted() {}, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | |
| | | .el-dialog { |
| | | margin: 0 auto !important; |
| | | height: 98%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: fixed; |
| | | top: 1%; |
| | | top: 0; |
| | | right: 0; |
| | | .el-dialog__body { |
| | | position: absolute; |
| | |
| | | overflow: auto; |
| | | } |
| | | } |
| | | .diaoxianl { |
| | | border: 1px solid #fff; |
| | | color: #fff; |
| | | background-color: #cdcdcd; |
| | | } |
| | | .zaixianl { |
| | | border: 1px solid #fff; |
| | | color: #fff; |
| | | background-color: #32c1a2; |
| | | } |
| | | .guzhagnl { |
| | | border: 1px solid #fff; |
| | | color: #fff; |
| | | background-color: #f49966; |
| | | } |
| | | .baojinl { |
| | | border: 1px solid #fff; |
| | | color: #fff; |
| | | background-color: #f35b5b; |
| | | } |
| | | </style> |