南昌市物联网技防平台-前端
shuishen
2021-03-11 08413f10a9b4833d0a00a3ee2a3ce629acc7bdd8
src/views/policeInformationDistribution/index.vue
@@ -21,23 +21,54 @@
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
    <template slot-scope="{row}" slot="type">
        <el-tag>{{row.type=='0'?'待处理':row.type=='1'?'处理中':row.type=='2'?'已处理':''}}</el-tag>
      <template slot-scope="{ row }" slot="type">
        <el-tag>{{
          row.type == "0"
            ? "待处理"
            : row.type == "1"
            ? "处理中"
            : row.type == "2"
            ? "已处理"
            : ""
        }}</el-tag>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="disposition(row)"
          >处置</el-button>
        <el-button
          icon="el-icon-s-order"
          :size="size"
          :type="type"
          @click.stop="PoliceTracking(row)"
        >追踪</el-button>
        <el-button
          icon="el-icon-location-outline"
          :size="size"
          :type="type"
          @click.stop="handleMap(row)"
          >定位</el-button>
      </template>
    </avue-crud>
    <el-drawer
      title="我是标题"
      title="电子地图"
      append-to-body="true"
      :visible.sync="qwe"
      :direction="direction"
      :visible.sync="showMap"
    >
      <iframe
        src="http://www.baidu.com"
        id="mapDiv"
        ref="mapDiv"
        src="/map/index.html?openid=ClientManagement&ISinit=1"
        frameborder="0"
        width="100%"
        height="600px"
        height="100%"
      ></iframe>
    </el-drawer>
  </basic-container>
@@ -56,6 +87,7 @@
export default {
  data() {
    return {
      showMap: false,
      qwe: false,
      direction: "rtl",
      form: {},
@@ -73,6 +105,7 @@
        indexLabel: "序号",
        calcHeight: 30,
        labelWidth: "100",
        size: "mini",
        dialogWidth: 950,
        tip: false,
        searchShow: true,
@@ -87,7 +120,17 @@
            label: "警情类型",
            prop: "waringType",
            search: true,
            searchSpan: 3
            searchSpan: 3,
            className: "waringTypeClass",
            searchLabelWidth: 80,
            searchPlaceholder: "请选择",
            type: "select",
            props: {
              label: "dictValue",
              value: "dictValue"
            },
            //cascaderItem: ["city", "district"],
            dicUrl: "/api/blade-system/dict-biz/child-list?parentId=1356523651644043266",
          },
          {
            label: "报警时间",
@@ -101,8 +144,8 @@
            label: "报警时间",
            prop: "releaseTimeRange",
            type: "datetime",
            format: "yyyy-MM-dd hh:mm:ss",
            valueFormat: "yyyy-MM-dd hh:mm:ss",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchRange: true,
            searchSpan: 5,
            hide: true,
@@ -120,7 +163,7 @@
          },
          {
            label: "报警内容",
            prop: "rname"
            prop: "rName"
          },
          {
            label: "处理人",
@@ -152,14 +195,16 @@
            label: "设备编号",
            search: true,
            searchSpan: 3,
            width: 120,
            prop: "deviceNumber"
          },
          {
            label: "行政区",
            label: "省份",
            prop: "province",
            search: true,
            searchSpan: 3,
            searchLabelWidth: 60,
            searchSpan: 2,
            searchLabelWidth: 45,
            span:5,
            type: "select",
            props: {
              label: "name",
@@ -167,7 +212,6 @@
            },
            cascaderItem: ["city", "district"],
            dicUrl: "/api/blade-system/region/select",
            span: 6,
            className: "cityClass1"
          },
          {
@@ -176,13 +220,13 @@
            type: "select",
            searchLabelWidth: 1,
            searchSpan: 2,
            span:3,
            search: true,
            props: {
              label: "name",
              value: "code"
            },
            dicUrl: "/api/blade-system/region/select?code={{key}}",
            span: 3,
            labelWidth: "0",
            className: "cityClass2"
          },
@@ -190,6 +234,7 @@
            label: "区县",
            searchSpan: 2,
            searchLabelWidth: 1,
            span:3,
            search: true,
            prop: "district",
            type: "select",
@@ -198,34 +243,33 @@
              value: "code"
            },
            dicUrl: "/api/blade-system/region/select?code={{key}}",
            span: 3,
            labelWidth: "0",
            className: "cityClass3"
          },
          {
              label: "处理状态",
              search: true,
              searchSpan: 3,
              slot: true,
              searchLabelWidth: 80,
              searchPlaceholder: "请选择",
              prop: "type",
              type: "select",
              dicData: [
                {
                  label: "待处理",
                  value: '0'
                },
                {
                  label: "处理中",
                  value: '1'
                },
                {
                  label: "已处理",
                  value: '2'
                }
              ],
            },
            label: "处理状态",
            search: true,
            searchSpan: 2,
            slot: true,
            searchPlaceholder: "请选择",
            prop: "type",
            type: "select",
            className: "selectClass",
            dicData: [
              {
                label: "待处理",
                value: "0"
              },
              {
                label: "处理中",
                value: "1"
              },
              {
                label: "已处理",
                value: "2"
              }
            ]
          }
        ]
      },
      data: []
@@ -235,10 +279,10 @@
    ...mapGetters(["permission", "flowRoutes"]),
    permissionList() {
      return {
        addBtn: this.vaildData(null, false),
        addBtn: this.vaildData(this.permission.distribution_add, false),
        viewBtn: this.vaildData(null, false),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(this.permission.real_edit, false)
        editBtn: this.vaildData(this.permission.distribution_edit, false)
      };
    },
    ids() {
@@ -264,7 +308,6 @@
          done();
        },
        error => {
          window.console.log(error);
          loading();
        }
      );
@@ -281,7 +324,6 @@
          done();
        },
        error => {
          window.console.log(error);
          loading();
        }
      );
@@ -353,8 +395,6 @@
      }
      this.loading = true;
      getList(page.currentPage, page.pageSize, values).then(res => {
        console.log(res, 11111111111111111);
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
@@ -442,32 +482,49 @@
    rowStyle({ row, column, rowIndex }) {
      if (row.type == "0") {
        return {
          color: "#15a2fe"
          color: "#ff7627"
        };
      } else if (row.type == "1") {
        return {
          color: "#ff7627"
          color: "#15a2fe"
        };
      } else if (row.type == "2") {
        return {
          color: "#000"
        };
      }
    },
    disposition(data) {
      var arr = [];
      this.$store.state.tags.tagList.forEach(item => {
        if (item.label != "警情分发处置") {
          arr.push(item);
        }
      });
      this.$store.state.tags.tagList = arr;
      this.$router.push({ path: "/distribution/index", query: data });
    },
    handleMap(row) {
      this.showMap = true;
      this.$nextTick(() => {
        this.$refs.mapDiv.onload = () => {
          window.frames[0].locationObj = {x: row.jd, y: row.wd};
        };
      })
    },
    PoliceTracking(row){
      //警情追踪
      this.$router.push({ path: "/policeTracking/track", query: row });
    }
  }
};
</script>
<style>
.cityClass1 {
  padding-right: 5px !important;
}
.cityClass3 div label {
  display: none;
}
  .el-card__body .selectClass{
    width: 12%;
  }
.cityClass3 {
  padding-left: 5px !important;
}
</style>