Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
H
hymsysuser
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Oliver Hui
hymsysuser
Commits
9b693ad3
Commit
9b693ad3
authored
Oct 31, 2022
by
‘oliver.hui’
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
10311803
parent
0b461be4
Pipeline
#30120
failed with stage
in 32 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
65 deletions
+39
-65
sysusermgtv1.cpp
src/class/plugin/sysusermgtv1/sysusermgtv1.cpp
+17
-26
sysusermgtv1.h
src/class/plugin/sysusermgtv1/sysusermgtv1.h
+0
-4
sysuserv1.cpp
src/class/plugin/sysusermgtv1/sysuserv1.cpp
+22
-33
sysuserv1.h
src/class/plugin/sysusermgtv1/sysuserv1.h
+0
-2
No files found.
src/class/plugin/sysusermgtv1/sysusermgtv1.cpp
View file @
9b693ad3
#include "sysusermgtv1.h"
#include <QDebug>
#include <QDockWidget>
#include <QGraphicsDropShadowEffect>
#include <QToolBar>
#include <QVBoxLayout>
#include <QDebug>
#include <tbaseutil/tdataparse.h>
#include <tbaseutil/tdataresponse.h>
#include <tbaseutil/tenumlist.h>
#include <tbaseutil/ttheme.h>
#include <tbaseutil/tresource.h>
#include <tbaseutil/ttheme.h>
#include <topcore/topclasshelper.h>
#include <topcore/topclasssqlthread.h>
#include <topcore/topenummanager.h>
#include <topcore/topcore.h>
#include <top
util/t
.h>
#include <top
core/topenummanager
.h>
#include <topcore/topmessagecontroller.h>
#include <topcore/topclasshelper.h>
#include <toputil/t.h>
#include <twidget/taccordion.h>
#include <twidget/tmessagebar.h>
#include <twidget/tmessagebox.h>
#include <twidget/tpagetool.h>
#include <twidget/tsearchentry.h>
#include <twidget/tsplitter.h>
#include <twidget/ttableview.h>
#include <twidget/taccordion.h>
#include "sysusermgtv1thread.h"
SysUserMgtV1
::
SysUserMgtV1
(
const
QString
&
iModuleNameStr
,
const
QVariantMap
iUrlPars
,
QWidget
*
iParent
)
...
...
@@ -43,7 +43,6 @@ SysUserMgtV1::SysUserMgtV1(const QString &iModuleNameStr, const QVariantMap iUrl
if
(
mProductCategoryLst
.
isEmpty
())
{
mProductCategoryLst
.
append
(
APP
->
productCategory
());
}
//
mCenterSplitter
=
new
TSplitter
(
this
);
this
->
setCentralWidget
(
mCenterSplitter
);
...
...
@@ -93,24 +92,19 @@ void SysUserMgtV1::initNaviView()
//设置导航栏顶部label 伸缩按钮区域 显示导航栏文本
QLabel
*
naviLabel
=
new
QLabel
(
ttr
(
"Navigation"
));
naviLabel
->
setProperty
(
"SS_TYPE"
,
"SUBHEADER"
);
naviLayout
->
addWidget
(
naviLabel
,
0
);
naviLayout
->
addWidget
(
naviLabel
,
0
);
naviLayout
->
addSpacing
(
TTHEME_DP
(
4
));
//ui界面与按钮窗口
QFrame
*
naviWidget
=
new
QFrame
(
this
);
naviLayout
->
addWidget
(
naviWidget
);
//垂直布局left包含ui解析窗口 与按钮布局
QVBoxLayout
*
leftLayout
=
new
QVBoxLayout
(
naviWidget
);
//新建ui解析窗口
mNaviView
=
new
TUiLoader
(
this
);
TUiLoader
*
filterUi
=
qobject_cast
<
TUiLoader
*>
(
mNaviView
);
filterUi
->
setSelf
(
this
);
filterUi
->
setScriptEngine
(
APP
->
scriptEngine
());
filterUi
->
setUiStr
(
ui
(
"navi"
).
toString
());
mNaviView
->
setSelf
(
this
);
mNaviView
->
setScriptEngine
(
APP
->
scriptEngine
());
mNaviView
->
setUiStr
(
ui
(
"navi"
).
toString
());
leftLayout
->
addWidget
(
mNaviView
);
QHBoxLayout
*
BtnsLayout
=
new
QHBoxLayout
();
...
...
@@ -142,7 +136,6 @@ void SysUserMgtV1::initNaviView()
void
SysUserMgtV1
::
initTableView
()
{
//布局
//新建表格窗口mbodywidget
mBodyWidget
=
new
QWidget
(
this
);
//表格窗口mbodywidget添加垂直布局vboxlayout
...
...
@@ -153,7 +146,6 @@ void SysUserMgtV1::initTableView()
//新加表格视图mtableview
mTableView
=
new
TTableView
(
this
);
//新建表头 空白无内容
mTableConf
=
new
TopClassTableConf
;
//把view里面的键值对给到mTableConf
...
...
@@ -164,12 +156,14 @@ void SysUserMgtV1::initTableView()
//将表头添加进表格中
mTableView
->
setHeaderItem
(
headerItem
);
// 给表设置键和主键
mTableView
->
setDataKeyList
(
mTableConf
->
dataKeys
);
mTableView
->
setPrimaryKey
(
mTableConf
->
primaryKey
);
//创建连接,当用户点击表头图标时,切换数据的正序反序排列顺序
QHeaderView
*
horizontaHeaderView
=
mTableView
->
horizontalHeader
();
//对应功能 点击表头排序功能
connect
(
horizontaHeaderView
,
SIGNAL
(
sortIndicatorChanged
(
int
,
Qt
::
SortOrder
)),
this
,
SLOT
(
refresh
()));
//添加 搜索按钮工具TSearchEntry
if
(
QToolBar
*
toolbar
=
qobject_cast
<
QToolBar
*>
(
uim
()
->
getWidget
(
"MAIN_TOOLBAR"
)))
{
...
...
@@ -179,20 +173,15 @@ void SysUserMgtV1::initTableView()
}
//表格窗口mbodywidget添加mTableview
vboxlayout
->
addWidget
(
mTableView
,
1
);
//添加 翻页按钮工具TpageTool
if
(
QToolBar
*
toolbar
=
qobject_cast
<
QToolBar
*>
(
uim
()
->
getWidget
(
"BOTTOM_TOOLBAR"
)))
{
vboxlayout
->
addWidget
(
toolbar
,
2
);
mPageTool
=
qobject_cast
<
TPageTool
*>
(
uim
()
->
getWidget
(
"BOTTOM_TOOLBAR/PAGE_TOOL"
));
}
//功能
//点击事件切换功能
connect
(
mTableView
->
selectionModel
(),
SIGNAL
(
selectionChanged
(
QItemSelection
,
QItemSelection
)),
this
,
SLOT
(
onSelectionChanged
()));
//点击表头排序功能
connect
(
horizontaHeaderView
,
SIGNAL
(
sortIndicatorChanged
(
int
,
Qt
::
SortOrder
)),
this
,
SLOT
(
refresh
()));
//添加 右键弹窗工具
if
(
QMenu
*
table_popup
=
qobject_cast
<
QMenu
*>
(
uim
()
->
getWidget
(
"TABLEVIEW_POPUP"
)))
{
mTableView
->
setContextMenu
(
table_popup
);
...
...
@@ -311,7 +300,8 @@ void SysUserMgtV1::refresh(bool iResetPageBol)
mDetailView
->
setUid
(
0
);
}
TSqlSelectorV2
SysUserMgtV1
::
getSqlSelector
(
bool
iResetPageBol
){
TSqlSelectorV2
SysUserMgtV1
::
getSqlSelector
(
bool
iResetPageBol
)
{
TSqlSelectorV2
selector
;
if
(
!
mTableConf
->
dbSql
.
isEmpty
())
{
selector
.
setTable
(
QString
(
"(%1) _TEMP_TABLE_"
).
arg
(
mTableConf
->
dbSql
));
...
...
@@ -415,7 +405,8 @@ void SysUserMgtV1::newItem()
}
//删除模块
void
SysUserMgtV1
::
deleteItem
(
const
QVariantList
&
iIdLst
){
void
SysUserMgtV1
::
deleteItem
(
const
QVariantList
&
iIdLst
)
{
//不能删除当前登陆的用户
if
(
selectedNames
().
contains
(
APP
->
userName
()))
{
alertError
(
ttr
(
"Current login user can not be deleted!"
));
...
...
src/class/plugin/sysusermgtv1/sysusermgtv1.h
View file @
9b693ad3
...
...
@@ -26,14 +26,12 @@ public slots:
bool
canModify
();
QVariantList
selectedItems
();
void
deleteItem
(
const
QVariantList
&
iIdLst
);
private
slots
:
void
onSelectionChanged
();
void
onDetailChanged
();
void
onDetailSaved
(
const
QVariant
&
iUidStr
);
void
onNaviReset
();
void
onPageChanged
();
private
:
void
initNaviView
();
void
initTableView
();
...
...
@@ -42,7 +40,6 @@ private:
TSqlSelectorV2
getSqlSelector
(
bool
iResetPageBol
=
true
);
QString
uiloaderWhere
();
void
fillTableData
(
const
TDataResponse
&
iDataRes
);
private
:
QStringList
mProductCategoryLst
;
TSplitter
*
mCenterSplitter
=
nullptr
;
...
...
@@ -56,5 +53,4 @@ private:
SysUserV1
*
mDetailView
=
nullptr
;
};
#endif // SYSUSERMGTV1_H
src/class/plugin/sysusermgtv1/sysuserv1.cpp
View file @
9b693ad3
...
...
@@ -20,24 +20,11 @@
#include <twidget/tuiloader.h>
#include "sysuserv1thread.h"
SysUserV1
::
SysUserV1
(
const
QString
&
iModuleNameStr
,
const
QVariantMap
iUrlPars
,
QWidget
*
iparent
)
SysUserV1
::
SysUserV1
(
const
QString
&
iModuleNameStr
,
const
QVariantMap
iUrlPars
,
QWidget
*
iparent
)
:
TopClassAbs
(
iparent
)
{
this
->
setLicenseKey
(
"sys_common"
);
this
->
initModule
(
iModuleNameStr
,
iUrlPars
);
//产品相关 大致明白意思没有具体了解为什么这样做
QVariant
prodCfg
=
iUrlPars
.
value
(
"product_category"
);
if
(
prodCfg
.
type
()
==
QVariant
::
List
||
prodCfg
.
type
()
==
QVariant
::
StringList
)
{
for
(
QVariant
row
:
prodCfg
.
toList
())
{
mProductCategoryLst
.
append
(
row
.
toString
());
}
}
else
if
(
!
prodCfg
.
toString
().
isEmpty
())
{
mProductCategoryLst
.
append
(
prodCfg
.
toString
());
}
if
(
mProductCategoryLst
.
isEmpty
())
{
mProductCategoryLst
.
append
(
APP
->
productCategory
());
}
this
->
initModule
(
iModuleNameStr
,
iUrlPars
);
//初始化布局
initCenterUi
();
...
...
@@ -86,7 +73,7 @@ void SysUserV1::initCenterUi()
mUiLoader
->
setProperty
(
"SS_BG"
,
"PANEL"
);
mUiLoader
->
setProperty
(
"SS_BORDER"
,
1
);
mUiLoader
->
setUiStr
(
ui
(
"user-info"
).
toString
());
mBodyLayout
->
addWidget
(
mUiLoader
,
0
);
mBodyLayout
->
addWidget
(
mUiLoader
,
0
);
//数据更改关联功能。之前以为initdetail涵盖了数据修改 但uiloader数据修改其实应该具体设置
connect
(
mUiLoader
,
SIGNAL
(
dataChanged
()),
this
,
SLOT
(
setDataModified
()));
...
...
@@ -108,7 +95,8 @@ void SysUserV1::resizeEvent(QResizeEvent *iEvent)
}
//uid变化模块
void
SysUserV1
::
uidChangeEvent
(
const
QString
&
iUidStr
){
void
SysUserV1
::
uidChangeEvent
(
const
QString
&
iUidStr
)
{
//uid无值为初始0
if
(
iUidStr
.
toInt
()
==
0
){
...
...
@@ -119,16 +107,16 @@ void SysUserV1::uidChangeEvent(const QString &iUidStr){
QVariant
data
=
doThreadWork
(
new
SysUserV1Thread
(
this
),
"LOAD_DATA"
,
QVariant
(
this
->
uid
()));
unloading
();
//获取data.tomap();的回执
TDataResponse
dataRes
(
data
.
toMap
());
if
(
dataRes
.
hasError
()){
if
(
dataRes
.
hasError
())
{
alertError
(
ttr
(
"load data failed!"
),
dataRes
.
errText
());
}
else
{
}
else
{
clearData
();
//问题:dataRes已经是data.tomap为什么还要取dataRes.data().toMap?
//猜测:这里应该是对应存储功能中getData分割.字段的相反功能 带.字段载入
QVariantMap
dataMap
=
dataRes
.
data
().
toMap
();
QVariantMap
attrData
=
dataMap
.
value
(
"attr_data"
).
toMap
();
for
(
QString
key
:
attrData
.
keys
()){
for
(
QString
key
:
attrData
.
keys
())
{
dataMap
.
insert
(
"attr_data."
+
key
,
attrData
.
value
(
key
));
}
setData
(
dataMap
);
...
...
@@ -136,47 +124,50 @@ void SysUserV1::uidChangeEvent(const QString &iUidStr){
}
}
//设置状态栏调节:可
mUiLoader
->
setState
(
"status"
,
"
u
nable"
);
mUiLoader
->
setState
(
"status"
,
"
e
nable"
);
//设置数据处于修改:否
setDataModified
(
false
);
}
void
SysUserV1
::
clearData
(){
void
SysUserV1
::
clearData
()
{
//载入 构造map 清空原数据
mUiLoader
->
loadValues
(
QVariantMap
(),
true
);
}
void
SysUserV1
::
setData
(
const
QVariantMap
&
iDataMap
){
void
SysUserV1
::
setData
(
const
QVariantMap
&
iDataMap
)
{
//载入 形参map 不清原数据 须接收未显示字段 比如product_category
mUiLoader
->
loadValues
(
iDataMap
,
false
);
//问题:原代码此处会设置setTitie 为什么需要设置?
}
//衔接mgt->newitem模块
void
SysUserV1
::
create
(){
void
SysUserV1
::
create
()
{
setLastUid
(
this
->
uid
());
//问题: true对应false设置效果不明
setUid
(
0
,
true
);
mUiLoader
->
setState
(
"status"
,
"disable"
);
QVariantMap
defaultValueMap
;
defaultValueMap
.
insert
(
"product_category"
,
mProductCategoryLst
);
//意义不明未深究
defaultValueMap
=
defaultValueMap
.
unite
(
config
(
"default_value"
).
toMap
());
//
setData
(
defaultValueMap
);
//设置数据处于修改 默认true
setDataModified
();
}
//取消模块 同时触发mgt-detailchanged 页面变化
void
SysUserV1
::
reload
(){
void
SysUserV1
::
reload
()
{
QString
uidStr
=
lastUid
().
isEmpty
()
?
uid
()
:
lastUid
();
//uidchanged true setid 为真调用uidchangged
setUid
(
uidStr
,
true
);
}
//保存模块
void
SysUserV1
::
saveData
(){
void
SysUserV1
::
saveData
()
{
//写报错不熟练
//获取提交错误
QVariantList
errList
=
mUiLoader
->
validateAll
(
"COMMIT"
,
true
,
"ERROR"
);
...
...
@@ -211,6 +202,7 @@ void SysUserV1::saveData(){
}
QVariantMap
SysUserV1
::
getData
()
const
{
//ui获取所有字段
QVariantMap
dataMap
=
mUiLoader
->
getAllValues
(
true
).
toVariant
().
toMap
();
QStringList
keys
=
dataMap
.
keys
();
for
(
QString
key
:
keys
){
...
...
@@ -231,9 +223,6 @@ QVariantMap SysUserV1::getData() const{
attrData
.
insert
(
"effective_date"
,
APP
->
getServerToday
());
dataMap
.
insert
(
"attr_data"
,
attrData
);
}
if
(
dataMap
.
value
(
"product_category"
).
toStringList
().
isEmpty
())
{
dataMap
.
insert
(
"product_category"
,
mProductCategoryLst
);
}
//mUiLoader->getAllValues无法获取id值 手动添加
dataMap
.
insert
(
"id"
,
this
->
uid
());
...
...
src/class/plugin/sysusermgtv1/sysuserv1.h
View file @
9b693ad3
...
...
@@ -33,8 +33,6 @@ private:
void
initCenterUi
();
private
:
QStringList
mProductCategoryLst
;
QHBoxLayout
*
mBodyLayout
=
nullptr
;
TUiLoader
*
mUiLoader
=
nullptr
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment