<template>
  <div class="common-page device-manage">

    <div class="option page-row">
      <!--工具栏-->
      <div class="head-container">
        <!-- 搜索 -->
        <label class="el-form-item-label" style="font-weight: 500;">设备号</label>
        <el-input v-model="query.formId" clearable size="small" placeholder="请输入设备号" style="width:180px;"/>
        <label class="el-form-item-label" style="font-weight: 500;">在线状态</label>
        <el-select v-model="query.stu" placeholder="请选择">
          <el-option v-for="item in stuOpts" :key="item.value" :label="item.label" :value="item.value"></el-option>
        </el-select>
        <label class="el-form-item-label" style="font-weight: 500;">日期范围</label>
        <el-date-picker
          v-model="query.createTime"
          type="datetimerange"
          value-format="yyyy-MM-dd HH:MM:SS"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期">
        </el-date-picker>
        <el-button size="mini" type="success" icon="el-icon-search" @click="toSearch">搜索</el-button>
        <el-button size="mini" icon="el-icon-refresh" @click="clearLimit">重置</el-button>
      </div>
    </div>

    <!-- 表格 -->
    <div class="panel-bottom page-row">
      <div class="ctin-box">
        <div class="content-within">
          <div class="content-fix">
            <div class="toolbar">
              <el-button size="mini" type="primary" icon="el-icon-plus" @click="toAdd">新增</el-button>
            </div>
            <div class="content">
              <el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
                <el-table-column prop="formId" label="设备名称" align="center"></el-table-column>
                <el-table-column prop="username" label="设备类型" align="center"></el-table-column>
                <el-table-column prop="carNo" label="设备编号" align="center"></el-table-column>
                <el-table-column prop="carClass" label="数值单位" align="center"></el-table-column>
                <el-table-column prop="createTime" label="安装日期" align="center"></el-table-column>
                <el-table-column prop="createTime" label="生产厂家" align="center"></el-table-column>
                <el-table-column prop="createTime" label="最后更新时间" align="center"></el-table-column>
                <el-table-column prop="carClass" label="状态" align="center"></el-table-column>
                <el-table-column label="操作" align="center" fixed="right">
                  <template slot-scope="scope">
                    <el-button size="mini" type="primary" icon="el-icon-edit" @click="toEdit(scope.row)"></el-button>
                    <el-button size="mini" type="danger" icon="el-icon-delete" @click="toDelete(scope.row)"></el-button>
                  </template>
                </el-table-column>
              </el-table>
              <!--分页组件-->
              <el-pagination :total="total" :current-page="page" style="margin-top: 8px;"
                             layout="total, prev, pager, next, sizes" @size-change="sizeChange"
                             @current-change="pageChange"/>
            </div>
          </div>
        </div>
      </div>
    </div>
    <!-- 表单渲染 -->
    <el-dialog append-to-body :close-on-click-modal="false" :before-close="cancelForm" :visible.sync="visible" :title="title" width="800px">
      <el-form :model="formData" :rules="rules" ref="formViewRef" :inline="true" :status-icon="true" size="mini">
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="设备名称：" prop="name" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.name" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="设备类型：" class="form-cell" prop="devType">
                <div class="cell-box">
                  <el-select v-model="formData.devType" placeholder="无" class="cell-input">
                    <el-option v-for="item in sdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                  </el-select>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="设备编号：" class="form-cell" prop="devNo">
                <div class="cell-box">
                  <el-input v-model="formData.devNo" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="数值单位：" class="form-cell" prop="devUnit">
                <div class="cell-box">
                  <el-input v-model="formData.devUnit" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="安装日期：" class="form-cell" prop="installDate">
                <div class="cell-box">
                  <el-date-picker v-model="formData.installDate" type="date" placeholder="选择日期"></el-date-picker>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="生产厂家：" class="form-cell" prop="manufactor">
                <div class="cell-box">
                  <el-input v-model="formData.manufactor" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <div class="grid-content">
              <el-form-item label="安装位置：" class="form-cell" prop="lng" style="height: 36px">
                <div class="cell-box" style="display: flex">
                  <div style="width: 200px">经度： {{ formData.lng }}</div>
                  <div style="width: 200px">纬度： {{ formData.lat }}</div>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <div class="grid-content">
              <div id="centerDiv" class="mapcontainer">
                <mars3dViewerMap :url="configUrl" @onload="onMapload" ref="mars3dViewerMapMethod"
                                 mapKey="mapPointView"/>
              </div>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="安装高度：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="供电和通信方式：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="设备精度：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="海拔（米）：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="一级预警阈值：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="二级预警阈值：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="三级预警阈值：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="四级预警阈值：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="在用状态：" class="form-cell">
                <div class="cell-box">
                  <el-select v-model="formData.xxxxx" placeholder="无" class="cell-input">
                    <el-option v-for="item in sdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                  </el-select>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="同步状态：" class="form-cell">
                <div class="cell-box">
                  <el-select v-model="formData.xxxxx" placeholder="无" class="cell-input">
                    <el-option v-for="item in sdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                  </el-select>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="设备ip地址：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="网络类型：" class="form-cell">
                <div class="cell-box">
                  <el-select v-model="formData.xxxxx" placeholder="无" class="cell-input">
                    <el-option v-for="item in sdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                  </el-select>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="传感器初始值：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="初始值x方向：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="初始值y方向：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="初始值z方向：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="报警状态：" class="form-cell">
                <div class="cell-box">
                  <el-select v-model="formData.xxxxx" placeholder="无" class="cell-input">
                    <el-option v-for="item in sdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                  </el-select>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="浸润线埋深(米)：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="检验周期：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="库水位设备类型：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="X位移：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="Y位移：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="Z位移：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="孔深(浸润线)：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="设备深度(浸润线)：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="距剖面起始点距离：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="库水位设备编号：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="干滩坡度角：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="干滩安全超高：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
          <el-col :span="12">
            <div class="grid-content">
              <el-form-item label="排水量流速：" class="form-cell">
                <div class="cell-box">
                  <el-input v-model="formData.xxxxx" class="cell-input"></el-input>
                </div>
              </el-form-item>
            </div>
          </el-col>
        </el-row>

      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="text" @click="cancelForm">取消</el-button>
        <el-button type="primary" @click="submitForm('formViewRef', formData)">确认</el-button>
      </div>
    </el-dialog>

  </div>
</template>

<script>
import {Tools, HttpReq, Dates} from '@/assets/js/common.js';
import mars3dViewerMap from "../../../components/mars3d/Map5.vue";
import * as mars3d from "mars3d";
import * as Cesium from "mars3d-cesium";
import kongzhidiantubiao from "../../../assets/images/cutGraph/kongzhidian1.png";

export default {
  name: 'slopeDevice',
  components: {
    mars3dViewerMap,
  },
  data() {
    const basePathUrl = window.basePathUrl || ''
    return {
      configUrl: basePathUrl + 'config/config.json',
      title: '新增',
      visible: false,
      loading: false,
      page: 1,
      size: 10,
      total: 0,
      query: {},
      stuOpts: [
        {label: '离线', value: 0},
        {label: '在线', value: 1},
      ],
      sdOptions: [
        {label: '一类设备', value: 1},
        {label: '二类设备', value: 2},
      ],
      tableData: [],
      formData: {
        lng: '',
        lat: '',
        name: '',
        devType: '',
        devNo: '',
        devUnit: '',
        installDate: '',
        manufactor: '',
      },
      rules: {
        lng: {required: true, message: '请在地图上放置设备', trigger: 'blur'},
        name: {required: true, message: ' ', trigger: 'blur'},
        devType: {required: true, message: ' ', trigger: 'blur'},
        devNo: {required: true, message: ' ', trigger: 'blur'},
        devUnit: {required: true, message: ' ', trigger: 'blur'},
        installDate: {required: true, message: ' ', trigger: 'blur'},
        manufactor: {required: true, message: ' ', trigger: 'blur'},
      },
    }
  },
  mounted() {
    this.$nextTick(() => {
      this.loadData();
    })
  },
  methods: {
    onMapload(map) {
      map.unbindContextMenu();
      var graphicLayer = new mars3d.layer.GraphicLayer();
      map.addLayer(graphicLayer);
      const graphic = new mars3d.graphic.PointEntity({
        style: {
          color: "#ff0000",
          pixelSize: 10,
          outlineColor: "#ffffff",
          outlineWidth: 2,
          label: {
            text: "放置位置",
            font_size: 18,
            color: "#ff0000",
            outline: true,
            outlineColor: "#000000",
            outlineWidth: 5,
            pixelOffsetY: -24,
            distanceDisplayCondition: true,
            distanceDisplayCondition_far: 500000,
            distanceDisplayCondition_near: 0
          }
        },
      })
      graphicLayer.addGraphic(graphic);
      map.on(mars3d.EventType.click, (event) => {
        let p = mars3d.LngLatPoint.fromCartesian(event.cartesian);
        this.formData.lng = p.lng;
        this.formData.lat = p.lat;
        graphicLayer.eachGraphic((graphic) => {
          graphic.addDynamicPosition(Cesium.Cartesian3.fromDegrees(p.lng, p.lat, 0), 0)
        })
      });
    },
    loadData() {
      var sort = 'id,desc';
      var param = this.query;
      param.page = this.page - 1;
      param.pageSize = this.size;
      param.sort = sort;
      this.$nextTick(() => {
        //获取安检信息
        HttpReq.truckDispatching.ajReportListFind(param).then((res) => {
          if (res.code == 200) {
            this.loading = false;
            this.tableData = res.data.records;
            this.total = res.data.total;
          }
        })
      })
    },
    toAdd() {
      this.title = '新增';
      this.visible = true;
    },
    toEdit() {

    },

    toDelete(item) {
      var id = item.id;
      this.$confirm('确认删除该条数据吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then((e) => {

      }).catch((e) => {
      })
    },
    cancelForm() {
      this.visible = false;
      this.$refs.formViewRef.resetFields();
    },
    tableRowClassName({row, rowIndex}) {
    },
    // 点击搜索
    toSearch() {
      this.page = 1;
      this.loadData();
    },
    // 重置搜索
    clearLimit() {
      this.query = {};
      this.loadData()
    },
    pageChange(e) {
      this.page = e
      this.loadData()
    },
    sizeChange(e) {
      this.page = 1
      this.size = e
      this.loadData()
    },
    submitForm(validateName, item) {
      this.$refs[validateName].validate(valid => {
        if (valid) {
          // if (this.title === '新增') {
          //   this.reqAddItem(this.form, item)
          // } else {
          //   this.reqUpdateItem(this.form, item)
          // }
          alert(9999);
        }
      });
    },
  },
}
</script>

<style rel="stylesheet/scss" lang="scss" scope>
.el-table .warning-row {
  background: oldlace;
}

.el-table .success-row {
  background: #f0f9eb;
}

.cell-input {
  //min-width: 220px;
}

.form-cell {
  margin: 0 !important;
  width: 100%;
}

.grid-content {
  //border: 1px solid rgba(100, 100, 100, 0.1);
  padding: 5px 30px;
}

.cell-box .el-input__inner {
  border: 1px solid rgba(100, 100, 100, 0.1);
}

.cell-box .el-input.is-disabled .el-input__inner {
  border: 1px solid rgba(100, 100, 100, 0.1);
  background: white;
  cursor: text;
}

.cell-box .el-input.is-disabled .el-input__icon {
  cursor: text;
}

.cell-box .el-icon-arrow-up:before {
  content: '';
}

.mapcontainer {
  height: 30vh;
  width: 680px;
  overflow: hidden;
}
</style>
