Browse Source

数据对接+静态排版+修改域名

ming 3 years ago
parent
commit
c21182aec9

+ 2 - 2
public/static/config.js

@@ -3,12 +3,12 @@ var PLATFROM_CONFIG = {};
 // PLATFROM_CONFIG.baseUrl = "http://172.16.120.104:8010/" //杨强本地
 // PLATFROM_CONFIG.baseUrl = "http://172.16.1.196:8010/" //超博本地
 
-PLATFROM_CONFIG.baseUrl = "https://qhome.usky.cn/fivapi/" //线上--->测试
+PLATFROM_CONFIG.baseUrl = "https://qhome.usky.cn/uskypower/" //线上--->测试
 PLATFROM_CONFIG.images = "https://qhome.usky.cn/file/" //线上图片--->测试
 PLATFROM_CONFIG.fileUrl = "https://qhome.usky.cn/file/" //xlsx文件访问路径--->测试
 
 // if (window.location.host.indexOf('localhost') != -1 || window.location.host.indexOf('pcdev.ewoogi.com') != -1) {
-//     PLATFROM_CONFIG.baseUrl = "https://qhome.usky.cn/fivapi/" //线上--->测试
+//     PLATFROM_CONFIG.baseUrl = "https://qhome.usky.cn/uskypower/" //线上--->测试
 //     PLATFROM_CONFIG.images = "https://qhome.usky.cn/file/" //线上图片--->测试
 //     PLATFROM_CONFIG.fileUrl = "https://qhome.usky.cn/file/" //xlsx文件访问路径--->测试
 // } else {

+ 10 - 1
src/api/user.js

@@ -45,8 +45,17 @@ export function register() {
 // 登录页面的背景图 公司名称获取 logo
 export function getLoginStyle(params) {
     return request({
-        url: '/getLoginStyle',
+        url: '/sysTenantConfig/getTenantConfig',
         method: 'get',
         params
     })
+}
+
+// 个人中心,信息查询
+export async function getUserData(params) {
+    return request({
+        url: '/sysTenant/getUserData',
+        method: 'get',
+        params,
+    })
 }

+ 11 - 0
src/utils/index.js

@@ -339,4 +339,15 @@ export function isLongitude(rule, value, callback) {
     } else {
         callback()
     }
+}
+
+export function isPassword(vule, value, callback) {
+
+    if (!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$/.test(value)) {
+        callback(new Error('输入经度'))
+    } else {
+        callback()
+    }
+
+
 }

+ 9 - 0
src/utils/request.js

@@ -67,7 +67,10 @@ const instance = axios.create({
  * @description axios请求拦截器
  */
 instance.interceptors.request.use(
+
     (config) => {
+
+
         if (store.getters['user/accessToken'])
             config.headers[tokenName] = store.getters['user/accessToken']
         if (
@@ -79,6 +82,12 @@ instance.interceptors.request.use(
         if (debounce.some((item) => config.url.includes(item))) {
             //这里写加载动画
         }
+
+        //中间页请求去掉请求头,否则接口报错403
+        if (config.url == '/sysTenantConfig/getTenantConfig') {
+            config.headers.accessToken = ''
+        }
+
         return config
     },
     (error) => {

+ 3 - 3
src/views/login/index.vue

@@ -129,12 +129,12 @@ export default {
     getLoginStyle() {
       api
         .getLoginStyle({
-          url:window.location.host
+          url:window.location.host.indexOf('localhost') != -1 ?'https://qhome.usky.cn':window.location.host
         })
         .then((requset) => {
           if (requset.status === 'SUCCESS') {
-            this.backdropUrl = requset.data.backdropUrl
-            this.companyName = requset.data.companyName
+            this.backdropUrl = requset.data[0].loginBackUrl
+            this.companyName = requset.data[0].loginTitle
           } else {
             alert(requset.msg)
           }

+ 33 - 65
src/views/middle.vue

@@ -1,12 +1,12 @@
 <template>
-  <div class="middle-container">
+  <div class="middle-container" :style="`background-image: url('${middleBackUrl}');`">
     <div class="middle-container-title">
       <img
-        src="@/assets/logo2.png"
+      :src="`${middleLogo}`"
         height="46"
         style="position: relative; top: -2px"
       />
-      永天智慧电力平台
+      {{middleTitle}}
     </div>
     <div class="middle-container-lists">
       <el-row>
@@ -29,8 +29,6 @@
                   : item.children[0].meta.backgroundImage
               }`"
             >
-              <!-- <img src="@/assets/images/home.svg" /> -->
-              <!-- <img src="../assets/images/home.svg" /> -->
               <img
                 :src="`static/svgIcons/${
                   item.children.length > 1
@@ -39,7 +37,6 @@
                 }.svg`"
                 alt=""
               />
-              <!-- <img :src="`static/svgIcons/home.svg`" alt="" /> -->
             </div>
             <p>
               {{
@@ -50,63 +47,6 @@
             </p>
           </router-link>
         </el-col>
-
-        <!-- <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <router-link to="/alarmManage/index">
-            <div class="list-one-img">
-              <img src="@/assets/images/home.svg" />
-            </div>
-            <p>数据看版</p>
-          </router-link>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img" style="background: #e36f6b">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>告警管理</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>站点管理</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>台区管理</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>设备管理</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>数据管理</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>电能质量</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>计划停电</p>
-        </el-col>
-        <el-col :xs="5" :md="3" :sm="4" :lg="3" :xl="3" class="list-one">
-          <div class="list-one-img">
-            <img src="@/assets/images/home.svg" />
-          </div>
-          <p>系统管理</p>
-        </el-col> -->
       </el-row>
     </div>
 
@@ -117,7 +57,8 @@
 // import * as api from '@/api/user.js'
 
 import { useStore } from 'vuex'
-import { defineComponent, onMounted } from 'vue'
+import { defineComponent, onMounted ,ref} from 'vue'
+import * as api from '@/api/user.js'
 
 export default defineComponent({
   name: 'Middle',
@@ -138,8 +79,14 @@ export default defineComponent({
     const store = useStore()
 
     const middleList = store.state.middleList
+    const middleBackUrl=ref('')
+    const middleLogo=ref('')
+    const middleTitle=ref('')
+    
 
     onMounted(() => {
+
+      getLoginStyle()
       console.log('middleList')
       console.log(middleList)
 
@@ -168,8 +115,29 @@ export default defineComponent({
       console.log('修改后的middleList')
       console.log(middleList)
     })
+    
+    //根据不同的域名,显示不同的title和背景图
+    function getLoginStyle() {
+      api
+        .getLoginStyle({
+          url:window.location.host.indexOf('localhost') != -1 ?'https://qhome.usky.cn':window.location.host
+        })
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+            middleBackUrl.value = requset.data[0].middleBackUrl
+            middleLogo.value = requset.data[0].middleLogo
+            middleTitle.value = requset.data[0].middleTitle
+          } else {
+            alert(requset.msg)
+          }
+        })
+    }
     return {
       middleList,
+      getLoginStyle,
+      middleBackUrl,
+      middleLogo,
+      middleTitle
     }
   },
 })
@@ -178,7 +146,7 @@ export default defineComponent({
 .middle-container {
   width: 100%;
 
-  background: url('~@/assets/images/middle_background.png');
+  // background: url('~@/assets/images/middle_background.png');
   background-size: cover;
   background-color: #000000b3;
   margin: 0 auto;

+ 0 - 169
src/views/perCenter/addRoleCom.vue

@@ -1,169 +0,0 @@
-<template>
-  <el-dialog
-    :title="dialogTitle"
-    v-model="dialogVisible"
-    width="400px"
-    @close="closeDialog()"
-    @open="open"
-  >
-    <el-form
-      ref="formInfo"
-      :model="form"
-      class="demo-form-inline"
-      label-width="100px"
-      :rules="rules"
-    >
-      <el-form-item label="角色名称:" prop="roleName">
-        <el-input v-model="form.roleName"></el-input>
-      </el-form-item>
-      <el-form-item label="角色权限:" prop="roleKey">
-        <el-input v-model="form.roleKey"></el-input>
-      </el-form-item>
-      <el-form-item label="角色状态:" prop="status">
-        <el-radio-group v-model="form.status">
-          <el-radio label="0" value="0">正常</el-radio>
-          <el-radio label="1" value="1">停用</el-radio>
-        </el-radio-group>
-      </el-form-item>
-
-      <el-form-item label="角色排序:" prop="roleSort">
-        <el-input-number
-          v-model="form.roleSort"
-          controls-position="right"
-          :min="0"
-          :max="255"
-        ></el-input-number>
-      </el-form-item>
-
-      <div style="text-align: right">
-        <el-button type="primary" @click="submitForm('formInfo')">
-          保存
-        </el-button>
-      </div>
-    </el-form>
-  </el-dialog>
-</template>
-<script>
-import { defineComponent, ref, watchEffect } from 'vue'
-import * as api from '@/api/systemManage/rolePermission.js'
-import { ElMessage } from 'element-plus'
-
-export default defineComponent({
-  name: 'AddRoleCom',
-  emits: ['closeDialog'],
-  props: {
-    flag: Boolean,
-    dialogTitle: String,
-    itemInfo: Object,
-  },
-  setup(props, context) {
-    context
-
-    const dialogVisible = ref(false)
-    const formInfo = ref(null)
-
-    const form = ref([])
-
-    // open(): Dialog弹窗打开之前做的事
-    const open = () => {
-      console.log('')
-      form.value = props.itemInfo.value
-      console.log()
-    }
-
-    // 关闭弹框
-    const closeDialog = () => {
-      context.emit('closeDialog', false)
-      dialogVisible.value = false
-
-      
-    }
-
-    watchEffect((fn) => {
-      fn
-      dialogVisible.value = props.flag
-    })
-
-    const roleValid = (rule, value, callback) => {
-      rule
-      if (value.length === 0) {
-        callback(new Error('角色不能为空'))
-      } else {
-        callback()
-      }
-    }
-
-    // 保存-修改操作
-    const submitForm = () => {
-      console.log(formInfo)
-      formInfo.value.validate((valid) => {
-        if (valid) {
-          // 走保存请求
-          if (props.dialogTitle === '角色新增') {
-            api.roleAdd(form.value).then((requset) => {
-              if (requset.status === 'SUCCESS') {
-                ElMessage.success({
-                  message: '新增成功',
-                  type: 'success',
-                })
-                closeDialog()
-
-
-                //角色新增成功后,提交全选按钮权限给后台
-
-
-
-
-              } else {
-                ElMessage.error(requset.msg)
-              }
-            })
-          } else {
-              // alert('修改')
-            api.roleUpdate(form.value).then((requset) => {
-            
-              if (requset.status === 'SUCCESS') {
-                ElMessage.success({
-                  message: '修改成功',
-                  type: 'success',
-                })
-                
-                closeDialog()
-              } else {
-                ElMessage.error(requset.msg)
-              }
-            })
-          }
-        } else {
-          console.log('error submit!!')
-          return false
-        }
-      })
-    }
-
-    return {
-      closeDialog,
-      dialogVisible,
-      roleValid,
-      formInfo,
-      form,
-      open,
-      submitForm,
-      rules: {
-        roleName: [
-          { required: true, message: '请输入角色名称', trigger: 'blur' },
-        ],
-        roleKey: [
-          { required: true, message: '请输入角色权限', trigger: 'blur' },
-        ],
-        status: [
-          { required: true, message: '请选择角色状态', trigger: 'change' },
-        ],
-      },
-    }
-  },
-})
-</script>
- 
-<style scoped lang="scss">
-</style>

+ 200 - 257
src/views/perCenter/index.vue

@@ -1,28 +1,24 @@
 <template>
   <div class="app-container page-nesting" style="position: relative">
     <!-- 左侧start -->
-    <!-- <div class="grid-content treeDom roleLeft">
-      
-    </div> -->
 
     <el-card class="box-card grid-content treeDom roleLeft">
       <template #header>
         <div class="card-header">
           <span>个人中心</span>
-          <!-- <el-button class="button" type="text">Operation button</el-button> -->
         </div>
       </template>
       <div class="text item">
         <span class="text-left">租户名称:</span>
-        <span class="text-right">西游科技有限公司</span>
+        <span class="text-right">{{tenantName}}</span>
       </div>
       <div class="text item">
         <span class="text-left">管理员:</span>
-        <span class="text-right">孙悟空</span>
+        <span class="text-right">{{nickName}}</span>
       </div>
       <div class="text item">
         <span class="text-left">管理员手机号:</span>
-        <span class="text-right">16666666666</span>
+        <span class="text-right">{{phonenumber}}</span>
       </div>
       <div class="text item">
         <span class="text-left">系统平台:</span>
@@ -30,19 +26,17 @@
       </div>
       <div class="text item">
         <span class="text-left">地址:</span>
-        <span class="text-right">上海市青浦区徐泾镇徐乐路208号</span>
+        <span class="text-right">{{address}}</span>
       </div>
       <div class="text item">
         <span class="text-left">到期时间:</span>
-        <span class="text-right">2090-01-01</span>
+        <span class="text-right">{{tenantTerm}}</span>
       </div>
     </el-card>
 
     <!-- 左侧end -->
 
-    <!-- 右侧表格start -->
- 
-
+    <!-- 右侧start -->
     <el-card class="box-card grid-content nestingDom">
       <template #header>
         <div class="card-header">
@@ -52,240 +46,204 @@
       </template>
 
       <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-    <el-tab-pane label="个人信息" name="first">个人信息</el-tab-pane>
-    <el-tab-pane label="修改密码" name="second">修改密码</el-tab-pane>
-    <!-- <el-tab-pane label="Role" name="third">Role</el-tab-pane>
-    <el-tab-pane label="Task" name="fourth">Task</el-tab-pane> -->
-  </el-tabs>
-      
+        <el-tab-pane label="个人信息" name="first">
+          <el-form :model="form" :rules="rules" label-width="120px">
+            <el-form-item label="租户名称" prop="name">
+              <el-input v-model="form.name" disabled />
+            </el-form-item>
+            <el-form-item label="管理员" prop="administrators">
+              <el-input v-model="form.administrators" />
+            </el-form-item>
+            <el-form-item label="管理员手机号" prop="phone">
+              <el-input v-model="form.phone" />
+            </el-form-item>
+            <el-form-item label="地址" prop="address">
+              <el-input v-model="form.address" />
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="onSubmit">保存</el-button>
+              <el-button>取消</el-button>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+        <el-tab-pane label="修改密码" name="second">
+          <el-form :model="form2" :rules="rules2" label-width="120px">
+            <el-form-item label="账号" prop="account">
+              <el-input v-model="form2.account" disabled />
+            </el-form-item>
+            <el-form-item label="原密码" prop="oldPass" type="password">
+              <el-input v-model="form2.oldPass" show-password />
+            </el-form-item>
+            <el-form-item label="密码" prop="pass" type="password">
+              <el-input v-model="form2.pass" show-password />
+            </el-form-item>
+            <el-form-item label="再次输入" prop="passAgain" type="password">
+              <el-input v-model="form2.passAgain" show-password />
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="onSubmit">保存</el-button>
+              <el-button>取消</el-button>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+      </el-tabs>
     </el-card>
-    
-   
-    <!-- 右侧表格end -->
 
-    <!-- 新建角色start -->
-    <add-role-com
-      :dialog-title="dialogTitle"
-      :itemInfo="tableItem"
-      @closeDialog="closeDialog"
-      :flag="showDialog"
-    ></add-role-com>
-    <!-- 新建角色end -->
+    <!-- 右侧end -->
   </div>
 </template>
 
 <script>
-import { defineComponent, ref, reactive, onMounted } from 'vue'
-import * as api from '@/api/systemManage/rolePermission.js'
-import { ElMessage } from 'element-plus'
+import { defineComponent, ref, onMounted, reactive } from 'vue'
+import * as api from '@/api/user.js'
+// import { ElMessage } from 'element-plus'
 
-// import roleInfoCom from './roleInfoCom'
-import addRoleCom from './addRoleCom'
 import { useStore } from 'vuex'
 
 export default defineComponent({
-  components: { addRoleCom },
+  components: {},
   setup() {
+    const activeName = ref('first')
+
     const store = useStore()
-    const radio1 = ref('1')
-    const showDialog = ref(false)
-    const roleData = ref([])
-    const menuData = ref([])
-    const menuData2 = ref([])
-    const newMenuData = ref([])
-    const checkedKeys = ref([])
-    const objItem = ref({})
 
-    const dialogTitle = ref('')
+    const tenantName = ref('')
+    const phonenumber = ref('')
+    const nickName = ref('')
+    const address = ref('') 
+    const tenantTerm = ref('') 
+
+    const form = reactive({
+      name: '西游科技有限公司',
+      administrators: '孙悟空',
+      phone: '13255666666',
+      address: '上海市青浦区徐泾镇徐乐路208号',
+    })
+    const form2 = reactive({
+      account: 'admin',
+      oldPass: '',
+      pass: '',
+      passAggin: '',
+    })
 
-    // 删除左侧角色列表
-    function deleteRoleItem(item) {
-      // item
-      // console.log(radio1.value)
-      // console.log(item.roleId)
-      // this.roleData.splice(params, 1)
+    const validatePass = (rule, value, callback) => {
+      if (value === '') {
+        callback(new Error('请输入密码'))
+      } else if(!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$/.test(value)){
+         callback(new Error('请输入6-18位特殊字符、字母、数字组合的密码'))
 
-      api.roleDelete({}, item.roleId).then((requset) => {
-        if (requset.status === 'SUCCESS') {
-          ElMessage.success({
-            message: '删除成功',
-            type: 'success',
-          })
-          roleList()
-        } else {
-          ElMessage.error(requset.msg)
+      }else {
+        if (this.ruleForm.confirmPwd !== '') {
+          this.$refs.ruleForm.validateField('confirmPwd')
         }
-      })
-    }
-
-    // 新增角色
-    const tableItem = reactive([])
-
-    function addRole() {
-      // alert('新增')
-      tableItem.value = {
-        roleName: '',
-        roleKey: '',
-        status: '',
-        roleSort: 1,
+        callback()
       }
-      dialogTitle.value = '角色新增'
-      showDialog.value = true
-    }
-
-    // 修改角色
-    function editRole() {
-      // alert('修改')
-      // console.log(radio1.value)
-      api.roleDetail({}, radio1.value).then((requset) => {
-        if (requset.status === 'SUCCESS') {
-          tableItem.value = {
-            roleName: requset.data.roleName,
-            roleKey: requset.data.roleKey,
-            status: requset.data.status,
-            roleSort: Number(requset.data.roleSort),
-            roleId: requset.data.roleId,
-          }
-
-          dialogTitle.value = '角色修改'
-          showDialog.value = true
-        } else {
-          ElMessage.error(requset.msg)
-        }
-      })
     }
-
-    const listTabsChange = (value, item) => {
-      // console.log('value')
-      console.log(radio1.value)
-      radio1.value = value
-      objItem.value = item
-      // console.log('objItem.value')
-      // console.log(objItem.value)
-      roleMenuTreeselect()
-      getAuthorityTable()
+    const validatePass2 = (rule, value, callback) => {
+
+      if (value === '') {
+        callback(new Error('请再次输入密码'))
+        
+      } else if (value !== form2.pass) {
+       
+        callback(new Error('两次输入密码不一致!'))
+      } else {
+        callback()
+      }
     }
 
-    // 表格树结构渲染
-    function roleMenuTreeselect() {
-      menuData.value = []
-      api.roleMenuTreeselect({}, radio1.value).then((requset) => {
-        if (requset.code == 200) {
-          menuData.value = requset.data.menus
-          // getTreeData2(menuData.value) //对树结构返回值进行重组
-          checkedKeys.value = requset.data.checkedKeys
-
-          //当返回值没有选中菜单时,否
-          if (!checkedKeys.value.length) {
-            menuData.value.map((item) => {
-              item.authority2 = '0'
-            })
+    //根据不同的域名,显示不同的title和背景图
+    function getUserData() {
+      api
+        .getUserData({
+         
+        })
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+             console.log('request')
+             tenantName.value=requset.data[0].tenantName
+             phonenumber.value=requset.data[0].phonenumber
+             nickName.value=requset.data[0].nickName
+             address.value=requset.data[0].address 
+               tenantTerm.value=requset.data[0].tenantTerm 
 
-            if (radio1.value == 1) {
-              menuData.value.map(function (item) {
-                checkedKeys.value.push(item.id)
-                checkedKeys.value.map(function (num) {
-                  if (JSON.stringify(item).indexOf(num) != -1) {
-                    item.authority2 = '1'
-                  }
-                })
-              })
-            }
+    
+            // console.log(request)
+            // this.backdropUrl = requset.data[0].loginBackUrl
+            // this.companyName = requset.data[0].loginTitle
           } else {
-            menuData.value.map(function (item) {
-              item.authority2 = '0'
-              checkedKeys.value.map(function (num) {
-                if (JSON.stringify(item).indexOf(num) != -1) {
-                  item.authority2 = '1'
-                }
-              })
-            })
+            alert(requset.msg)
           }
-        } else {
-          ElMessage.error(requset.msg)
-        }
-      })
-    }
-
-    //小吉新接口渲染右侧表格树数据
-    function getAuthorityTable() {
-      menuData2.value = []
-      api.getAuthorityTable({ roleId: radio1.value }).then((requset) => {
-        if (requset.code == 200) {
-          menuData2.value = requset.data
-        } else {
-          ElMessage.error(requset.msg)
-        }
-      })
-    }
-
-    function getTreeData2(data) {
-      for (var i = 0; i < data.length; i++) {
-        if (data[i].label == data[i].children[0].label) {
-          // console.log(data[i].label)
-          data[i].children = data[i].children[0].children
-        }
-      }
-      return data
-    }
-
-    // 关闭弹框操作
-    const closeDialog = () => {
-      showDialog.value = false
-      roleList()
-      console.log('1111aaa' + radio1.value)
-    }
-    //角色列表
-    function roleList() {
-      api.roleList().then((requset) => {
-        if (requset.code === 200) {
-          roleData.value = requset.rows
-          // var item = requset.rows[0]
-          // objItem.value = {
-          //   roleSort: item.roleSort,
-          //   roleKey: item.roleKey,
-          //   roleName: item.roleName,
-          // }
-        } else {
-          ElMessage.error(requset.msg)
-        }
-      })
+        })
     }
 
     onMounted(() => {
-      roleList()
-      roleMenuTreeselect()
-      getAuthorityTable()
+      getUserData()
     })
 
     return {
-      radio1,
-      showDialog,
-      roleData,
-      dialogTitle,
-      tableItem,
-      menuData,
-      menuData2,
-      newMenuData,
-      checkedKeys,
-      listTabsChange,
-      roleMenuTreeselect,
-      getAuthorityTable,
-      deleteRoleItem,
-      addRole,
-      editRole,
-      closeDialog,
-      objItem,
-      getTreeData2,
       store,
+      getUserData,
+      tenantName,
+      phonenumber,
+      nickName,
+      address,
+      tenantTerm,
+      activeName,
+      form,
+      form2,
+      rules: {
+        name: [{ required: true, message: '请输入分组名称', trigger: 'blur' }],
+        administrators: [
+          { required: true, message: '请输入管理员', trigger: 'blur' },
+        ],
+        phone: [
+          { required: true, message: '请输入管理员手机号', trigger: 'blur' },
+        ],
+        address: [{ required: true, message: '请输入地址', trigger: 'blur' }],
+      },
+      rules2: {
+        account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
+        oldPass: [
+          { required: true, message: '请输入原密码', trigger: 'blur' },
+          { validator: validatePass, trigger: 'blur' },
+        ],
+        pass: [
+          { required: true, message: '请输入密码', trigger: 'blur' },
+          { validator: validatePass, trigger: 'blur' },
+        ],
+        passAgain: [
+          { required: true, message: '请再次输入密码', trigger: 'blur' },
+          { validator: validatePass2, trigger: 'blur', required: true },
+        ],
+      },
     }
   },
 })
 </script>
 
 <style scoped lang="scss">
-
 // start
+
+.nestingDom {
+  margin-left: 285px;
+}
+.treeDom {
+  width: 270px;
+  position: absolute;
+  left: 0;
+  height: calc(100vh - 140px);
+}
+.grid-content {
+  background: #fff;
+  height: calc(100vh - 140px);
+  overflow-y: auto;
+}
+.app-container.page-nesting {
+  padding: 0;
+  background: rgba(0, 0, 0, 0);
+}
+
 .card-header {
   display: flex;
   justify-content: space-between;
@@ -304,66 +262,51 @@ export default defineComponent({
   // width: 480px;
 }
 
-::v-deep .el-card__body{
-  padding:15px
+::v-deep .el-card__body {
+  padding: 15px;
 }
 ::v-deep .el-card__header {
   padding: 14px 15px 7px !important;
-  
 }
-::v-deep .item{
-    padding:11px 0;
-    border-bottom:1px solid #e7eaec;
-    margin:0
-  }
-
-  .text-left{
-    width:98px
-  }
-  .text-right{
-    width:calc(100% - 98px)
-  }
-  .text-left,.text-right{
-    display:inline-block;
-    vertical-align: top;
-  }
+::v-deep .item {
+  padding: 11px 0;
+  border-bottom: 1px solid #e7eaec;
+  margin: 0;
+}
 
+.text-left {
+  width: 98px;
+}
+.text-right {
+  width: calc(100% - 98px);
+}
+.text-left,
+.text-right {
+  display: inline-block;
+  vertical-align: top;
+}
 
-  .demo-tabs > .el-tabs__content {
+.demo-tabs > .el-tabs__content {
   padding: 32px;
   color: #6b778c;
   font-size: 32px;
   font-weight: 600;
 }
 
-// end
-
-.el-button + .el-button {
-  margin-left: 0;
+.el-form-item {
+  margin: 20px 0 !important;
+  max-width: auto;
 }
-.app-container.page-nesting {
-  padding: 0;
-  background: rgba(0, 0, 0, 0);
-}
-.grid-content {
-  background: #fff;
-  height: calc(100vh - 140px);
-  overflow-y: auto;
-}
-.el-input__inner {
-  border-radius: 20px !important;
-}
-.treeDom {
-  width: 270px;
-  position: absolute;
-  left: 0;
-  // margin-left: 20px;
-  // padding: 15px;
-  // min-height: calc(100vh - 130px);
-  height: calc(100vh - 140px);
-}
-.nestingDom {
-  margin-left: 285px;
-  
+.el-form-item__content {
+  width: calc(100% - 120px) !important;
 }
+// end
+
+// .el-button + .el-button {
+//   margin-left: 0;
+// }
+
+// .el-input__inner {
+//   border-radius: 20px !important;
+// }
 </style>

+ 1 - 1
vue.config.js

@@ -81,7 +81,7 @@ module.exports = {
             //     },
             //   },
             './': {
-                target: 'https://qhome.usky.cn/fivapi/',
+                target: 'https://qhome.usky.cn/uskypower/',
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {