ming 3 vuotta sitten
vanhempi
commit
7176c3340f

+ 58 - 0
src/api/tenantManage/systemConfig.js

@@ -0,0 +1,58 @@
+import request from '@/utils/request'
+
+//单位配置-查询
+export function getTenantData(params) {
+    return request({
+        url: '/tenantConfig/getTenantData',
+        method: 'POST',
+        data: params,
+    })
+}
+
+//单位配置-注销
+export function plannedOutageDel(params) {
+    return request({
+        url: '/wcBlackoutPlan/plannedOutageDel',
+        method: 'GET',
+        params,
+    })
+}
+
+//单位配置-新增
+export function addTenantData(params) {
+    return request({
+        url: '/tenantConfig/addTenantData',
+        method: 'POST',
+        data: params,
+    })
+}
+
+//单位配置-系统平台下拉
+export function getPlatformBoxList(params) {
+    return request({
+        url: '/tenantConfig/getPlatformBoxList',
+        method: 'GET',
+        params,
+    })
+}
+
+
+
+//单位配置-修改
+export function updateTenantData(params) {
+    return request({
+        url: '/tenantConfig/updateTenantData',
+        method: 'POST',
+        data: params,
+    })
+}
+
+
+//单位配置-导出
+export function outagePlanListExport(params) {
+    return request({
+        url: 'wcBlackoutPlan/outagePlanListExport',
+        method: 'GET',
+        params,
+    })
+}

+ 0 - 3
src/views/systemManage/userManage/dialogComponent.vue

@@ -235,9 +235,6 @@ export default defineComponent({
 
     function resetForm() {
       formInfo.value.resetFields()
-      
-      
-     
     }
     function linkChange(){
 

+ 4 - 28
src/views/tenantManage/adminConfig/component/adminDialog.vue

@@ -1,5 +1,5 @@
 <template>
-  <!-- 克隆 -->
+  <!-- 管理员配置 -->
   <el-dialog
     :title="dialogTitle"
     v-model="cloneDialog"
@@ -94,33 +94,21 @@ export default defineComponent({
 
     const form = ref({})
 
-    const cloneDialog = ref(false) //克隆弹窗控制
-    const cloneChecked = ref(false) //克隆复选框控制
-    const cloneInputModel = ref('') //克隆input模拟量
-    const cloneInputState = ref('') //克隆input状态量
+    const cloneDialog = ref(false) //管理员配置弹窗控制
     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)
               }
             })
@@ -132,7 +120,6 @@ export default defineComponent({
                   type: 'success',
                 })
                 close()
-                // context.emit('Select')
               } else {
                 ElMessage.error(requset.msg)
               }
@@ -151,25 +138,18 @@ export default defineComponent({
       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
@@ -177,19 +157,15 @@ export default defineComponent({
     })
 
     return {
-      siteChange,
       store,
       open,
       close,
       submit,
       form,
-      deviceList,
       cloneDialog,
-      cloneChecked,
-      cloneInputModel,
-      cloneInputState,
 
       ruleForm,
+      resetForm,
       rules: {
         nickName: [
           {

+ 3 - 22
src/views/tenantManage/adminConfig/component/checkAdminList.vue

@@ -154,20 +154,11 @@ export default defineComponent({
 
     //查询设备列表
     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') {
@@ -210,33 +201,24 @@ export default defineComponent({
     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
-    }
-
+   
 
      //删除 是否删除  ---- 是
     const handleDelete = (row) => {
@@ -261,7 +243,6 @@ export default defineComponent({
 
 
     return {
-      pickerEndDate,
       roleValid,
       closeDialog,
       open,

+ 63 - 173
src/views/tenantManage/adminConfig/index.vue

@@ -5,25 +5,12 @@
       <div class="left">
         <div>
           <a class="" style="margin-right: 30px">管理员配置列表</a>
-          <!-- <el-button
-            icon="el-icon-plus"
-            type="success"
-            @click="addItem()"
-            :disabled="store.state.authorities.indexOf('新增') == -1"
-          >
-            新增
-          </el-button> -->
         </div>
       </div>
 
       <div class="right">
         <el-button type="primary">全部导出</el-button>
-        <el-button
-          type="primary"
-        >
-          导出
-        </el-button>
-
+        <el-button type="primary">导出</el-button>
         <!-- <el-button
           type="primary"
           @click="DataReportExport()"
@@ -54,29 +41,6 @@
             :disabled="store.state.authorities.indexOf('查询') == -1"
           ></el-input>
         </div>
-         <!-- <div class="filter-item">
-          管理员账号:
-          <el-input
-            v-model="tenantManager"
-            placeholder="请输入内容"
-            style="width: 150px"
-            :disabled="store.state.authorities.indexOf('查询') == -1"
-          ></el-input>
-        </div>
-        
-        <div class="filter-item">
-          状态:
-          <el-select
-            v-model="status"
-            placeholder="请选择"
-            style="width: 100px"
-            clearable
-            :disabled="store.state.authorities.indexOf('查询') == -1"
-          >
-            <el-option label="正常" :value="0"></el-option>
-            <el-option label="停用" :value="1"></el-option>
-          </el-select>
-        </div> -->
 
         <el-button
           type="primary"
@@ -101,49 +65,34 @@
       :cell-style="cellStyle"
     >
       <el-table-column type="index" label="序号" width="50px"></el-table-column>
-      <el-table-column
-        prop="tenantName"
-        label="租户名称"
-        
-      ></el-table-column>
-      <el-table-column
-        prop="tenantManager"
-        label="负责人"
-       
-      ></el-table-column>
+      <el-table-column prop="tenantName" label="租户名称"></el-table-column>
+      <el-table-column prop="tenantManager" label="负责人"></el-table-column>
       <el-table-column
         prop="phoneNumber"
         label="负责人手机号"
-        
       ></el-table-column>
-       <el-table-column
-        prop="systemName"
-        label="系统平台"
-        
-      ></el-table-column>
-      <el-table-column prop="tenantType" label="管理员信息" >
-       
+      <el-table-column prop="systemName" label="系统平台"></el-table-column>
+      <el-table-column prop="tenantType" label="管理员信息">
         <template #default="scope">
           <el-button
             type="text"
             size="small"
-            @click.prevent="editRow(scope.row)"
+            @click.prevent="checkAdminList(scope.row)"
           >
             查看
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column fixed="right" label="操作" >
+      <el-table-column fixed="right" label="操作">
         <template #default="scope">
           <el-button
-              @click="adminConfig(scope.row)"
-              type="text"
-              size="small"
-              style="color: #409eff"
-    
-            >
-              配置管理员
-            </el-button>
+            @click="adminConfig(scope.row)"
+            type="text"
+            size="small"
+            style="color: #409eff"
+          >
+            配置管理员
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -174,15 +123,14 @@
     ></checkAdmin-list>
     <!--管理员信息组件开始-----------------------end-->
 
-    <!-- 管理员配置组件开始 -->
+    <!-- 管理员配置组件开始  新增修改 -->
     <admin-Dialog
-        :item-info="tableItem"
-        :admin_dialog="adminDialogBool"
-         :dialog-title="dialogTitle"
-        @closeNo="closeNo"
-        @Select="Select"
-        :DialogArray="DialogArray"
-      ></admin-Dialog>
+      :dialog-title="dialogTitle"
+      :item-info="tableItem"
+      @closeNo="closeNo"
+      :admin_dialog="adminDialogBool"
+      :DialogArray="DialogArray"
+    ></admin-Dialog>
 
     <!-- 管理员配置组件end -->
   </div>
@@ -199,7 +147,7 @@ import { ElMessage } from 'element-plus'
 export default defineComponent({
   name: 'VariableList',
 
-  components: { CheckAdminList ,adminDialog},
+  components: { CheckAdminList, adminDialog },
   setup() {
     const store = useStore()
 
@@ -218,92 +166,16 @@ export default defineComponent({
     const tenantManager = ref('')
 
     const dateTime = ref('')
-    const select = ref(1)
 
     const input = ref('')
     const region = ref()
 
-
-
-     const DialogArray = ref([])
-     const adminDialogBool = ref(false)
-
-
-
-
-    // 添加操作
-    // const addItem = () => {
-    //   tableItem.value = {
-    //     tenantName: '',
-    //     tenantManager: '',
-    //     tenantTerm: 3,
-    //     geoPosition: '',
-    //     tenantType: '',
-    //     phoneNumber: '',
-    //     systemName: '',
-    //     email: '',
-    //     address: '',
-    //   }
-    //   dialogTitle.value = '新增'
-    //   showDialog.value = true
-    // }
-
-    //管理员配置(新增操作)
-    const adminConfig = (row) => {
-      tableItem.value = {
-        tenantId:row.id,
-      }
-      DialogArray.value = row
-      dialogTitle.value = '配置管理员'
-      adminDialogBool.value = true
-    }
-
-
-    // 管理员信息列表页
-    const editRow = (row) => {
-      console.log(row)
-      tableItem.value = {
-        tenantId:row.id,
-      }
-      dialogTitle.value = '管理员信息'
-      showDialog.value = true
-    }
-
-    // 关闭操作
-    const closeDialog = (flag) => {
-      if (flag) {
-        // 重新刷新表格内容
-        // this.fetchData()
-        console.log(1)
-      }
-      showDialog.value = false
-      Select()
-    }
-
-    //删除 是否删除  ---- 是
-    const handleDelete = () => {
-      // api.plannedOutageDel({ id: row.id }).then((requset) => {
-      //   if (requset.status === 'SUCCESS') {
-      //     ElMessage.success({
-      //       message: '删除成功',
-      //       type: 'success',
-      //     })
-      //     Select()
-      //   } else {
-      //     ElMessage.error(requset.msg)
-      //   }
-      // })
-    }
-    //是否删除  ---- 否
-    const cancelEvent = () => {
-      console.log('cancel!')
-    }
-
+    const DialogArray = ref([])
+    const adminDialogBool = ref(false)
 
     //查询设备列表
     function Select() {
       store.commit('TimeAll_function', dateTime.value)
-      // const time = store.state.Time_Data
       api
         .getTenantDataOne({
           size: pageSize.value,
@@ -329,12 +201,46 @@ export default defineComponent({
         })
     }
 
+    // 管理员信息列表页弹框
+    const checkAdminList = (row) => {
+      console.log(row)
+      tableItem.value = {
+        tenantId: row.id,
+      }
+      dialogTitle.value = '管理员信息'
+      showDialog.value = true
+    }
+
+    //管理员配置(新增操作)
+    const adminConfig = (row) => {
+      tableItem.value = {
+        tenantId: row.id,
+      }
+      DialogArray.value = row
+      dialogTitle.value = '配置管理员'
+      adminDialogBool.value = true
+    }
+
+    // 关闭操作
+    const closeDialog = (flag) => {
+      if (flag) {
+        // 重新刷新表格内容
+        // this.fetchData()
+        console.log(1)
+      }
+      showDialog.value = false
+      Select()
+    }
+
+    //管理员配置弹窗关闭
+    const closeNo = (value) => {
+      adminDialogBool.value = value
+    }
+
     onMounted(() => {
       Select()
     })
 
-    
-
     const handleSizeChange = (val) => {
       pageSize.value = val
       Select()
@@ -343,6 +249,7 @@ export default defineComponent({
       currentPage.value = val
       Select()
     }
+
     // 表头样式设置
     const goVariableList = () => {
       // 跳转至订单列表页面传参
@@ -389,28 +296,16 @@ export default defineComponent({
         })
     }
 
-    
-
-    //管理员配置弹窗关闭
-    const closeNo = (value) => {
-      adminDialogBool.value = value
-    }
-
-    
     return {
       cellStyle,
       headClass,
       goVariableList,
 
-      handleDelete,
-      cancelEvent,
       closeDialog,
-      editRow,
-      // addItem,
+      checkAdminList,
       Select,
 
       store,
-      
 
       total,
       pageSize,
@@ -425,7 +320,6 @@ export default defineComponent({
       status,
 
       showDialog,
-      select,
       dateTime,
       tableItem,
       dialogTitle,
@@ -434,15 +328,11 @@ export default defineComponent({
 
       DataReportExport,
 
-
       DialogArray,
       adminDialogBool,
-      
+
       adminConfig, //管理员配置按钮事件
       closeNo, //管理员配置弹窗关闭事件
-
-
-     
     }
   },
 })

+ 230 - 199
src/views/tenantManage/systemConfig/dialogComponent.vue

@@ -1,168 +1,142 @@
 <template>
   <el-dialog
     :title="dialogTitle"
-    v-model="dialogVisible"
-    width="640px"
-    @close="closeDialog()"
-    @open="open"
+    v-model="showDialog"
+    width="900px"
+    @open="open()"
+    @close="closeDialog(0)"
   >
     <el-form
       ref="formInfo"
       :model="form"
-      class="demo-form-inline userManageDialog"
-      label-width="100px"
+      class="demo-form-inline"
+      label-width="150px"
       :rules="rules"
     >
-      <el-form-item label="用户名:" prop="nickName">
-        <el-input
-          v-model="form.nickName"
-          :disabled="dialogTitle === '查看'"
-        ></el-input>
-      </el-form-item>
-      <el-form-item label="账号:" prop="userName">
-        <el-input
-          v-model="form.userName"
-          :disabled="dialogTitle === '查看'"
-        ></el-input>
-      </el-form-item>
-      <el-form-item label="性别:" prop="sex">
-        <el-radio-group v-model="form.sex" :disabled="dialogTitle === '查看'">
-          <el-radio label="1" value="1">男</el-radio>
-          <el-radio label="2" value="2">女</el-radio>
-        </el-radio-group>
-      </el-form-item>
+      <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="phonenumber">
-        <el-input
-          v-model="form.phonenumber"
-          :disabled="dialogTitle === '查看'"
-        ></el-input>
-      </el-form-item>
-      <el-form-item label="密码" prop="password" v-if="dialogTitle == '新增'">
-        <el-input
-          v-model="form.password"
-          :disabled="dialogTitle === '查看'"
-        ></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="createTime"
-        style="margin-top: 0px"
-      >
-        <el-date-picker
-          v-model="form.createTime"
-          width="100%"
-          type="datetime"
-          placeholder="选择日期时间"
-          :disabled="dialogTitle === '查看'"
-        ></el-date-picker>
-      </el-form-item> -->
-
-      <el-form-item label="角色名称:" prop="roleId">
-        <!-- <el-input v-model="form.roleName"></el-input> -->
-        <el-select
-          v-model="form.roleId"
-          placeholder="请选择"
-          clearable
-          :disabled="dialogTitle === '查看'"
-        >
-          <el-option
-            v-for="(item, index) in roleSelectData"
-            :key="index"
-            :label="item.roleName"
-            :value="item.roleId"
-          ></el-option>
-        </el-select>
-      </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="siteId">
-         <el-select
-              v-model="form.siteId"
+          <el-form-item label="系统平台:" prop="systemName">
+            <el-select
+              v-model="form.systemName"
               placeholder="请选择"
-              clearable
-               multiple
-              filterable
-              collapse-tags
-               @change="linkChange()"
-              
             >
+              <!-- <el-option label="永天智慧电力平台" :value="1"></el-option>
+              <el-option label="伍继智慧电力平台" :value="2"></el-option>
+              <el-option label="电力运营管理平台" :value="3"></el-option> -->
+
               <el-option
-                v-for="site in store.state.siteList"
-                :key="site"
-                :label="site.siteName"
-                :value="site.id"
-                
-              ></el-option>
+            v-for="(item, index) in getPlatformBoxList"
+            :key="index"
+            :label="item.platformName"
+            :value="item.id"
+          ></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>
+          <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 />
-      <br />
-      <br />
+ 
       <div style="text-align: right">
         <el-button @click="closeDialog(0)">取消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('formInfo')"
-          :disabled="isDisable"
-          v-if="dialogTitle !== '查看'"
-        >
-          确定
-        </el-button>
+        <el-button type="primary" @click="submitForm()">保存</el-button>
       </div>
     </el-form>
   </el-dialog>
 </template>
-
 <script>
-import { defineComponent, ref, onMounted, watchEffect,watch } from 'vue'
-import * as api from '@/api/systemManage/userManage.js'
-import { ElMessage } from 'element-plus'
-import { parseTime, validatorPhone } from '@/utils'
 import { useStore } from 'vuex'
-
+import { defineComponent, ref, watchEffect ,onMounted} 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: {
-    flag: Boolean,
+    show_Dialog: Boolean,
     dialogTitle: String,
-    itemInfo: Object,
+    itemInfo: {
+      type: Object,
+      default: function () {
+        return {}
+      },
+    },
   },
-  setup(props, context) {
-    context
+  setup(props, { emit }) {
     const store = useStore()
-    const dialogVisible = ref(false)
+    const beginTime = ref('')
+    const showDialog = ref(false)
+    const form = ref({})
     const formInfo = ref(null)
-    const isDisable = ref(false)
-
-    const form = ref([])
-    const roleSelectData = ref([])
-
-    // open(): Dialog弹窗打开之前做的事
-    const open = () => {
-    
-      form.value = props.itemInfo.value
-       console.log('form.value')
-       console.log(form.value)
-      console.log(form.value.siteId)
-    }
-
-  
-
-    // 关闭弹框
-    const closeDialog = () => {
-      resetForm()
-      context.emit('closeDialog', false)
-      dialogVisible.value = false
-    }
 
-    watchEffect((fn, options) => {
-      fn, options
-      dialogVisible.value = props.flag
-    })
+     const getPlatformBoxList = ref([])
 
     const roleValid = (rule, value, callback) => {
       rule
@@ -173,36 +147,44 @@ export default defineComponent({
       }
     }
 
-    // 保存-修改操作
+    // 保存操作
     const submitForm = () => {
-      form.value.createTime = parseTime(new Date())
-
       formInfo.value.validate((valid) => {
         if (valid) {
-          isDisable.value = true
-           setTimeout(() => {
-                  isDisable.value = false //点击一次时隔两秒后才能再次点击
-                }, 2000)
-          form.value.roleIds = [form.value.roleId] //roleIds 传给后台
+
+          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.userAdd(form.value).then((requset) => {
+            api.addTenantData(form.value).then((requset) => {
               if (requset.status === 'SUCCESS') {
                 ElMessage.success({
                   message: '新增成功',
                   type: 'success',
                 })
-                setTimeout(() => {
-                  isDisable.value = false //点击一次时隔两秒后才能再次点击
-                }, 2000)
-
                 closeDialog()
               } else {
-                alert(requset.msg)
-                // ElMessage.error(requset.msg)
+                ElMessage.error(requset.msg)
               }
             })
           } else {
-            api.userUpdate(form.value).then((requset) => {
+            api.updateTenantData(form.value).then((requset) => {
               if (requset.status === 'SUCCESS') {
                 ElMessage.success({
                   message: '修改成功',
@@ -221,97 +203,130 @@ export default defineComponent({
       })
     }
 
+    const open = () => {
+      form.value = props.itemInfo;
+      console.log('form.value')
+      console.log(form.value)
+
+       optionselect()
+       
+    }
+
+    // 关闭弹框
+    const closeDialog = (flag) => {
+      resetForm()
+      showDialog.value = false
+      emit('closeDialog', flag)
+    }
+
+    function resetForm() {
+      formInfo.value.resetFields()
+    }
+
     //角色下拉请求
     function optionselect() {
-      api.optionselect().then((requset) => {
+      api.getPlatformBoxList().then((requset) => {
         if (requset.status === 'SUCCESS') {
      
-          roleSelectData.value = requset.data
+          getPlatformBoxList.value = requset.data
         } else {
           ElMessage.error(requset.msg)
         }
       })
     }
 
-    function resetForm() {
-      formInfo.value.resetFields()
-      
-      
-     
-    }
-    function linkChange(){
 
 
-    }
+    watchEffect((fn, options) => {
+      fn, options
+      showDialog.value = props.show_Dialog
+    })
 
-     //监听变化
-    watch(
-      () => props.siteIdArr,
-      (newVal) => {
-        alert(1)
-        newVal
-       
-      }
-    )
+    //禁止选择以前的时间
+    const pickerEndDate = (time) => {
+      const timeRange = 1 * 24 * 60 * 60 * 1000
+      return time.getTime() <= Date.now() - timeRange * 1
+    }
 
     onMounted(() => {
-      optionselect()
+     
     })
 
     return {
-      store,
-      linkChange,
-      closeDialog,
-      dialogVisible,
+      pickerEndDate,
       roleValid,
-      formInfo,
-      form,
-      roleSelectData,
-      open,
       submitForm,
-      resetForm,
-      isDisable,
+      closeDialog,
+      open,
+
+      store,
+      beginTime,
+      showDialog,
+
+      checked: true,
+      form,
+      formInfo,
+      getPlatformBoxList,
+
       rules: {
-       
-        nickName: [
-          { required: true, message: '请输入用户名', trigger: 'blur' },
+        tenantName: [
+          { required: true, message: '请输入租户名称', trigger: 'blur' },
           {
-            min: 2,
-
-            message: '用户名长度至少2个字符',
+            min: 1,
+            max: 30,
+            message: '长度在 1 到 30个字符',
             trigger: 'blur',
           },
         ],
-        userName: [
-          { required: true, message: '请输入账号', trigger: 'blur' },
+        tenantManager: [
+          { required: true, message: '请输入租户负责人', trigger: 'blur' },
           {
+            min: 1,
             max: 10,
-            message: '账号最多输入 10 个字符',
+            message: '长度在 1 到 10个字符',
             trigger: 'blur',
           },
         ],
-        sex: [{ required: true, message: '请选择性别', trigger: 'change' }],
-        phonenumber: [
-          { required: true, message: '请输入手机号码', 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',
           },
         ],
-        createTime: [
-          { required: true, message: '请输入创建时间', trigger: 'blur' },
+        systemName: [
+          { required: true, message: '请选择系统平台', trigger: 'blur' },
         ],
-        roleId: [
-          { required: true, message: '请选择角色名称', trigger: 'blur' },
+        email: [
+          { required: true, message: '请输入邮箱地址', trigger: 'blur' },
+
+          {
+            validator: isEmail,
+            message: '输入的邮箱地址不正确',
+            trigger: 'blur',
+          },
         ],
-         siteId:  [{ required: true, message: '请选择站点', trigger: 'blur' }],
-        password: [
-          { required: true, message: '请输入密码', trigger: 'blur' },
+        address: [
+          { required: true, message: '请输入联系地址', trigger: 'blur' },
           {
-            min: 3,
-            max: 6,
-            message: '长度在 3 到 6 个字符',
+            min: 1,
+            max: 15,
+            message: '长度在 1 到 15个字符',
             trigger: 'blur',
           },
         ],
@@ -323,9 +338,25 @@ export default defineComponent({
  
 <style scoped lang="scss">
 .el-input,
-.el-select {
+.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 lang="scss">
+<style>
 </style>

+ 285 - 217
src/views/tenantManage/systemConfig/index.vue

@@ -4,102 +4,127 @@
     <div class="filter-container mb-10">
       <div class="left">
         <div>
-          <span class="" style="margin-right: 30px">系统配置待排版333</span>
-          <el-button :disabled="store.state.authorities.indexOf('新增')==-1" icon="el-icon-plus" type="success" @click="addItem()">
+          <a class="" style="margin-right: 30px">系统配置列表</a>
+          <!-- <el-button
+            icon="el-icon-plus"
+            type="success"
+            @click="addItem()"
+            :disabled="store.state.authorities.indexOf('新增') == -1"
+          >
             新增
-          </el-button>
+          </el-button> -->
         </div>
-        <div style="margin-top: 20px">
-          <div class="filter-item">
-            账号:
-            <el-input
-              v-model="userName"
-              placeholder="请输入内容"
-              style="width: 180px"
-               :disabled="store.state.authorities.indexOf('查询')==-1"
-            ></el-input>
-          </div>
+      </div>
 
-          <div class="filter-item">
-            账号状态:
-            <el-select
-              v-model="status"
-              placeholder="请选择"
-              style="width: 150px"
-              clearable
-               :disabled="store.state.authorities.indexOf('查询')==-1"
-            >
-              <el-option label="正常" value="0"></el-option>
-              <el-option label="停用" value="1"></el-option>
-            </el-select>
-          </div>
+      <div class="right">
+        <el-button type="primary">全部导出</el-button>
+        <el-button
+          type="primary"
+        >
+          导出
+        </el-button>
 
-          <div class="filter-item planOutage">
-            选择时间范围:
-            <el-date-picker
-              v-model="dateTime"
-              type="datetimerange"
-              range-separator="至"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              style="width: auto"
-               :disabled="store.state.authorities.indexOf('查询')==-1"
-            ></el-date-picker>
-          </div>
-          <el-button
-          :disabled="store.state.authorities.indexOf('查询')==-1"
-            type="primary"
-            icon="el-icon-search"
-            class="search-button"
-            @click="list()"
-          >
-            查询
-          </el-button>
-        </div>
+        <!-- <el-button
+          type="primary"
+          @click="DataReportExport()"
+          :disabled="store.state.authorities.indexOf('导出') == -1"
+        >
+          导出
+        </el-button> -->
       </div>
+    </div>
 
-      <!-- <div class="right">
-        <el-button type="primary">导出</el-button>
-      </div> -->
+    <div class="filter-container mb-10">
+      <div style="margin-top: 20px">
+        <div class="filter-item">
+          租户名称:
+          <el-input
+            v-model="tenantName"
+            placeholder="请输入内容"
+            style="width: 150px"
+            :disabled="store.state.authorities.indexOf('查询') == -1"
+          ></el-input>
+        </div>
+        <div class="filter-item">
+          负责人:
+          <el-input
+            v-model="tenantManager"
+            placeholder="请输入内容"
+            style="width: 150px"
+            :disabled="store.state.authorities.indexOf('查询') == -1"
+          ></el-input>
+        </div>
+        
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          @click="Select()"
+          class="search-button"
+          :disabled="store.state.authorities.indexOf('查询') == -1"
+        >
+          查询
+        </el-button>
+      </div>
     </div>
+
     <!-- 筛选end -->
 
     <!-- 表格start -->
-    <el-table :data="tableData" border stripe :header-cell-style="headClass">
-      <!-- <el-table-column prop="xh" label="序号" width="70">
-      </el-table-column> -->
-      <el-table-column prop="nickName" label="用户名"></el-table-column>
-      <el-table-column prop="userName" label="账号"></el-table-column>
-      <el-table-column prop="sex" label="性别" width="100">
-        <template #default="scope">
-          <span>{{ scope.row.sex == 1 ? '男' : '女' }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="phonenumber" label="手机号码" min-width="120"></el-table-column>
-      <el-table-column prop="createTime" label="创建时间" min-width="160"></el-table-column>
-      <!-- <el-table-column
-        prop="roles.roleName"
-        label="角色名称"
-       
-      ></el-table-column> -->
-      <el-table-column fixed="right" label="操作" width="180">
+    <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="tenantName"
+        label="租户名称"
+  
+      ></el-table-column>
+      <el-table-column
+        prop="tenantManager"
+        label="负责人"
+    
+      ></el-table-column>
+      <el-table-column
+        prop="phoneNumber"
+        label="负责人手机号"
+ 
+      ></el-table-column>
+     
+      <el-table-column
+        prop="platformName"
+        label="系统平台"
+   
+      ></el-table-column>
+      
+      <el-table-column fixed="right" label="操作"  width="100">
         <template #default="scope">
           <el-button
-            @click="checkItem(scope.row)"
-            type="text"
-            size="small"
-            class="delete-text"
-          >
-            查看
-          </el-button>
-          <el-button
-          :disabled="store.state.authorities.indexOf('修改')==-1"
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"
+            :disabled="store.state.authorities.indexOf('配置') == -1"
           >
-            编辑
+            配置
           </el-button>
+          <!-- <el-popconfirm
+            confirm-button-text="是"
+            cancel-button-text="否"
+            icon="el-icon-info"
+            icon-color="red"
+            title="确定删除?"
+            @confirm="handleDelete(scope.row)"
+            @cancel="cancelEvent"
+          >
+            <template #reference>
+              <el-button type="text" size="small" class="delete-text" :disabled="store.state.authorities.indexOf('删除')==-1">
+                删除
+              </el-button>
+            </template>
+          </el-popconfirm> -->
         </template>
       </el-table-column>
     </el-table>
@@ -108,7 +133,7 @@
     <!-- 分页start -->
     <div class="paginationBlock">
       <el-pagination
-        v-model:currentPage="currentPage"
+        v-model:currentPage="page"
         :page-sizes="[15, 20, 25, 30]"
         :page-size="pageSize"
         layout="total, sizes, prev, pager, next, jumper"
@@ -123,11 +148,10 @@
 
     <!--弹框组件开始-----------------------start-->
     <dialog-component
-      :dialogTitle="dialogTitle"
-      :itemInfo="tableItem"
+      :dialog-title="dialogTitle"
+      :item-info="tableItem"
       @closeDialog="closeDialog"
-      :flag="showDialog"
-      v-if="tableItem"
+      :show_Dialog="showDialog"
     ></dialog-component>
     <!--弹框组件开始-----------------------end-->
   </div>
@@ -135,186 +159,230 @@
 
 <script>
 import { useStore } from 'vuex'
-import { defineComponent, ref, reactive, onMounted } from 'vue'
-import * as api from '@/api/systemManage/userManage.js'
-import { ElMessage } from 'element-plus'
-
+import { defineComponent, onMounted, ref } from 'vue'
 import DialogComponent from './dialogComponent'
+import * as api from '@/api/tenantManage/systemConfig.js'
+import { ElMessage } from 'element-plus'
 
 export default defineComponent({
+  name: 'VariableList',
+
   components: { DialogComponent },
   setup() {
     const store = useStore()
-    const total = ref(0)
-    const pageSize = ref(10)
-    const currentPage = ref(1)
 
-    const dateTime = ref('')
-
-    const userName = ref('')
-    const phone = ref('')
-    const status = ref('')
-    const role = ref('')
-    const currentPage4 = ref(4)
+    const tableItem = ref()
     const dialogTitle = ref('')
     const showDialog = ref(false)
-    const tableData = ref([])
-    const siteIdArr=ref([])
 
-    // // 表头样式设置
-    const headClass = () => {
-      return 'background:#FAFAFA;'
-    }
+    const tableData = ref()
+    const currentPage = ref(1)
+    const pageSize = ref(15)
+    const total = ref(0)
 
-    const handleSizeChange = (val) => {
-      pageSize.value = val
-      list()
-    }
-    const handleCurrentChange = (val) => {
-      currentPage.value = val
-      list()
-    }
+    const status = ref('')
+    const tenantType = ref('')
+    const tenantName = ref('')
+    const tenantManager = ref('')
 
-    //用户列表
-    function list() {
-      store.commit('TimeAll_function', dateTime.value)
-      const time = store.state.Time_Data
-      api
-        .list({
-          pageSize: pageSize.value,
-          pageNum: currentPage.value,
-          status: status.value,
-          userName: userName.value,
-          beginTime: time[0],
-          endTime: time[1],
-          // platformAreaName: platformAreaName.value,
-        })
-        .then((requset) => {
-          if (requset.status === 'SUCCESS') {
-            tableData.value = requset.data.rows
-            total.value = requset.data.total
-          } else {
-            ElMessage.error(requset.msg)
-          }
-        })
-    }
+    const dateTime = ref('')
+    const select = ref(1)
+
+    const input = ref('')
+    const region = ref()
 
-    const tableItem = reactive([])
     // 添加操作
     const addItem = () => {
       tableItem.value = {
-        nickName: '',
-        userName: '',
-        sex: '1',
-        phonenumber: '',
-        createTime: '',
-        roleName: '',
-        password: '',
+        tenantName: '',
+        tenantManager: '',
+        tenantTerm: 3,
+        geoPosition: '',
+        tenantType: '',
+        phoneNumber: '',
+        systemName: '',
+        email: '',
+        address: '',
       }
       dialogTitle.value = '新增'
       showDialog.value = true
     }
-
-    // 查看
-    const checkItem = (row) => {
-      siteIdArr.value=[]
+    // 编辑操作
+    const editRow = (row) => {
       console.log(row)
-      api.authRole({}, row.userId).then((requset) => {
-        if (requset.status === 'SUCCESS') {
-          tableItem.value.roleId= requset.data.user.roles[0].roleId
-          var newArray= requset.data.userSite
-           newArray.forEach(function(item){
-             siteIdArr.value.push(item.siteId)
+      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: Number(row.systemName),
+        email: row.email,
+        address: row.address,
+        remark:row.remark
+      }
+      dialogTitle.value = '编辑'
+      showDialog.value = true
+    }
 
-           })
-           tableItem.value.siteId= siteIdArr.value
+    // 关闭操作
+    const closeDialog = (flag) => {
+      if (flag) {
+        // 重新刷新表格内容
+        // this.fetchData()
+        console.log(1)
+      }
+      showDialog.value = false
+      Select()
+    }
+
+    //删除 是否删除  ---- 是
+    const handleDelete = (row) => {
+      api.plannedOutageDel({ id: row.id }).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          ElMessage.success({
+            message: '删除成功',
+            type: 'success',
+          })
+          Select()
         } else {
           ElMessage.error(requset.msg)
         }
       })
-      tableItem.value = row
-      dialogTitle.value = '查看'
-      showDialog.value = true
+    }
+    //是否删除  ---- 否
+    const cancelEvent = () => {
+      console.log('cancel!')
     }
 
-    // 编辑操作
-    const editRow = (row) => {
-      siteIdArr.value=[]
-      console.log(row)
-      api.authRole({}, row.userId).then((requset) => {
-        if (requset.status === 'SUCCESS') {
-          tableItem.value.roleId= requset.data.user.roles[0].roleId
+    //查询设备列表
+    function Select() {
+      // store.commit('TimeAll_function', dateTime.value)
+      // const time = store.state.Time_Data
+      api
+        .getTenantData({
+          size: pageSize.value,
+          page: currentPage.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)
+          }
+        })
+    }
 
-           var newArray= requset.data.userSite
-           newArray.forEach(function(item){
-             siteIdArr.value.push(item.siteId)
+    onMounted(() => {
+      Select()
+    })
 
-           })
-           tableItem.value.siteId= siteIdArr.value
-            
-        } else {
-          ElMessage.error(requset.msg)
-        }
+    const handleSizeChange = (val) => {
+      pageSize.value = val
+      Select()
+    }
+    const handleCurrentChange = (val) => {
+      currentPage.value = val
+      Select()
+    }
+    // 表头样式设置
+    const goVariableList = () => {
+      // 跳转至订单列表页面传参
+      this.$router.push({
+        path: '../siteManage/variableList/index.vue',
       })
+      // this.$router.push({ name:'variableList'})
+    }
+    const headClass = () => {
+      return 'background:#FAFAFA;'
+    }
+    //处理状态状态值变色
+    const cellStyle = ({ row, column, rowIndex, columnIndex }) => {
+      row, column, rowIndex
+      // console.log(row, column, rowIndex)
 
-
-      // tableItem.value = row
-      tableItem.value={
-        nickName:row.nickName,
-        userName:row.userName,
-        sex:row.sex,
-        phonenumber:row.phonenumber,
-        password:row.password,
-        createTime:row.createTime,
-        roleId:row.roleId,
-        userId:row.userId
+      if (columnIndex) {
+        // return `text-align:left;cursor:pointer;`
+      } else {
+        return ''
       }
-
-      dialogTitle.value = '编辑'
-      showDialog.value = true
     }
 
-    // 关闭操作
-    const closeDialog = () => {
-      showDialog.value = false
-      
-      list()
+    //导出
+    const DataReportExport = () => {
+      store.commit('TimeAll_function', dateTime.value)
+      const time = store.state.Time_Data
+      api
+        .outagePlanListExport({
+          type: region.value,
+          startTime: time[0] ? time[0] : '',
+          endTime: time[1] ? time[1] : '',
+        })
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+            window.location.href = window.PLATFROM_CONFIG.fileUrl + requset.data
+            ElMessage.success({
+              message: '导出成功',
+              type: 'success',
+            })
+          } else {
+            ElMessage.error(requset.msg)
+          }
+        })
     }
+    return {
+      cellStyle,
+      headClass,
+      goVariableList,
 
-    onMounted(() => {
-      list()
-    })
+      handleDelete,
+      cancelEvent,
+      closeDialog,
+      editRow,
+      addItem,
+      Select,
+
+      store,
 
-    return {
-      userName,
-      phone,
-      status,
-      role,
-      tableItem,
-      currentPage4,
-      dialogTitle,
-      showDialog,
-      tableData,
       total,
       pageSize,
       currentPage,
-
-      dateTime,
-      store,
-      siteIdArr,
-      list,
       handleSizeChange,
       handleCurrentChange,
-      headClass,
-      checkItem,
-      addItem,
-      editRow,
-      closeDialog,
+
+      tenantType,
+      tableData,
+      tenantName,
+      tenantManager,
+      status,
+
+      showDialog,
+      select,
+      dateTime,
+      tableItem,
+      dialogTitle,
+      input,
+      region,
+
+      DataReportExport,
     }
   },
 })
 </script>
 
-
 <style lang="scss" scoped>
 </style>