|
@@ -1,169 +1,525 @@
|
|
|
<template>
|
|
|
- <el-dialog
|
|
|
- :title="dialogTitle"
|
|
|
- v-model="dialogVisible"
|
|
|
- width="640px"
|
|
|
- @close="closeDialog()"
|
|
|
- @open="open"
|
|
|
- >
|
|
|
- <el-form
|
|
|
- ref="formInfo"
|
|
|
- :model="form"
|
|
|
- class="demo-form-inline userManageDialog"
|
|
|
- label-width="100px"
|
|
|
- :rules="rules"
|
|
|
+ <div class="aa">
|
|
|
+ <el-dialog
|
|
|
+ :title="dialogTitle"
|
|
|
+ v-model="showDialog"
|
|
|
+ @open="open()"
|
|
|
+ @close="closeDialog(0)"
|
|
|
>
|
|
|
- <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-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="createTime"
|
|
|
- style="margin-top: 0px"
|
|
|
+ <el-form
|
|
|
+ ref="formInfo"
|
|
|
+ :model="form"
|
|
|
+ class="demo-form-inline"
|
|
|
+ label-width="150px"
|
|
|
+ :rules="rules"
|
|
|
>
|
|
|
- <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="siteId">
|
|
|
- <el-select
|
|
|
- v-model="form.siteId"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- filterable
|
|
|
- collapse-tags
|
|
|
- @change="linkChange()"
|
|
|
-
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="site in store.state.siteList"
|
|
|
- :key="site"
|
|
|
- :label="site.siteName"
|
|
|
- :value="site.id"
|
|
|
-
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </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>
|
|
|
- </div>
|
|
|
- </el-form>
|
|
|
- </el-dialog>
|
|
|
+ <el-form-item label="菜单权限:" prop="aaa">
|
|
|
+ <div>
|
|
|
+ <el-checkbox
|
|
|
+ v-model="checked1"
|
|
|
+ label="展开/折叠"
|
|
|
+ size="large"
|
|
|
+ @change="handleExpandChange"
|
|
|
+ />
|
|
|
+ <el-checkbox v-model="checked2" label="全选/全不选" size="large" />
|
|
|
+ <el-checkbox v-model="checked3" label="父子联动" size="large"/>
|
|
|
+ </div>
|
|
|
+ <el-tree
|
|
|
+ v-if="data.length"
|
|
|
+ :data="data"
|
|
|
+ :props="defaultProps"
|
|
|
+ @node-click="handleNodeClick"
|
|
|
+ show-checkbox
|
|
|
+ :default-expand-all="isExpand"
|
|
|
+ :check-strictly="isStrictly"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</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, watch, 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([])
|
|
|
+ const isExpand = ref(false)
|
|
|
+ const isStrictly=ref(true)
|
|
|
+ const getPlatformBoxList = ref([])
|
|
|
+ const checked1 = ref(false)
|
|
|
+ const checked2 = ref(false)
|
|
|
+ const checked3 = ref(false)
|
|
|
|
|
|
- // open(): Dialog弹窗打开之前做的事
|
|
|
- const open = () => {
|
|
|
-
|
|
|
- form.value = props.itemInfo.value
|
|
|
- console.log('form.value')
|
|
|
- console.log(form.value)
|
|
|
- console.log(form.value.siteId)
|
|
|
+ const data = ref([
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ])
|
|
|
+
|
|
|
+ const handleNodeClick = (data, obj, node) => {
|
|
|
+ data, node
|
|
|
+ console.log(data)
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ //展开合并
|
|
|
+ const handleExpandChange = () => {
|
|
|
+ data.value = []
|
|
|
+ if (checked1.value) {
|
|
|
+ isExpand.value = true
|
|
|
+ setTimeout(function () {
|
|
|
+ data.value = [
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }, 10)
|
|
|
+ } else {
|
|
|
+ isExpand.value = false
|
|
|
+ setTimeout(function () {
|
|
|
+ data.value = [
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }, 10)
|
|
|
+ }
|
|
|
|
|
|
- // 关闭弹框
|
|
|
- const closeDialog = () => {
|
|
|
- resetForm()
|
|
|
- context.emit('closeDialog', false)
|
|
|
- dialogVisible.value = false
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- watchEffect((fn, options) => {
|
|
|
- fn, options
|
|
|
- dialogVisible.value = props.flag
|
|
|
- })
|
|
|
+ //全选全不选
|
|
|
+ const handleCheckedChange = () => {
|
|
|
+ data.value = []
|
|
|
+ if (checked2.value) {
|
|
|
+ isExpand.value = true
|
|
|
+ setTimeout(function () {
|
|
|
+ data.value = [
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }, 10)
|
|
|
+ } else {
|
|
|
+ isExpand.value = false
|
|
|
+ setTimeout(function () {
|
|
|
+ data.value = [
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }, 10)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const handleStrictlyChange=()=>{
|
|
|
+
|
|
|
+ if (checked3.value) {
|
|
|
+ isStrictly.value = false
|
|
|
+ setTimeout(function () {
|
|
|
+ data.value = [
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }, 10)
|
|
|
+ } else {
|
|
|
+ isStrictly.value = true
|
|
|
+ setTimeout(function () {
|
|
|
+ data.value = [
|
|
|
+ {
|
|
|
+ label: 'Level one 1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 1-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 1-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 2-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 2-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 2-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level one 3',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level two 3-1',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-1-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Level two 3-2',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ label: 'Level three 3-2-1',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }, 10)
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
+ }
|
|
|
const roleValid = (rule, value, callback) => {
|
|
|
rule
|
|
|
if (value.length === 0) {
|
|
@@ -173,36 +529,42 @@ 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 +583,144 @@ 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(){
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- //监听变化
|
|
|
+ //监听变化
|
|
|
watch(
|
|
|
- () => props.siteIdArr,
|
|
|
+ () => checked1.value,
|
|
|
(newVal) => {
|
|
|
- alert(1)
|
|
|
- newVal
|
|
|
-
|
|
|
- }
|
|
|
+ console.log(newVal)
|
|
|
+ },
|
|
|
+ { lazy: true }
|
|
|
)
|
|
|
|
|
|
- onMounted(() => {
|
|
|
- optionselect()
|
|
|
+ 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
|
|
|
+ }
|
|
|
+
|
|
|
+ onMounted(() => {})
|
|
|
+
|
|
|
return {
|
|
|
- store,
|
|
|
- linkChange,
|
|
|
- closeDialog,
|
|
|
- dialogVisible,
|
|
|
+ pickerEndDate,
|
|
|
roleValid,
|
|
|
- formInfo,
|
|
|
- form,
|
|
|
- roleSelectData,
|
|
|
- open,
|
|
|
submitForm,
|
|
|
- resetForm,
|
|
|
- isDisable,
|
|
|
+ closeDialog,
|
|
|
+ open,
|
|
|
+
|
|
|
+ store,
|
|
|
+ beginTime,
|
|
|
+ showDialog,
|
|
|
+
|
|
|
+ checked: true,
|
|
|
+ form,
|
|
|
+ formInfo,
|
|
|
+ getPlatformBoxList,
|
|
|
+
|
|
|
+ handleNodeClick,
|
|
|
+ data,
|
|
|
+ isExpand,
|
|
|
+ isStrictly,
|
|
|
+ checked1,
|
|
|
+ checked2,
|
|
|
+ checked3,
|
|
|
+ handleExpandChange,
|
|
|
+ handleCheckedChange,
|
|
|
+ handleStrictlyChange,
|
|
|
+
|
|
|
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 +732,39 @@ 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;
|
|
|
+}
|
|
|
+.el-form-item:not(.user-layout .el-form-item) {
|
|
|
+ max-width: 100%;
|
|
|
+}
|
|
|
+.el-tree {
|
|
|
+ border: 1px solid #c0c4cc;
|
|
|
+ padding: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.aa {
|
|
|
+ ::v-deep .el-form-item--small .el-form-item__label {
|
|
|
+ line-height: 40px !important;
|
|
|
+ // margin-top:10px
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|
|
|
-<style lang="scss">
|
|
|
+<style>
|
|
|
</style>
|