Merge remote-tracking branch 'origin/main'

This commit is contained in:
yu 2024-12-19 15:18:14 +08:00
commit 75db505167
10 changed files with 154 additions and 155 deletions

View File

@ -30,11 +30,12 @@ export const delInstitutionalListReq = (data: delDataType) => {
url: '/api/org/delete', url: '/api/org/delete',
method: 'post', method: 'post',
data: data, data: data,
},{
showErrorMessage:false
}) })
} }
export const getInstitutionalTreeListReq = (data: getTreeDataType) => { export const getInstitutionalTreeListReq = (data: getTreeDataType) => {
console.log(data);
return createAxios<never, operateDataReturnType<getTreeDataReturnType[]>>({ return createAxios<never, operateDataReturnType<getTreeDataReturnType[]>>({
url: '/api/org/list', url: '/api/org/list',
method: 'post', method: 'post',

View File

@ -1,8 +1,8 @@
export default { export default {
'Last logged in on': '上次登录于', 'Last logged in on': '上次登录于',
'user name': '用户名', 'user name': '用户名',
'User nickname': '用户昵称', 'User nickname': '职员名称',
'Please enter a nickname': '请输入称', 'Please enter a nickname': '请输入称',
'e-mail address': '邮箱地址', 'e-mail address': '邮箱地址',
'phone number': '手机号码', 'phone number': '手机号码',
autograph: '签名', autograph: '签名',

View File

@ -4,7 +4,7 @@
<el-aside class="defaultAside"> <el-aside class="defaultAside">
<el-main class="treeMain"> <el-main class="treeMain">
<el-tree <el-tree
style="max-width: 600px;margin-top: 2.2%" style="max-width: 600px; margin-top: 2.2%"
ref="TypeTree" ref="TypeTree"
:data="TypeData" :data="TypeData"
:props="defaultProps" :props="defaultProps"
@ -12,13 +12,12 @@
@node-click="handleNodeClick" @node-click="handleNodeClick"
@node-contextmenu="enumContextMenu" @node-contextmenu="enumContextMenu"
/> />
</el-main> </el-main>
</el-aside> </el-aside>
<el-container class="defaultMainContainer"> <el-container class="defaultMainContainer">
<el-header class="defaultHeader"> <el-header class="defaultHeader">
<div class="searchPart"> <div class="searchPart">
<el-input v-model="queryName" class="searchInput" placeholder="按名称查询枚举名"></el-input> <el-input v-model="queryName" class="searchInput" placeholder="按枚举描述查询"></el-input>
<el-button @click="clickQuery" type="primary" :icon="Search" class="defaultBtn">查询</el-button> <el-button @click="clickQuery" type="primary" :icon="Search" class="defaultBtn">查询</el-button>
</div> </div>
<div class="btnPart"> <div class="btnPart">
@ -28,12 +27,12 @@
</el-header> </el-header>
<el-main class="mainPart"> <el-main class="mainPart">
<el-table :data="tableData" class="tablePart"> <el-table :data="tableData" class="tablePart">
<!-- <el-table-column type="selection" width="55" />--> <!-- <el-table-column type="selection" width="55" />-->
<el-table-column prop="description" label="枚举描述" /> <el-table-column prop="description" label="枚举描述" />
<el-table-column prop="value" label="枚举值" /> <el-table-column prop="value" label="枚举值" />
<el-table-column label="操作"> <el-table-column label="操作">
<template #default="scope"> <template #default="scope">
<span style="color: #0064aa; cursor: pointer" @click="enumValueEdit(scope)">查看</span> <span style="color: #0064aa; cursor: pointer" @click="enumValueEdit(scope)">编辑</span>
| |
<span style="color: #0064aa; cursor: pointer" @click="fromDelete(scope)">删除</span> <span style="color: #0064aa; cursor: pointer" @click="fromDelete(scope)">删除</span>
</template> </template>
@ -70,7 +69,6 @@
<el-form-item label="描述:" prop="description"> <el-form-item label="描述:" prop="description">
<el-input v-model="formInlineAdd.description" placeholder="" clearable /> <el-input v-model="formInlineAdd.description" placeholder="" clearable />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -95,7 +93,6 @@
<el-form-item label="描述:" prop="description"> <el-form-item label="描述:" prop="description">
<el-input v-model="formInlineEdit.description" placeholder="" clearable /> <el-input v-model="formInlineEdit.description" placeholder="" clearable />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -124,12 +121,8 @@
<el-input-number :min="0" v-model="formInlineValue.orderNumber" placeholder="" /> <el-input-number :min="0" v-model="formInlineValue.orderNumber" placeholder="" />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;是否有效:"> <el-form-item label="&nbsp;&nbsp;是否有效:">
<el-switch @change="addhandleSwitchChange" <el-switch @change="addhandleSwitchChange" :active-value="1" :inactive-value="0" v-model="formInlineValue.isActive" />
:active-value="1"
:inactive-value="0"
v-model="formInlineValue.isActive" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -149,7 +142,7 @@
</template> </template>
</el-dialog> </el-dialog>
<!--编辑枚举值--> <!--编辑枚举值-->
<el-dialog v-model="visibleValueEdit" title="查看枚举值" width="500" :before-close="edithandleClosevalue"> <el-dialog v-model="visibleValueEdit" title="编辑枚举值" width="500" :before-close="edithandleClosevalue">
<el-form <el-form
ref="formRef" ref="formRef"
:inline="true" :inline="true"
@ -167,12 +160,8 @@
<el-input-number :min="0" v-model="fromUpDate.orderNumber" placeholder="" /> <el-input-number :min="0" v-model="fromUpDate.orderNumber" placeholder="" />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;是否有效:"> <el-form-item label="&nbsp;&nbsp;是否有效:">
<el-switch @change="edithandleSwitchChange" <el-switch @change="edithandleSwitchChange" :active-value="1" :inactive-value="0" v-model="fromUpDate.isActive" />
:active-value="1"
:inactive-value="0"
v-model="fromUpDate.isActive" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -199,7 +188,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import {nextTick, onMounted, reactive, ref} from 'vue' import { nextTick, onMounted, reactive, ref } from 'vue'
import { Search, Plus } from '@element-plus/icons-vue' import { Search, Plus } from '@element-plus/icons-vue'
import { ElMessage, FormRules } from 'element-plus' import { ElMessage, FormRules } from 'element-plus'
import { import {
@ -210,17 +199,16 @@ import {
enumTypeDelete, enumTypeDelete,
enumValueAdd, enumValueAdd,
enumValueDelete, enumValueDelete,
enumValuepageEdit enumValuepageEdit,
} from "/@/api/backend/Enumeration/request"; } from '/@/api/backend/Enumeration/request'
import ContextMenu from '/@/views/backend/auth/model/contextMenu.vue' import ContextMenu from '/@/views/backend/auth/model/contextMenu.vue'
import {delModelReq} from "/@/api/backend/deviceModel/request"; import { delModelReq } from '/@/api/backend/deviceModel/request'
const activeName = ref('1') const activeName = ref('1')
interface Tree { interface Tree {
enumId: number, enumId: number
enumName: string, enumName: string
enumDesc: string, enumDesc: string
} }
const defaultProps = { const defaultProps = {
@ -230,16 +218,17 @@ const defaultProps = {
const tableData = ref() const tableData = ref()
//const TypeData=ref() //const TypeData=ref()
const TypeData=ref([{ const TypeData = ref([
{
id: 0, id: 0,
name: "", name: '',
description: "枚举类型配置", description: '枚举类型配置',
children: [] children: [],
}]) },
])
const TypeTree = ref() const TypeTree = ref()
const formRef = ref() const formRef = ref()
const enumTypeId=ref() const enumTypeId = ref()
// //
const queryName = ref('') const queryName = ref('')
@ -260,15 +249,13 @@ const enumTreeTypeList = () => {
//TypeData.value = res.data //TypeData.value = res.data
TypeData.value[0].children = res.data TypeData.value[0].children = res.data
nextTick(() => { nextTick(() => {
enumTypeId.value=res.data[0]?.id enumTypeId.value = res.data[0]?.id
//TypeTree.value?.setCurrentKey(res.data[0]?.id!, false) //TypeTree.value?.setCurrentKey(res.data[0]?.id!, false)
TypeTree.value?.setCurrentKey(TypeData.value[0].id!, false) TypeTree.value?.setCurrentKey(TypeData.value[0].id!, false)
queryListData.description =queryName.value queryListData.description = queryName.value
queryListData.enumTypeId = res.data[0].id queryListData.enumTypeId = res.data[0].id
queryListData.pageNum=currentPage.value, ;(queryListData.pageNum = currentPage.value), (queryListData.pageSize = currentPageSize.value)
queryListData.pageSize=currentPageSize.value
queryenumValueMethod(queryListData) queryenumValueMethod(queryListData)
}) })
} else { } else {
ElMessage.error({ ElMessage.error({
@ -280,27 +267,29 @@ const enumTreeTypeList = () => {
} }
const queryParameter = ref() const queryParameter = ref()
const nodename = ref() const nodename = ref()
const curnodeData=ref({ const curnodeData = ref({
id: '', id: '',
description: '', description: '',
name:'' name: '',
}) })
const handleNodeClick = (data: any) => { const handleNodeClick = (data: any) => {
queryParameter.value = data queryParameter.value = data
enumTypeId.value=data.id enumTypeId.value = data.id
queryListData.enumTypeId=data.id queryListData.enumTypeId = data.id
queryListData.description=queryName.value queryListData.description = queryName.value
/*if (currentPage.value !== 1) { /*if (currentPage.value !== 1) {
currentPage.value = 1 currentPage.value = 1
return return
}*/ }*/
queryListData.pageNum=currentPage.value queryListData.pageNum = currentPage.value
queryListData.pageSize=currentPageSize.value queryListData.pageSize = currentPageSize.value
nodename.value=data.description nodename.value = data.description
curnodeData.value.id=data.id curnodeData.value.id = data.id
curnodeData.value.name=data.name curnodeData.value.name = data.name
curnodeData.value.description=data.description curnodeData.value.description = data.description
if (data.id !== 0) {
queryenumValueMethod(queryListData) queryenumValueMethod(queryListData)
}
} }
const currentPage = ref(1) const currentPage = ref(1)
@ -326,30 +315,30 @@ const rules = reactive<FormRules<RuleForm>>({
required: true, required: true,
message: '名称不能为空', message: '名称不能为空',
trigger: 'blur', trigger: 'blur',
}], },
],
description: [ description: [
{ {
required: true, required: true,
message: '描述不能为空', message: '描述不能为空',
trigger: 'blur', trigger: 'blur',
}] },
],
}) })
const visibleTypeAdd = ref(false) const visibleTypeAdd = ref(false)
const formInlineAdd = reactive<RuleForm>({ const formInlineAdd = reactive<RuleForm>({
name: '', name: '',
description: '' description: '',
}) })
const fromAddType = () => { const fromAddType = () => {
visibleTypeAdd.value = true visibleTypeAdd.value = true
formInlineAdd.name = '' formInlineAdd.name = ''
formInlineAdd.description ='' formInlineAdd.description = ''
} }
const handleClose = (done: () => void) => { const handleClose = (done: () => void) => {
visibleTypeAdd.value = false visibleTypeAdd.value = false
} }
const onSubmitType = () => { const onSubmitType = () => {
formRef.value.validate((valid: any) => { formRef.value.validate((valid: any) => {
if (valid) { if (valid) {
@ -373,13 +362,11 @@ const onSubmitType = () => {
}) })
} }
// //
interface RuleForm1 { interface RuleForm1 {
enumTypeId: number | string enumTypeId: number | string
value: string value: string
description: string| undefined description: string | undefined
orderNumber: number orderNumber: number
isActive: number isActive: number
} }
@ -398,27 +385,26 @@ const rules1 = reactive<FormRules<RuleForm1>>({
}] }]
}) })
const visibleValueAdd= ref(false) const visibleValueAdd = ref(false)
const formInlineValue = reactive<RuleForm1>({ const formInlineValue = reactive<RuleForm1>({
enumTypeId: enumTypeId.value, enumTypeId: enumTypeId.value,
value: ' ', value: ' ',
description: ' ', description: ' ',
orderNumber: 0, orderNumber: 0,
isActive:0 isActive: 0,
}) })
const fromAddValue = () => { const fromAddValue = () => {
visibleValueAdd.value= true visibleValueAdd.value = true
formInlineValue.enumTypeId =enumTypeId.value formInlineValue.enumTypeId = enumTypeId.value
formInlineValue.value = '' formInlineValue.value = ''
formInlineValue.description = '' formInlineValue.description = ''
formInlineValue.orderNumber =0 formInlineValue.orderNumber = 0
formInlineValue.isActive =0 formInlineValue.isActive = 0
} }
const handleClosevalue = (done: () => void) => { const handleClosevalue = (done: () => void) => {
visibleValueAdd.value = false visibleValueAdd.value = false
} }
const queryenumValueMethod = (data: any) => { const queryenumValueMethod = (data: any) => {
enumListQuery(data).then((res) => { enumListQuery(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
@ -438,10 +424,9 @@ const onSubmitvalue = () => {
if (valid) { if (valid) {
enumValueAdd(formInlineValue).then((res: any) => { enumValueAdd(formInlineValue).then((res: any) => {
if (res.code == 200) { if (res.code == 200) {
queryListData.description =queryName.value queryListData.description = queryName.value
queryListData.enumTypeId = enumTypeId.value queryListData.enumTypeId = enumTypeId.value
queryListData.pageNum=currentPage.value, ;(queryListData.pageNum = currentPage.value), (queryListData.pageSize = currentPageSize.value)
queryListData.pageSize=currentPageSize.value
queryenumValueMethod(queryListData) queryenumValueMethod(queryListData)
ElMessage({ ElMessage({
message: res.msg, message: res.msg,
@ -507,10 +492,10 @@ const dialogVisibleDelete1 = (done: () => void) => {
const fromUpDate = reactive({ const fromUpDate = reactive({
id: '', id: '',
enumTypeId: '', enumTypeId: '',
value:'', value: '',
description : '', description: '',
orderNumber: 0, orderNumber: 0,
isActive: 0 isActive: 0,
}) })
const addhandleSwitchChange = (value: any) => { const addhandleSwitchChange = (value: any) => {
formInlineValue.isActive = value ? 1 : 0 formInlineValue.isActive = value ? 1 : 0
@ -527,8 +512,6 @@ const enumValueEdit = (data: any) => {
fromUpDate.description = data.row.description fromUpDate.description = data.row.description
fromUpDate.orderNumber = data.row.orderNumber fromUpDate.orderNumber = data.row.orderNumber
fromUpDate.isActive = data.row.isActive fromUpDate.isActive = data.row.isActive
} }
const edithandleClosevalue = (done: () => void) => { const edithandleClosevalue = (done: () => void) => {
@ -539,10 +522,9 @@ const EditonSubmitvalue = () => {
if (valid) { if (valid) {
enumValuepageEdit(fromUpDate).then((res: any) => { enumValuepageEdit(fromUpDate).then((res: any) => {
if (res.code == 200) { if (res.code == 200) {
queryListData.description =queryName.value queryListData.description = queryName.value
queryListData.enumTypeId = enumTypeId.value queryListData.enumTypeId = enumTypeId.value
queryListData.pageNum=currentPage.value, ;(queryListData.pageNum = currentPage.value), (queryListData.pageSize = currentPageSize.value)
queryListData.pageSize=currentPageSize.value
queryenumValueMethod(queryListData) queryenumValueMethod(queryListData)
ElMessage({ ElMessage({
message: res.msg, message: res.msg,
@ -561,14 +543,14 @@ const EditonSubmitvalue = () => {
}) })
} }
const visibleTypeEdit=ref(false) const visibleTypeEdit = ref(false)
const formInlineEdit=reactive({ const formInlineEdit = reactive({
id:'', id: '',
name: '', name: '',
description: '' description: '',
}) })
const enumTypeEdit = (curnodeData) => { const enumTypeEdit = (curnodeData: any) => {
visibleTypeEdit.value=true visibleTypeEdit.value = true
formInlineEdit.id = curnodeData.id formInlineEdit.id = curnodeData.id
formInlineEdit.name = curnodeData.name formInlineEdit.name = curnodeData.name
formInlineEdit.description = curnodeData.description formInlineEdit.description = curnodeData.description
@ -600,10 +582,10 @@ const onSubmitTypeEdit = () => {
}) })
} }
const contextMenuTreeData=ref({ const contextMenuTreeData = ref({
id:'', id: '',
name: '', name: '',
description: '' description: '',
}) })
const enumOperateVisible = ref(false) const enumOperateVisible = ref(false)
@ -611,19 +593,25 @@ const enumcontextMenuPos = ref({
x: 0, x: 0,
y: 0, y: 0,
}) })
const enumContextMenu = (event: any,curnodeData) => { const enumContextMenu = (event: any, curnodeData: any) => {
enumcontextMenuPos.value.x = event.pageX enumcontextMenuPos.value.x = event.pageX
enumcontextMenuPos.value.y = event.pageY enumcontextMenuPos.value.y = event.pageY
contextMenuTreeData.value = curnodeData contextMenuTreeData.value = curnodeData
if(nodename.value=="枚举类型配置"||nodename.value==undefined){ if (nodename.value == '枚举类型配置' || nodename.value == undefined) {
enumOperateVisible.value = false enumOperateVisible.value = false
}else{ } else {
enumOperateVisible.value = true enumOperateVisible.value = true
} }
} }
const delenumType = () => { const delenumType = () => {
enumTypeDelete({ id: contextMenuTreeData.value!.id! }) const params = {...queryListData,pageNum:1,pageSize:10,enumTypeId: contextMenuTreeData.value.id}
.then((res) => { enumListQuery(params).then((res) => {
if (res.data?.rows.length) {
throw '该枚举类型下存在枚举值,请先删除枚举值!'
}else{
return enumTypeDelete({ id: contextMenuTreeData.value!.id! })
}
}).then((res:any) => {
if (res.code == 200) { if (res.code == 200) {
enumTreeTypeList() enumTreeTypeList()
ElMessage({ ElMessage({
@ -638,7 +626,8 @@ const delenumType = () => {
} }
}) })
.catch((err) => { .catch((err) => {
ElMessage.error(err?.response?.data?.msg ?? '删除失败') const msg = typeof err === 'string' ? err : err?.response?.data?.msg
ElMessage.error(msg ?? '删除失败')
}) })
} }
@ -648,7 +637,6 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
$defaultHeaderHeight: 60px; $defaultHeaderHeight: 60px;
@mixin searchInput($value) { @mixin searchInput($value) {
margin-right: $value; margin-right: $value;
@ -657,47 +645,46 @@ $defaultHeaderHeight: 60px;
} }
$paginationHeight: 32px; $paginationHeight: 32px;
.Enumeration{ .Enumeration {
width: 100%; width: 100%;
height: 100%; height: 100%;
.containerPart{ .containerPart {
height: 100%; height: 100%;
.defaultAside{ .defaultAside {
width: 260px; width: 260px;
height: 100%; height: 100%;
border-right: 1px solid #eaebed; border-right: 1px solid #eaebed;
.el-main{ .el-main {
.demo-collapse{ .demo-collapse {
.el-collapse{ .el-collapse {
border: none; border: none;
border-color: transparent; border-color: transparent;
} }
.el-collapse-item{ .el-collapse-item {
:deep(.el-collapse-item__arrow){ :deep(.el-collapse-item__arrow) {
pointer-events: auto; pointer-events: auto;
} }
.collapse-title { .collapse-title {
flex: 1 0 90%; flex: 1 0 90%;
order: 1; order: 1;
} }
:deep(.el-collapse-item__header){ :deep(.el-collapse-item__header) {
background: #d0e5f2; background: #d0e5f2;
border-radius: 4px; border-radius: 4px;
padding-left: 10px; padding-left: 10px;
text-align:left text-align: left;
} }
:deep(.el-collapse-item__wrap){ :deep(.el-collapse-item__wrap) {
border: none; border: none;
border-color: transparent; border-color: transparent;
} }
} }
} }
} }
.treeMain{ .treeMain {
.treeTitle{ .treeTitle {
height:40px; height: 40px;
background: #d0e5f2; background: #d0e5f2;
line-height: 40px; line-height: 40px;
display: inline-block; display: inline-block;
@ -707,9 +694,9 @@ $paginationHeight: 32px;
} }
} }
} }
.defaultMainContainer{ .defaultMainContainer {
height: 100%; height: 100%;
.defaultHeader{ .defaultHeader {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -730,11 +717,11 @@ $paginationHeight: 32px;
height: calc(100% - $paginationHeight); height: calc(100% - $paginationHeight);
} }
} }
.el-form--inline .el-form-item{ .el-form--inline .el-form-item {
width: 100%; width: 100%;
} }
} }
.modelOperate{ .modelOperate {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;

View File

@ -77,7 +77,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;动作参数:"> <el-form-item label="&nbsp;&nbsp;菜单路径:">
<el-input v-model="fromUpDate.funParam"> </el-input> <el-input v-model="fromUpDate.funParam"> </el-input>
</el-form-item> </el-form-item>
@ -127,7 +127,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;动作参数:"> <el-form-item label="&nbsp;&nbsp;菜单路径:">
<el-input v-model="formInlineAdd.funParam"> </el-input> <el-input v-model="formInlineAdd.funParam"> </el-input>
</el-form-item> </el-form-item>
@ -363,7 +363,7 @@ const rules = reactive<FormRules<RuleForm>>({
], ],
}) })
// //
interface RyReplaceFields { interface RyReplaceFields {
children: string children: string
title: string title: string

View File

@ -47,6 +47,9 @@
placeholder="请输入模型名称" placeholder="请输入模型名称"
class="searchModelInput" class="searchModelInput"
></el-input> ></el-input>
<el-tooltip effect="light" content="新增物模型" placement="bottom">
<el-button :icon="Plus" @click="openModel('add')"></el-button>
</el-tooltip>
</el-header> </el-header>
<el-main class="treeMain"> <el-main class="treeMain">
<el-tree <el-tree
@ -199,7 +202,7 @@
<template #default> <template #default>
<div class="modelOperate"> <div class="modelOperate">
<el-button @click="openModel('detail', curContextMenuTreeData)" :icon="Reading">查看</el-button> <el-button @click="openModel('detail', curContextMenuTreeData)" :icon="Reading">查看</el-button>
<el-button @click="openModel('add')" :icon="DocumentAdd">新增</el-button> <!-- <el-button @click="openModel('add')" :icon="DocumentAdd">新增</el-button> -->
<el-button @click="openModel('edit', curContextMenuTreeData)" :icon="DocumentChecked">修改</el-button> <el-button @click="openModel('edit', curContextMenuTreeData)" :icon="DocumentChecked">修改</el-button>
<el-popconfirm title="确认删除?" @confirm="delModel"> <el-popconfirm title="确认删除?" @confirm="delModel">
<template #reference> <template #reference>
@ -1084,6 +1087,11 @@ $paginationHeight: 32px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
gap: 5px;
.el-button {
width: 35px;
height: 40px;
}
.searchModelInput { .searchModelInput {
height: 40px; height: 40px;
} }
@ -1169,7 +1177,7 @@ $paginationHeight: 32px;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
width: 80px; width: 80px;
height: 150px; height: 110px;
.el-button { .el-button {
margin: 0; margin: 0;
} }

View File

@ -51,8 +51,8 @@
</template> </template>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button type="primary" @click="submitAddForm" :disabled="formDisabled">保存</el-button> <el-button v-if="!formDisabled" type="primary" @click="submitAddForm">保存</el-button>
<el-button @click="closeAddForm">取消</el-button> <el-button v-if="!formDisabled" @click="closeAddForm">取消</el-button>
</template> </template>
</el-dialog> </el-dialog>
<el-container class="defaultContainer"> <el-container class="defaultContainer">
@ -81,7 +81,7 @@
<el-input v-model="searchTableInput" class="searchInput"></el-input> <el-input v-model="searchTableInput" class="searchInput"></el-input>
<el-button @click="searchTable" type="primary" :icon="Search" class="defaultBtn">{{ t('management.search') }}</el-button> <el-button @click="searchTable" type="primary" :icon="Search" class="defaultBtn">{{ t('management.search') }}</el-button>
</div> </div>
<el-button type="primary" :icon="Plus" class="defaultBtn" @click="addInstitutional(false)">{{ t('management.add') }}</el-button> <el-button type="primary" :icon="Plus" class="defaultBtn" @click="addInstitutional">{{ t('management.add') }}</el-button>
</el-header> </el-header>
<el-main class="defaultMain"> <el-main class="defaultMain">
<el-table :data="tableData" class="tablePart"> <el-table :data="tableData" class="tablePart">
@ -125,7 +125,7 @@
<template #default> <template #default>
<div class="modelOperate"> <div class="modelOperate">
<el-button @click="editForm(rightClickMenuData!, true)" :icon="Reading">查看</el-button> <el-button @click="editForm(rightClickMenuData!, true)" :icon="Reading">查看</el-button>
<el-button @click="addInstitutional(true)" :icon="DocumentAdd">新增</el-button> <el-button @click="addInstitutional" :icon="DocumentAdd">新增</el-button>
<el-button @click="editForm(rightClickMenuData!)" :icon="DocumentChecked">修改</el-button> <el-button @click="editForm(rightClickMenuData!)" :icon="DocumentChecked">修改</el-button>
<el-popconfirm title="确认删除?" @confirm="delForm(rightClickMenuData!)"> <el-popconfirm title="确认删除?" @confirm="delForm(rightClickMenuData!)">
<template #reference> <template #reference>
@ -308,14 +308,12 @@ const addFormItemList: formItemListType<addDataEnumKeyJointType>[] = [
] ]
const dialogTitle = ref('新增机构') const dialogTitle = ref('新增机构')
const dialogVible = ref(false) const dialogVible = ref(false)
const addInstitutional = (rightClick = false) => { const addInstitutional = () => {
dialogTitle.value = '新增机构' dialogTitle.value = '新增机构'
formModel.value = JSON.parse(JSON.stringify(defaultFormModel)) formModel.value = JSON.parse(JSON.stringify(defaultFormModel))
formRef.value && formRef.value.resetFields() formRef.value && formRef.value.resetFields()
dialogVible.value = true dialogVible.value = true
if (!rightClick) {
formModel.value.parentOrgId = clickTreeMenuData.value?.id! formModel.value.parentOrgId = clickTreeMenuData.value?.id!
}
formDisabled.value = false formDisabled.value = false
} }
@ -330,7 +328,7 @@ const submitAddForm = () => {
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
ElMessage.success('新增成功') ElMessage.success('新增成功')
getInstitutionList({ parentOrgId: rightClickMenuData.value?.parentOrgId }) getInstitutionList({ parentOrgId: formModel.value.parentOrgId })
dialogVible.value = false dialogVible.value = false
refreshTreeData(formModel.value.parentOrgId) refreshTreeData(formModel.value.parentOrgId)
} else { } else {
@ -345,11 +343,10 @@ const submitAddForm = () => {
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
ElMessage.success('编辑成功') ElMessage.success('编辑成功')
getInstitutionList({ parentOrgId: rightClickMenuData.value?.parentOrgId }) getInstitutionList({ parentOrgId: formModel.value.parentOrgId })
dialogVible.value = false dialogVible.value = false
refreshTreeData(rightClickMenuData.value!.parentOrgId).then(() => {
refreshTreeData(formModel.value.parentOrgId) refreshTreeData(formModel.value.parentOrgId)
}) return
} else { } else {
ElMessage.error(res?.msg ?? '编辑失败') ElMessage.error(res?.msg ?? '编辑失败')
} }
@ -368,7 +365,6 @@ const closeAddForm = () => {
const getInstitutionList = (data: getDataType = { name: null }) => { const getInstitutionList = (data: getDataType = { name: null }) => {
getInstitutionalListReq(data).then((res) => { getInstitutionalListReq(data).then((res) => {
pageTotal.value = res.total pageTotal.value = res.total
console.log(res.rows)
originData.value = res.rows.map((item) => { originData.value = res.rows.map((item) => {
return { return {
@ -447,7 +443,7 @@ const formDisabled = ref(false)
const editForm = (column: getTreeDataReturnType, onlyOpen = false) => { const editForm = (column: getTreeDataReturnType, onlyOpen = false) => {
formRef.value?.resetFields() formRef.value?.resetFields()
formModel.value = JSON.parse(JSON.stringify(column)) formModel.value = JSON.parse(JSON.stringify(column))
dialogTitle.value = '编辑机构' dialogTitle.value = onlyOpen ? '查看机构' : '编辑机构'
dialogVible.value = true dialogVible.value = true
formDisabled.value = onlyOpen formDisabled.value = onlyOpen
} }
@ -457,7 +453,7 @@ const delForm = (column: getTreeDataReturnType) => {
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
ElMessage.success('删除成功') ElMessage.success('删除成功')
getInstitutionList({ parentOrgId: rightClickMenuData.value?.parentOrgId }) getInstitutionList({ parentOrgId: column.parentOrgId })
refreshTreeData(column.parentOrgId) refreshTreeData(column.parentOrgId)
} else { } else {
ElMessage.error(res?.msg ?? '删除失败') ElMessage.error(res?.msg ?? '删除失败')
@ -536,9 +532,7 @@ const getTreeData = (orgId: number | string | null) => {
const initData = () => { const initData = () => {
getTreeData(null) getTreeData(null)
.then((res) => { .then((res) => {
console.log(res)
treeData.value = [...res] treeData.value = [...res]
console.log(treeData.value)
nextTick(() => { nextTick(() => {
treeRef.value?.setCurrentKey(res[0]?.id!, false) treeRef.value?.setCurrentKey(res[0]?.id!, false)

View File

@ -1,6 +1,6 @@
export type getDataType = { export type getDataType = {
name?: string | null name?: string | null
parentOrgId?: string | number parentOrgId?: string | number |null
province?: string province?: string
city?: string city?: string
county?: string county?: string

View File

@ -87,8 +87,8 @@
<avatar @selectAvatar="selectAddName"> <avatar @selectAvatar="selectAddName">
<template #randerData> <template #randerData>
<el-form-item label="头像选择:" prop="profilePicture"> <el-form-item label="头像选择:" prop="headImage">
<el-input v-model="formUserAdd.profilePicture" placeholder="" clearable></el-input> <el-input v-model="formUserAdd.headImage" placeholder="" clearable></el-input>
</el-form-item> </el-form-item>
</template> </template>
</avatar> </avatar>
@ -136,8 +136,8 @@
</el-form-item> </el-form-item>
<avatar @selectAvatar="selectUpdataName"> <avatar @selectAvatar="selectUpdataName">
<template #randerData> <template #randerData>
<el-form-item label="头像选择:" prop="profilePicture"> <el-form-item label="头像选择:" prop="headImage">
<el-input v-model="formUserUpData.profilePicture" placeholder="" clearable></el-input> <el-input v-model="formUserUpData.headImage" placeholder="" clearable></el-input>
</el-form-item> </el-form-item>
</template> </template>
</avatar> </avatar>
@ -329,7 +329,7 @@ const formUserAdd = reactive({
phone: '', phone: '',
orgId: '', orgId: '',
roleList: [], roleList: [],
profilePicture: '', headImage: '',
}) })
const rules = reactive<FormRules<RuleUser>>({ const rules = reactive<FormRules<RuleUser>>({
account: [ account: [
@ -339,6 +339,13 @@ const rules = reactive<FormRules<RuleUser>>({
trigger: 'blur', trigger: 'blur',
}, },
], ],
password:[
{
required: true,
message: '密码不能为空',
trigger: 'blur',
},
]
}) })
const addUserFromData = () => { const addUserFromData = () => {
visibleParam.value = true visibleParam.value = true
@ -349,7 +356,7 @@ const addUserFromData = () => {
formUserAdd.phone = '' formUserAdd.phone = ''
formUserAdd.orgId = '' formUserAdd.orgId = ''
formUserAdd.roleList = [] formUserAdd.roleList = []
formUserAdd.profilePicture = '' formUserAdd.headImage = ''
} }
const handleCloseParam = (data: any) => { const handleCloseParam = (data: any) => {
@ -361,7 +368,9 @@ const addOnSubmit = () => {
if (valid) { if (valid) {
visibleParam.value = false visibleParam.value = false
formUserAdd.orgId = treeId.value formUserAdd.orgId = treeId.value
if (!formUserAdd.headImage) {
formUserAdd.headImage = 'Avatar'
}
userAdd(formUserAdd).then((res) => { userAdd(formUserAdd).then((res) => {
if (res.code == 200) { if (res.code == 200) {
formQuery.orgId = treeId.value formQuery.orgId = treeId.value
@ -389,7 +398,7 @@ const formUserUpData = reactive({
phone: '', phone: '',
orgId: '', orgId: '',
roleList: [], roleList: [],
profilePicture: '', headImage: '',
}) })
const viewUsers = (data: any) => { const viewUsers = (data: any) => {
formRef.value?.resetFields() formRef.value?.resetFields()
@ -404,7 +413,7 @@ const viewUsers = (data: any) => {
formUserUpData.roleList = data.row.roleList.map((item: any) => { formUserUpData.roleList = data.row.roleList.map((item: any) => {
return item.id return item.id
}) })
formUserUpData.profilePicture = data.row.headImage formUserUpData.headImage = data.row.headImage
} }
const upDataOnSubmit = () => { const upDataOnSubmit = () => {
formRef.value.validate((valid: any) => { formRef.value.validate((valid: any) => {
@ -538,12 +547,12 @@ const passWordUpdata = () => {
// //
const selectAddName = (data: string) => { const selectAddName = (data: string) => {
formUserAdd.profilePicture = data formUserAdd.headImage = data
} }
// //
const selectUpdataName = (data: string) => { const selectUpdataName = (data: string) => {
formUserUpData.profilePicture = data formUserUpData.headImage = data
} }
// //
const pagePagination = [20, 50, 100] const pagePagination = [20, 50, 100]

View File

@ -301,7 +301,7 @@ const StatusListData = () => {
objectType: 10002, objectType: 10002,
belongProject: '', belongProject: '',
attributesList: [ attributesList: [
'iwindspeed"', 'iwindspeed',
'iturbineoperationmode', 'iturbineoperationmode',
'iyplevel', 'iyplevel',
'gridlostdetected', 'gridlostdetected',

View File

@ -205,7 +205,7 @@ const StatusListData = () => {
objectType: 10002, objectType: 10002,
belongProject: '', belongProject: '',
attributesList: [ attributesList: [
'iwindspeed"', 'iwindspeed',
'iturbineoperationmode', 'iturbineoperationmode',
'iyplevel', 'iyplevel',
'gridlostdetected', 'gridlostdetected',