Source/plt-web/plt-web-ui/src/api/systemModel/systemConfig/api.js
@@ -17,6 +17,14 @@ }); } // 获取当前用户在线人数信息 export function getOnlinUsers() { return request({ url: "/api/hmSysModConfigController/getOnlinUsers", method: "get", }); } // 配置项查询 export function getAppConfigDetailsByID(params) { return request({ Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -69,15 +69,37 @@ <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">删除 </el-button> </div> <el-form ref="form" :model="form" label-width="85px" size="small" style="max-height: calc(100vh - 200px);overflow: auto;"> <el-form ref="form" :model="form" label-width="100px" size="small" style="max-height: calc(100vh - 200px);overflow: auto;"> <span v-if="form.category !== 1"> <el-form-item label="模块名:"> <el-form-item> <span slot="label" style="display:inline-block;"> 菜单标识: <el-tooltip class="item" content="请输入英文字符,并保证唯一性!" effect="dark" placement="top-start"> <i class='el-icon-star-on' style="color: #F56C6C"/> </el-tooltip> </span> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="请输入英文字符,并保证唯一性!"></el-input> </el-form-item> <el-form-item> <span slot="label" style="display:inline-block;"> 模块名: <i class='el-icon-star-on' style="color: #F56C6C"/> </span> <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="请输入模块名"></el-input> </el-form-item> <el-form-item label="模块别名:"> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="模块别名用来记录日志使用"></el-input> </el-form-item> <el-form-item v-if="form.functionType === 0" label="C/S:"> </el-form-item> <el-form-item> <span slot="label" style="display:inline-block;"> 序号: <el-tooltip class="item" content="数字,描述该模块在其父模块下的显示顺序" effect="dark" placement="top-start"> <i class='el-icon-star-on' style="color: #F56C6C"/> </el-tooltip> </span> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> </el-form-item> <el-form-item v-if="form.functionType === 0" label="C/S:"> <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径" type="textarea"></el-input> </el-form-item> @@ -88,10 +110,6 @@ <el-form-item v-if="form.functionType === 0" label=".NET:"> <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入.NET" type="textarea"></el-input> </el-form-item> <el-form-item label="序号:"> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> </el-form-item> <el-form-item label="图标:"> <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="请选择图标"> @@ -311,6 +329,10 @@ this.$message.error('模块名不能为空'); return } if (!this.form.alias) { this.$message.error('菜单标识不能为空'); return } if (this.form.name.length > 128) { this.$message.error('模块名长度不能超过128!'); return @@ -355,6 +377,10 @@ this.$message.error('模块名不能为空'); return } if (!this.form.alias) { this.$message.error('菜单标识不能为空'); return } if (this.form.name.length > 128) { this.$message.error('模块名长度超过128!'); return Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -69,18 +69,39 @@ <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">删除 </el-button> </div> <el-form ref="form" :model="form" label-width="85px" style="max-height: calc(100vh - 200px);overflow: auto;"> <el-form ref="form" :model="form" label-width="100px" style="max-height: calc(100vh - 200px);overflow: auto;"> <span v-if="form.category !== 1"> <el-form-item label="模块名:"> <el-form-item> <span slot="label" style="display:inline-block;"> 菜单标识: <el-tooltip class="item" effect="dark" content="请输入英文字符,并保证唯一性!" placement="top-start"> <i class='el-icon-star-on' style="color: #F56C6C"/> </el-tooltip> </span> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="请输入英文字符,并保证唯一性!"></el-input> </el-form-item> <el-form-item> <span slot="label" style="display:inline-block;"> 模块名: <i class='el-icon-star-on' style="color: #F56C6C"/> </span> <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="请输入模块名"></el-input> </el-form-item> <el-form-item label="模块别名:"> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="模块别名用来记录日志使用"></el-input> </el-form-item> <el-form-item v-if="form.functionType === 0" label="C/S:"> </el-form-item> <el-form-item> <span slot="label" style="display:inline-block;"> 序号: <el-tooltip class="item" content="数字,描述该模块在其父模块下的显示顺序" effect="dark" placement="top-start"> <i class='el-icon-star-on' style="color: #F56C6C"/> </el-tooltip> </span> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> </el-form-item> <el-form-item v-if="form.functionType === 0" label="C/S:"> <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入C/S路径" type="textarea"></el-input> </el-form-item> </el-form-item> <el-form-item v-if="form.functionType === 0" label="B/S:"> <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入B/S路径" type="textarea"></el-input> @@ -88,10 +109,6 @@ <el-form-item v-if="form.functionType === 0" label=".NET:"> <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="请输入.NET" type="textarea"></el-input> </el-form-item> <el-form-item label="序号:"> <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="数字,描述该模块在其父模块下的显示顺序"></el-input> </el-form-item> <el-form-item label="图标:"> <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="请选择图标"> @@ -311,6 +328,10 @@ this.$message.error('模块名不能为空'); return } if (!this.form.alias) { this.$message.error('菜单标识不能为空'); return } if (this.form.name.length > 128) { this.$message.error('模块名长度不能超过128!'); return @@ -355,6 +376,10 @@ this.$message.error('模块名不能为空'); return } if (!this.form.alias) { this.$message.error('菜单标识不能为空'); return } if (this.form.name.length > 128) { this.$message.error('模块名长度超过128!'); return Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
@@ -6,8 +6,8 @@ <avue-tree :key="refresh" ref="tree" :data="treeData" :option="treeOption" node-key="id" @node-click="nodeClick"> <span slot-scope="{ node, data }" class="el-tree-node__label"> <span> <i class="el-icon-s-promotion"></i> <span style="display: flex"> <icon-show :name="data.icon"></icon-show> {{ (node || {}).label }} </span> </span> @@ -53,6 +53,10 @@ </el-form-item> <el-form-item label="别名:"> <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="请输入别名"></el-input> </el-form-item> <el-form-item label="图标:"> <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="请选择图标"> </input-icon> </el-form-item> <el-form-item label="顺序:"> <el-input-number v-model="form.sort" :disabled="!editStatus && !addStatus" :max="9999" :min="0" @@ -106,7 +110,8 @@ ...item, id: item.id, name: item.name, leaf: !item.hasChildren leaf: !item.hasChildren, icon: item.source || 'iconoir:home' } })) }) Source/plt-web/plt-web-ui/src/views/systemModel/systemMonitor/index.vue
@@ -1,41 +1,78 @@ <template> <basic-container> <div class="container"> <el-form ref="form" :model="form" label-width="150px"> <el-form-item label="当前在线用户人数"> <div style="display: flex;"> <el-input v-model="form.currentOnlineUser" :readOnly="true"></el-input> <el-button plain type="primary" style="margin-left: 10px" @click="getOnlineUsersNum"> 刷新</el-button> </div> </el-form-item> </el-form> <div style="display: flex;justify-content: space-between;align-items: center"> <h3>当前在线人员信息</h3> <el-button type="primary" size="small" plain style="margin-right: 10px" @click="getOnlinUsersHandler">刷新</el-button> </div> <avue-crud :data="data" :option="option" :table-loading="loading" ></avue-crud> </basic-container> </template> <script> import { getOnlineUsersNum getOnlinUsers } from "@/api/systemModel/systemConfig/api" import basicOption from '@/util/basic-option'; import func from "@/util/func"; export default { name: "index", data() { return { form: { currentOnlineUser: '0' loading:false, data:[], option:{ ...basicOption, refreshBtn:false, addBtn:false, menu:false, column:[ { label:'用户OID', prop:'oid', overHidden:true, }, { label:'用户账号', prop:'userId' }, { label:'用户姓名', prop:'userName' }, { label:'机器ip', prop:'ip' }, { label:'登录时间', prop:'loginTime' }, { label:'最后操作时间', prop:'lastRequestTs' } ] } } }, created() { this.getOnlineUsersNum(); this.getOnlinUsersHandler(); }, methods: { // 左侧树查询 getOnlineUsersNum() { getOnlineUsersNum().then(res => { getOnlinUsersHandler() { this.loading = true; getOnlinUsers().then(res => { if (res.data.code === 200) { const data = res.data.obj; this.form.currentOnlineUser = data; const data = res.data.data; this.data = data.map(item => { return{ ...item, loginTime:func.formattedDate(item.loginTime), lastRequestTs:func.formattedDate(item.lastRequestTs), } }) this.loading = false; } }) }