ming 3 jaren geleden
bovenliggende
commit
a5ea752021

+ 20 - 7
src/api/tenantManage/adminConfig.js

@@ -9,28 +9,41 @@ export function getTenantDataOne(params) {
     })
 }
 
-//管理员配置-注销
-export function plannedOutageDel(params) {
+//管理员配置-查询(弹框信息查询)
+export function getUserList(params) {
     return request({
-        url: '/wcBlackoutPlan/plannedOutageDel',
+        url: '/userconfig/getUserList',
         method: 'GET',
         params,
     })
 }
 
 //管理员配置-新增
-export function addTenantData(params) {
+export function addUserData(params) {
     return request({
-        url: '/tenantConfig/addTenantData',
+        url: '/userconfig/addUserData',
         method: 'POST',
         data: params,
     })
 }
 
+
+
+//管理员配置-注销
+export function plannedOutageDel(params) {
+    return request({
+        url: '/wcBlackoutPlan/plannedOutageDel',
+        method: 'GET',
+        params,
+    })
+}
+
+
+
 //管理员配置-修改
-export function updateTenantData(params) {
+export function updateserData(params) {
     return request({
-        url: '/tenantConfig/updateTenantData',
+        url: '/userconfig/updateserData',
         method: 'POST',
         data: params,
     })

+ 0 - 277
src/views/tenantManage/adminConfig/adminDialog.vue

@@ -1,277 +0,0 @@
-<template>
-  <!-- 克隆 -->
-  <el-dialog
-    v-model="cloneDialog"
-    title="管理员配置"
-    width="30rem"
-    @close="close"
-    @open="open"
-  >
-    <div class="dialogOne">
-      <el-form
-        :model="form"
-        :rules="rules"
-        ref="ruleForm"
-        label-width="150px"
-        class="demo-ruleForm"
-      >
-        <el-form-item label="克隆设备对象:" prop="deviceCode">
-          <span>{{ DialogArray.deviceCode }}</span>
-        </el-form-item>
-        <el-form-item label="变量克隆至:" prop="cloneRadio">
-          <el-radio-group v-model="form.type" size="medium">
-            <el-radio :label="1">新设备</el-radio>
-            <el-radio :label="2">已有设备(仅克隆变量)</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item
-          label="设备名:"
-          prop="cloneInputName"
-          v-if="form.type == 1"
-        >
-          <el-input
-            v-model="form.cloneInputName"
-            placeholder="请输入设备名"
-            clearable
-          />
-        </el-form-item>
-        <el-form-item
-          label="设备编号:"
-          prop="cloneInputCode"
-          v-if="form.type == 1"
-        >
-          <el-input
-            v-model="form.cloneInputCode"
-            placeholder="请输入设备编号"
-            clearable
-          />
-        </el-form-item>
-
-        <el-form-item label="选择站点:" v-if="form.type != 1">
-          <el-select
-              v-model="store.state.siteId"
-              @change="siteChange"
-              placeholder="请选择"
-              clearable
-              filterable
-            >
-              <el-option
-                v-for="item in store.state.siteList"
-                :key="item.id"
-                :label="item.siteName"
-                :value="item.id"
-              ></el-option>
-            </el-select>
-        </el-form-item>
-        
-       
-        <el-form-item label="选择设备:" v-if="form.type != 1">
-          <el-select
-            filterable
-            v-model="form.oldDeviceCode"
-            placeholder="请选择所需克隆设备(可输入)"
-          >
-            <el-option
-              v-for="list in deviceList"
-              :key="list"
-              :label="list.deviceName"
-              :value="list.deviceCode"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <!-- <div class="content">
-        <span>*</span>
-        模拟量:
-        <el-input
-          class="inputer"
-          v-model="cloneInputModel"
-          placeholder="请输入模拟量"
-          clearable
-        />
-        状态量:
-        <el-input
-          class="inputer"
-          v-model="cloneInputState"
-          placeholder="请输入状态量"
-          clearable
-        />
-      </div> -->
-    </div>
-    <template #footer>
-      <span class="dialog-footer">
-        <!-- <el-checkbox
-          v-model="cloneChecked"
-          label="连续克隆模式"
-          style="margin-right: 10px"
-        ></el-checkbox> -->
-        <el-button @click="cloneDialog = false">取消</el-button>
-        <el-button type="primary" @click="clone()">确定</el-button>
-      </span>
-    </template>
-  </el-dialog>
-</template>
-
-<script>
-import { useStore } from 'vuex'
-import { defineComponent, ref, watchEffect } from 'vue'
-import * as api from '@/api/deviceManage/powerEquip/communicateEquip'
-import { ElMessage } from 'element-plus'
-
-export default defineComponent({
-  name: 'powerEquip',
-  components: {},
-  emits: ['closeNo', 'select'],
-  props: {
-    admin_dialog: Boolean,
-    DialogArray: Object,
-  },
-  setup(props, context) {
-    const store = useStore()
-    store
-
-    const form = ref({
-      type: 1,
-      cloneInputName: '',
-      cloneInputCode: '',
-      oldDeviceCode: '',
-    })
-
-    const cloneDialog = ref(false) //克隆弹窗控制
-    const cloneChecked = ref(false) //克隆复选框控制
-    const cloneInputModel = ref('') //克隆input模拟量
-    const cloneInputState = ref('') //克隆input状态量
-    const ruleForm = ref(null)
-    const deviceList = ref([])
-
-    const clone = () => {
-      let list = {}
-      if (form.value.type == 1) {
-        list = {
-          type: form.value.type,
-          oldDeviceCode: props.DialogArray.deviceCode,
-          newDeviceCode: form.value.cloneInputCode,
-          deviceName: form.value.cloneInputName,
-        }
-      } else {
-        list = {
-          type: form.value.type,
-          newDeviceCode: form.value.oldDeviceCode,
-          oldDeviceCode: props.DialogArray.deviceCode,
-        }
-      }
-      ruleForm.value.validate((valid) => {
-        if (valid) {
-          api.variableCloning(list).then((requset) => {
-            if (requset.status === 'SUCCESS') {
-              ElMessage.success({
-                message: '克隆成功',
-                type: 'success',
-              })
-              close()
-              context.emit('Select')
-            } else {
-              ElMessage.error(requset.msg)
-            }
-          })
-        } else {
-          console.log('error submit!!')
-          return false
-        }
-      })
-    }
-
-    //open
-    const open = () => {
-      select_deviceList()
-    }
-
-    // close(): Dialog弹窗关闭之后做的事
-    const close = () => {
-      resetForm()
-      form.value.cloneInputName = ''
-      form.value.cloneInputCode = ''
-      form.value.oldDeviceCode = ''
-      context.emit('closeNo', false)
-      cloneDialog.value = false
-    }
-    function resetForm() {
-      ruleForm.value.resetFields()
-    }
-    // 通过站点切换下拉框 change事件改变
-    const siteChange = () => {
-      select_deviceList()
-    }
-
-    function select_deviceList() {
-      api
-        .deviceList({
-          siteId: store.state.siteId,
-        })
-        .then((requset) => {
-          if (requset.status === 'SUCCESS') {
-            deviceList.value = requset.data
-            // alert(props.DialogArray.id)
-
-            for (var i = deviceList.value.length - 1; i >= 0; i--){
-               if (deviceList.value[i].id == props.DialogArray.id) deviceList.value.splice(i, 1)
-            }
-            // console.log(deviceList.value)
-            // console.log('deviceList.value')
-             
-          } else {
-            ElMessage.error(requset.msg)
-          }
-        })
-    }
-
-    watchEffect((fn, options) => {
-      fn, options
-      cloneDialog.value = props.admin_dialog
-    })
-
-    return {
-      siteChange,
-      store,
-      open,
-      close,
-      clone,
-      form,
-      deviceList,
-      cloneDialog,
-      cloneChecked,
-      cloneInputModel,
-      cloneInputState,
-      ruleForm,
-      rules: {
-        cloneInputCode: [
-          {
-            required: true,
-            message: '设备名不能为空',
-            trigger: 'blur',
-          },
-          {
-            min: 5,
-            max: 25,
-            message: '设备名长度不能小于5大于25',
-            trigger: 'blur',
-          },
-        ],
-        cloneInputName: [
-          {
-            required: true,
-            message: '设备编号不能为空',
-            trigger: 'blur',
-          },
-          {
-            min: 5,
-            max: 25,
-            message: '设备编号长度不能小于5大于25',
-            trigger: 'blur',
-          },
-        ],
-      },
-    }
-  },
-})
-</script>

+ 250 - 0
src/views/tenantManage/adminConfig/component/adminDialog.vue

@@ -0,0 +1,250 @@
+<template>
+  <!-- 克隆 -->
+  <el-dialog
+    :title="dialogTitle"
+    v-model="cloneDialog"
+    @close="close"
+    @open="open"
+  >
+    <div class="dialogOne">
+      <el-form
+        :model="form"
+        :rules="rules"
+        ref="ruleForm"
+        label-width="150px"
+        class="demo-ruleForm"
+      >
+        <el-form-item label="管理员姓名:" prop="nickName">
+          <el-input
+            v-model="form.nickName"
+            placeholder="请输入管理员姓名"
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="管理员账号:" prop="userName">
+          <el-input
+            v-model="form.userName"
+            placeholder="请输入管理员账号"
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="管理员邮箱:" prop="email">
+          <el-input
+            v-model="form.email"
+            placeholder="请输入管理员邮箱"
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="管理员手机号:" prop="phonenumber">
+          <el-input
+            v-model="form.phonenumber"
+            placeholder="请输入管理员手机号"
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="管理员密码:" prop="password" v-if="dialogTitle != '修改'">
+          <el-input
+            v-model="form.password"
+            placeholder="请输入管理员密码"
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="状态:" prop="status">
+          <el-select v-model="form.status" placeholder="请选择">
+            <el-option label="正常" :value="0"></el-option>
+            <el-option label="停用" :value="1"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="cloneDialog = false">取消</el-button>
+        <el-button type="primary" @click="submit()">确定</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+import { useStore } from 'vuex'
+import { defineComponent, ref, watchEffect } from 'vue'
+import * as api from '@/api/tenantManage/adminConfig.js'
+import { ElMessage } from 'element-plus'
+import { validatorPhone, isEmail } from '@/utils'
+
+export default defineComponent({
+  name: 'powerEquip',
+  components: {},
+  emits: ['closeNo', 'select'],
+  props: {
+    admin_dialog: Boolean,
+    DialogArray: Object,
+    dialogTitle: String,
+    itemInfo: {
+      type: Object,
+      default: function () {
+        return {}
+      },
+    },
+  },
+  setup(props, context) {
+    const store = useStore()
+    store
+
+    const form = ref({})
+
+    const cloneDialog = ref(false) //克隆弹窗控制
+    const cloneChecked = ref(false) //克隆复选框控制
+    const cloneInputModel = ref('') //克隆input模拟量
+    const cloneInputState = ref('') //克隆input状态量
+    const ruleForm = ref(null)
+    const deviceList = ref([])
+
+    const submit = () => {
+      ruleForm.value.validate((valid) => {
+        if (valid) {
+
+
+          if (props.dialogTitle === '修改') {
+            alert(1)
+
+            api.updateserData(form.value).then((requset) => {
+              alert('aaa')
+              if (requset.status === 'SUCCESS') {
+                alert('成功')
+                ElMessage.success({
+                  message: '修改成功',
+                  type: 'success',
+                })
+                close()
+                // context.emit('Select')
+              } else {
+                alert('失败')
+                ElMessage.error(requset.msg)
+              }
+            })
+          } else {
+            api.addUserData(form.value).then((requset) => {
+              if (requset.status === 'SUCCESS') {
+                ElMessage.success({
+                  message: '配置成功',
+                  type: 'success',
+                })
+                close()
+                // context.emit('Select')
+              } else {
+                ElMessage.error(requset.msg)
+              }
+            })
+          }
+        } else {
+          console.log('error submit!!')
+          return false
+        }
+      })
+    }
+
+    //open
+    const open = () => {
+      form.value = props.itemInfo
+      console.log('form.value')
+      console.log(form.value)
+
+      // select_deviceList()
+    }
+
+    // close(): Dialog弹窗关闭之后做的事
+    const close = () => {
+      resetForm()
+      form.value.cloneInputName = ''
+      form.value.cloneInputCode = ''
+      form.value.oldDeviceCode = ''
+      context.emit('closeNo', false)
+      cloneDialog.value = false
+    }
+    function resetForm() {
+      ruleForm.value.resetFields()
+    }
+    // 通过站点切换下拉框 change事件改变
+    const siteChange = () => {
+      // select_deviceList()
+    }
+
+    watchEffect((fn, options) => {
+      fn, options
+      cloneDialog.value = props.admin_dialog
+    })
+
+    return {
+      siteChange,
+      store,
+      open,
+      close,
+      submit,
+      form,
+      deviceList,
+      cloneDialog,
+      cloneChecked,
+      cloneInputModel,
+      cloneInputState,
+
+      ruleForm,
+      rules: {
+        nickName: [
+          {
+            required: true,
+            message: '管理员姓名不能为空',
+            trigger: 'blur',
+          },
+        ],
+        userName: [
+          {
+            required: true,
+            message: '管理员账号不能为空',
+            trigger: 'blur',
+          },
+        ],
+        email: [
+          {
+            required: true,
+            message: '管理员邮箱不能为空',
+            trigger: 'blur',
+          },
+          {
+            validator: isEmail,
+            message: '输入的邮箱地址不正确',
+            trigger: 'blur',
+          },
+        ],
+        phonenumber: [
+          {
+            required: true,
+            message: '管理员手机号不能为空',
+            trigger: 'blur',
+          },
+          {
+            validator: validatorPhone,
+            message: '输入的电话号码不正确',
+            trigger: 'blur',
+          },
+        ],
+        password: [
+          {
+            required: true,
+            message: '密码不能为空',
+            trigger: 'blur',
+          },
+        ],
+        status: [
+          {
+            required: true,
+            message: '转态不能为空',
+            trigger: 'blur',
+          },
+        ],
+      },
+    }
+  },
+})
+</script>

+ 291 - 0
src/views/tenantManage/adminConfig/component/checkAdminList.vue

@@ -0,0 +1,291 @@
+<template>
+  <el-dialog
+    :title="dialogTitle"
+    v-model="showDialog"
+    width="1100px"
+    @open="open()"
+    @close="closeDialog(0)"
+  >
+    <!-- 表格start -->
+    <el-table
+      :data="tableData"
+      border
+      stripe
+      :header-cell-style="headClass"
+      :cell-style="cellStyle"
+    >
+      <el-table-column type="index" label="序号" width="50px"></el-table-column>
+      <el-table-column prop="nickName" label="管理员姓名"></el-table-column>
+      <el-table-column
+        prop="phonenumber"
+        label="管理员手机号"
+      ></el-table-column>
+      <el-table-column prop="email" label="管理员邮箱"></el-table-column>
+      <el-table-column prop="userName" label="管理员账号"></el-table-column>
+      <!-- <el-table-column prop="password" label="管理员密码"></el-table-column> -->
+      <el-table-column prop="status" label="状态"></el-table-column>
+
+      <el-table-column fixed="right" label="操作" width="240">
+        <template #default="scope">
+          <el-button
+            @click="adminConfig(scope.row)"
+            type="text"
+            size="small"
+            style="color: #409eff"
+          >
+            编辑
+          </el-button>
+          <el-button
+            type="text"
+            size="small"
+            style="color: #409eff"
+          >
+            密码重置
+          </el-button>
+          <el-button
+            @click="adminConfig(scope.row)"
+            type="text"
+            size="small"
+            style="color: #409eff"
+          >
+            删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 表格end -->
+
+    <!-- 分页start -->
+    <div class="paginationBlock">
+      <el-pagination
+        v-model:currentPage="page"
+        :page-sizes="[15, 20, 25, 30]"
+        :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        background
+      ></el-pagination>
+    </div>
+
+    <!-- 分页end -->
+
+    <!-- 管理员配置组件开始 -->
+    <admin-Dialog
+      :dialog-title="dialogTitle2"
+      :item-info="tableItem"
+      :admin_dialog="adminDialogBool"
+      @closeNo="closeNo"
+      @Select="Select"
+      :DialogArray="DialogArray"
+    ></admin-Dialog>
+
+    <!-- 管理员配置组件end -->
+  </el-dialog>
+</template>
+<script>
+import { useStore } from 'vuex'
+import { defineComponent, ref, watchEffect } from 'vue'
+import * as api from '@/api/tenantManage/adminConfig.js'
+import { ElMessage } from 'element-plus'
+import adminDialog from './adminDialog.vue'
+
+export default defineComponent({
+  components: { adminDialog },
+  name: 'DialogComponent',
+  emits: ['closeDialog'],
+  props: {
+    show_Dialog: Boolean,
+    dialogTitle: String,
+    itemInfo: {
+      type: Object,
+      default: function () {
+        return {}
+      },
+    },
+  },
+  setup(props, { emit }) {
+    const store = useStore()
+    const beginTime = ref('')
+    const form = ref({})
+    const formInfo = ref(null)
+
+    const tableData = ref()
+    const currentPage = ref(1)
+    const pageSize = ref(5)
+    const total = ref(0)
+
+    const tenantId = ref('')
+    const userId = ref()
+
+    const tableItem = ref()
+    const dialogTitle2 = ref('')
+    const showDialog = ref(false)
+
+    const DialogArray = ref([])
+    const adminDialogBool = ref(false)
+
+    const handleSizeChange = (val) => {
+      pageSize.value = val
+      Select()
+    }
+    const handleCurrentChange = (val) => {
+      currentPage.value = val
+      Select()
+    }
+
+    const roleValid = (rule, value, callback) => {
+      rule
+      if (value.length === 0) {
+        callback(new Error('角色不能为空'))
+      } else {
+        callback()
+      }
+    }
+
+    //查询设备列表
+    function Select() {
+      // store.commit('TimeAll_function', dateTime.value)
+      // const time = store.state.Time_Data
+      api
+        .getUserList({
+          size: pageSize.value,
+          page: currentPage.value,
+          tenantId: tenantId.value,
+          // userId: 1,
+          // startTime: time[0] ? time[0] : '',
+          // endTime: time[1] ? time[1] : '',
+          // status: status.value,
+          // tenantType: tenantType.value,
+          // tenantName: tenantName.value,
+          // tenantManager: tenantManager.value,
+        })
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+            tableData.value = requset.data.records.map((val) => {
+              store.commit('getTimestampAll', val.startTime)
+              val.startTime = store.state.timeProcessing
+              store.commit('getTimestampAll', val.endTime)
+              val.endTime = store.state.timeProcessing
+              store.commit('getTimestampAll', val.createTime)
+              val.createTime = store.state.timeProcessing
+            })
+            tableData.value = requset.data.records
+            total.value = requset.data.total
+          } else {
+            ElMessage.error(requset.msg)
+          }
+        })
+    }
+
+    //管理员配置  (修改操作)
+    const adminConfig = (row) => {
+       console.log('row')
+      console.log(row)
+
+      tableItem.value = {
+        nickName: row.nickName,
+        userName: row.userName,
+        email: row.email,
+        phonenumber: row.phonenumber,
+        password: row.password,
+        status: row.status,
+        tenantId: row.tenantId,
+        userId:row.userId
+      }
+      DialogArray.value = row
+      dialogTitle2.value = '修改'
+      adminDialogBool.value = true
+    }
+
+    const open = () => {
+      form.value = props.itemInfo
+      tenantId.value = props.itemInfo.tenantId
+
+      Select()
+      // userId
+    }
+
+    // 关闭弹框
+    const closeDialog = (flag) => {
+      // resetForm()
+      showDialog.value = false
+      emit('closeDialog', flag)
+    }
+
+    // function resetForm() {
+    //   formInfo.value.resetFields()
+    // }
+
+    watchEffect((fn, options) => {
+      fn, options
+      showDialog.value = props.show_Dialog
+    })
+
+    //禁止选择以前的时间
+    const pickerEndDate = (time) => {
+      const timeRange = 1 * 24 * 60 * 60 * 1000
+      return time.getTime() <= Date.now() - timeRange * 1
+    }
+
+    return {
+      pickerEndDate,
+      roleValid,
+      closeDialog,
+      open,
+
+      tableData,
+      Select,
+
+      store,
+      beginTime,
+
+      checked: true,
+      form,
+      formInfo,
+
+      handleSizeChange,
+      handleCurrentChange,
+
+      tenantId,
+      userId,
+
+      adminConfig,
+      tableItem,
+       dialogTitle2,
+
+      showDialog,
+
+      DialogArray,
+      adminDialogBool,
+
+    }
+  },
+})
+</script>
+ 
+<style scoped lang="scss">
+.el-input,
+.el-select,
+.el-date-editor.el-input,
+.el-date-editor.el-input__inner {
+  width: 240px;
+}
+
+.el-form-item {
+  margin: 0 0 20px !important;
+}
+// label样式
+.el-form-item__label {
+  width: 120px !important;
+}
+.el-form-item__content {
+  margin-left: 100px;
+}
+.demo-form-inline .el-form-item:not(.user-layout .el-form-item) {
+  // margin: 0 auto 20px 55px;
+}
+</style>
+<style>
+</style>

+ 0 - 326
src/views/tenantManage/adminConfig/dialogComponent.vue

@@ -1,326 +0,0 @@
-<template>
-  <el-dialog
-    :title="dialogTitle"
-    v-model="showDialog"
-    width="900px"
-    @open="open()"
-    @close="closeDialog(0)"
-  >
-    <el-form
-      ref="formInfo"
-      :model="form"
-      class="demo-form-inline"
-      label-width="150px"
-      :rules="rules"
-    >
-      <el-row>
-        <el-col :span="12" :gutter="20">
-          <el-form-item label="租户名称:" prop="tenantName">
-            <el-input v-model="form.tenantName"></el-input>
-          </el-form-item>
-          <el-form-item label="租户负责人:" prop="tenantManager">
-            <el-input v-model="form.tenantManager"></el-input>
-          </el-form-item>
-
-          <el-form-item label="有效期限:" prop="tenantTerm">
-            <el-radio-group v-model="form.tenantTerm">
-              <el-radio :label="3" value="3">永久有效</el-radio>
-              <el-radio :label="4" value="4">
-                <el-date-picker
-                  v-model="form.value1"
-                  type="date"
-                  placeholder="请选择日期"
-                />
-              </el-radio>
-            </el-radio-group>
-          </el-form-item>
-
-          <el-form-item label="地理位置:" prop="geoPosition">
-            <el-input v-model="form.geoPosition"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12" :gutter="20">
-          <el-form-item label="租户类型:" prop="tenantType">
-            <el-select v-model="form.tenantType" placeholder="请选择">
-              <el-option label="试用租户" :value="0"></el-option>
-              <el-option label="正式租户" :value="1"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="负责人手机号:" prop="phoneNumber">
-            <el-input v-model="form.phoneNumber"></el-input>
-          </el-form-item>
-          <el-form-item label="系统平台:" prop="systemName">
-            <el-input v-model="form.systemName"></el-input>
-          </el-form-item>
-          <!-- <el-form-item label="系统平台:" prop="systemName">
-            <el-select
-              v-model="form.systemName"
-              placeholder="请选择"
-            >
-              <el-option label="计划检修停电" :value="1"></el-option>
-              <el-option label="计划施工停电" :value="2"></el-option>
-              <el-option label="客户申请停电" :value="3"></el-option>
-            </el-select>
-          </el-form-item> -->
-          <el-form-item label="邮箱地址:" prop="email">
-            <el-input v-model="form.email"></el-input>
-          </el-form-item>
-          <el-form-item label="联系地址:" prop="address">
-            <el-input v-model="form.address"></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-
-      <el-form-item label="">
-        <div
-          style="width: 670px; height: 130px; background: rgba(0, 0, 0, 0.2)"
-        >
-          地图
-        </div>
-      </el-form-item>
-      <el-form-item label="备注:" prop="remark">
-        <el-input
-          v-model="form.remark"
-          :rows="2"
-          type="textarea"
-          placeholder="请输入..."
-          style="width: 670px"
-        />
-      </el-form-item>
-
-      <br />
- 
-      <div style="text-align: right">
-        <el-button @click="closeDialog(0)">取消</el-button>
-        <el-button type="primary" @click="submitForm()">保存</el-button>
-      </div>
-    </el-form>
-  </el-dialog>
-</template>
-<script>
-import { useStore } from 'vuex'
-import { defineComponent, ref, watchEffect } from 'vue'
-import * as api from '@/api/tenantManage/tenantUnit.js'
-import { ElMessage } from 'element-plus'
-// import { parseTime } from '@/utils'
-import { validatorPhone, parseTime, isEmail } from '@/utils'
-export default defineComponent({
-  name: 'DialogComponent',
-  emits: ['closeDialog'],
-  props: {
-    show_Dialog: Boolean,
-    dialogTitle: String,
-    itemInfo: {
-      type: Object,
-      default: function () {
-        return {}
-      },
-    },
-  },
-  setup(props, { emit }) {
-    const store = useStore()
-    const beginTime = ref('')
-    const showDialog = ref(false)
-    const form = ref({})
-    const formInfo = ref(null)
-
-    const roleValid = (rule, value, callback) => {
-      rule
-      if (value.length === 0) {
-        callback(new Error('角色不能为空'))
-      } else {
-        callback()
-      }
-    }
-
-    // 保存操作
-    const submitForm = () => {
-      formInfo.value.validate((valid) => {
-        if (valid) {
-
-          var aa = form.value
-            if (aa.tenantTerm == 3) {
-              aa.tenantTerm = '永久有效'
-            }
-            if (aa.tenantTerm == 4) {
-              if (!form.value.value1) {
-                ElMessage.warning('请选择日期')
-                return
-              }
-              aa.tenantTerm = form.value.value1
-
-              parseTime
-
-              aa.tenantTerm
-                ? (aa.tenantTerm = parseTime(aa.tenantTerm).substring(0, 10))
-                : ''
-            }
-
-
-          if (props.dialogTitle === '新增') {
-            api.addTenantData(form.value).then((requset) => {
-              if (requset.status === 'SUCCESS') {
-                ElMessage.success({
-                  message: '新增成功',
-                  type: 'success',
-                })
-                closeDialog()
-              } else {
-                ElMessage.error(requset.msg)
-              }
-            })
-          } else {
-            api.updateTenantData(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
-        }
-      })
-    }
-
-    const open = () => {
-      form.value = props.itemInfo;
-      console.log('form.value')
-      console.log(form.value)
-    }
-
-    // 关闭弹框
-    const closeDialog = (flag) => {
-      resetForm()
-      showDialog.value = false
-      emit('closeDialog', flag)
-    }
-
-    function resetForm() {
-      formInfo.value.resetFields()
-    }
-
-    watchEffect((fn, options) => {
-      fn, options
-      showDialog.value = props.show_Dialog
-    })
-
-    //禁止选择以前的时间
-    const pickerEndDate = (time) => {
-      const timeRange = 1 * 24 * 60 * 60 * 1000
-      return time.getTime() <= Date.now() - timeRange * 1
-    }
-
-    return {
-      pickerEndDate,
-      roleValid,
-      submitForm,
-      closeDialog,
-      open,
-
-      store,
-      beginTime,
-      showDialog,
-
-      checked: true,
-      form,
-      formInfo,
-
-      rules: {
-        tenantName: [
-          { required: true, message: '请输入租户名称', trigger: 'blur' },
-          {
-            min: 1,
-            max: 30,
-            message: '长度在 1 到 30个字符',
-            trigger: 'blur',
-          },
-        ],
-        tenantManager: [
-          { required: true, message: '请输入租户负责人', trigger: 'blur' },
-          {
-            min: 1,
-            max: 10,
-            message: '长度在 1 到 10个字符',
-            trigger: 'blur',
-          },
-        ],
-        tenantTerm: [
-          { required: true, message: '请选择有效期限', trigger: 'change' },
-        ],
-        geoPosition: [
-          { required: true, message: '请选输入地理位置', trigger: 'blur' },
-        ],
-
-        tenantType: [
-          { required: true, message: '请输入租户类型', trigger: 'blur' },
-        ],
-        phoneNumber: [
-          {
-            required: true,
-            message: '请输入负责人手机号码',
-            trigger: 'blur',
-          },
-          {
-            validator: validatorPhone,
-            message: '输入的电话号码不正确',
-            trigger: 'blur',
-          },
-        ],
-        systemName: [
-          { required: true, message: '请选择系统平台', trigger: 'blur' },
-        ],
-        email: [
-          { required: true, message: '请输入邮箱地址', trigger: 'blur' },
-
-          {
-            validator: isEmail,
-            message: '输入的邮箱地址不正确',
-            trigger: 'blur',
-          },
-        ],
-        address: [
-          { required: true, message: '请输入联系地址', trigger: 'blur' },
-          {
-            min: 1,
-            max: 15,
-            message: '长度在 1 到 15个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-    }
-  },
-})
-</script>
- 
-<style scoped lang="scss">
-.el-input,
-.el-select,
-.el-date-editor.el-input,
-.el-date-editor.el-input__inner {
-  width: 240px;
-}
-
-.el-form-item {
-  margin: 0 0 20px !important;
-}
-// label样式
-.el-form-item__label {
-  width: 120px !important;
-}
-.el-form-item__content {
-  margin-left: 100px;
-}
-.demo-form-inline .el-form-item:not(.user-layout .el-form-item) {
-  // margin: 0 auto 20px 55px;
-}
-</style>
-<style>
-</style>

+ 39 - 57
src/views/tenantManage/adminConfig/index.vue

@@ -128,26 +128,13 @@
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"
-            :disabled="store.state.authorities.indexOf('配置') == -1"
           >
             查看
           </el-button>
         </template>
       </el-table-column>
- 
-
-
       <el-table-column fixed="right" label="操作" >
         <template #default="scope">
-          <!-- <el-button
-            type="text"
-            size="small"
-            @click.prevent="editRow(scope.row)"
-            :disabled="store.state.authorities.indexOf('配置') == -1"
-          >
-            管理员配置
-          </el-button> -->
-
           <el-button
               @click="adminConfig(scope.row)"
               type="text"
@@ -155,7 +142,7 @@
               style="color: #409eff"
     
             >
-              管理员配置
+              配置管理员
             </el-button>
         </template>
       </el-table-column>
@@ -178,18 +165,20 @@
 
     <!-- 分页end -->
 
-    <!--弹框组件开始-----------------------start-->
-    <dialog-component
+    <!--管理员信息组件开始-----------------------start-->
+    <checkAdmin-list
       :dialog-title="dialogTitle"
       :item-info="tableItem"
       @closeDialog="closeDialog"
       :show_Dialog="showDialog"
-    ></dialog-component>
-    <!--弹框组件开始-----------------------end-->
+    ></checkAdmin-list>
+    <!--管理员信息组件开始-----------------------end-->
 
     <!-- 管理员配置组件开始 -->
     <admin-Dialog
+        :item-info="tableItem"
         :admin_dialog="adminDialogBool"
+         :dialog-title="dialogTitle"
         @closeNo="closeNo"
         @Select="Select"
         :DialogArray="DialogArray"
@@ -202,15 +191,15 @@
 <script>
 import { useStore } from 'vuex'
 import { defineComponent, onMounted, ref } from 'vue'
-import DialogComponent from './dialogComponent'
-import adminDialog from './adminDialog.vue'
+import CheckAdminList from './component/checkAdminList'
+import adminDialog from './component/adminDialog.vue'
 import * as api from '@/api/tenantManage/adminConfig.js'
 import { ElMessage } from 'element-plus'
 
 export default defineComponent({
   name: 'VariableList',
 
-  components: { DialogComponent ,adminDialog},
+  components: { CheckAdminList ,adminDialog},
   setup() {
     const store = useStore()
 
@@ -243,39 +232,40 @@ export default defineComponent({
 
 
     // 添加操作
-    const addItem = () => {
+    // const addItem = () => {
+    //   tableItem.value = {
+    //     tenantName: '',
+    //     tenantManager: '',
+    //     tenantTerm: 3,
+    //     geoPosition: '',
+    //     tenantType: '',
+    //     phoneNumber: '',
+    //     systemName: '',
+    //     email: '',
+    //     address: '',
+    //   }
+    //   dialogTitle.value = '新增'
+    //   showDialog.value = true
+    // }
+
+    //管理员配置(新增操作)
+    const adminConfig = (row) => {
       tableItem.value = {
-        tenantName: '',
-        tenantManager: '',
-        tenantTerm: 3,
-        geoPosition: '',
-        tenantType: '',
-        phoneNumber: '',
-        systemName: '',
-        email: '',
-        address: '',
+        tenantId:row.id,
       }
-      dialogTitle.value = '新增'
-      showDialog.value = true
+      DialogArray.value = row
+      dialogTitle.value = '配置管理员'
+      adminDialogBool.value = true
     }
-    // 编辑操作
+
+
+    // 管理员信息列表页
     const editRow = (row) => {
       console.log(row)
       tableItem.value = {
-        id:row.id,
-        tenantName: row.tenantName,
-        tenantManager: row.tenantManager,
-        tenantTerm: row.tenantTerm=='永久有效'?3:4,
-        value1:row.tenantTerm,
-        geoPosition: row.geoPosition,
-        tenantType: Number(row.tenantType),
-        phoneNumber: row.phoneNumber,
-        systemName: row.systemName,
-        email: row.email,
-        address: row.address,
-        remark:row.remark
+        tenantId:row.id,
       }
-      dialogTitle.value = '查看'
+      dialogTitle.value = '管理员信息'
       showDialog.value = true
     }
 
@@ -318,10 +308,6 @@ export default defineComponent({
         .getTenantDataOne({
           size: pageSize.value,
           page: currentPage.value,
-          // startTime: time[0] ? time[0] : '',
-          // endTime: time[1] ? time[1] : '',
-          // status: status.value,
-          // tenantType: tenantType.value,
           tenantName: tenantName.value,
           tenantManager: tenantManager.value,
         })
@@ -403,11 +389,7 @@ export default defineComponent({
         })
     }
 
-    //管理员配置
-    const adminConfig = (row) => {
-      DialogArray.value = row
-      adminDialogBool.value = true
-    }
+    
 
     //管理员配置弹窗关闭
     const closeNo = (value) => {
@@ -424,7 +406,7 @@ export default defineComponent({
       cancelEvent,
       closeDialog,
       editRow,
-      addItem,
+      // addItem,
       Select,
 
       store,

+ 10 - 7
src/views/tenantManage/tenantUnit/dialogComponent.vue

@@ -49,19 +49,22 @@
           <el-form-item label="负责人手机号:" prop="phoneNumber">
             <el-input v-model="form.phoneNumber"></el-input>
           </el-form-item>
-          <el-form-item label="系统平台:" prop="systemName">
-            <el-input v-model="form.systemName"></el-input>
-          </el-form-item>
           <!-- <el-form-item label="系统平台:" prop="systemName">
+            <el-input v-model="form.systemName"></el-input>
+          </el-form-item> -->
+
+          <el-form-item label="系统平台:" prop="systemName">
             <el-select
               v-model="form.systemName"
               placeholder="请选择"
             >
-              <el-option label="计划检修停电" :value="1"></el-option>
-              <el-option label="计划施工停电" :value="2"></el-option>
-              <el-option label="客户申请停电" :value="3"></el-option>
+              <el-option label="永天智慧电力平台" :value="1"></el-option>
+              <el-option label="伍继智慧电力平台" :value="2"></el-option>
+              <el-option label="电力运营管理平台" :value="3"></el-option>
             </el-select>
-          </el-form-item> -->
+          </el-form-item>
+
+
           <el-form-item label="邮箱地址:" prop="email">
             <el-input v-model="form.email"></el-input>
           </el-form-item>