From 9b693ad32eee974de1f6ab21a117312c404b33de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=98oliver=2Ehui=E2=80=99?= <‘ym.hui@topibd.com’>
Date: Mon, 31 Oct 2022 18:04:04 +0800
Subject: [PATCH] 10311803

---
 .../plugin/sysusermgtv1/sysusermgtv1.cpp      | 43 ++++++---------
 src/class/plugin/sysusermgtv1/sysusermgtv1.h  |  4 --
 src/class/plugin/sysusermgtv1/sysuserv1.cpp   | 55 ++++++++-----------
 src/class/plugin/sysusermgtv1/sysuserv1.h     |  2 -
 4 files changed, 39 insertions(+), 65 deletions(-)

diff --git a/src/class/plugin/sysusermgtv1/sysusermgtv1.cpp b/src/class/plugin/sysusermgtv1/sysusermgtv1.cpp
index 3d87680..4398375 100644
--- a/src/class/plugin/sysusermgtv1/sysusermgtv1.cpp
+++ b/src/class/plugin/sysusermgtv1/sysusermgtv1.cpp
@@ -1,27 +1,27 @@
 #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 <toputil/t.h>
+#include <topcore/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!"));
diff --git a/src/class/plugin/sysusermgtv1/sysusermgtv1.h b/src/class/plugin/sysusermgtv1/sysusermgtv1.h
index f858ab0..c111ab0 100644
--- a/src/class/plugin/sysusermgtv1/sysusermgtv1.h
+++ b/src/class/plugin/sysusermgtv1/sysusermgtv1.h
@@ -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
diff --git a/src/class/plugin/sysusermgtv1/sysuserv1.cpp b/src/class/plugin/sysusermgtv1/sysuserv1.cpp
index 2aa88f3..771463d 100644
--- a/src/class/plugin/sysusermgtv1/sysuserv1.cpp
+++ b/src/class/plugin/sysusermgtv1/sysuserv1.cpp
@@ -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", "unable");
+    mUiLoader->setState("status", "enable");
     //设置数据处于修改:否
     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());
diff --git a/src/class/plugin/sysusermgtv1/sysuserv1.h b/src/class/plugin/sysusermgtv1/sysuserv1.h
index 8f1ae12..68b7907 100644
--- a/src/class/plugin/sysusermgtv1/sysuserv1.h
+++ b/src/class/plugin/sysusermgtv1/sysuserv1.h
@@ -33,8 +33,6 @@ private:
     void initCenterUi();
 
 private:
-        QStringList mProductCategoryLst;
-
     QHBoxLayout *mBodyLayout = nullptr;
     TUiLoader *mUiLoader = nullptr;
 };
-- 
2.21.0