From b62d491b5cde9253d59dd229e8bb658c9b76e45f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 02 Apr 2021 11:57:29 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jfpt-Vue

---
 src/views/parcel/parcelKind.vue             |   27 
 src/views/animalHeat/animalHeat.vue         |    7 
 src/views/healthcode/healthcode.vue         |   23 
 src/api/system/tenant.js                    |  143 +++++++
 src/views/parcel/parcel.vue                 |   21 
 src/views/system/cs.vue                     |  560 ++++++++++++++++++++++-----
 src/views/alarmManagement/alarmAnalysis.vue |  404 ++++++++++++++++++++
 7 files changed, 1,045 insertions(+), 140 deletions(-)

diff --git a/src/api/system/tenant.js b/src/api/system/tenant.js
index b0091e6..a97c008 100644
--- a/src/api/system/tenant.js
+++ b/src/api/system/tenant.js
@@ -21,6 +21,62 @@
     }
   })
 }
+export const selectTy = (hn) => {
+  return request({
+    url: '/api/blade-system/tenant/selectTy',
+    method: 'post',
+    params: {
+      hn
+    }
+  })
+}
+export const deletey = (hn) => {
+  return request({
+    url: '/api/blade-system/tenant/deletey',
+    method: 'post',
+    params: {
+      hn
+    }
+  })
+}
+export const deletes = (hn) => {
+  return request({
+    url: '/api/blade-system/tenant/deletes',
+    method: 'post',
+    params: {
+      hn
+    }
+  })
+}
+export const deleter = (hn) => {
+  return request({
+    url: '/api/blade-system/tenant/deleter',
+    method: 'post',
+    params: {
+      hn
+    }
+  })
+}
+
+
+export const selectTs = (hn) => {
+  return request({
+    url: '/api/blade-system/tenant/selectTs',
+    method: 'post',
+    params: {
+      hn
+    }
+  })
+}
+export const selectTr = (hn) => {
+  return request({
+    url: '/api/blade-system/tenant/selectTr',
+    method: 'post',
+    params: {
+      hn
+    }
+  })
+}
 
 export const remove = (ids) => {
   return request({
@@ -47,6 +103,93 @@
     data: row
   })
 }
+export const instery = (dj, had, ht, ctime, content,hn) => {
+  return request({
+    url: '/api/blade-system/tenant/instery',
+    method: 'post',
+    params: {
+      dj,
+      had,
+      ht,
+      ctime,
+      content,
+      hn
+    }
+  })
+}
+export const insertsr = (category, attributes, developers, had, housetype, content, hn) => {
+  return request({
+    url: '/api/blade-system/tenant/insertsr',
+    method: 'post',
+    params: {
+      category,
+      attributes,
+      developers,
+      had,
+      housetype,
+      content,
+      hn
+    }
+  })
+}
+export const updateInfor = (category, attributes, developers, had, housetype, content, hn) => {
+  return request({
+    url: '/api/blade-system/tenant/updateInfor',
+    method: 'post',
+    params: {
+      category,
+      attributes,
+      developers,
+      had,
+      housetype,
+      content,
+      hn
+    }
+  })
+}
+
+export const updateInfoy = (dj, had, ht, ctime, content,hn) => {
+  return request({
+    url: '/api/blade-system/tenant/updateInfoy',
+    method: 'post',
+    params: {
+      dj,
+      had,
+      ht,
+      ctime,
+      content,
+      hn
+    }
+  })
+}
+export const insertss = (nature, had, motto, ctime, content,hn) => {
+  return request({
+    url: '/api/blade-system/tenant/insertss',
+    method: 'post',
+    params: {
+      nature,
+      had,
+      motto,
+      ctime,
+      content,
+      hn
+    }
+  })
+}
+export const updateInfos = (nature, had, motto, ctime, content,hn) => {
+  return request({
+    url: '/api/blade-system/tenant/updateInfoy',
+    method: 'post',
+    params: {
+      nature,
+      had,
+      motto,
+      ctime,
+      content,
+      hn
+    }
+  })
+}
 
 export const setting = (ids, form) => {
   return request({
diff --git a/src/views/alarmManagement/alarmAnalysis.vue b/src/views/alarmManagement/alarmAnalysis.vue
new file mode 100644
index 0000000..6e2b80b
--- /dev/null
+++ b/src/views/alarmManagement/alarmAnalysis.vue
@@ -0,0 +1,404 @@
+<template>
+  <div>
+    <!-- 标题 -->
+    <div class="alarm_title"><span>预警分析</span></div>
+    <!-- 时间按钮 -->
+    <div class="timeSearchBtn">
+      <el-button-group class="timeBtn">
+        <el-button size="mini" @click="getData(1)">本周</el-button>
+        <el-button size="mini" @click="getData(2)">月初至今</el-button>
+        <el-button size="mini" @click="getData(3)">季度至今</el-button>
+      </el-button-group>
+      <el-date-picker class="timeSearch" size="mini" v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> 
+      </el-date-picker>
+    </div>
+    <!-- 监测点 -->
+    <div class="statisTotal">
+      <avue-data-box :option="statisToTalData" class="statisTotalAvueDataBox"></avue-data-box>
+    </div>
+    <!-- 预警数量分布 -->
+    <div class="alarmStatis">
+      <div id="alarmNumberStatis">
+      </div>
+      <div class="alarmClassifyStatis">
+        <avue-data-cardtext :option="alarmClassifyStatis"></avue-data-cardtext>
+      </div>
+      
+    </div>
+    <!-- 预警类型占比 -->
+    <div></div>
+  </div>
+</template>
+
+<script>
+  import echarts from 'echarts'
+
+  export default {
+    data(){
+      return {
+        statisToTalData: {
+          span:6,
+          data: []
+        },
+        dateTime: '',
+        alarmClassifyStatis:{
+          span:6,
+          data: []
+        }
+      };
+    },
+
+    mounted() {
+      this.getStatisTotalData();
+      this.getAlarmNumberStatis();
+      this.getAlarmClassifyStatis();
+    },
+
+    methods: {
+      //警情统计总数
+      getStatisTotalData(){
+        var that = this;
+        that.statisToTalData.data = [
+            {
+              click: function (item) {
+                alert(JSON.stringify(item));
+              },
+              title: '错误日志',
+              count: 12332,
+              icon: 'el-icon-warning',
+              color: '#3AA7F0',
+              href:'https://avuejs.com',
+              target:'_blank'
+            },
+            {
+              click: function (item) {
+                alert(JSON.stringify(item));
+              },
+              title: '数据展示',
+              count: 33,
+              icon: 'el-icon-warning',
+              color: '#F34A4A',
+              href:'https://avuejs.com',
+              target:'_blank'
+            },
+            {
+              click: function (item) {
+                alert(JSON.stringify(item));
+              },
+              title: '权限管理',
+              count: 2223,
+              icon: 'el-icon-setting',
+              color: '#8058A5',
+              href:'https://avuejs.com',
+              target:'_blank'
+            },
+            {
+              click: function (item) {
+                alert(JSON.stringify(item));
+              },
+              title: '权限管理',
+              count: 2223,
+              icon: 'el-icon-setting',
+              color: '#29C093',
+              href:'https://avuejs.com',
+              target:'_blank'
+            },
+          ];
+      },
+
+      //警情类别统计总数
+      getAlarmClassifyStatis(){
+          var that = this;
+        that.alarmClassifyStatis.data = [
+            {
+                click: function (item) {
+                  alert(JSON.stringify(item));
+                },
+                title:'香菜',
+                color:'yellow',
+                href:"http://www.baidu.com",
+                target:'_blank',
+                name:'文件上传',
+                date:'1天前'
+            },
+            {
+                click: function (item) {
+                  alert(JSON.stringify(item));
+                },
+                title:'钉宫',
+                color:'green',
+                href:"http://www.baidu.com",
+                name:'流加载',
+                date:'1天前'
+            },
+            {
+                click: function (item) {
+                  alert(JSON.stringify(item));
+                },
+                title:'亚丝娜',
+                color:'#3fa1ff',
+                href:"http://www.baidu.com",
+                name:'表单',
+                date:'1天前'
+            },
+            {
+                click: function (item) {
+                  alert(JSON.stringify(item));
+                },
+                title:'狂三',
+                color:'red',
+                href:"http://www.baidu.com",
+                name:'文件上传',
+                date:'1天前'
+            }
+          ];
+      },
+
+      //预警数量分布
+      getAlarmNumberStatis(){
+          let echarts = require('echarts');
+          let myChart = echarts.init(document.getElementById('alarmNumberStatis'));
+          let option = {
+            color: ['#3AA7F0'],
+            title: {
+              textStyle: {
+                        fontWeight: 'normal',
+                        fontSize: 16,
+                        color: '#000'
+                    },
+                    left: '5%',
+                    top: 25,
+                    textAlign:'center',
+              text: '预警数量分布'
+            },
+            tooltip : {
+              trigger: 'axis',
+              axisPointer : {
+                type : 'shadow'
+              }
+            },
+            grid: {
+                left: '1%',
+                right: '5%',
+                bottom: '7%',
+                top: '20%',
+                containLabel: true
+            },
+            xAxis : [
+              {
+                type : 'category',
+                data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月',],
+                axisTick: {
+                  alignWithLabel: true
+                }
+              }
+            ],
+            yAxis : [
+              {
+                type : 'value'
+              }
+            ],
+            series : [
+              {
+                name:'每月花费',
+                type:'bar',
+                barWidth: '60%',
+                data:[995,666,444,858,654,236,645,546,846,225,547,356]
+              }
+            ]
+          };
+          myChart.setOption(option);
+    
+          //建议加上以下这一行代码,不加的效果图如下(当浏览器窗口缩小的时候)。超过了div的界限(红色边框)
+          window.addEventListener('resize',function() {myChart.resize()});
+      },
+
+      //点击按钮获取不同时间段的数据
+      getData(data){
+          var that = this;
+          var today = new Date();
+          var startTime ='';
+          var endTime = '';
+          //本周的时间
+          if(data==1){
+            startTime = this.showWeekFirstDay(today);
+            endTime = this.showToDay(today);
+            that.dateTime = [startTime,endTime];
+          }
+          //月初至今的时间
+          if(data==2){
+            startTime = this.showMonthFirstDay(today);
+            endTime = this.showToDay(today);
+            that.dateTime = [startTime,endTime];
+          }
+          //本季度初至今的时间
+          if(data==3){
+            startTime = this.getQuarterStartDate(today);
+            endTime = this.showToDay(today);
+            that.dateTime = [startTime,endTime];
+          }
+      },
+
+      //本日
+      showToDay(Nowdate){   
+        var M=Number(Nowdate.getMonth())+1;
+        console.log(Nowdate.getFullYear,111);
+        return Nowdate.getFullYear()+"-"+M+"-"+Nowdate.getDate();   
+      },
+
+      //本周第一天
+      showWeekFirstDay(Nowdate){   
+        var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);   
+        var M=Number(WeekFirstDay.getMonth())+1;   
+        return WeekFirstDay.getFullYear()+"-"+M+"-"+WeekFirstDay.getDate();
+      },
+
+      //本月第一天
+      showMonthFirstDay(Nowdate){   
+        var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);   
+        var M=Number(MonthFirstDay.getMonth())+1   
+        return MonthFirstDay.getFullYear()+"-"+M+"-"+MonthFirstDay.getDate();   
+      },
+
+      //本季度的第一天
+      getQuarterStartDate(Nowdate){
+        var quarterStartDate = this.getQuarterStartMonth(Nowdate);
+        return Nowdate.getFullYear()+"-"+quarterStartDate+"-"+"01";
+      },
+
+
+      //本季度的第一个月份
+      getQuarterStartMonth(Nowdate){
+        var nowMonth = Nowdate.getMonth()+1;
+        console.log(nowMonth,555);
+        var quarterStartMonth = 0;
+        if(nowMonth<4){
+          quarterStartMonth = "0"+1;
+        }
+        if(3<nowMonth && nowMonth<7){
+          quarterStartMonth = "0"+4;
+        }
+        if(6<nowMonth && nowMonth<10){
+          quarterStartMonth = "0"+7;
+        }
+        if(nowMonth>9){
+          quarterStartMonth = 10;
+        }
+        return quarterStartMonth;
+      }
+
+
+
+
+    },
+
+  }
+    
+  
+</script>
+<style lang="scss">
+    .alarm_title{
+      width: 100%;
+      height: 3%;
+    }
+
+   .alarm_title span{
+      font-size: 12px;
+      color: #7B91B4;
+      left: 1%;
+      position: relative;
+   }
+
+   .timeSearchBtn{
+      width: 100%;
+      height: 4%;
+   }
+
+   .timeSearchBtn .timeBtn{
+      position: relative;
+      left: 0.8%;
+      top: 15%;
+   } 
+
+   .timeSearchBtn .timeSearch{
+      position: relative;
+      left: 1.2%;
+      top: 15.6%;
+   }
+
+   .statisTotal{
+     position: relative;
+     left: 0.3%;
+     top: 2%;
+     width: 100%;
+     height: 10%;
+   }
+
+   /* .statisTotal statisTotalAvueDataBox{
+     position: relative !important;
+     top: 22% !important;
+     left: 1% !important;
+   } */
+
+   .statisTotalAvueDataBox .el-row {
+     width: 99.7% !important;
+   }
+
+   .alarmStatis{
+     background-color: #ffffff;
+     width: 98.6%;
+     height: 550px;
+     position: relative;
+     left: 0.8%;
+     top: 6%;
+   }
+
+   #alarmNumberStatis{
+    width: 75%;
+    height: 550px;
+    position: relative;
+    left: 2%;
+  }
+
+  .alarmClassifyStatis{
+    width: 25%;
+    height: 550px;
+    position: relative;
+    left: 75%;
+    top: -85%;
+  }
+
+  .alarmClassifyStatis .avue-data-cardtext{
+    width: 100%;
+    height: 90%;
+  }
+
+  .avue-data-cardText .item{
+    -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;
+  }
+
+  .alarmClassifyStatis .el-col{
+    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;
+  }
+
+  .avue-data-cardText .item-header i{
+    font-size: 14px;
+  }
+</style>
\ No newline at end of file
diff --git a/src/views/animalHeat/animalHeat.vue b/src/views/animalHeat/animalHeat.vue
index ea8d7eb..3bccd64 100644
--- a/src/views/animalHeat/animalHeat.vue
+++ b/src/views/animalHeat/animalHeat.vue
@@ -135,6 +135,7 @@
               label: "体温状态",
               search: true,
               searchLabelWidth: 120,
+              searchValue: this.getAnimalType(),
               prop: "status",
               searchSpan: 5,
               width:110,
@@ -221,6 +222,12 @@
         this.page.currentPage = 1;
         this.onLoad(this.page, params);
       },
+      //体温状态回填
+      getAnimalType(){
+          if (this.$route.query.status != undefined) {
+              return this.$route.query.status
+          }
+      },
       onLoad(page, params = {}) {
         const { dateTime } = this.query;
         let values = {
diff --git a/src/views/healthcode/healthcode.vue b/src/views/healthcode/healthcode.vue
index 6485a3b..0d0fcc7 100644
--- a/src/views/healthcode/healthcode.vue
+++ b/src/views/healthcode/healthcode.vue
@@ -9,6 +9,7 @@
                v-model="form"
                ref="crud"
                :row-style="rowStyle"
+               :search.sync="search"
                @row-update="rowUpdate"
                @row-save="rowSave"
                @row-del="rowDel"
@@ -53,6 +54,7 @@
       return {
         form: {},
         query: {},
+        search:{},
         loading: true,
         page: {
           pageSize: 10,
@@ -160,9 +162,10 @@
             {
               label: "健康码颜色",
               search: true,
-              searchLabelWidth:100,
+              searchLabelWidth:120,
               prop: "type",
-              searchSpan: 3,
+              searchSpan: 4,
+              searchValue: this.getHealthcodeType(),
               width:210,
               type: "select",
               dicData: [
@@ -186,6 +189,9 @@
         isActive: false,
         recorder: null,
       };
+    },
+    mounted:{
+
     },
     computed: {
       ...mapGetters(["permission"]),
@@ -241,8 +247,16 @@
            }
          }
       },
+      getHealthcodeType(){
+          if (this.$route.query.type != undefined) {
+              var type = this.$route.query.type+"";
+              this.$route.query = {};
+              return type;
+          }
+      },
       getHealthcodeData(e) {
-        this.activeClass = e;
+        var that = this;
+        that.activeClass = e;
         //status 0:本日  1:本月  2:本年   type: 1:绿色   2:黄色  3:红色
         var params = {
           status: e
@@ -283,6 +297,7 @@
                 status:this.$route.query.status,
                 type:this.$route.query.type
             }
+            
         }
 
         if (dateTime) {
@@ -318,4 +333,4 @@
     background-color: rgb(64, 158, 255);
     border-color: rgb(64, 158, 255);
   }
-</style>
+</style>
\ No newline at end of file
diff --git a/src/views/parcel/parcel.vue b/src/views/parcel/parcel.vue
index 58e755a..6eb9cc3 100644
--- a/src/views/parcel/parcel.vue
+++ b/src/views/parcel/parcel.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"
@@ -20,7 +21,7 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
         
-      <template slot-scope="{ type, size, row }" slot="menu">
+      <!-- <template slot-scope="{ type, size, row }" slot="menu">
 
         <el-button
           v-if="row.imgUrl != null || row.imgUrl != ''"
@@ -30,7 +31,7 @@
           @click.stop="handleParcelPic(row)"
           >查看包裹图片
         </el-button>
-      </template>
+      </template> -->
       
     </avue-crud>
     <template>
@@ -68,6 +69,7 @@
         },
         selectionList: [],
         option: {
+          menu:false,
           height:'auto',
           calcHeight: 30,
           tip: false,
@@ -230,6 +232,13 @@
         this.onLoad(this.page, params);
         done();
       },
+      rowClick(row){
+        var that=this;
+        getParcelPic(row.imgUrl).then(res => {
+            that.imgUrl = res.data.data.imgBase64;
+            this.showViewer = true
+          });
+      },
       selectionChange(list) {
         this.selectionList = list;
       },
@@ -323,14 +332,6 @@
           this.loading = false;
           this.selectionClear();
         });
-      },
-      handleParcelPic(row) {
-        var that=this;
-        getParcelPic(row.imgUrl).then(res => {
-            that.imgUrl = res.data.data.imgBase64;
-            //that.$refs.preview.clickHandler();
-            this.showViewer = true
-          });
       },
       // 关闭查看器
       closeViewer() {
diff --git a/src/views/parcel/parcelKind.vue b/src/views/parcel/parcelKind.vue
index 3797f73..bddc094 100644
--- a/src/views/parcel/parcelKind.vue
+++ b/src/views/parcel/parcelKind.vue
@@ -11,6 +11,7 @@
                @row-update="rowUpdate"
                @row-save="rowSave"
                @row-del="rowDel"
+               @row-click="rowClick"
                @search-change="searchChange"
                @search-reset="searchReset"
                @selection-change="selectionChange"
@@ -18,7 +19,7 @@
                @size-change="sizeChange"
                @refresh-change="refreshChange"
                @on-load="onLoad">
-      <template slot-scope="{ type, size, row }" slot="menu">
+      <!-- <template slot-scope="{ type, size, row }" slot="menu">
         <el-button
           v-if="row.imgUrl != null || row.imgUrl != ''"
           icon="el-icon-view"
@@ -27,16 +28,10 @@
           @click.stop="handleParcelPic(row)"
           >查看包裹图片
         </el-button>
-      </template>
+      </template> -->
     </avue-crud>
     <template>
       <div>
-        <!-- style="display:none" -->
-        <!-- <el-image 
-        ref="preview"
-        :src="'data:image/png;base64,'+imgUrl"
-        :preview-src-list="['data:image/png;base64,'+imgUrl]"
-        z-index=9999></el-image> -->
         <el-image-viewer 
                      class="img"
                      v-if="showViewer" 
@@ -76,6 +71,7 @@
         },
         selectionList: [],
         option: {
+          menu:false,
           height:'auto',
           calcHeight: 30,
           tip: false,
@@ -221,6 +217,13 @@
         this.selectionList = [];
         this.$refs.crud.toggleSelection();
       },
+      rowClick(row){
+        var that=this;
+        getParcelPic(row.imgUrl).then(res => {
+            that.imgUrl = res.data.data.imgBase64;
+            this.showViewer = true
+          });
+      },
       currentChange(currentPage){
         this.page.currentPage = currentPage;
       },
@@ -287,14 +290,6 @@
           this.loading = false;
           this.selectionClear();
         });
-      },
-      handleParcelPic(row) {
-        var that = this;
-        getParcelPic(row.imgUrl).then(res => {
-            that.imgUrl = res.data.data.imgBase64;
-            //that.$refs.preview.clickHandler();
-            this.showViewer = true
-          });
       },
       // 关闭查看器
       closeViewer() {
diff --git a/src/views/system/cs.vue b/src/views/system/cs.vue
index 40e93c1..5c0b87e 100644
--- a/src/views/system/cs.vue
+++ b/src/views/system/cs.vue
@@ -26,18 +26,18 @@
                    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">
@@ -47,9 +47,8 @@
                 slot="expireTime">
         <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag>
       </template>
-      <template slot-scope="{ row }" slot="jfzt">
-        <i class="el-icon-check client-jf" v-if="row.type == '0'"></i>
-        <i class="el-icon-close client-qf" v-else-if="row.type == '1'"></i>
+      <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="租户授权配置"
@@ -68,13 +67,16 @@
 </template>
 
 <script>
-import {getList, getDetail, remove, update, add, setting, datasource} from "@/api/system/tenant";
+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 AvueMap from 'avue-plugin-map'
 import website from "@/config/website";
-
+import {getRoleTree} from "@/api/system/role";
+import AvueMap from 'avue-plugin-map'
+var that;
 export default {
+
   data() {
+    that = this;
     return {
       form: {},
       selectionList: [],
@@ -114,11 +116,11 @@
             }]
           },
           {
-            label: "用户名称",
+            label: "客户名称",
             prop: "tenantName",
             search: true,
             width: 190,
-            span: 24,
+            span: 12,
             rules: [{
               required: true,
               message: "请输入参数名称",
@@ -142,10 +144,83 @@
             width: 150,
           },
           {
+            label: "省份",
+            prop: "province",
+            search: true,
+            searchSpan: 3,
+            searchLabelWidth: 45,
+            placeholder: "省份",
+            type: "select",
+            props: {
+              label: "name",
+              value: "code"
+            },
+            cascaderItem: ["city", "district"],
+            dicUrl: "/api/blade-system/region/select",
+            span: 6,
+            className: "cityClass1"
+          },
+          {
+            label: "地市",
+            prop: "city",
+            type: "select",
+            searchPlaceholder: "地市",
+            placeholder: "地市",
+            searchLabelWidth: 1,
+            searchSpan: 2,
+            search: true,
+            props: {
+              label: "name",
+              value: "code"
+            },
+            dicUrl: "/api/blade-system/region/select?code={{key}}",
+            span: 3,
+            labelWidth: "0",
+            className: "cityClass2"
+          },
+          {
+            label: "区县",
+            searchSpan: 2,
+            searchLabelWidth: 1,
+            searchPlaceholder: "区县",
+            placeholder: "区县",
+            search: true,
+            prop: "district",
+            type: "select",
+            props: {
+              label: "name",
+              value: "code"
+            },
+            dicUrl: "/api/blade-system/region/select?code={{key}}",
+            span: 3,
+            labelWidth: "0",
+            className: "cityClass3"
+          },
+          {
+            label: '坐标',
+            prop: 'map',
+            hide: true,
+            span: 24,
+            component: "AvueMap",
+          },
+          {
+            label: '经度',
+            hide: true,
+            addDisplay: false,
+            prop: 'jd',
+          },
+          {
+            label: '纬度',
+            hide: true,
+            addDisplay: false,
+            prop: 'wd',
+          },
+          {
             label: "账号额度",
             prop: "accountNumber",
             width: 90,
             slot: true,
+            hide: true,
             addDisplay: false,
             editDisplay: false,
           },
@@ -154,13 +229,240 @@
             prop: "expireTime",
             width: 180,
             slot: true,
+            hide: true,
             addDisplay: false,
             editDisplay: false,
           },
           {
+            label: "类型",
+            prop: "type",
+            width: 80,
+            type: "select",
+            rules: [{
+              required: true,
+              message: "请选择类型",
+              trigger: "blur"
+            }],
+            dicData: [
+              {
+                label: "医院",
+                value: "0"
+              },
+              {
+                label: "学校",
+                value: "1"
+              },
+              {
+                label: "小区",
+                value: "2"
+              }
+            ],
+            change: function (value,column) {
+              if (value.value == "0") {
+                that.option.group = [
+                  {
+                    label: '详细信息',
+                    prop: 'detailInfo',
+                    icon: 'el-icon-s-order',
+                    column: [
+                      {
+                        label: "医院等级",
+                        prop: "dj",
+                        hide: true,
+                        dicData: [],
+                        props: {
+                          label: "title",
+                          value:""
+                        },
+                        checkStrictly: true,
+                        rules: [{
+                          required: true,
+                          message: "请输入医院等级",
+                          trigger: "blur"
+                        }]
+                      },
+                      {
+                        label: "医院类别",
+                        prop: "ht",
+                        rules: [{
+                          required: true,
+                          message: "请输入医院类别",
+                          trigger: "blur"
+                        }]
+                      },
+                      {
+                        label: "成立时间",
+                        type: "datetime",
+                        prop: "ctime",
+                        format: "yyyy-MM-dd",
+                        valueFormat: "yyyy-MM-dd",
+                        rules: [{
+                          required: true,
+                          message: "请输入成立时间",
+                          trigger: "blur"
+                        }]
+                      },
+                      {
+                        label: "地址",
+                        prop:"had",
+                        rules: [{
+                          required: true,
+                          message: "请输入地址",
+                          trigger: "blur"
+                        }]
+                      },
+                      {
+                        label: "介绍",
+                        prop: "content",
+                        rules: [{
+                          required: true,
+                          message: "请输入介绍",
+                          trigger: "blur"
+                        }],
+                        span:24,
+                      }
+                    ]
+                  }
+                  ]
+              }
+              else if (value.value=="1"){
+                that.option.group = [
+                  {
+                    label: '详细信息',
+                    prop: 'dutyInfo',
+                    icon: 'el-icon-s-custom',
+                    column: [
+                      {
+                        label: "学校性质",
+                        prop: "nature",
+                        hide: true,
+                        dicData: [],
+                        props: {
+                          label: "title",
+                          value:""
+                        },
+                        rules: [{
+                          required: true,
+                          message: "请输入学校性质",
+                          trigger: "blur"
+                        }]
+                      },
+                      {
+                        label: "校训",
+                        prop: "motto",
+                        rules: [{
+                          required: true,
+                          message: "请输入校训",
+                          trigger: "blur"
+                        }]
+                      },
+                      {
+                        label: "创办时间",
+                        type: "datetime",
+                        prop: "ctime",
+                        format: "yyyy-MM-dd",
+                        valueFormat: "yyyy-MM-dd",
+                        rules: [{
+                          required: true,
+                          message: "请输入创办时间"
+                        }]
+                      },
+                      {
+                        label: "地址",
+                        prop:"had",
+                        rules: [{
+                          required: true,
+                          message: "请输入地址"
+                        }]
+                      },
+                      {
+                        label: "介绍",
+                        prop: "content",
+                        span:24,
+                        rules: [{
+                          required: true,
+                          message: "请输入介绍"
+                        }]
+                      }
+                    ]
+                  }
+                ]
+              }
+              else if (value.value=="2") {
+                that.option.group = [
+                  {
+                    label: '详细信息',
+                    prop: 'baseInfo',
+                    icon: 'el-icon-s-solid',
+                    column: [
+                      {
+                        label: "小区类别",
+                        prop: "category",
+                        hide: true,
+                        dicData: [],
+                        props: {
+                          label: "title",
+                          value:""
+                        },
+                        rules: [{
+                          required: true,
+                          message: "请输入小区类别"
+                        }]
+                      },
+                      {
+                        label: "小区属性",
+                        prop: "attributes",
+                        rules: [{
+                          required: true,
+                          message: "请输入小区属性"
+                        }]
+                      },
+                      {
+                        label: "开发商",
+                        prop:"developers",
+                        rules: [{
+                          required: true,
+                          message: "请输入开发商"
+                        }]
+                      },
+                      {
+                        label: "地址",
+                        prop:"had",
+                        rules: [{
+                          required: true,
+                          message: "请输入地址"
+                        }]
+                      },
+                      {
+                        label: "户型",
+                        prop:"housetype",
+                        rules: [{
+                          required: true,
+                          message: "请输入户型"
+                        }]
+                      },
+                      {
+                        label: "介绍",
+                        prop: "content",
+                        rules: [{
+                          required: true,
+                          message: "请输入介绍"
+                        }],
+                        span:24,
+                      }
+                    ]
+                  }
+                ]
+              }
+              else {
+                that.option.group =[]
+              }
+            }
+          },
+          {
             label: "绑定域名",
             prop: "domain",
-            span: 24,
+            hide: true,
           },
           {
             label: "系统背景",
@@ -177,88 +479,6 @@
           },
         ],
         group: [
-          {
-            label: '基础信息',
-            prop: 'baseInfo',
-            icon: 'el-icon-user-solid',
-            column: [
-            ]
-          },
-          {
-            label: '详细信息',
-            prop: 'detailInfo',
-            icon: 'el-icon-s-order',
-            column: [
-              {
-                label: "用户昵称",
-                prop: "name",
-                hide: true,
-                rules: [{
-                  required: true,
-                  message: "请输入用户昵称",
-                  trigger: "blur"
-                }]
-              },
-              {
-                label: "用户姓名",
-                prop: "realName",
-                rules: [{
-                  required: true,
-                  message: "请输入用户姓名",
-                  trigger: "blur"
-                }, {
-                  min: 2,
-                  max: 5,
-                  message: '姓名长度在2到5个字符'
-                }]
-              },
-              {
-                label: "手机号码",
-                prop: "phone",
-                overHidden: true
-              },
-              {
-                label: "电子邮箱",
-                prop: "email",
-                hide: true,
-                overHidden: true
-              },
-              {
-                label: "用户性别",
-                prop: "sex",
-                type: "select",
-                dicData: [
-                  {
-                    label: "男",
-                    value: 1
-                  },
-                  {
-                    label: "女",
-                    value: 2
-                  },
-                  {
-                    label: "未知",
-                    value: 3
-                  }
-                ],
-                hide: true
-              },
-              {
-                label: "用户生日",
-                type: "date",
-                prop: "birthday",
-                format: "yyyy-MM-dd hh:mm:ss",
-                valueFormat: "yyyy-MM-dd hh:mm:ss",
-                hide: true
-              },
-              {
-                label: "账号状态",
-                prop: "statusName",
-                hide: true,
-                display: false
-              }
-            ]
-          },
         ]
       },
       data: [],
@@ -305,6 +525,15 @@
       }
     };
   },
+  watch:{
+    'form.map':{// form是表单或者表格绑定的数据集,v-model='form'
+      handler(val){
+        this.form.jd = val.latitude
+        this.form.wd = val.longitude
+      },
+      immediate: true
+    }
+  },
   computed: {
     ...mapGetters(["userInfo", "permission"]),
     permissionList() {
@@ -329,6 +558,15 @@
   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);
+        }
+        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",
@@ -341,6 +579,15 @@
       });
     },
     rowUpdate(row, index, done, loading) {
+      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)
+      }
       update(row).then(() => {
         this.onLoad(this.page);
         this.$message({
@@ -360,6 +607,15 @@
         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)
+          }
           return remove(row.id);
         })
         .then(() => {
@@ -371,16 +627,100 @@
         });
     },
     beforeOpen(done, type) {
-      if (["view"].includes(type)) {
+      if (["edit"].includes(type)) {
         getDetail(this.form.id).then(res => {
-          const data = res.data.data;
-          if (!(data.accountNumber > 0)) {
-            data.accountNumber = "不限制";
+          if (this.form.type=="1"){
+            const data = res.data.data;
+            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
+              this.form = data;
+            })
           }
-          if (!data.expireTime) {
-            data.expireTime = "不限制";
+          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
+              this.form = data;
+            })
           }
-          this.form = data;
+          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
+              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=>{
+              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
+              if (!(data.accountNumber > 0)) {
+                data.accountNumber = "不限制";
+              }
+              if (!data.expireTime) {
+                data.expireTime = "不限制";
+              }
+              this.form = data;
+            })
+          }
+          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
+              if (!(data.accountNumber > 0)) {
+                data.accountNumber = "不限制";
+              }
+              if (!data.expireTime) {
+                data.expireTime = "不限制";
+              }
+              this.form = data;
+            })
+          }
+          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
+              if (!(data.accountNumber > 0)) {
+                data.accountNumber = "不限制";
+              }
+              if (!data.expireTime) {
+                data.expireTime = "不限制";
+              }
+              this.form = data;
+            })
+          }
         });
       }
       done();

--
Gitblit v1.9.3