|
@@ -2,6 +2,7 @@
|
|
|
<el-dialog
|
|
|
:title="dialogTitle"
|
|
|
v-model="showDialog"
|
|
|
+ width="900px"
|
|
|
@open="open()"
|
|
|
@close="closeDialog(0)"
|
|
|
>
|
|
@@ -12,28 +13,87 @@
|
|
|
label-width="150px"
|
|
|
:rules="rules"
|
|
|
>
|
|
|
- <el-form-item
|
|
|
- label="平台名称:"
|
|
|
- prop="platformName"
|
|
|
- v-if="dialogTitle == '添加模板'"
|
|
|
- >
|
|
|
- <el-input v-model="form.platformName"></el-input>
|
|
|
+ <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-col>
|
|
|
+ <el-col :span="12" :gutter="20">
|
|
|
+ <el-form-item label="请求地址:" prop="phoneNumber">
|
|
|
+ <el-input v-model="form.phoneNumber"></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="操作方法:" prop="remark">
|
|
|
+ <el-input
|
|
|
+ v-model="form.remark"
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入..."
|
|
|
+ style="width: 670px"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="请求参数:" prop="remark">
|
|
|
+ <el-input
|
|
|
+ v-model="form.remark"
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入..."
|
|
|
+ style="width: 670px"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="" prop="aa">
|
|
|
- <el-tree
|
|
|
- v-if="data.length"
|
|
|
- :data="data"
|
|
|
- :props="defaultProps"
|
|
|
- @node-click="handleNodeClick"
|
|
|
- show-checkbox
|
|
|
- node-key="id"
|
|
|
- :default-expand-all="isExpand"
|
|
|
- :default-checked-keys="checkedArr"
|
|
|
- :check-strictly="isStrictly"
|
|
|
- @check="currentChecked"
|
|
|
+ <el-form-item label="返回参数:" prop="remark">
|
|
|
+ <el-input
|
|
|
+ v-model="form.remark"
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入..."
|
|
|
+ style="width: 670px"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12" :gutter="20">
|
|
|
+ <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-col>
|
|
|
+ <el-col :span="12" :gutter="20">
|
|
|
+ <el-form-item label="操作时间:" prop="phoneNumber">
|
|
|
+ <el-input v-model="form.phoneNumber"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="有效期限:" prop="tenantTerm">
|
|
|
+ <el-radio-group v-model="form.tenantTerm">
|
|
|
+ <el-radio :label="3" value="3">2090-01-01</el-radio>
|
|
|
+ <el-radio :label="4" value="4">
|
|
|
+ <el-date-picker
|
|
|
+ :min-time="nowDate"
|
|
|
+ v-model="form.value1"
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ type="date"
|
|
|
+ placeholder="请选择日期"
|
|
|
+ />
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item> -->
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
<br />
|
|
|
|
|
|
<div style="text-align: right">
|
|
@@ -48,8 +108,10 @@
|
|
|
import AMap from 'AMap'
|
|
|
import { useStore } from 'vuex'
|
|
|
import { defineComponent, ref, watchEffect, onMounted } from 'vue'
|
|
|
-import * as api from '@/api/platManage/index.js'
|
|
|
+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',
|
|
@@ -72,8 +134,6 @@ export default defineComponent({
|
|
|
const formInfo = ref(null)
|
|
|
const nowDate = ref(new Date().getTime())
|
|
|
|
|
|
- const data = ref([])
|
|
|
- const checkedArr = ref([])
|
|
|
const getPlatformBoxList = ref([])
|
|
|
|
|
|
const roleValid = (rule, value, callback) => {
|
|
@@ -89,73 +149,30 @@ export default defineComponent({
|
|
|
return time.getTime() < Date.now()
|
|
|
}
|
|
|
|
|
|
- const currentChecked = (nodeObj, SelectedObj) => {
|
|
|
- nodeObj, SelectedObj
|
|
|
- console.log('SelectedObj.checkedNodes')
|
|
|
- console.log(SelectedObj.checkedNodes)
|
|
|
- checkedArr.value = []
|
|
|
-
|
|
|
-
|
|
|
- SelectedObj.checkedNodes.forEach((item) => {
|
|
|
- checkedArr.value.push(item.id)
|
|
|
- })
|
|
|
- console.log(checkedArr.value)
|
|
|
- }
|
|
|
-
|
|
|
- //树结构回显
|
|
|
- function getPlatformMenu() {
|
|
|
- var platformId = ''
|
|
|
- if (props.dialogTitle == '添加模板') {
|
|
|
- platformId = 0
|
|
|
- } else {
|
|
|
- platformId = form.value.id
|
|
|
- }
|
|
|
-
|
|
|
- api
|
|
|
- .getPlatformMenu({
|
|
|
- platformId: platformId,
|
|
|
- })
|
|
|
- .then((requset) => {
|
|
|
- if (requset.status === 'SUCCESS') {
|
|
|
- console.log('requset.data111')
|
|
|
- console.log(requset.data)
|
|
|
- var jsona = JSON.stringify(requset.data.menus)
|
|
|
- var jsonb = jsona.replace(/"menu"/g, '"label"')
|
|
|
- jsonb = jsonb.replace(/"authority"/g, '"children"')
|
|
|
- jsonb = jsonb.replace(/"name"/g, '"label"')
|
|
|
- var jsonc = JSON.parse(jsonb)
|
|
|
- data.value = jsonc
|
|
|
- console.log('data.value')
|
|
|
- console.log(data.value)
|
|
|
-
|
|
|
- checkedArr.value = requset.data.checkedKeys
|
|
|
- console.log('checkedArr.value')
|
|
|
- console.log(checkedArr.value)
|
|
|
- } else {
|
|
|
- ElMessage.error(requset.msg)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
// 保存操作
|
|
|
const submitForm = () => {
|
|
|
formInfo.value.validate((valid) => {
|
|
|
if (valid) {
|
|
|
- var params = {}
|
|
|
- if (props.dialogTitle == '添加模板') {
|
|
|
- params = {
|
|
|
- platformId: 0,
|
|
|
- platformName: form.value.platformName,
|
|
|
- menuIds: checkedArr.value,
|
|
|
- }
|
|
|
- } else {
|
|
|
- params = {
|
|
|
- platformId: form.value.id,
|
|
|
- menuIds: checkedArr.value,
|
|
|
+ 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 (checkedArr.value.length) {
|
|
|
- api.updatePlatformMenu(params).then((requset) => {
|
|
|
+
|
|
|
+ if (props.dialogTitle === '新增') {
|
|
|
+ api.addTenantData(form.value).then((requset) => {
|
|
|
if (requset.status === 'SUCCESS') {
|
|
|
ElMessage.success({
|
|
|
message: '新增成功',
|
|
@@ -166,8 +183,18 @@ export default defineComponent({
|
|
|
ElMessage.error(requset.msg)
|
|
|
}
|
|
|
})
|
|
|
- }else{
|
|
|
- ElMessage.warning('请至少选择一个权限保存')
|
|
|
+ } 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!!')
|
|
@@ -186,7 +213,7 @@ export default defineComponent({
|
|
|
|
|
|
var marker = new AMap.Marker({})
|
|
|
map.on('click', function (e) {
|
|
|
- form.value.geoPosition = e.lnglat.getLng() + ',' + e.lnglat.getLat()
|
|
|
+ form.value.geoPosition = e.lnglat.getLng() + ',' + e.lnglat.getLat()
|
|
|
|
|
|
map.remove([marker])
|
|
|
marker = new AMap.Marker({
|
|
@@ -194,22 +221,26 @@ export default defineComponent({
|
|
|
})
|
|
|
|
|
|
map.add([marker])
|
|
|
+
|
|
|
})
|
|
|
// AMap end
|
|
|
}
|
|
|
|
|
|
const open = () => {
|
|
|
+ // initMap()
|
|
|
+ setTimeout(function () {
|
|
|
+ initMap()
|
|
|
+ }, 10)
|
|
|
+
|
|
|
form.value = props.itemInfo
|
|
|
console.log('form.value')
|
|
|
console.log(form.value)
|
|
|
|
|
|
- // optionselect()
|
|
|
- getPlatformMenu()
|
|
|
+ optionselect()
|
|
|
}
|
|
|
|
|
|
// 关闭弹框
|
|
|
const closeDialog = (flag) => {
|
|
|
- checkedArr.value = []
|
|
|
resetForm()
|
|
|
showDialog.value = false
|
|
|
emit('closeDialog', flag)
|
|
@@ -219,6 +250,17 @@ export default defineComponent({
|
|
|
formInfo.value.resetFields()
|
|
|
}
|
|
|
|
|
|
+ //角色下拉请求
|
|
|
+ function optionselect() {
|
|
|
+ api.getPlatformBoxList().then((requset) => {
|
|
|
+ if (requset.status === 'SUCCESS') {
|
|
|
+ getPlatformBoxList.value = requset.data
|
|
|
+ } else {
|
|
|
+ ElMessage.error(requset.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
watchEffect((fn, options) => {
|
|
|
fn, options
|
|
|
showDialog.value = props.show_Dialog
|
|
@@ -239,15 +281,10 @@ export default defineComponent({
|
|
|
closeDialog,
|
|
|
open,
|
|
|
|
|
|
- data,
|
|
|
-
|
|
|
- getPlatformMenu,
|
|
|
-
|
|
|
// map123,
|
|
|
store,
|
|
|
beginTime,
|
|
|
showDialog,
|
|
|
- checkedArr,
|
|
|
|
|
|
initMap,
|
|
|
nowDate,
|
|
@@ -258,11 +295,63 @@ export default defineComponent({
|
|
|
form,
|
|
|
formInfo,
|
|
|
getPlatformBoxList,
|
|
|
- currentChecked,
|
|
|
|
|
|
rules: {
|
|
|
- platformName: [
|
|
|
- { required: true, message: '请输入平台名称', trigger: 'blur' },
|
|
|
+ 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' },
|
|
|
+ ],
|
|
|
+ status: [{ 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: 30,
|
|
@@ -270,7 +359,15 @@ export default defineComponent({
|
|
|
trigger: 'blur',
|
|
|
},
|
|
|
],
|
|
|
-
|
|
|
+ domain: [
|
|
|
+ { required: true, message: '请输入域名地址', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ min: 1,
|
|
|
+ max: 250,
|
|
|
+ message: '长度在 1 到 250个字符',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
}
|
|
|
},
|
|
@@ -296,7 +393,7 @@ export default defineComponent({
|
|
|
margin-left: 100px;
|
|
|
}
|
|
|
.demo-form-inline .el-form-item:not(.user-layout .el-form-item) {
|
|
|
- margin: 0 auto 20px 55px;
|
|
|
+ // margin: 0 auto 20px 55px;
|
|
|
}
|
|
|
</style>
|
|
|
<style>
|