| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- <!--
- * @Title:
- * @Description: 预警测站列表,按测站统计
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors:
- * @LastEditTime: 2022-08-24 10:49:21
- -->
- <template>
- <div>
- <el-row>
- <el-col :span="24">
- <basic-container>
- <avue-crud :option="option" :table-loading="loading" :page.sync="page" :data="data" ref="crud"
- v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate"
- @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
- @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
- @refresh-change="refreshChange" @on-load="onLoad">
- </avue-crud>
- </basic-container>
- </el-col>
- </el-row>
- </div>
- </template>
- <script>
- import { getMinupdelayPage, getDetail } from "@/api/business/warning/warning.js";
- import { mapGetters } from "vuex";
- export default {
- components: {
- },
- props: {
- deptId: {
- type: [Number],
- required: true
- },
- },
- name: 'warninglist',
- data() {
- return {
- dialogTitle: "异常测站列表",
- id: "",
- form: {},
- selectionList: [],
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- option: {
- labelWidth: 120,
- viewLabelWidth: 100,
- searchlabelWidth: 100,
- height: "auto",
- calcHeight: 80,
- align: "center",
- headerAlign: "center",
- tip: false,
- simplePage: true,
- searchShow: true,
- searchMenuSpan: 6,
- addBtn: false,
- tree: true,
- border: true,
- index: true,
- editBtn: false,
- delBtn: false,
- menuWidth: 200,
- dialogType: "drawer",
- dialogClickModal: false,
- columnBtn: false,
- menu: false,
- column: [
- {
- label: "测站编码",
- prop: "rtuCode",
- span: 24,
- search: true,
- },
- {
- label: "测站名称",
- prop: "rtuName",
- span: 24,
- search: true,
- },
- {
- label: "行政区",
- prop: "adCity",
- span: 12,
- html: true,
- formatter: (val) => {
- if (val.adDist) {
- return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
- } else {
- return '<b>' + val.adCity + '</b>'
- }
- }
- },
- {
- label: "运维单位",
- prop: "manageCompany",
- span: 12,
- },
- {
- label: "异常信息",
- prop: "warningDesc",
- span: 12,
- },
- {
- label: "发生时间",
- prop: "warningHappenTime",
- span: 12,
- },
- ],
- },
- data: [],
- };
- },
- computed: {
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- // closeBtn: this.vaildData(this.permission.order_close, false),
- // changeBtn: this.vaildData(this.permission.order_change, false),
- };
- },
- },
- created() {
- },
- methods: {
- init() {
- // this.onLoad(this.page);
- },
- searchReset() {
- this.query = {};
- this.page.currentPage = 1;
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getDetail(this.form.id).then((res) => {
- this.form = res.data.data;
- });
- }
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- var params = {};
- this.onLoad(this.page, params);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- params['deptId'] = this.deptId;
- console.log("load " + JSON.stringify(params))
- getMinupdelayPage(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.query)
- ).then((res) => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- .line {
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- }
- .line .lineText {
- margin-left: 10px;
- margin-right: 0px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- }
- .line .lineText .orderCount {
- color: green;
- font-size: 0.8rem;
- }
- .line .lineText .spliteLine {
- color: gray;
- font-size: 0.8rem;
- }
- .line .lineText .orderUnconfirm {
- color: lightcoral;
- font-size: 0.8rem;
- }
- .line .lineText .orderProcessing {
- color: dodgerblue;
- font-size: 0.8rem;
- }
- </style>
|