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
2 years ago
by
‘oliver.hui’
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
10311803
parent
0b461be4
master
deverlop
No related merge requests found
Pipeline
#30120
failed with stage
in 32 seconds
Changes
4
Pipelines
1
Hide 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!"
));
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
());
...
...
This diff is collapsed.
Click to expand it.
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
;
};
...
...
This diff is collapsed.
Click to expand it.
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