| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | <template>  <div class="device-info">    <DialogCom      title="布撤防历史"      :visible.sync="isShow"      width="600px"      @close="close"    >      <div class="page-body">        <div>          <div style="margin-bottom: 20px">            <span> 所属机构:</span>            <span>{{ protection.orgName }}</span>          </div>          <div style="margin-bottom: 20px">            <span>报警控制器名称:</span>            <span>{{ protection.name }}</span>          </div>          <div style="margin-bottom: 20px">            <span> 24小时报警控制器:</span>            <span>{{ protection.allHour ? "是" : "否" }}</span>          </div>          <div style="margin-bottom: 20px">            <span>上报时间范围:</span>            <DataRangePicker              v-model="queryParams.updateTime"              key="daterange"              type="daterange"              clearable              range-separator="至"              start-placeholder="开始日期"              end-placeholder="结束日期"            >            </DataRangePicker>          </div>          <el-table :data="tableData" border style="width: 100%">            <el-table-column type="index" label="序号" width="60"></el-table-column>            <el-table-column prop="statusText" label="报警控制器状态"              ><template slot-scope="r">                {{ getLabel(statusDict, r.row.status) }}              </template></el-table-column            >            <el-table-column prop="updateTime" label="布撤防登记时间">            </el-table-column>            <el-table-column              prop="statusUpdatorName"              label="登记人"            ></el-table-column>          </el-table>          <div style="margin-top: 20px; text-align: right">            <pagination              v-show="total > 0"              :total="total"              :page.sync="queryParams.pageNum"              :limit.sync="queryParams.pageSize"              @pagination="getList"            />          </div>        </div>      </div>      <div slot="footer" class="dialog-footer">        <el-button @click="onHide">关闭</el-button>        <!--<el-button type="primary" @click="onSubmit">确定</el-button> -->      </div>    </DialogCom>  </div></template><script>import * as api from "@/api/resumption/protection";import { getLabel } from "./../../commonOption";import DataRangePicker from "@/components/dateTime/daterange.picker.vue";export default {  data() {    const params = this.$route.params;    return {      id: params ? params.id : null,      isShow: false,      protection: {},      tableData: [],      queryParams: this.resetSearch(),      total: 1,    };  },  props: {    statusDict: {      type: Array,    },  },  watch: {    "queryParams.updateTime": {      deep: true,      handler(v) {        this.refresh();      },    },  },  computed: {},  methods: {    getLabel,    async refresh() {      this.pageNum = 1;      this.getList();    },    async getList() {      await api.history(this.queryParams).then((v) => {        this.tableData = v.rows;        this.total = v.total;      });    },    onHide() {      this.isShow = false;    },    close() {      this.queryParams = this.resetSearch();      this.tableData = [];      this.total = 0;    },    async show(protection) {      this.protection = protection;      this.queryParams = this.resetSearch();      this.queryParams.protectionId = protection.id;      await this.refresh();      this.isShow = true;    },    handleSizeChange(val) {      this.queryParams.pageSize = val;      this.getList();    },    handleCurrentChange(val) {      this.queryParams.pageNum = val;      this.getList();    },    resetSearch() {      return {        pageNum: 1,        pageSize: 10,        protectionId: null,        updateTime: [new Date(new Date() - 3600 * 1000 * 24 * 90), new Date()],      };    },    // 事件    //apimark//  },  created() {},  mounted() {},  components: {    DataRangePicker,    // EditAttribute,  },};</script><style lang="scss">.device_info {  .el-form {    width: 600px;    padding-top: 40px;  }}</style>
 |