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/system/cs.vue |  560 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 450 insertions(+), 110 deletions(-)

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