南昌市物联网技防平台-前端
liuyg
2021-04-12 f0e70039e87eab0a013d12ca5dac973dd261de20
Merge branch 'master' of http://192.168.0.105:10010/r/jfpt-Vue
10 files modified
1603 ■■■■■ changed files
public/img/bg/bgzs.png patch | view | raw | blame | history
src/styles/alarmAnalysis/alarmAnalysis.scss 351 ●●●● patch | view | raw | blame | history
src/views/animalHeat/animalHeat.vue 73 ●●●● patch | view | raw | blame | history
src/views/clientManagement/clientManagement.vue 89 ●●●●● patch | view | raw | blame | history
src/views/healthcode/healthcode.vue 13 ●●●●● patch | view | raw | blame | history
src/views/home/home.vue 10 ●●●● patch | view | raw | blame | history
src/views/parcel/parcel.vue 7 ●●●● patch | view | raw | blame | history
src/views/parcel/parcelKind.vue 11 ●●●● patch | view | raw | blame | history
src/views/realTimePolice/real.vue 14 ●●●●● patch | view | raw | blame | history
src/views/system/cs.vue 1035 ●●●●● patch | view | raw | blame | history
public/img/bg/bgzs.png

src/styles/alarmAnalysis/alarmAnalysis.scss
@@ -1,330 +1,331 @@
.alarm_title {
  width: 100%;
  height: 3%;
    width: 100%;
    height: 3%;
}
.alarm_title span {
  font-size: 12px;
  color: #7B91B4;
  left: 1%;
  top: 30%;
  position: relative;
    font-size: 12px;
    color: #7B91B4;
    left: 1%;
    top: 30%;
    position: relative;
}
.timeSearchBtn {
  width: 100%;
  height: 4%;
    width: 100%;
    height: 4%;
}
.timeSearchBtn .timeBtn {
  position: relative;
  left: 0.8%;
  top: 40%;
    position: relative;
    left: 0.8%;
    top: 40%;
}
.timeSearchBtn .timeSearch {
  position: relative;
  left: 1.2%;
  top: 42.6%;
    position: relative;
    left: 1.2%;
    top: 42.6%;
}
//预警总数统计
.statisTotal {
  position: relative;
  left: 0.3%;
  top: 3%;
  width: 100%;
  height: 10%;
    position: relative;
    left: 0.3%;
    top: 3%;
    width: 100%;
    height: 10%;
}
.statisTotalAvueDataBox .el-row {
  width: 99.7% !important;
    width: 99.7% !important;
}
.statisTotal .el-col-md-6 {
  width: 20%;
    width: 20%;
}
//预警数量统计
.alarmStatis {
  background-color: #ffffff;
  width: 98.6%;
  height: 550px;
  position: relative;
  left: 0.8%;
  top: 7%;
    background-color: #ffffff;
    width: 98.6%;
    height: 550px;
    position: relative;
    left: 0.8%;
    top: 7%;
}
#alarmNumberStatis {
  width: 75%;
  height: 550px;
  position: relative;
  left: 1%;
    width: 75%;
    height: 550px;
    position: relative;
    left: 1%;
}
.alarmClassifyStatis {
  width: 25%;
  height: 550px;
  position: relative;
  left: 75%;
  top: -85%;
    width: 25%;
    height: 550px;
    position: relative;
    left: 75%;
    top: -85%;
}
.alarmClassifyStatis .avue-data-cardtext {
  width: 100%;
  height: 90%;
    width: 100%;
    height: 90%;
}
.avue-data-cardText .item {
  -webkit-box-shadow: 0px 0px 0px 0px #ccc;
  box-shadow: 0px 0px 0px #ccc;
    -webkit-box-shadow: 0px 0px 0px 0px #ccc;
    box-shadow: 0px 0px 0px #ccc;
}
.avue-data-cardtext .el-row {
  width: 250px !important;
  height: 50px !important;
  position: relative !important;
  top: 30px !important;
    width: 250px !important;
    height: 50px !important;
    position: relative !important;
    top: 30px !important;
}
.alarmClassifyStatis .el-col {
  float: inherit !important;
  width: 100% !important;
  height: 100px !important;
    float: inherit !important;
    width: 100% !important;
    height: 100px !important;
}
.avue-data-cardText .item-header a {
  font-size: 14px;
  margin-left: 2px;
  position: absolute;
  bottom: 1px;
    font-size: 14px;
    margin-left: 2px;
    position: absolute;
    bottom: 1px;
}
.avue-data-cardText .item-header i {
  font-size: 14px;
    font-size: 14px;
}
.avue-data-cardText .item-footer span:nth-child(2) {
  color: red;
    color: red;
}
//预警类型占比
.alarmTypePro {
  background-color: #ffffff;
  width: 98.6%;
  height: 450px;
  position: relative;
  left: 0.8%;
  top: 9.5%;
    background-color: #ffffff;
    width: 98.6%;
    height: 450px;
    position: relative;
    left: 0.8%;
    top: 9.5%;
}
#alarmTypeProEcharts {
  width: 30%;
  height: 450px;
  position: relative;
  left: 1%;
    width: 30%;
    height: 450px;
    position: relative;
    left: 1%;
}
.alarmTypeTotal {
  //background-color: antiquewhite;
  width: 10%;
  height: 100px;
  position: relative;
  left: 9.37%;
  top: -58%;
    //background-color: antiquewhite;
    width: 10%;
    height: 100px;
    position: relative;
    left: 9.37%;
    top: -58%;
}
.numAlarmType {
  text-align: center;
  position: relative;
  top: 15%;
    text-align: center;
    position: relative;
    top: 15%;
}
.numAlarmType span {
  font-size: 28px;
  color: #4B4B4B;
    font-size: 28px;
    color: #4B4B4B;
}
.textAlarmType {
  text-align: center;
  position: relative;
  top: 20%;
    text-align: center;
    position: relative;
    top: 20%;
}
.textAlarmType span {
  font-size: 14px;
  color: #757575;
    font-size: 14px;
    color: #757575;
}
.alarmTypeProStatis {
  //background-color: aqua;
  width: 50%;
  height: 100%;
  position: relative;
  top: -100%;
  left: 30%;
    //background-color: aqua;
    width: 50%;
    height: 100%;
    position: relative;
    top: -100%;
    left: 30%;
}
.alarmTypeProStatis .el-row {
  position: relative;
  top: 24px;
    position: relative;
    top: 24px;
}
//预警设备类型占比
.alarmEquipmentPro {
  background-color: #ffffff;
  width: 98.6%;
  height: 450px;
  position: relative;
  left: 0.8%;
  top: 11%;
    background-color: #ffffff;
    width: 98.6%;
    height: 450px;
    position: relative;
    left: 0.8%;
    top: 11%;
}
#alarmEquipmentProEcharts {
  width: 30%;
  height: 450px;
  position: relative;
  left: 1%;
    width: 30%;
    height: 450px;
    position: relative;
    left: 1%;
}
.alarmEquipmentProStatis {
  //background-color: aqua;
  width: 35%;
  height: 100%;
  position: relative;
  left: 30%;
  top: -100%;
    //background-color: aqua;
    width: 35%;
    height: 100%;
    position: relative;
    left: 30%;
    top: -100%;
}
.alarmEquipmentProStatis .avue-crud {
  position: relative;
  top: 20%;
    position: relative;
    top: 20%;
}
.alarmEquipmentProStatis .avue-crud__menu {
  display: none;
    display: none;
}
//确认时间占比
.confirmTimePro {
  background-color: #ffffff;
  width: 61.6%;
  height: 450px;
  position: relative;
  left: 0.8%;
  top: 11.8%;
    display: none;
    background-color: #ffffff;
    width: 61.6%;
    height: 450px;
    position: relative;
    left: 0.8%;
    top: 11.8%;
}
#confirmTimeProEcharts {
  width: 40%;
  height: 450px;
  position: relative;
  left: 1%;
    width: 40%;
    height: 450px;
    position: relative;
    left: 1%;
}
.confirmTimeTotal {
  //background-color: antiquewhite;
  width: 12%;
  height: 100px;
  position: relative;
  left: 12.87%;
  top: -58%;
    //background-color: antiquewhite;
    width: 12%;
    height: 100px;
    position: relative;
    left: 12.87%;
    top: -58%;
}
.numConfirmTime {
  text-align: center;
  position: relative;
  top: 15%;
    text-align: center;
    position: relative;
    top: 15%;
}
.numConfirmTime span {
  font-size: 28px;
  color: #4B4B4B;
    font-size: 28px;
    color: #4B4B4B;
}
.textConfirmTime {
  text-align: center;
  position: relative;
  top: 20%;
    text-align: center;
    position: relative;
    top: 20%;
}
.textConfirmTime span {
  font-size: 14px;
  color: #757575;
    font-size: 14px;
    color: #757575;
}
.confirmTimeProStatis {
  //background-color: aqua;
  width: 60%;
  height: 100%;
  position: relative;
  top: -100%;
  left: 40%;
    //background-color: aqua;
    width: 60%;
    height: 100%;
    position: relative;
    top: -100%;
    left: 40%;
}
.confirmTimeProStatis .el-row {
  position: relative;
  top: 24px;
    position: relative;
    top: 24px;
}
//预警平均确认速度排行
.confirmAverageSpeed {
  background-color: #ffffff;
  width: 35%;
  height: 450px;
  position: relative;
  top: -40.5%;
  left: 64.4%;
    display: none;
    background-color: #ffffff;
    width: 35%;
    height: 450px;
    position: relative;
    top: -40.5%;
    left: 64.4%;
}
.confirmAverageSpeedTitle span {
  position: relative;
  left: 5%;
  top: 20px;
    position: relative;
    left: 5%;
    top: 20px;
}
.confirmAverageSpeed .avue-crud {
  width: 90%;
  position: absolute;
  top: 12%;
  left: 4%;
    width: 90%;
    position: relative;
    top: 10%;
}
.confirmAverageSpeed .avue-crud__menu {
  display: none;
    display: none;
}
//预警时间分布
.alarmTimeDis {
  background-color: #ffffff;
  width: 98.6%;
  height: 450px;
  position: relative;
  left: 0.8%;
  top: -38%;
    background-color: #ffffff;
    width: 98.6%;
    height: 450px;
    position: relative;
    left: 0.8%;
    top: 12%;
}
#alarmTimeDisEchars {
  width: 100%;
  height: 450px;
  position: relative;
  left: 1%;
    width: 100%;
    height: 450px;
    position: relative;
    left: 1%;
}
//底部
.low {
  background-color: F0F2F5;
  width: 100%;
  height: 50px;
  position: relative;
  left: 0.8%;
  top: -38%;
    background-color: F0F2F5;
    width: 100%;
    height: 50px;
    position: relative;
    left: 0.8%;
    top: 9%;
}
.el-button .btn-color {
  color: rgb(255, 255, 255);
  background-color: #29C093;
  border-color: #29C093;
    color: rgb(255, 255, 255);
    background-color: #29C093 !important;
    border-color: #29C093 !important;
}
// .el-icon-bell:before {
@@ -334,4 +335,4 @@
//     //background-color: #F34A4A;
//     display: inline-block;
//     content: '';
// }
// }
src/views/animalHeat/animalHeat.vue
@@ -12,6 +12,7 @@
               @row-update="rowUpdate"
               @row-save="rowSave"
               @row-del="rowDel"
               @row-click="rowClick"
               @search-change="searchChange"
               @search-reset="searchReset"
               @selection-change="selectionChange"
@@ -40,18 +41,33 @@
          </el-button>
        </template>
    </avue-crud>
    <template>
      <div>
          <el-image-viewer
              class="img"
              v-if="showViewer"
              :on-close="closeViewer"
              :url-list="[imgUrl]" />
      </div>
    </template>
  </basic-container>
</template>
<script>
  import {getList} from "@/api/animalHeat/animalHeat";
  import {mapGetters} from "vuex";
  import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
  export default {
    name:'index',
    components: { ElImageViewer },
    data() {
      return {
        form: {},
        query: {},
        showViewer:false,
        imgUrl:'',
        loading: true,
        page: {
          pageSize: 10,
@@ -96,21 +112,15 @@
              label: "体温",
              prop: "tempRed"
            },
            {
              label: '图片',
              prop: 'picture',
              type: 'upload',
              width: 300,
              listType: 'picture-img',
              span: 24,
              propsHttp: {
                res: 'data'
              },
              canvasOption: {
                text: 'avue',
                ratio: 0.1
              }
            },
            // {
            //   label: '图片',
            //   prop: 'picture',
            //   type: 'img',
            //   alone:false,
            //   width: 300,
            //   //listType: 'picture-img',
            //   span: 24
            // },
            {
              label: "检测时间",
              prop: "dateTime",
@@ -118,6 +128,7 @@
              format: "yyyy-MM-dd",
              valueFormat: "yyyy-MM-dd",
              searchRange: true,
              searchValue:[this.getStartTime(),this.getEndTime()],
              searchSpan: 5,
              hide: true,
              addDisplay: false,
@@ -206,12 +217,36 @@
      refreshChange() {
        this.onLoad(this.page, this.query);
      },
      getStartTime(){
           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
             return this.$route.query.startTime
           }
           return '';
      },
      getEndTime(){
           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
             return this.$route.query.endTime
           }
           return '';
      },
      //修改行颜色
      rowStyle({row, column, rowIndex}){
         if(row.status=="1"){
           return {
             color:"#fe1515"
           }
         }
      },
      //图片行点击事件
      rowClick(row){
        var that = this;
        that.imgUrl = row.picture;
        console.log(that.imgUrl,111);
        this.showViewer = true
      },
      // 关闭查看器
      closeViewer() {
        this.showViewer = false
      },
      getAnimalData(e) {
        this.activeClass=e;
@@ -295,10 +330,16 @@
    }
  };
</script>
<style scoped>
<style lang="scss">
  .el-button.btn-color {
    color: rgb(255, 255, 255);
    background-color: rgb(64, 158, 255);
    border-color: rgb(64, 158, 255);
  }
  .img {
      .el-icon-circle-close {
        color: white;
      }
  }
</style>
src/views/clientManagement/clientManagement.vue
@@ -437,8 +437,9 @@
              cascaderItem: ["city", "district"],
              dicUrl: "/api/blade-system/region/select",
              span: 6,
              className: "cityClass1",
              className: "city1",
              hide: true,
              // width: 10,
              addDisplay: true,
              editDisplay: true,
              viewDisplay: true,
@@ -459,7 +460,7 @@
              dicUrl: "/api/blade-system/region/select?code={{key}}",
              span: 3,
              labelWidth: "0",
              className: "cityClass2",
              className: "city2",
              hide: true,
              addDisplay: true,
              editDisplay: true,
@@ -481,7 +482,7 @@
              dicUrl: "/api/blade-system/region/select?code={{key}}",
              span: 3,
              labelWidth: "0",
              className: "cityClass3",
              className: "city3",
              hide: true,
              addDisplay: true,
              editDisplay: true,
@@ -844,7 +845,9 @@
  };
</script>
<style>
<style lang="scss" scoped>
$city-m-l: 10px;
  .payWin {
    overflow-y: auto;
    height: 350px;
@@ -855,49 +858,55 @@
  }
  /*页面样式*/
  .el-card__body .cityClass1 {
    width: 155px;
    padding-right: 0px !important;
  }
  // /*页面样式*/   //丢弃  因为不起作用,样式在cs.vue中  city1,2,3  liuyg改
  // .el-card__body .cityClass1 {
  //   width: 50px;
  //   padding-right: 0px !important;
  //   margin-left: $city-m-l;
  // }
  .el-card__body .cityClass2 {
    width: 100px;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  // .el-card__body .cityClass2 {
  //   width: 50px;
  //   padding-left: 0px !important;
  //   padding-right: 0px !important;
  //   margin-left: $city-m-l;
  // }
  .el-card__body .cityClass3 {
    width: 100px;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  // .el-card__body .cityClass3 {
  //   width: 50px;
  //   padding-left: 0px !important;
  //   padding-right: 0px !important;
  //   margin-left: $city-m-l;
  // }
  /*新增窗体样式*/
  .el-dialog .cityClass1 {
    width: 220px;
    padding-right: 0px !important;
  }
  // /*新增窗体样式*/
  // .el-dialog .city1 {
  //   width: 155px;
  //   padding-right: 0px !important;
  //   margin-left: $city-m-l;
  // }
  .el-dialog .cityClass2 {
    width: 110px;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  // .el-dialog .city2 {
  //   width: 100px;
  //   padding-left: 5px !important;
  //   padding-right: 5px !important;
  //   margin-left: $city-m-l;
  // }
  .el-dialog .cityClass3 {
    width: 110px;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  // .el-dialog .city3 {
  //   width: 100px;
  //   padding-left: 0px !important;
  //   padding-right: 0px !important;
  //   margin-left: $city-m-l;
  // }
  .cityClass2 div label {
    display: none;
  }
  // .city2 div label {
  //   display: none;
  // }
  .cityClass3 div label {
    display: none;
  }
  // .city3 div label {
  //   display: none;
  // }
  .real-jf-dialog {
    position: absolute !important;
src/views/healthcode/healthcode.vue
@@ -106,6 +106,7 @@
              format: "yyyy-MM-dd",
              valueFormat: "yyyy-MM-dd",
              searchRange: true,
              searchValue:[this.getStartTime(),this.getEndTime()],
              searchSpan: 5,
              hide: true,
              addDisplay: false,
@@ -248,6 +249,18 @@
           }
         }
      },
      getStartTime(){
           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
             return this.$route.query.startTime
           }
           return '';
      },
      getEndTime(){
           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
             return this.$route.query.endTime
           }
           return '';
      },
      getHealthcodeType(){
          if (this.$route.query.type != undefined) {
              var type = this.$route.query.type+"";
src/views/home/home.vue
@@ -13,6 +13,7 @@
    frameborder="0"
    name="showHere"
    scrolling="auto"
    class="iframes"
    src="https://web.byisf.com/bigScreen/view/1349193280059879426"
  ></iframe>
</template>
@@ -102,14 +103,19 @@
};
</script>
<style>
<style lang="scss">
#show-iframe {
  display: block !important;
  height: 95%;
  height: 100%;
}
.avue-main .avue-view {
  height: 100%;
  padding: 5px 5px !important;
}
.views {
    overflow-y: hidden !important;
}
</style>
src/views/parcel/parcel.vue
@@ -216,11 +216,6 @@
    },
    methods: {
      beforeOpen(done, type) {
        if (["view"].includes(type)) {
          getDetail(this.form.imgUrl).then(res => {
            this.form = res.data.data;
          });
        }
        done();
      },
      searchReset() {
@@ -260,11 +255,13 @@
           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
             return this.$route.query.startTime
           }
           return '';
      },
      getEndTime(){
           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
             return this.$route.query.endTime
           }
           return '';
      },
      getIsKindParams(){
        if(this.$route.query.decisioDiagramResult && this.$route.query!='' && this.$route.query!=null && this.$route.query!=undefined){
src/views/parcel/parcelKind.vue
@@ -8,6 +8,7 @@
               :before-open="beforeOpen"
               v-model="form"
               ref="crud"
               :row-style="rowStyle"
               @row-update="rowUpdate"
               @row-save="rowSave"
               @row-del="rowDel"
@@ -234,17 +235,23 @@
      refreshChange() {
        this.onLoad(this.page, this.query);
      },
      //获取开始时间返回搜索框
      getStartTime(){
           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
             return this.$route.query.startTime
           }
           return '';
      },
      //获取结束时间返回搜索框
      getEndTime(){
           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
             return this.$route.query.endTime
           }
           return '';
      },
      //给行加颜色
      rowStyle({row, column, rowIndex}){
        return {
          color:"#fe1515"
        }
      },
      onLoad(page, params = {}) {
        const { dateTime } = this.query;
src/views/realTimePolice/real.vue
@@ -2,7 +2,7 @@
 * @Author: Morpheus
 * @Date: 2021-03-17 15:21:33
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-04-09 09:59:32
 * @Last Modified time: 2021-04-10 17:33:38
 */
<template>
  <basic-container>
@@ -842,6 +842,18 @@
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    getStartTime(){
           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
             return this.$route.query.startTime
           }
           return '';
      },
      getEndTime(){
           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
             return this.$route.query.endTime
           }
           return '';
      },
    onLoad(page, params = {}) {
      const { releaseTimeRange } = this.query;
      let values = {
src/views/system/cs.vue
@@ -1,81 +1,124 @@
<template>
  <basic-container>
    <avue-crud :option="option"
               :table-loading="loading"
               :data="data"
               ref="crud"
               v-model="form"
               :page.sync="page"
               :permission="permissionList"
               :before-open="beforeOpen"
               @row-del="rowDel"
               row-class-name="tabFontSize"
               @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
      :option="option"
      :table-loading="loading"
      :data="data"
      ref="crud"
      v-model="form"
      :page.sync="page"
      :permission="permissionList"
      :before-open="beforeOpen"
      @row-del="rowDel"
      row-class-name="tabFontSize"
      @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"
    >
      <template slot="menuLeft">
        <el-button type="danger"
                   size="mini"
                   icon="el-icon-delete"
                   v-if="permission.tenant_delete"
                   plain
                   @click="handleDelete">删 除
        <el-button
          type="danger"
          size="mini"
          icon="el-icon-delete"
          v-if="permission.tenant_delete"
          plain
          @click="handleDelete"
          >删 除
        </el-button>
<!--        <el-button size="small"-->
<!--                   plain-->
<!--                   v-if="userInfo.role_name.includes('administrator')"-->
<!--                   icon="el-icon-setting"-->
<!--                   @click="handleSetting">授权配置-->
<!--        </el-button>-->
<!--        <el-button size="small"-->
<!--                   plain-->
<!--                   v-if="userInfo.role_name.includes('administrator')"-->
<!--                   icon="el-icon-coin"-->
<!--                   @click="handleDatasource">数据源配置-->
<!--        </el-button>-->
        <!--        <el-button size="small"-->
        <!--                   plain-->
        <!--                   v-if="userInfo.role_name.includes('administrator')"-->
        <!--                   icon="el-icon-setting"-->
        <!--                   @click="handleSetting">授权配置-->
        <!--        </el-button>-->
        <!--        <el-button size="small"-->
        <!--                   plain-->
        <!--                   v-if="userInfo.role_name.includes('administrator')"-->
        <!--                   icon="el-icon-coin"-->
        <!--                   @click="handleDatasource">数据源配置-->
        <!--        </el-button>-->
      </template>
      <template slot-scope="{row}"
                slot="accountNumber">
        <el-tag>{{ row.accountNumber > 0 ? row.accountNumber : '不限制' }}</el-tag>
      <template slot-scope="{ row }" slot="accountNumber">
        <el-tag>{{
          row.accountNumber > 0 ? row.accountNumber : "不限制"
        }}</el-tag>
      </template>
      <template slot-scope="{row}"
                slot="expireTime">
        <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag>
      <template slot-scope="{ row }" slot="expireTime">
        <el-tag>{{ row.expireTime ? row.expireTime : "不限制" }}</el-tag>
      </template>
      <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>
    </avue-crud>
    <el-dialog title="租户授权配置"
               append-to-body
               :visible.sync="box"
               width="450px">
      <avue-form :option="settingOption" v-model="settingForm" @submit="handleSubmit"/>
    <el-dialog
      title="租户授权配置"
      append-to-body
      :visible.sync="box"
      width="450px"
    >
      <avue-form
        :option="settingOption"
        v-model="settingForm"
        @submit="handleSubmit"
      />
    </el-dialog>
    <el-dialog title="租户数据源配置"
               append-to-body
               :visible.sync="datasourceBox"
               width="450px">
      <avue-form :option="datasourceOption" v-model="datasourceForm" @submit="handleDatasourceSubmit"/>
    <el-dialog
      title="租户数据源配置"
      append-to-body
      :visible.sync="datasourceBox"
      width="450px"
    >
      <avue-form
        :option="datasourceOption"
        v-model="datasourceForm"
        @submit="handleDatasourceSubmit"
      />
    </el-dialog>
  </basic-container>
</template>
<script>
import {getList, getDetail, remove, update, add, setting, datasource,instery,updateInfoy,selectTy,insertss,updateInfos,selectTs,insertsr,updateInfor,selectTr,deletey,deletes,deleter} from "@/api/system/tenant";
import {mapGetters} from "vuex";
import {
  getList,
  getDetail,
  remove,
  update,
  add,
  setting,
  datasource,
  instery,
  updateInfoy,
  selectTy,
  insertss,
  updateInfos,
  selectTs,
  insertsr,
  updateInfor,
  selectTr,
  deletey,
  deletes,
  deleter,
} from "@/api/system/tenant";
import { mapGetters } from "vuex";
import website from "@/config/website";
import {getRoleTree} from "@/api/system/role";
import AvueMap from 'avue-plugin-map'
import { getRoleTree } from "@/api/system/role";
import AvueMap from "avue-plugin-map";
var that;
export default {
  data() {
    that = this;
    return {
@@ -88,17 +131,17 @@
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0
        total: 0,
      },
      option: {
        height: 'auto',
        height: "auto",
        calcHeight: 80,
        size: "mini",
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: false,
        stripe:true,
        stripe: true,
        index: true,
        selection: true,
        viewBtn: true,
@@ -113,11 +156,13 @@
            addDisplay: false,
            editDisplay: false,
            span: 24,
            rules: [{
              required: true,
              message: "请输入租户ID",
              trigger: "blur"
            }]
            rules: [
              {
                required: true,
                message: "请输入租户ID",
                trigger: "blur",
              },
            ],
          },
          {
            label: "客户名称",
@@ -126,11 +171,13 @@
            width: 190,
            span: 12,
            searchSpan: 3,
            rules: [{
              required: true,
              message: "请输入参数名称",
              trigger: "blur"
            }]
            rules: [
              {
                required: true,
                message: "请输入参数名称",
                trigger: "blur",
              },
            ],
          },
          {
            label: "联系人",
@@ -138,11 +185,13 @@
            width: 100,
            search: true,
            searchSpan: 3,
            rules: [{
              required: true,
              message: "请输入联系人",
              trigger: "blur"
            }]
            rules: [
              {
                required: true,
                message: "请输入联系人",
                trigger: "blur",
              },
            ],
          },
          {
            label: "联系电话",
@@ -159,12 +208,12 @@
            type: "select",
            props: {
              label: "name",
              value: "code"
              value: "code",
            },
            cascaderItem: ["city", "district"],
            dicUrl: "/api/blade-system/region/select",
            span: 6,
            className: "cityClass1"
            className: "cityClass1",
          },
          {
            label: "地市",
@@ -177,12 +226,12 @@
            search: true,
            props: {
              label: "name",
              value: "code"
              value: "code",
            },
            dicUrl: "/api/blade-system/region/select?code={{key}}",
            span: 3,
            labelWidth: "0",
            className: "cityClass2"
            className: "cityClass2",
          },
          {
            label: "区县",
@@ -195,31 +244,31 @@
            type: "select",
            props: {
              label: "name",
              value: "code"
              value: "code",
            },
            dicUrl: "/api/blade-system/region/select?code={{key}}",
            span: 3,
            labelWidth: "0",
            className: "cityClass3"
            className: "cityClass3",
          },
          {
            label: '地址',
            prop: 'map',
            label: "地址",
            prop: "map",
            hide: true,
            span: 24,
            component: "AvueMap",
          },
          {
            label: '纬度',
            label: "纬度",
            hide: true,
            addDisplay: false,
            prop: 'wd',
            prop: "wd",
          },
          {
            label: '经度',
            label: "经度",
            hide: true,
            addDisplay: false,
            prop: 'jd',
            prop: "jd",
          },
          {
            label: "账号额度",
@@ -244,32 +293,34 @@
            prop: "type",
            width: 80,
            type: "select",
            rules: [{
              required: true,
              message: "请选择类型",
              trigger: "blur"
            }],
            rules: [
              {
                required: true,
                message: "请选择类型",
                trigger: "blur",
              },
            ],
            dicData: [
              {
                label: "医院",
                value: "0"
                value: "0",
              },
              {
                label: "学校",
                value: "1"
                value: "1",
              },
              {
                label: "小区",
                value: "2"
              }
                value: "2",
              },
            ],
            change: function (value,column) {
            change: function (value, column) {
              if (value.value == "0") {
                that.option.group = [
                  {
                    label: '详细信息',
                    prop: 'detailInfo',
                    icon: 'el-icon-s-order',
                    label: "详细信息",
                    prop: "detailInfo",
                    icon: "el-icon-s-order",
                    column: [
                      {
                        label: "医院等级",
@@ -278,23 +329,27 @@
                        dicData: [],
                        props: {
                          label: "title",
                          value:""
                          value: "",
                        },
                        checkStrictly: true,
                        rules: [{
                          required: true,
                          message: "请输入医院等级",
                          trigger: "blur"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入医院等级",
                            trigger: "blur",
                          },
                        ],
                      },
                      {
                        label: "医院类别",
                        prop: "ht",
                        rules: [{
                          required: true,
                          message: "请输入医院类别",
                          trigger: "blur"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入医院类别",
                            trigger: "blur",
                          },
                        ],
                      },
                      {
                        label: "成立时间",
@@ -302,41 +357,46 @@
                        prop: "ctime",
                        format: "yyyy-MM-dd",
                        valueFormat: "yyyy-MM-dd",
                        rules: [{
                          required: true,
                          message: "请输入成立时间",
                          trigger: "blur"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入成立时间",
                            trigger: "blur",
                          },
                        ],
                      },
                      {
                        label: "地址",
                        prop:"had",
                        rules: [{
                          required: true,
                          message: "请输入地址",
                          trigger: "blur"
                        }]
                        prop: "had",
                        rules: [
                          {
                            required: true,
                            message: "请输入地址",
                            trigger: "blur",
                          },
                        ],
                      },
                      {
                        label: "介绍",
                        prop: "content",
                        rules: [{
                          required: true,
                          message: "请输入介绍",
                          trigger: "blur"
                        }],
                        span:24,
                      }
                    ]
                  }
                  ]
              }
              else if (value.value=="1"){
                        rules: [
                          {
                            required: true,
                            message: "请输入介绍",
                            trigger: "blur",
                          },
                        ],
                        span: 24,
                      },
                    ],
                  },
                ];
              } else if (value.value == "1") {
                that.option.group = [
                  {
                    label: '详细信息',
                    prop: 'dutyInfo',
                    icon: 'el-icon-s-custom',
                    label: "详细信息",
                    prop: "dutyInfo",
                    icon: "el-icon-s-custom",
                    column: [
                      {
                        label: "学校性质",
@@ -345,22 +405,26 @@
                        dicData: [],
                        props: {
                          label: "title",
                          value:""
                          value: "",
                        },
                        rules: [{
                          required: true,
                          message: "请输入学校性质",
                          trigger: "blur"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入学校性质",
                            trigger: "blur",
                          },
                        ],
                      },
                      {
                        label: "校训",
                        prop: "motto",
                        rules: [{
                          required: true,
                          message: "请输入校训",
                          trigger: "blur"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入校训",
                            trigger: "blur",
                          },
                        ],
                      },
                      {
                        label: "创办时间",
@@ -368,38 +432,43 @@
                        prop: "ctime",
                        format: "yyyy-MM-dd",
                        valueFormat: "yyyy-MM-dd",
                        rules: [{
                          required: true,
                          message: "请输入创办时间"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入创办时间",
                          },
                        ],
                      },
                      {
                        label: "地址",
                        prop:"had",
                        rules: [{
                          required: true,
                          message: "请输入地址"
                        }]
                        prop: "had",
                        rules: [
                          {
                            required: true,
                            message: "请输入地址",
                          },
                        ],
                      },
                      {
                        label: "介绍",
                        prop: "content",
                        span:24,
                        rules: [{
                          required: true,
                          message: "请输入介绍"
                        }]
                      }
                    ]
                  }
                ]
              }
              else if (value.value=="2") {
                        span: 24,
                        rules: [
                          {
                            required: true,
                            message: "请输入介绍",
                          },
                        ],
                      },
                    ],
                  },
                ];
              } else if (value.value == "2") {
                that.option.group = [
                  {
                    label: '详细信息',
                    prop: 'baseInfo',
                    icon: 'el-icon-s-solid',
                    label: "详细信息",
                    prop: "baseInfo",
                    icon: "el-icon-s-solid",
                    column: [
                      {
                        label: "小区类别",
@@ -408,62 +477,73 @@
                        dicData: [],
                        props: {
                          label: "title",
                          value:""
                          value: "",
                        },
                        rules: [{
                          required: true,
                          message: "请输入小区类别"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入小区类别",
                          },
                        ],
                      },
                      {
                        label: "小区属性",
                        prop: "attributes",
                        rules: [{
                          required: true,
                          message: "请输入小区属性"
                        }]
                        rules: [
                          {
                            required: true,
                            message: "请输入小区属性",
                          },
                        ],
                      },
                      {
                        label: "开发商",
                        prop:"developers",
                        rules: [{
                          required: true,
                          message: "请输入开发商"
                        }]
                        prop: "developers",
                        rules: [
                          {
                            required: true,
                            message: "请输入开发商",
                          },
                        ],
                      },
                      {
                        label: "地址",
                        prop:"had",
                        rules: [{
                          required: true,
                          message: "请输入地址"
                        }]
                        prop: "had",
                        rules: [
                          {
                            required: true,
                            message: "请输入地址",
                          },
                        ],
                      },
                      {
                        label: "户型",
                        prop:"housetype",
                        rules: [{
                          required: true,
                          message: "请输入户型"
                        }]
                        prop: "housetype",
                        rules: [
                          {
                            required: true,
                            message: "请输入户型",
                          },
                        ],
                      },
                      {
                        label: "介绍",
                        prop: "content",
                        rules: [{
                          required: true,
                          message: "请输入介绍"
                        }],
                        span:24,
                      }
                    ]
                  }
                ]
                        rules: [
                          {
                            required: true,
                            message: "请输入介绍",
                          },
                        ],
                        span: 24,
                      },
                    ],
                  },
                ];
              } else {
                that.option.group = [];
              }
              else {
                that.option.group =[]
              }
            }
            },
          },
          {
            label: "绑定域名",
@@ -473,19 +553,18 @@
          {
            label: "系统背景",
            prop: "backgroundUrl",
            type: 'upload',
            listType: 'picture-img',
            action: '/api/blade-resource/oss/endpoint/put-file',
            type: "upload",
            listType: "picture-img",
            action: "/api/blade-resource/oss/endpoint/put-file",
            propsHttp: {
              res: 'data',
              url: 'link',
              res: "data",
              url: "link",
            },
            hide: true,
            span: 24,
          },
        ],
        group: [
        ]
        group: [],
      },
      data: [],
      settingForm: {},
@@ -505,7 +584,7 @@
            valueFormat: "yyyy-MM-dd hh:mm:ss",
            span: 24,
          },
        ]
        ],
      },
      datasourceForm: {},
      datasourceOption: {
@@ -519,28 +598,34 @@
            dicUrl: "/api/blade-develop/datasource/select",
            props: {
              label: "name",
              value: "id"
              value: "id",
            },
            rules: [{
              required: true,
              message: "请选择数据源",
              trigger: "blur"
            }]
            rules: [
              {
                required: true,
                message: "请选择数据源",
                trigger: "blur",
              },
            ],
          },
        ]
      }
        ],
      },
    };
  },
  //报错: TypeError: val is undefined 处理时间2021.4.10,处理人  liuyg
  // watch:{
  //   'form.map':{// form是表单或者表格绑定的数据集,v-model='form'
  //     handler(val){
  //       this.form.jd = val.latitude
  //       this.form.wd = val.longitude
  //     },
  //     immediate: true
  //   }
  // },
  watch: {
    "form.map": {
      // form是表单或者表格绑定的数据集,v-model='form'
      handler(val) {
        if (val) {
          this.form.wd = val.latitude;
          this.form.jd = val.longitude;
        }
      },
      immediate: true,
    },
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
    permissionList() {
@@ -548,80 +633,124 @@
        addBtn: this.vaildData(this.permission.tenant_add, false),
        viewBtn: this.vaildData(this.permission.tenant_view, false),
        delBtn: this.vaildData(this.permission.tenant_delete, false),
        editBtn: this.vaildData(this.permission.tenant_edit, false)
        editBtn: this.vaildData(this.permission.tenant_edit, false),
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach(ele => {
      this.selectionList.forEach((ele) => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    tenantId() {
      return this.selectionList[0].tenantId;
    }
    },
  },
  methods: {
    rowSave(row, done, loading) {
      add(row).then(() => {
        if (row.type=="0"){
          instery(row.dj,row.had,row.ht,row.ctime,row.content,row.tenantName);
      add(row).then(
        () => {
          if (row.type == "0") {
            instery(
              row.dj,
              row.had,
              row.ht,
              row.ctime,
              row.content,
              row.tenantName
            );
          } else if (row.type == "1") {
            insertss(
              row.nature,
              row.had,
              row.motto,
              row.ctime,
              row.content,
              row.tenantName
            );
          } else if (row.type == "2") {
            insertsr(
              row.category,
              row.attributes,
              row.developers,
              row.had,
              row.housetype,
              row.content,
              row.hn
            );
          }
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
        else if (row.type=="1"){
          insertss(row.nature,row.had,row.motto,row.ctime,row.content,row.tenantName);
        }
        else if (row.type=="2") {
          insertsr(row.category, row.attributes, row.developers,row.had, row.housetype, row.content, row.hn)
        }
        this.onLoad(this.page);
        this.$message({
          type: "success",
          message: "操作成功!"
        });
        done();
      }, error => {
        window.console.log(error);
        loading();
      });
      );
    },
    rowUpdate(row, index, done, loading) {
      if (row.type=="0"){
        updateInfoy(row.dj,row.had,row.ht,row.ctime,row.content,row.tenantName);
      if (row.type == "0") {
        updateInfoy(
          row.dj,
          row.had,
          row.ht,
          row.ctime,
          row.content,
          row.tenantName
        );
      } else if (row.type == "1") {
        updateInfos(
          row.nature,
          row.had,
          row.motto,
          row.ctime,
          row.content,
          row.tenantName
        );
      } else if (row.type == "2") {
        updateInfor(
          row.category,
          row.attributes,
          row.developers,
          row.had,
          row.housetype,
          row.content,
          row.tenantName
        );
      }
      else if (row.type=="1"){
        updateInfos(row.nature,row.had,row.motto,row.ctime,row.content,row.tenantName);
      }
      else if (row.type=="2"){
        updateInfor(row.category, row.attributes, row.developers,row.had, row.housetype, row.content, row.tenantName)
      }
      update(row).then(() => {
        this.onLoad(this.page);
        this.$message({
          type: "success",
          message: "操作成功!"
        });
        done();
      }, error => {
        window.console.log(error);
        loading();
      });
      update(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
        type: "warning",
      })
        .then(() => {
          if (row.type=="0"){
            deletey(row.tenantName)
          }
          else if (row.type=="1"){
            deletes(row.tenantName)
          }
          else if (row.type=="2"){
            deleter(row.tenantName)
          if (row.type == "0") {
            deletey(row.tenantName);
          } else if (row.type == "1") {
            deletes(row.tenantName);
          } else if (row.type == "2") {
            deleter(row.tenantName);
          }
          return remove(row.id);
        })
@@ -629,61 +758,57 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
            message: "操作成功!",
          });
        });
    },
    beforeOpen(done, type) {
      if (["edit"].includes(type)) {
        getDetail(this.form.id).then(res => {
          if (this.form.type=="1"){
        getDetail(this.form.id).then((res) => {
          if (this.form.type == "1") {
            const data = res.data.data;
            selectTs(this.form.tenantName).then( re=>{
            selectTs(this.form.tenantName).then((re) => {
              const data = res.data.data;
              data.nature=re.data.data[0].nature
              data.motto=re.data.data[0].motto
              data.ctime=re.data.data[0].ctime
              data.had=re.data.data[0].had
              data.content=re.data.data[0].content
              data.nature = re.data.data[0].nature;
              data.motto = re.data.data[0].motto;
              data.ctime = re.data.data[0].ctime;
              data.had = re.data.data[0].had;
              data.content = re.data.data[0].content;
              this.form = data;
            })
          }
          else if (this.form.type=="0"){
            selectTy(this.form.tenantName).then( re=>{
            });
          } else if (this.form.type == "0") {
            selectTy(this.form.tenantName).then((re) => {
              const data = res.data.data;
              data.dj=re.data.data[0].dj
              data.ht=re.data.data[0].ht
              data.ctime=re.data.data[0].ctime
              data.had=re.data.data[0].had
              data.content=re.data.data[0].content
              data.dj = re.data.data[0].dj;
              data.ht = re.data.data[0].ht;
              data.ctime = re.data.data[0].ctime;
              data.had = re.data.data[0].had;
              data.content = re.data.data[0].content;
              this.form = data;
            })
          }
          else if (this.form.type=="2"){
            selectTr(this.form.tenantName).then( re=>{
            });
          } else if (this.form.type == "2") {
            selectTr(this.form.tenantName).then((re) => {
              const data = res.data.data;
              data.category=re.data.data[0].category
              data.attributes=re.data.data[0].attributes
              data.developers=re.data.data[0].developers
              data.had=re.data.data[0].had
              data.housetype=re.data.data[0].housetype
              data.content=re.data.data[0].content
              data.category = re.data.data[0].category;
              data.attributes = re.data.data[0].attributes;
              data.developers = re.data.data[0].developers;
              data.had = re.data.data[0].had;
              data.housetype = re.data.data[0].housetype;
              data.content = re.data.data[0].content;
              this.form = data;
            })
            });
          }
        });
      }
      else if (["view"].includes(type)){
        getDetail(this.form.id).then(res => {
          if (this.form.type=="1") {
            selectTs(this.form.tenantName).then( re=>{
      } else if (["view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
          if (this.form.type == "1") {
            selectTs(this.form.tenantName).then((re) => {
              const data = res.data.data;
              data.nature=re.data.data[0].nature
              data.motto=re.data.data[0].motto
              data.ctime=re.data.data[0].ctime
              data.had=re.data.data[0].had
              data.content=re.data.data[0].content
              data.nature = re.data.data[0].nature;
              data.motto = re.data.data[0].motto;
              data.ctime = re.data.data[0].ctime;
              data.had = re.data.data[0].had;
              data.content = re.data.data[0].content;
              if (!(data.accountNumber > 0)) {
                data.accountNumber = "不限制";
              }
@@ -691,16 +816,15 @@
                data.expireTime = "不限制";
              }
              this.form = data;
            })
          }
          else if (this.form.type=="0"){
            selectTy(this.form.tenantName).then( re=>{
            });
          } else if (this.form.type == "0") {
            selectTy(this.form.tenantName).then((re) => {
              const data = res.data.data;
              data.dj=re.data.data[0].dj
              data.ht=re.data.data[0].ht
              data.ctime=re.data.data[0].ctime
              data.had=re.data.data[0].had
              data.content=re.data.data[0].content
              data.dj = re.data.data[0].dj;
              data.ht = re.data.data[0].ht;
              data.ctime = re.data.data[0].ctime;
              data.had = re.data.data[0].had;
              data.content = re.data.data[0].content;
              if (!(data.accountNumber > 0)) {
                data.accountNumber = "不限制";
              }
@@ -708,17 +832,16 @@
                data.expireTime = "不限制";
              }
              this.form = data;
            })
          }
          else if (this.form.type=="2"){
            selectTr(this.form.tenantName).then( re=>{
            });
          } else if (this.form.type == "2") {
            selectTr(this.form.tenantName).then((re) => {
              const data = res.data.data;
              data.category=re.data.data[0].category
              data.attributes=re.data.data[0].attributes
              data.developers=re.data.data[0].developers
              data.had=re.data.data[0].had
              data.housetype=re.data.data[0].housetype
              data.content=re.data.data[0].content
              data.category = re.data.data[0].category;
              data.attributes = re.data.data[0].attributes;
              data.developers = re.data.data[0].developers;
              data.had = re.data.data[0].had;
              data.housetype = re.data.data[0].housetype;
              data.content = re.data.data[0].content;
              if (!(data.accountNumber > 0)) {
                data.accountNumber = "不限制";
              }
@@ -726,7 +849,7 @@
                data.expireTime = "不限制";
              }
              this.form = data;
            })
            });
          }
        });
      }
@@ -757,7 +880,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
        type: "warning",
      })
        .then(() => {
          return remove(this.ids);
@@ -766,7 +889,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
            message: "操作成功!",
          });
          this.$refs.crud.toggleSelection();
        });
@@ -777,14 +900,14 @@
        return;
      }
      if (this.selectionList.length === 1) {
        getDetail(this.selectionList[0].id).then(res => {
        getDetail(this.selectionList[0].id).then((res) => {
          const data = res.data.data;
          this.settingForm.accountNumber = data.accountNumber;
          this.settingForm.expireTime = data.expireTime;
        });
      } else {
        this.settingForm.accountNumber = -1;
        this.settingForm.expireTime = '';
        this.settingForm.expireTime = "";
      }
      this.box = true;
    },
@@ -797,38 +920,44 @@
        this.$message.warning("只能选择一条数据");
        return;
      }
      getDetail(this.selectionList[0].id).then(res => {
      getDetail(this.selectionList[0].id).then((res) => {
        const data = res.data.data;
        this.datasourceForm.datasourceId = data.datasourceId;
      });
      this.datasourceBox = true;
    },
    handleSubmit(form, done, loading) {
      setting(this.ids, form).then(() => {
        this.onLoad(this.page);
        this.$message({
          type: "success",
          message: "配置成功!"
        });
        done();
        this.box = false;
      }, error => {
        window.console.log(error);
        loading();
      });
      setting(this.ids, form).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "配置成功!",
          });
          done();
          this.box = false;
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    handleDatasourceSubmit(form, done, loading) {
      datasource(this.tenantId, form.datasourceId).then(() => {
        this.$message({
          type: "success",
          message: "配置成功!"
        });
        done();
        this.datasourceBox = false;
      }, error => {
        window.console.log(error);
        loading();
      });
      datasource(this.tenantId, form.datasourceId).then(
        () => {
          this.$message({
            type: "success",
            message: "配置成功!",
          });
          done();
          this.datasourceBox = false;
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
@@ -841,76 +970,134 @@
    },
    onLoad(page, params = {}) {
      this.loading = true;
      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
      getList(
        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">
<style lang="scss" >
//scoped
$city-m-l: 10px;
  /*页面样式*/
  .el-card__body .cityClass1 {
    width: 155px;
    padding-right: 0px !important;
    margin-left: $city-m-l;
  }
/*页面样式clientManagement.vue的样式   liuyg改*/
.el-card__body .city1 {
  width: 155px;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
  .el-card__body .cityClass2 {
    width: 100px;
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-left: $city-m-l;
  }
.el-card__body .city2 {
  width: 100px;
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
  .el-card__body .cityClass3 {
    width: 100px;
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-left: $city-m-l;
  }
.el-card__body .city3 {
  width: 100px;
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
  /*新增窗体样式*/
  .el-dialog .cityClass1 {
    width: 220px;
    padding-right: 0px !important;
    margin-left: $city-m-l;
  }
/*新增窗体样式*/
.el-dialog .city1 {
  width: 210px;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
  .el-dialog .cityClass2 {
    width: 130px;
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-left: $city-m-l;
  }
.el-dialog .city2 {
  width: 105px;
  padding-left: 5px !important;
  padding-right: 5px !important;
  margin-left: $city-m-l;
}
  .el-dialog .cityClass3 {
    width: 130px;
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-left: $city-m-l;
  }
.el-dialog .city3 {
  width: 105px;
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
.city2 div label {
  display: none;
}
  .cityClass2 div label {
    display: none;
  }
.city3 div label {
  display: none;
}
  .cityClass3 div label {
    display: none;
  }
/*页面样式*/
.el-card__body .cityClass1 {
  width: 155px;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
  .tabFontSize{
    font-size: 15px;
  }
.el-card__body .cityClass2 {
  width: 100px;
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
.el-input__inner{
.el-card__body .cityClass3 {
  width: 100px;
  padding-left: 0px !important;
  padding-right: 0px !important;
  margin-left: $city-m-l;
}
/*新增窗体样式*/
.el-dialog .cityClass1,
.el-dialog .cityClass2,
.el-dialog .cityClass3 {
  margin-left: $city-m-l;
  position: relative;
  left: -10px;
}
.el-dialog .cityClass1 {
  width: 220px;
  padding-right: 0px !important;
}
.el-dialog .cityClass2 {
  width: 130px;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.el-dialog .cityClass3 {
  width: 130px;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.cityClass2 div label {
  display: none;
}
.cityClass3 div label {
  display: none;
}
.tabFontSize {
  font-size: 15px;
}
.el-input__inner {
  width: aotu;
}
</style>