Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
T
topsys-user-v2
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
Cindy Ye
topsys-user-v2
Commits
7f5a708b
Commit
7f5a708b
authored
Aug 24, 2022
by
Cindy Ye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
create sys_user_mgt_v3
parent
5c8abad9
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
682 additions
and
0 deletions
+682
-0
cancel_detail.js
src/module/TOPSYS/sys-user-mgt-v3/actions/cancel_detail.js
+23
-0
copy_detail.js
src/module/TOPSYS/sys-user-mgt-v3/actions/copy_detail.js
+24
-0
delete.js
src/module/TOPSYS/sys-user-mgt-v3/actions/delete.js
+31
-0
new.js
src/module/TOPSYS/sys-user-mgt-v3/actions/new.js
+24
-0
refresh.js
src/module/TOPSYS/sys-user-mgt-v3/actions/refresh.js
+24
-0
refresh_detail.js
src/module/TOPSYS/sys-user-mgt-v3/actions/refresh_detail.js
+22
-0
save.js
src/module/TOPSYS/sys-user-mgt-v3/actions/save.js
+109
-0
detail.ui.js
src/module/TOPSYS/sys-user-mgt-v3/detail.ui.js
+188
-0
lang.conf
src/module/TOPSYS/sys-user-mgt-v3/lang.conf
+43
-0
module.conf
src/module/TOPSYS/sys-user-mgt-v3/module.conf
+121
-0
navi.ui.js
src/module/TOPSYS/sys-user-mgt-v3/navi.ui.js
+42
-0
uim.conf
src/module/TOPSYS/sys-user-mgt-v3/uim.conf
+31
-0
No files found.
src/module/TOPSYS/sys-user-mgt-v3/actions/cancel_detail.js
0 → 100644
View file @
7f5a708b
try
{
this
.
reload
();
}
catch
(
e
)
{
print
(
e
);
}
/*---ACTION---
ICON: "times"
LABEL: "Cancel"
LABEL_ZHCN: "取消"
LABEL_ZHTW: "取消"
ACCEL: ""
TOOLTIP: "Cancel Edit"
TOOLTIP_ZHCN: "取消编辑"
TOOLTIP_ZHTW: "刷新編輯"
CHECKED: ""
GROUP: ""
STYLE: "button_style=both"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "return (this.isDataModified() ) ? 'enable' : 'hide';"
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/actions/copy_detail.js
0 → 100644
View file @
7f5a708b
try
{
this
.
copyItem
();
}
catch
(
e
)
{
print
(
e
);
}
/*---ACTION---
ICON: "copy"
LABEL: "Copy"
LABEL_ZHCN: "复制"
LABEL_ZHTW: "複製"
ACCEL: ""
TOOLTIP: "Copy selected item"
TOOLTIP_ZHCN: "复制选中条目"
TOOLTIP_ZHTW: "複製選中條目"
PERMISSION: "sys-user-edit"
CHECKED: ""
GROUP: ""
STYLE: "button_style=icon"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "return (this.isDataModified() || this.uid() == 0) ? 'hide' : 'enable';"
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/actions/delete.js
0 → 100644
View file @
7f5a708b
try
{
var
ans
=
TMessageBox
.
question
(
this
,
this
.
ttr
(
"Do you want to delete the selected item?"
),
''
,
this
.
ttr
(
'Delete'
),
[
this
.
ttr
(
'Delete'
)
+
':Yes:Yes:Error'
,
this
.
ttr
(
'Cancel'
)
+
':Cancel:Cancel:Normal'
]);
if
(
ans
!=
'Yes'
)
{
return
;
}
this
.
deleteItems
(
this
.
selectedItems
());
}
catch
(
e
)
{
print
(
e
);
}
/*---ACTION---
ICON: "times-circle"
LABEL: "Delete"
LABEL_ZHCN: "刪除"
LABEL_ZHTW: "刪除"
ACCEL: "Delete"
TOOLTIP: "Delete"
TOOLTIP_ZHCN: "删除"
TOOLTIP_ZHTW: "刪除"
PERMISSION: "sys-user-delete"
CHECKED: ""
GROUP: ""
STYLE: "size=small button_style=both"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "if(this.selectedItems().length > 0 && !this.isDetailModified()){return 'enable'}else{return 'disable'}"
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/actions/new.js
0 → 100644
View file @
7f5a708b
try
{
this
.
newItem
();
}
catch
(
e
)
{
print
(
e
);
}
/*---ACTION---
ICON: "plus"
LABEL: "New"
LABEL_ZHCN: "新建"
LABEL_ZHTW: "新建"
ACCEL: "Ctrl+N"
TOOLTIP: "Add new item"
TOOLTIP_ZHCN: "新建条目"
TOOLTIP_ZHTW: "新建條目"
PERMISSION: "sys-user-create"
CHECKED: ""
GROUP: ""
STYLE: "button_style=both"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "if(this.canModify()){return 'enable'}else{return 'disable'}"
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/actions/refresh.js
0 → 100644
View file @
7f5a708b
try
{
this
.
refresh
(
false
);
}
catch
(
e
)
{
print
(
e
);
}
/*---ACTION---
ICON: "refresh"
LABEL: "Refresh"
LABEL_ZHCN: "刷新"
LABEL_ZHTW: "刷新"
ACCEL: "F5"
TOOLTIP: "Reload data from database"
TOOLTIP_ZHCN: "重载数据库数据"
TOOLTIP_ZHTW: "重載數據庫數據"
CHECKED: ""
GROUP: ""
STYLE: "size=small button_style=icon"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: ""
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/actions/refresh_detail.js
0 → 100644
View file @
7f5a708b
try
{
this
.
reloadItem
();
}
catch
(
e
)
{
print
(
e
);
}
/*---ACTION---
ICON: "refresh"
LABEL: "Refresh"
LABEL_ZHCN: "刷新"
LABEL_ZHTW: "刷新"
ACCEL: ""
TOOLTIP: "Reload data from database"
TOOLTIP_ZHCN: "重新从数据库加载数据"
TOOLTIP_ZHTW: "重新從數據庫加載數據"
CHECKED: ""
GROUP: ""
STYLE: "button_style=icon"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "return this.isDetailModified() ? 'hide' : 'enable';"
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/actions/save.js
0 → 100644
View file @
7f5a708b
try
{
this
.
saveItem
();
/*var query = new TSqlQueryV2(T_SQLCNT_POOL.getSqlDatabase());
var uiLoader = this.uiLoader();
var errLst = uiLoader.validateAll("COMMIT", true, "ERROR");
if (errLst.length > 0) {
var errStrLst = [];
_.forEach(errLst, function (err) {
errStrLst.push(_.toString(err["text"]));
}, this);
this.alertError(this.ttr("Save Failed"), errStrLst.join("\n"));
return;
}
var allData = uiLoader.getAllValues(true);
var dataMap = {};
_.forEach(allData, function (v, k) {
if (_.startsWith(k, "table(slave).")) {
_.set(dataMap, k.replace("table(slave).", ""), v);
}
})
if (_.isEmpty(_.toString(dataMap["id"]))) {
// 插入数据
delete dataMap["id"];
} else {
// 更新数据
}
var plan_detail = allData["plan_detail"];
var planDetailIds = _.reduce(plan_detail, function (prev, curr) {
if (curr.CRUD != 'create' && !_.isEmpty(_.toString(curr.id))) {
prev.push(curr.id);
}
return prev;
}, [])
var planDetailGroup = _.groupBy(plan_detail, "CRUD");
query.begin();
sqlSelector =new TSqlSelectorV2 ;
sqlSelector.setTable("sys_user");
sqlSelector.setFiled("COUNT(*)");
sqlSelector.addWhere("username",allData.value("username"));
sqlSelector.addWhere("id", allData.value(id), "!=");
var count = sqlQuery.selectCount(sqlSelector);
if (count > 0) {
throw window.alert(username already exists);
}
if (query.lastError().isValid()) {
throw query.lastError().text();
}
if (!_.isEmpty(planDetailIds)) {
var deleter = new TSqlDeleterV2;
deleter.setTable("tpm_machine_maintance_plan_detail");
deleter.setWhere(_.format("id not in ('{0}')", planDetailIds.join("','")));
deleter.addWhere("plan_id", id);
query.deleteRow(deleter);
if (query.lastError().isValid()) {
throw query.lastError().text();
}
}
_.forEach(planDetailGroup, function (v, k) {
var dataLst = _.reduce(v, function (prev, curr) {
curr["plan_id"] = id;
prev.push(curr);
return prev;
}, []);
if (/create/i.test(k)) {
query.batchInsert("tpm_machine_maintance_plan_detail", ["plan_id", "item", "method", "spec_value", "max_value", "min_value", "auto_judge_policy"], dataLst);
if (query.lastError().isValid()) {
throw query.lastError().text();
}
} else if (/update/i.test(k)) {
var sql = "update tpm_machine_maintance_plan_detail set item = :item, method = :method, spec_value = :spec_value, \
max_value = :max_value, min_value= :min_value, auto_judge_policy = :auto_judge_policy where id = :id";
query.batchSql(sql, dataLst);
if (query.lastError().isValid()) {
throw query.lastError().text();
}
}
})
query.commit();
this.setIsDetailModified(false);
this.refreshSlave();*/
}
catch
(
e
)
{
// query.rollback();
print
(
e
)
}
/*---ACTION---
ICON: "save"
LABEL: "Save"
LABEL_ZHCN: "保存"
LABEL_ZHTW: "保存"
ACCEL: "Ctrl+S"
TOOLTIP: "Save data to database"
TOOLTIP_ZHCN: "保存数据至数据库"
TOOLTIP_ZHTW: "保存數據至數據庫"
PERMISSION: "sys-user-edit"
CHECKED: ""
GROUP: ""
STYLE: " button_style=both"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "return (this.isDetailModified() ) ? 'enable' : 'disable';"
---ACTION---*/
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/detail.ui.js
0 → 100644
View file @
7f5a708b
function
func
(
self
)
{
return
[
{
name
:
'tablewidgt'
,
type
:
'TabWidget'
,
property
:
{
stylesheet
:
"QTabWidget{background-color:red}"
},
pack
:
{
stretch
:
1
},
perfict_width
:
800
,
child
:
[
{
name
:
'userinfo_page'
,
type
:
'VBoxLayout'
,
pack
:
{
label
:
self
.
ttr
(
"User Information"
)
},
child
:
[
{
type
:
'FormGridLayout'
,
child
:
[
{
name
:
'id'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
'ID'
)
}
,
property
:
{
enabled
:
false
},
state
:
function
(
obj
)
{
return
"Hide"
;
}
},
{
name
:
'username'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
'Login Name'
)
},
validate
:
function
(
obj
,
val
,
title
,
moment
,
self
)
{
if
(
val
.
trim
()
==
''
)
{
return
[
title
+
self
.
ttr
(
" can not be null"
),
'Error'
];
}
else
if
(
!
val
.
match
(
new
RegExp
(
'^[A-Za-z0-9_]+$'
)))
{
return
[
title
+
self
.
ttr
(
" can only contain [A-Za-z0-9]!"
),
'Error'
];
}
},
},
{
name
:
'password'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
'Password'
)
},
property
:
{
echo_mode
:
'Password'
},
state
:
function
(
obj
,
self
)
{
return
'Hide'
;
}
},
{
name
:
'fullname'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
'Full Name'
)
},
property
:
{},
validate
:
'NOTNULL'
},
{
name
:
'staffid'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
'Staff ID'
)
},
property
:
{},
},
// {
// name: 'contcat_id',
// type: 'LineEdit',
// property: { enabled: false },
// state: function(obj,self) {
// return 'Hide';
// }
// },
// {
// name: 'mail',
// type: 'LineEdit',
// pack: { label: self.ttr('Mail') },
// property: {},
// validate: function (obj, val, title, moment) {
// if (val != '') {
// var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
// if (!filter.test(val)) {
// return [self.ttr("invalid mail format"), 'ERROR']
// }
// }
// },
// },
{
name
:
'attr_data.remark'
,
type
:
'PlainTextEdit'
,
pack
:
{
label
:
self
.
ttr
(
'Remark'
)
},
property
:
{
max_row_count
:
2
}
},
{
name
:
'status'
,
type
:
'ComboBox'
,
pack
:
{
label
:
self
.
ttr
(
'Status'
)
},
property
:
{
item_list
:
TOPENM
.
enumList
(
"sys-user-status"
).
toComboList
()
},
title
:
self
.
ttr
(
'Status'
),
validate
:
function
(
obj
,
val
,
title
,
moment
,
self
)
{
if
(
val
.
trim
()
==
''
)
{
return
[
title
+
self
.
ttr
(
" can not be null"
),
'Error'
];
}
}
},
{
name
:
'attr_data.password_validity_control'
,
type
:
'CheckBox'
,
title
:
self
.
ttr
(
'Password Validity Control'
),
property
:
{},
pack
:
{
label
:
self
.
ttr
(
'Password Validity Control'
)
},
callback
:
function
(
obj
,
checked
,
self
)
{
if
(
checked
)
{
this
.
setState
(
"attr_data.validity_period"
,
"show"
);
}
else
{
this
.
setState
(
"attr_data.validity_period"
,
"hide"
);
}
},
setter
:
function
(
obj
,
value
,
self
)
{
if
(
value
===
1
||
value
==
true
||
value
===
'on'
||
value
===
'yes'
)
{
obj
.
setIntValue
(
1
);
this
.
setState
(
"attr_data.validity_period"
,
"show"
);
}
else
{
obj
.
setIntValue
(
0
);
this
.
setState
(
"attr_data.validity_period"
,
"hide"
);
}
},
state
:
function
(
obj
,
self
)
{
if
(
APP
.
hasRight
(
"sys-user-password-validity-control"
))
{
return
'Show'
;
}
else
{
return
'Hide'
;
}
}
},
{
name
:
'attr_data.validity_period'
,
type
:
'IntLineEdit'
,
pack
:
{
label
:
self
.
ttr
(
'Validity Period'
)
},
property
:
{
min_value
:
0
},
state
:
function
(
obj
,
self
)
{
if
(
APP
.
hasRight
(
"sys-user-password-validity-control"
)
&&
this
.
getValue
(
'attr_data.password_validity_control'
)
==
1
)
{
return
'Show'
;
}
else
{
return
'Hide'
;
}
},
child
:
[
{
name
:
"validity_period_unit"
,
type
:
"Label"
,
property
:
{
text
:
" "
+
self
.
ttr
(
'Month'
)
+
" "
,
alignment
:
"HCenter|VCenter"
,
fixed_height
:
26
,
stylesheet
:
"background-color: white;border-left: 1px solid lightgray;"
}
}
]
},
{
name
:
'product_category'
,
type
:
'MultiComboBox'
,
title
:
self
.
ttr
(
'Product Category'
),
property
:
{
item_list
:
TOPENM
.
enumList
(
"sys-product-category"
).
toComboList
(),
name_format
:
'A,B'
},
pack
:
{
label
:
self
.
ttr
(
'Product Category'
)
},
getter
:
function
(
obj
,
self
)
{
return
obj
.
getData
(
"current_names"
);
},
setter
:
function
(
obj
,
value
,
self
){
obj
.
setData
(
"current_names"
,
value
);
},
state
:
function
(
obj
,
self
)
{
return
'hide'
;
}
},
{
type
:
"Stretch"
}
]
}
]
}
]
},
];
}
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/lang.conf
0 → 100644
View file @
7f5a708b
"Cancel"
: {
en
:
"Cancel"
,
zhcn
:
"取消"
,
zhtw
:
"取消"
}
"can not be null"
: {
en
:
" can not be null"
,
zhcn
:
"不能为空"
,
zhtw
:
"不能為空"
}
"can only contain [A-Za-z0-9]!"
: {
en
:
" can only contain [a-z0-9]!"
,
zhcn
:
"只能包含数字和小写字母!"
,
zhtw
:
"只能包含數據和小寫字母!"
}
"Data loaded"
: {
en
:
"Data loaded"
,
zhcn
:
"数据已加载"
,
zhtw
:
"數據已加載"
}
"Data saved"
: {
en
:
"Data saved"
,
zhcn
:
"数据已保存"
,
zhtw
:
"數據已保存"
}
"Copy"
: {
en
:
"Copy"
,
zhcn
:
"复制"
,
zhtw
:
"複製"
}
"Delete data failed!"
: {
en
:
"Delete data failed!"
,
zhcn
:
"数据删除失败!"
,
zhtw
:
"數據刪除失敗!"
}
"Delete"
: {
en
:
"Delete"
,
zhcn
:
"删除"
,
zhtw
:
"刪除"
}
"Data deleted"
: {
en
:
"Data deleted"
,
zhcn
:
"数据已删除"
,
zhtw
:
"數據已刪除"
}
"Error"
: {
en
:
"Error"
,
zhcn
:
"错误"
,
zhtw
:
"錯誤"
}
"Filter"
: {
en
:
"Filter"
,
zhcn
:
"过滤器"
,
zhtw
:
"過濾器"
}
"Full Name"
: {
en
:
"Full Name"
,
zhcn
:
"全名"
,
zhtw
:
"全名"
}
"Hide Navigation"
: {
en
:
"Hide Navigation"
,
zhcn
:
"关闭导航栏"
,
zhtw
:
"關閉導航欄"
}
"Hide"
: {
en
:
"Hide"
,
zhcn
:
"关闭"
,
zhtw
:
"關閉"
}
"invalid mail format"
: {
en
:
"invalid mail format"
,
zhcn
:
"无效的电子邮件格式"
,
zhtw
:
"無效的電子郵件格式"
}
"Icon"
: {
en
:
"Icon"
,
zhcn
:
"图标"
,
zhtw
:
"圖標"
}
"ID"
: {
en
:
"ID"
,
zhcn
:
"编号"
,
zhtw
:
"編號"
}
"Load data failed!"
: {
en
:
"Load data failed!"
,
zhcn
:
"数据载入失败!"
,
zhtw
:
"數據載入失敗!"
}
"Login Name"
: {
en
:
"Login Name"
,
zhcn
:
"登录名"
,
zhtw
:
"登錄名"
}
"Month"
: {
en
:
"Month"
,
zhcn
:
"月"
,
zhtw
:
"月"
}
"Mail"
: {
en
:
"Mail"
,
zhcn
:
"邮箱"
,
zhtw
:
"郵箱"
}
"Moved to recycle bin"
: {
en
:
"Moved to recycle bin"
,
zhcn
:
"移动到回收站"
,
zhtw
:
"移動到回收站"
}
"new"
: {
en
:
"new"
,
zhcn
:
"新建"
,
zhtw
:
"新建"
}
"New"
: {
en
:
"New"
,
zhcn
:
"新建"
,
zhtw
:
"新建"
}
"Navigation"
: {
en
:
"Navigation"
,
zhcn
:
"导航栏"
,
zhtw
:
"導航欄"
}
"NOTNULL"
: {
en
:
"NOTNULL"
,
zhcn
:
"不能为空"
,
zhtw
:
"不能為空"
}
"Ok"
: {
en
:
"Ok"
,
zhcn
:
"确认"
,
zhtw
:
"確認"
}
"Password Validity Control"
: {
en
:
"Password Validity Control"
,
zhcn
:
"密码有效期管控"
,
zhtw
:
"密碼有效期管控"
}
"Password"
: {
en
:
"Password"
,
zhcn
:
"密码"
,
zhtw
:
"密碼"
}
"Product Category"
: {
en
:
"Product Category"
,
zhcn
:
"产品分类"
,
zhtw
:
"產品分類"
}
"Remark"
: {
en
:
"Remark"
,
zhcn
:
"备注"
,
zhtw
:
"備註"
}
"Reset"
: {
en
:
"Reset"
,
zhcn
:
"重置"
,
zhtw
:
"重置"
}
"refresh"
: {
en
:
"refresh"
,
zhcn
:
"刷新"
,
zhtw
:
"刷新"
}
"Save data failed!"
: {
en
:
"Save data failed!"
,
zhcn
:
"数据保存失败!"
,
zhtw
:
"數據保存失敗!"
}
"Staff ID"
: {
en
:
"Staff ID"
,
zhcn
:
"工号"
,
zhtw
:
"工號"
}
"Show Navigation"
: {
en
:
"Show Navigation"
,
zhcn
:
"打开导航栏"
,
zhtw
:
"打開導航欄"
}
"Status"
: {
en
:
"Status"
,
zhcn
:
"状态"
,
zhtw
:
"狀態"
}
"Show"
: {
en
:
"Show"
,
zhcn
:
"打开"
,
zhtw
:
"打開"
}
"Save"
: {
en
:
"Save"
,
zhcn
:
"保存"
,
zhtw
:
"保存"
}
"This feature is not yet supported."
: {
en
:
"This feature is not yet supported."
,
zhcn
:
"目前还不支持此特性"
,
zhtw
:
"目前還不支持此特性"
}
"username"
: {
en
:
"username"
,
zhcn
:
"用户名"
,
zhtw
:
"用戶名"
}
"User Information"
: {
en
:
"User Information"
,
zhcn
:
"用户信息"
,
zhtw
:
"用戶信息"
}
"Validity Period"
: {
en
:
"Validity Period"
,
zhcn
:
"有效期"
,
zhtw
:
"有效期"
}
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/module.conf
0 → 100644
View file @
7f5a708b
# 模块标题
sys_title
:
"User Management"
sys_title_en
:
"User Management"
sys_title_zhcn
:
"用户管理"
sys_title_zhtw
:
"用戶管理"
# 模块图标(普通图标在font awesome中找 http://fontawesome.io/icons/)
sys_icon
:
"user-o"
# 模块对应的插件DLL名称
sys_plugin
:
"toptemplateclassplugin"
# 模块对应的类名
sys_class
:
"TopTemplateClass4"
# 许可证验证键
sys_license_key
:
""
# 打开模块的权限
sys_open_right
:
"sys-user-read"
# 语言包,默认包含自己模块的语言包
sys_lang_list
: []
# 当关闭窗口时,如果提示是否保存,保存调用的action
sys_save_action
:
"save"
# 该模块用到的枚举列表
sys_enum_list
: [
"sys-user-status"
,
"sys-product-category"
]
# 该模块用到的除了Action之外的权限列表
sys_permission_list
: []
# 产品类型,此选项用于当多个产品共用一个数据库时,只想看到自已产品的用户;
# * 表示匹配所有产品
product_category
: []
navi
: {
__
type__
:
"UiLoader"
is_expanded
:
"true"
min_width
:
150
,
max_width
:
300
,
format
:
"filte_by_enum"
}
view
: {
data_keys
: [
"id"
,
"username"
,
"fullname"
,
"staffid"
,
# "mail",
"contcat_id"
,
"remark"
,
"status"
,
"department_id"
]
primary_key
:
"id"
horizontal_header
: [
{
"name"
:
"username"
,
"display"
:
"Login Name"
,
"displayRole"
:
"$username"
,
"dataType"
:
"string"
,
"resizeMode"
:
"Interactive"
,
"search"
:
"string"
},
{
"name"
:
"fullname"
,
"display"
:
"Full Name"
,
"displayRole"
:
"$fullname"
,
"dataType"
:
"string"
,
"resizeMode"
:
"Interactive"
,
"search"
:
"string"
},
{
"name"
:
"staffid"
,
"display"
:
"Staff ID"
,
"displayRole"
:
"$staffid"
,
"dataType"
:
"string"
,
"resizeMode"
:
"Interactive"
,
"search"
:
"string"
},
# {
# "name": "mail",
# "display": "Mail",
# "displayRole": "$mail",
# "dataType": "string",
# "resizeMode": "Interactive",
# "size": "200"
# },
{
"name"
:
"status"
,
"display"
:
"Status"
,
"displayRole"
:
"$status.text"
,
"resizeMode"
:
"Interactive"
,
"decorationRole"
:
"$status.icon"
,
"format"
:
"enum(sys-user-status)"
},
{
"name"
:
"remark"
,
"display"
:
"Remark"
,
"displayRole"
:
"$remark"
,
"resizeMode"
:
"Interactive"
,
},
]
# 默认排序列
sort_by
:
"id DESC"
# 数据集
data_set
{
# 数据库表名
db_table_name
:
"sys_user"
,
#db_sql: "select U.id, U.username, U.staffid, C.mail, U.remark, U.status, U.contcat_id, U.fullname, U.department_id, U.product_category from sys_user AS U LEFT JOIN pub_contacts AS C ON U.contcat_id = C.id"
# 删除标记
# 若为空表示做物理删除
db_del_flag_key
:
""
}
# 过滤项
db_filter
{
}
}
\ No newline at end of file
src/module/TOPSYS/sys-user-mgt-v3/navi.ui.js
0 → 100644
View file @
7f5a708b
function
func
(
self
)
{
return
{
type
:
'FormGridLayout'
,
child
:
[
{
name
:
'username'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
"Login Name"
)
},
property
:
{
user_data
:
{
field_name
:
"username"
,
operator
:
"like"
}
}
},
{
name
:
'fullname'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
"Full Name"
)
},
property
:
{
searchable
:
false
,
user_data
:
{
field_name
:
"fullname"
,
operator
:
'LIKE'
}
}
},
{
name
:
'staffid'
,
type
:
'LineEdit'
,
pack
:
{
label
:
self
.
ttr
(
"Staff ID"
)
},
property
:
{
user_data
:
{
field_name
:
"staffid"
,
operator
:
"like"
}
}
},
{
name
:
'status'
,
type
:
'ComboBox'
,
pack
:
{
label
:
self
.
ttr
(
"Status"
)
},
property
:
{
searchable
:
true
,
item_list
:
TOPENM
.
enumList
(
"sys-user-status"
).
toComboList
(),
user_data
:
{
field_name
:
"status"
}
}
}
]
};
}
src/module/TOPSYS/sys-user-mgt-v3/uim.conf
0 → 100644
View file @
7f5a708b
# 表格的右键菜单
"TABLEVIEW_POPUP"
: [
{
"type"
:
"menuitem"
,
"action"
:
"new"
},
{
"type"
:
"separator"
},
{
"type"
:
"menuitem"
,
"action"
:
"delete"
},
{
"type"
:
"separator"
},
{
"type"
:
"menuitem"
,
"action"
:
"refresh"
},
]
# 工具栏
"MAIN_TOOLBAR"
: [
{
"type"
:
"toolitem"
,
"action"
:
"new"
},
{
"type"
:
"stretcher"
},
{
"type"
:
"toolitem"
,
"action"
:
"refresh"
},
{
"type"
:
"searchentry"
,
"name"
:
"SEARCH_ENTRY"
}
]
# 底部工具栏
"BOTTOM_TOOLBAR"
: [
{
"type"
:
"stretcher"
},
{
"type"
:
"pagetool"
,
"name"
:
"PAGE_TOOL"
}
]
#用户信息工具栏
"DETAIL_TOOLBAR"
: [
{
"type"
:
"toolitem"
,
"action"
:
"save"
},
{
"type"
:
"stretcher"
},
{
"type"
:
"toolitem"
,
"action"
:
"copy"
},
{
"type"
:
"toolitem"
,
"action"
:
"cancel"
},
{
"type"
:
"toolitem"
,
"action"
:
"refresh"
}
]
\ No newline at end of file
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